/* Authoritative type system. Self-hosted, authentic Space Grotesk 700. */
@font-face{font-family:'Beta Space Grotesk';src:url('assets/space-grotesk-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--display:'Beta Space Grotesk',sans-serif;--body:'Manrope',Arial,sans-serif}
/* Explicit scope prevents old component shorthands from changing title families. */
h1,h2,h3,h1 *,h2 *,h3 *, .hero h1,.hero h1 em,.story-body h3,.process-steps summary h3,.image-tile>span,.mobile-gallery .image-tile>span,.type-banner span,.type-banner em{
 font-family:var(--display)!important;font-weight:700!important;font-style:normal;font-stretch:normal;font-synthesis:none;letter-spacing:-.02em!important;
}
h1,h2,h3{text-transform:none;line-height:1.1}
.hero h1{line-height:1.02}.hero h1 em{letter-spacing:inherit!important}
h1 span,h2 span,h3 span,h1 em,h2 em,h3 em{font-family:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important}
body,button,input,select,textarea,.button,.contact-channel,.text-link,.eyebrow,.section-index{font-family:var(--body)}
.type-banner span{text-transform:uppercase}

.hero h1{-webkit-text-stroke:.55px currentColor;letter-spacing:-.025em!important;font-size:clamp(68px,7.1vw,110px)}
@media(max-width:1023px){.hero h1{font-size:clamp(54px,9.5vw,90px)}}
@media(max-width:760px){.hero h1{font-size:clamp(46px,12vw,70px);-webkit-text-stroke:.35px currentColor;line-height:1.06}.hero h1 br:first-of-type{display:block}}
@media(min-width:1024px){.hero h1{font-size:clamp(46px,min(7.1vw,8.8svh),92px);line-height:1.02;margin:18px 0;letter-spacing:-.025em!important}}
@media(min-width:1024px) and (max-height:650px){.hero{padding-top:12px;row-gap:6px}.hero h1{margin:12px 0;font-size:clamp(42px,8svh,52px)}.hero-service-tabs{margin-top:8px;margin-bottom:8px}.hero-actions{margin-top:12px;margin-bottom:10px}.hero-bottom{padding:9px 0}.hero-description{font-size:13px;line-height:1.5}}
