/* HumTum V8 — single sitewide typography and responsive layout system.
   Typeface roles: Poiret One = wordmark; DM Sans = display/headings;
   DM Sans = body, navigation, labels, buttons. */
:root{--ht-pad:clamp(20px,4.5vw,110px);--ht-body:clamp(16px,1.05vw,19px);--ht-small:clamp(14px,.9vw,16px);--ht-content:100%;--ht-line:#323538}
html{overflow-x:clip}body{overflow-x:clip;font-family:"DM Sans",sans-serif!important;font-size:var(--ht-body);line-height:1.65}
body :is(p,li,button,input,select,textarea,nav,a,.eyebrow,.kicker,.mini,.crumb,.intro,.lead,.section-label,.header-center,.ht-center,.ht-toggle,.ht-nav a,.menu-toggle){font-family:"DM Sans",sans-serif!important}
body :is(h1,h2,h3,h4,.placeholder-title,.model-letter,.service-button .name,.card h3){font-family:"DM Sans",sans-serif!important;font-style:normal!important;letter-spacing:-.045em}
body :is(.wordmark,.footer-logo,.ht-logo,.logo){font-family:"Poiret One",sans-serif!important;font-weight:400!important;letter-spacing:-.025em!important}
body :is(.shell,.container){max-width:none!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--ht-pad)!important;padding-right:var(--ht-pad)!important}
body :is(.header-inner,.ht-inner,.head){max-width:none!important;width:100%!important;padding-left:var(--ht-pad)!important;padding-right:var(--ht-pad)!important}
body :is(.hero,.section-pad,.content,.cta){max-width:none}
body :is(.lead,.intro,.hero-sub,section p){overflow-wrap:break-word}
body :is(.eyebrow,.micro,.mini,.crumb,.section-label,.kicker,.placeholder-kicker,.placeholder-hint,.work-note,.model-label,.models-note,.fineprint,.estimate-top,.estimate-bottom,.cap-num,.approach-icon,.footer,.ht-nav a){font-size:var(--ht-small)!important;line-height:1.5!important;letter-spacing:.04em!important}
body :is(.project-meta p,.model-card p,.approach-grid p,.capabilities-lead p,.estimate-grid p,.service-panel p,.card p){font-size:var(--ht-body)!important;line-height:1.65!important}
body :is(.nav a,.menu-toggle,.ht-toggle,.inline-link,.pill-button,.text-link,.quiet-link,.contact-link){font-size:var(--ht-small)!important;letter-spacing:.025em!important}
body :is(h2,.section-head h2,.models-heading h2,.estimate h2,.approach h2,.capabilities-lead h2,.manifesto h2,.contact h2){font-size:clamp(38px,4.3vw,100px)!important;line-height:1.08!important;letter-spacing:-.055em!important}
body :is(h3,.model-bottom h3,.approach-grid h3){font-size:clamp(23px,2.05vw,37px)!important;line-height:1.2!important}
body :is(.hero h1,.hero h1 em){font-family:"DM Sans",sans-serif!important;font-weight:700!important;font-style:normal!important;letter-spacing:-.065em!important;font-size:clamp(54px,7.4vw,152px)!important;line-height:.99!important;max-width:none!important}
body .hero-content{width:100%!important}
body .hero-sub,body .lead,body .intro{max-width:78ch}
body .ht-header .ht-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
body .ht-header .ht-center{font-size:clamp(12px,1.15vw,18px)!important}
body .ht-header .ht-logo{font-size:clamp(30px,2.5vw,42px)!important}
body .ht-header .ht-toggle{font-size:var(--ht-small)!important}
body .ht-header .ht-nav a{font-size:var(--ht-body)!important}
body .hero-media video{width:100%!important;height:100%!important;object-fit:cover!important}
body .work-grid,body .model-grid,body .approach-grid,body .grid3{min-width:0}
body .model-card,body .project-card,body .card{min-width:0}
body .hero .hero-actions a{min-height:44px}
@media(min-width:1900px){
  :root{--ht-pad:clamp(90px,5vw,190px)}
  body .hero{min-height:100svh}
  body .hero-content{padding-top:clamp(170px,12vh,260px)}
  body .section-pad{padding-top:clamp(120px,9vh,230px);padding-bottom:clamp(120px,9vh,230px)}
  body .model-card{min-height:clamp(440px,29vw,650px)}
  body .project-art{min-height:clamp(350px,27vw,620px)}
}
@media(max-width:800px){
  :root{--ht-pad:clamp(20px,5vw,36px)}
  body :is(.cols,.grid3,.model-grid,.approach-grid,.capabilities-layout,.estimate-grid,.manifesto-grid){grid-template-columns:1fr!important}
  body :is(.section-head,.models-heading){flex-direction:column!important;align-items:start!important}
  body :is(h2,.section-head h2,.models-heading h2,.estimate h2,.approach h2,.capabilities-lead h2,.manifesto h2,.contact h2){font-size:clamp(37px,8vw,64px)!important}
  body :is(.hero h1,.hero h1 em){font-size:clamp(47px,9vw,78px)!important}
  body .ht-header .ht-inner{height:74px}
  body .ht-header .ht-center{font-size:clamp(11px,2.3vw,14px)!important;white-space:normal}
}
@media(max-width:520px){
  body :is(.hero h1,.hero h1 em){font-size:clamp(41px,10.4vw,58px)!important}
  body .hero-content{padding-top:115px!important}
  body .hero{min-height:95svh}
  body .hero-actions{gap:12px 18px!important;flex-wrap:wrap}
  body .ht-header .ht-logo{font-size:28px!important}
  body .ht-header .ht-toggle{gap:7px!important}
  body .work-grid{grid-template-columns:1fr!important}
}
