/* Final rhythm, typography and interaction pass. */
:root{--paper:#f7f7f5;--ink:#20272d;--muted:#5c656c;--line:#dce0df;--radius:24px}
body{font-feature-settings:"ss01" on;line-height:1.5}
::selection{background:#d9e1df;color:#20272d}
h1,h2,h3{text-wrap:balance;letter-spacing:-.045em}
p{text-wrap:pretty}
.wrap{width:min(1200px,calc(100% - 80px))}
.section{padding:76px 0}
.section+.section{padding-top:30px}
.section-top{gap:48px;margin-bottom:36px}
.section-top p{font-size:16px;line-height:1.65}
.eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:20px}
.brand{flex-shrink:0}
.brand .identity{width:126px;height:50px;display:block;object-fit:contain}
.footer .brand .identity{width:160px;height:auto}
.nav-shell{background:#f7f7f5e8;border-bottom:1px solid #dce0df80}
.nav{height:86px}.all-pages .page-directory{top:78px}
.btn{transition:transform .25s ease,background .25s ease,box-shadow .25s ease;gap:16px}
.btn:hover{transform:translateY(-2px)}
.btn span{transition:transform .25s ease}.btn:hover span{transform:translate(2px,-2px)}
.btn.primary:hover{background:#37434a}
.card{border-color:#dce0df;padding:36px;box-shadow:0 4px 18px #1d292503}
.service-card{min-height:370px;display:flex;flex-direction:column}
.service-card .text-link{align-self:flex-start;margin-top:auto}
.service-card h3{font-size:clamp(1.8rem,3vw,2.4rem)}
.service-card .num{margin-bottom:32px}
.service-tags{margin-bottom:20px}
.subhero{padding:64px 0 58px;border-bottom:1px solid #dce0df80}
.subhero h1{font-size:clamp(3rem,5.8vw,5.5rem);max-width:950px}
.subhero:not(.dark){background:linear-gradient(155deg,#f0f1ed,#f7f7f5 75%)}
.subhero p{font-size:18px;max-width:640px;margin-bottom:0}
.subhero .hero-grid{gap:48px}
.breadcrumbs{padding:17px 0;font-size:13px;color:#657078;border-bottom:1px solid #dce0df70}
.breadcrumbs .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span[aria-current]{color:#27333b}
.hero-copy{padding-top:106px}.hero h1{font-weight:550}
.proof{border-bottom:1px solid var(--line)}
.feature{border-radius:24px}.feature-copy{padding:48px}.feature h2{font-size:clamp(2rem,3.7vw,3.4rem)}
.project-visual{border-radius:24px;padding:18px;background:#e9edec}
.portfolio-frame{box-shadow:0 16px 36px #18252b15}
.work-caption{padding-top:22px}.work-caption p{font-size:14px}
.studio-story{gap:44px}.studio-story>.studio-image:not(.studio-detail){height:480px}
.studio-detail{border-color:var(--paper)}
.cta{padding:64px 32px;border:1px solid #d6dedc;background:linear-gradient(120deg,#e9eeeb,#eef0ed)}
.cta h2{font-size:clamp(2.4rem,4.8vw,4.4rem)}
.note-card{transition:color .2s,border-color .2s}.note-card:hover{border-color:#566765}.note-card h3{min-height:0;line-height:1.3}
.article{max-width:730px}.article p,.article li{font-size:17px;line-height:1.85}
.article h2{font-size:30px;line-height:1.2}.article a{color:#315d64;text-underline-offset:4px}
.field input,.field select,.field textarea{border-radius:12px;min-height:48px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #5a777a;outline-offset:2px}
.faq summary{min-height:52px}.footer{border-top:1px solid var(--line);padding-top:44px}
.footer-top{grid-template-columns:1fr}.footer-top>div:not(:first-child){display:none}
.footer-top>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:32px}
.footer-top>div:first-child p{margin:0!important;text-align:right}
.footer-directory{margin-top:28px}.footer .page-directory a{margin:0;padding:8px 0}.footer .page-directory h3{font-size:14px}
.footer-bottom{margin-top:26px}.imagery-note{font-size:12px!important;max-width:720px!important}
.motion-control{font-size:12px;opacity:.85}
@media(max-width:960px){.nav-links{gap:12px;font-size:13px}.nav{gap:16px}.brand .identity{width:110px}.nav>.btn{padding:10px 14px}.wrap{width:calc(100% - 48px)}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.nav{height:74px}.nav-links{top:74px;max-height:calc(100dvh - 74px);font-size:16px}.brand .identity{width:108px;height:44px}.all-pages .page-directory{top:auto}.section{padding:48px 0}.section+.section{padding-top:20px}.subhero{padding:42px 0}.subhero h1,.subhero .hero-grid h1{font-size:clamp(2.7rem,10vw,3.6rem)}.subhero p{font-size:16px}.breadcrumbs{font-size:12px}.hero-copy{padding-top:48px}.hero h1{font-size:clamp(3.4rem,11.8vw,4.6rem)}.card,.feature-copy{padding:26px}.service-card{min-height:340px}.studio-story{gap:24px}.studio-story>.studio-image:not(.studio-detail){height:340px}.cta{padding:46px 22px}.footer-top>div:first-child{display:block}.footer-top>div:first-child p{margin-top:20px!important;text-align:left}.footer .page-directory{grid-template-columns:1fr 1fr;gap:26px 18px}.footer .page-directory>div:first-child{grid-column:1/-1}.footer .page-directory a{font-size:13px}.article p,.article li{font-size:16px}.studio-band .studio-image{height:280px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.btn span{transition:none}}

/* Keep the mobile landscape in the same hero as its copy. */
@media(max-width:720px){
 .hero{min-height:660px}
 .hero-art{inset:0;width:100%;height:100%;object-position:68% center}
 .hero-copy{padding:40px 0 220px}
 .hero:after{background:linear-gradient(180deg,rgba(241,238,232,.93) 0%,rgba(241,238,232,.8) 26%,rgba(241,238,232,.56) 48%,rgba(241,238,232,.08) 73%,transparent 100%)}
 .hero-copy p{color:#39434b}
 .hero .actions .btn:not(.primary){background:rgba(245,242,236,.86);border-color:#a6aaa9}
 .menu-button{color:var(--ink)}
}

