/* V10 — restrained cinematic layout, consistent text-based brand, icon-only navigation. */
:root{
 --ht-content-max: 1480px;
 --ht-pad: clamp(22px,4.2vw,76px);
 --v10-title-scale: .8;
 --v9-edge: clamp(22px,4.2vw,76px);
}
/* Full-bleed media/backgrounds; readable, centered content on large monitors. */
body :is(.shell,.container,.v9-wrap){
 box-sizing:border-box!important;
 width:100%!important;
 max-width:var(--ht-content-max)!important;
 margin-inline:auto!important;
 padding-inline:var(--ht-pad)!important;
}
body :is(.header-inner,.ht-inner,.head){
 box-sizing:border-box!important;
 width:100%!important;
 max-width:var(--ht-content-max)!important;
 margin-inline:auto!important;
 padding-inline:var(--ht-pad)!important;
}
body :is(.hero,.v9-hero,.v9-section,.v9-next,.v9-outcome,.work,.models,.contact){width:100%;max-width:none!important}
body :is(.manifesto,.capabilities,.estimate,.approach){max-width:var(--ht-content-max)!important;margin-inline:auto!important}
/* Maintain a measured line length and restrained content columns. */
body :is(.body-lg,.hero-sub,.v9-lead,.v9-section p,.v9-outcome p,.intro,.lead,.service-panel p){max-width:66ch}
body .v9-split{gap:clamp(40px,5vw,95px)}
body .v9-summary-grid{gap:clamp(25px,3vw,55px)}
/* 20% smaller than V9/V8 display sizes; retain relative visual hierarchy. */
body :is(.hero h1,.hero h1 em){font-size:clamp(44px,5.9vw,122px)!important;max-width:1100px!important}
body .v9-hero h1{font-size:clamp(47px,5.85vw,124px)!important;max-width:18ch!important}
body :is(h2,.section-head h2,.models-heading h2,.estimate h2,.approach h2,.capabilities-lead h2,.manifesto h2,.contact h2,.v9-section h2){font-size:clamp(34px,3.45vw,80px)!important}
body .v9-next h2{font-size:clamp(40px,4.8vw,98px)!important}
body .v9-summary h3{font-size:clamp(23px,1.8vw,34px)!important}
body .v9-outcome .v9-quote{font-size:clamp(25px,2.55vw,46px)!important}
body .service-button .name{font-size:clamp(22px,2.15vw,39px)!important}
body .model-letter{font-size:clamp(76px,9.6vw,150px)!important}
body .v9-feature-number{font-size:clamp(160px,26.4vw,570px)!important}
/* Branding matches the live site's text-wordmark approach: Poiret + heavy Arial. */
body :is(.wordmark,.ht-logo,.footer-logo,.logo){
 font-family:'Poiret One',sans-serif!important;
 font-weight:400!important;
 font-style:normal!important;
 text-transform:lowercase!important;
 letter-spacing:-.04em!important;
 font-size:clamp(30px,2.4vw,39px)!important;
 line-height:1.1!important;
}
body :is(.header-center,.ht-center){
 font-family:'DM Sans',Arial,Helvetica,sans-serif!important;
 font-weight:900!important;
 font-style:normal!important;
 letter-spacing:-.035em!important;
 font-size:clamp(13px,1.13vw,17px)!important;
 line-height:1.2!important;
 white-space:nowrap!important;
 text-align:center!important;
}
/* Preserve the three equal header columns; simplify right side to large hamburger. */
body :is(.header-inner,.ht-inner){grid-template-columns:repeat(3,minmax(0,1fr))!important}
body :is(.menu-toggle,.ht-toggle){
 min-width:54px!important;
 min-height:54px!important;
 padding:10px!important;
 gap:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 font-size:0!important;
 color:#fff!important;
 background:transparent!important;
 border:0!important;
 cursor:pointer!important;
}
body :is(.menu-glyph,.ht-lines){display:flex!important;flex-direction:column!important;gap:8px!important}
body :is(.menu-glyph i,.ht-lines i){width:33px!important;height:2px!important;background:#fff!important;display:block!important;border-radius:2px!important}
body :is(.menu-toggle,.ht-toggle):focus-visible{outline:2px solid white!important;outline-offset:3px}
/* Keep media cinematic; video spans the entire viewport. */
body .hero-media{width:100%;height:100%}
body .hero-media video{width:100%!important;height:100%!important;object-fit:cover!important}
@media(min-width:1900px){
 body .hero{min-height:100svh}
 body .hero-content{padding-top:clamp(130px,11vh,210px)!important}
 body .v9-hero{min-height:min(740px,78svh)}
 body .v9-hero-inner{padding-block:clamp(95px,10vh,150px)}
 body .model-card{min-height:430px!important}
 body .project-art{min-height:360px!important}
}
@media(max-width:900px){
 body .v9-hero h1{font-size:clamp(45px,7.8vw,72px)!important}
 body :is(.hero h1,.hero h1 em){font-size:clamp(45px,7.2vw,68px)!important}
 body :is(h2,.section-head h2,.models-heading h2,.estimate h2,.approach h2,.capabilities-lead h2,.manifesto h2,.contact h2,.v9-section h2){font-size:clamp(33px,6.4vw,55px)!important}
}
@media(max-width:600px){
 :root{--ht-pad:20px;--v9-edge:20px}
 body :is(.header-center,.ht-center){font-size:clamp(10px,2.7vw,13px)!important;white-space:normal!important;max-width:160px}
 body :is(.wordmark,.ht-logo){font-size:clamp(26px,7.2vw,32px)!important}
 body :is(.menu-toggle,.ht-toggle){min-width:48px!important;min-height:48px!important}
 body :is(.menu-glyph i,.ht-lines i){width:29px!important}
 body :is(.hero h1,.hero h1 em){font-size:clamp(39px,9.1vw,52px)!important}
 body .v9-hero h1{font-size:clamp(42px,9.1vw,58px)!important}
 body :is(h2,.section-head h2,.models-heading h2,.estimate h2,.approach h2,.capabilities-lead h2,.manifesto h2,.contact h2,.v9-section h2){font-size:clamp(32px,7.4vw,46px)!important}
 body .v9-next h2{font-size:clamp(39px,9vw,55px)!important}
 body .v9-feature-number{font-size:150px!important}
}
