/* Homepage edition: expressive colour, editorial scale, quiet motion. */
.home-polished{--cream:#fffefb}
.home-polished .wrap{width:min(1380px,calc(100% - 80px))}
.home-polished .topbar{border-bottom:1px solid var(--ink);padding:26px 0}
.home-polished .brand{font-size:28px;letter-spacing:-.055em}
.home-polished .nav a{transition:background-color .2s,color .2s}
.home-polished .nav .contact{box-shadow:none;border-width:1px;padding:10px 20px}
.home-polished .hero{padding:76px 0 64px}
.home-polished h1{font-size:clamp(4rem,8.7vw,8.5rem);line-height:1.01;letter-spacing:-.065em}
.home-polished .hero .sticker{box-shadow:none;border-width:1px;transform:rotate(-5deg);margin-bottom:28px;padding:8px 20px}
.home-polished .hero .intro{max-width:720px;margin-top:30px;line-height:1.6}
.home-polished .hero .end{margin-top:34px;align-items:center}
.home-polished .pill,.home-polished .feature-link{box-shadow:none;border-width:1px;padding:13px 22px;transition:background .2s,transform .2s}
.home-polished .pill:hover,.home-polished .feature-link:hover{box-shadow:none;background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.home-polished .ticker{border-width:1px;padding:17px 0}
.home-polished .ticker .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;white-space:normal}
.home-polished .ticker span{padding:0;font-size:13px}
.home-polished #work{scroll-margin-top:24px}
.home-polished .sectionhead{padding:76px 0 24px;border-width:1px;margin-bottom:36px;gap:30px}
.home-polished .sectionhead h2{font-size:clamp(2.8rem,5vw,5rem)}
.home-polished .sectionhead p{max-width:300px}
.home-polished .featured{padding-bottom:56px}
.home-polished .feature,.home-polished .feature:nth-child(even){grid-template-columns:.8fr 1.2fr;border:0;box-shadow:none;border-radius:18px;margin-bottom:40px;gap:0;min-height:490px;isolation:isolate}
.home-polished .feature:nth-child(even){grid-template-columns:1.2fr .8fr}
.home-polished .feature-copy{padding:48px 38px}
.home-polished .feature:nth-child(even) .feature-copy{padding:48px 38px}
.home-polished .feature h3{font-size:clamp(2.7rem,4.5vw,5.1rem);line-height:1.05;letter-spacing:-.06em;overflow-wrap:normal}
.home-polished .feature:nth-child(2) h3{font-size:clamp(2.5rem,4vw,4.6rem)}
.home-polished .feature p{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;font-weight:500}
.home-polished .feature-n{font-size:13px;line-height:1.6;display:block;letter-spacing:.055em}
.home-polished .feature-visual,.home-polished .feature:nth-child(even) .feature-visual{border:0;min-height:490px;overflow:hidden;background:rgba(255,255,255,.6)}
.home-polished .feature-visual img{padding:24px;max-height:560px;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.home-polished .feature-visual:hover img{transform:scale(1.035)}.home-polished .morecard:hover{transform:translateY(-5px)}}
.home-polished .proof{border-width:1px;background:transparent;padding:48px 0}
.home-polished .proof-items article{border-width:1px}
.home-polished .more{border:0;padding:76px 0 96px}
.home-polished .more h2{font-size:clamp(2.6rem,4.5vw,4.5rem);margin-bottom:36px}
.home-polished .moregrid{gap:32px}
.home-polished .morecard{border:1px solid #d2d2cc;border-radius:14px;overflow:hidden;transition:transform .3s}
.home-polished .morecard img{height:290px;border:0;padding:24px}
.home-polished .morecard .body{padding:26px}
.home-polished .morecard p{font-size:16px;line-height:1.6}
.home-polished .morecard .detail-link{display:inline-block;margin-top:18px;font-weight:700;text-underline-offset:5px}
.home-polished .footer{padding-top:76px}
.home-polished .footer h2{margin-top:20px}
.home-polished :focus-visible{outline:3px solid #2159bc;outline-offset:5px}
.home-polished .reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}
.home-polished .reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:860px){
.home-polished .wrap{width:calc(100% - 40px)}
.home-polished .hero{padding:48px 0}
.home-polished .hero .end{align-items:flex-start}
.home-polished .feature,.home-polished .feature:nth-child(even){grid-template-columns:1fr;min-height:0;border-radius:12px;margin-bottom:28px}
.home-polished .feature .feature-copy,.home-polished .feature:nth-child(even) .feature-copy{padding:30px 26px;order:1}
.home-polished .feature .feature-visual,.home-polished .feature:nth-child(even) .feature-visual{order:2;min-height:0;height:340px;border:0}
.home-polished .feature-visual img{max-height:340px;padding:18px}
.home-polished .sectionhead{padding-top:48px}
.home-polished .ticker .wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.home-polished .morecard img{height:260px}
}
@media(max-width:520px){
.home-polished h1{font-size:clamp(3.25rem,13.2vw,4.4rem)}
.home-polished .topbar{padding:18px 0}
.home-polished .hero .intro{font-size:1.0625rem}
.home-polished .feature h3,.home-polished .feature:nth-child(2) h3{font-size:clamp(2.1rem,9vw,3rem)}
.home-polished .feature .feature-visual,.home-polished .feature:nth-child(even) .feature-visual{height:270px}
.home-polished .feature-visual img{max-height:270px;padding:12px}
.home-polished .feature-n{font-size:12px}
.home-polished .sectionhead p{max-width:none}
.home-polished .more{padding:48px 0 64px}
}
@media(prefers-reduced-motion:reduce){
.home-polished .reveal-ready{opacity:1;transform:none}
.home-polished *, .home-polished *::before,.home-polished *::after{animation:none!important;transition:none!important}
.home-polished .feature-visual:hover img,.home-polished .morecard:hover{transform:none}
}
/* Rhi's visual language: expressive colour and graphic, hand-drawn energy. */
.home-polished{--cream:#faf8f3;--pink:#f6a1cf;--blue:#6ba8f3;--lime:#daf04a;--orange:#ff9e64}
.home-polished .topbar{border-bottom-width:2px}
.home-polished .hero{display:grid;grid-template-columns:1.4fr .6fr;gap:24px 42px;align-items:center;padding:58px 0 55px}
.home-polished h1{font-size:clamp(3.6rem,6.8vw,6.7rem);letter-spacing:-.055em;font-weight:700;line-height:1.05}
.home-polished .hero-playful{display:inline-block;background:var(--lime);padding:0 .08em .03em;transform:rotate(-2deg);border-radius:12px}
.home-polished .hero .sticker{border:2px solid var(--ink);box-shadow:4px 4px var(--ink);transform:rotate(-7deg);font-size:16px}
.home-polished .hero .intro{font-size:clamp(1.05rem,1.5vw,1.25rem);margin-top:24px;max-width:730px}
.home-polished .hero .end{grid-column:1/-1;margin-top:15px}
.home-polished .hero-art{display:block;text-decoration:none;transform:rotate(4deg);background:var(--pink);border:2px solid var(--ink);padding:14px;box-shadow:8px 8px var(--ink);border-radius:10px;transition:transform .35s cubic-bezier(.2,.8,.3,1.3)}
.home-polished .hero-art img{width:100%;height:auto;border:2px solid var(--ink);aspect-ratio:1;object-fit:contain;background:var(--cream)}
.home-polished .hero-art span{display:block;font-weight:700;font-size:14px;padding:12px 2px 0;line-height:1.4}
.home-polished .nav .contact,.home-polished .pill,.home-polished .feature-link{border:2px solid var(--ink);box-shadow:4px 4px var(--ink);font-weight:700}
.home-polished .pill.secondary{background:var(--pink)}
.home-polished .pill:hover,.home-polished .feature-link:hover{background:var(--lime);color:var(--ink);transform:translate(2px,2px);box-shadow:2px 2px var(--ink)}
.home-polished .ticker{background:var(--pink);color:var(--ink);border-width:2px}
.home-polished .ticker span{font-size:14px;font-weight:700}
.home-polished .sectionhead{border-width:2px}
.home-polished .feature,.home-polished .feature:nth-child(even){border:2px solid var(--ink);box-shadow:6px 6px var(--ink);border-radius:6px;min-height:460px;margin-bottom:48px}
.home-polished .feature:nth-child(1){background:var(--pink)}
.home-polished .feature:nth-child(2){background:var(--lime)}
.home-polished .feature:nth-child(3){background:var(--blue)}
.home-polished .feature:nth-child(4){background:var(--orange)}
.home-polished .feature h3{font-weight:700;letter-spacing:-.055em}
.home-polished .feature-n{display:inline-block;background:var(--cream);border:1.5px solid var(--ink);padding:6px 10px;border-radius:4px;transform:rotate(-2deg)}
.home-polished .feature:nth-child(even) .feature-n{transform:rotate(2deg)}
.home-polished .feature p{font-weight:600}
.home-polished .feature-visual{border-left:2px solid var(--ink);background:transparent;min-height:460px}
.home-polished .feature:nth-child(even) .feature-visual{border-right:2px solid var(--ink);background:transparent;min-height:460px}
.home-polished .feature-visual img{padding:24px}
.home-polished .proof{background:var(--blue);border-width:2px}
.home-polished .proof-items article{border-width:2px}
.home-polished .morecard{border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px var(--ink)}
.home-polished .morecard img{border-bottom:2px solid var(--ink)}
.home-polished .morecard:nth-child(4) img{background:var(--pink)}
.home-polished .footer h2 em{display:inline-block;color:var(--pink)}
@media(hover:hover) and (pointer:fine){.home-polished .hero-art:hover{transform:rotate(1deg) translateY(-3px)}.home-polished .feature-visual:hover img{transform:scale(1.035) rotate(-.6deg)}}
@media(max-width:1000px) and (min-width:861px){.home-polished .hero{grid-template-columns:1.25fr .75fr;gap:30px}.home-polished h1{font-size:clamp(3.4rem,6.1vw,4.2rem)}}
@media(max-width:860px){
.home-polished .hero{grid-template-columns:1fr;gap:30px;padding:44px 0}
.home-polished h1{font-size:clamp(3.25rem,9.7vw,5.5rem)}
.home-polished .hero-art{width:min(66%,320px);justify-self:end;margin-right:10px;transform:rotate(3deg)}
.home-polished .hero .end{margin-top:6px}
.home-polished .feature .feature-visual,.home-polished .feature:nth-child(even) .feature-visual{border:0;border-top:2px solid var(--ink);min-height:0}
.home-polished .feature,.home-polished .feature:nth-child(even){min-height:0}
}
@media(max-width:520px){.home-polished h1{font-size:clamp(2.85rem,12vw,4rem)}.home-polished .hero-art{width:min(74%,280px)}.home-polished .hero-art span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.home-polished .hero-art:hover{transform:rotate(4deg)}.home-polished .feature-visual:hover img{transform:none}}
