:root{--blue:#0a50a1;--deep:#255d97;--ink:#062f5e;--green:#7fc31c}
body{font-family:'Figtree',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.font-display{font-family:'Bricolage Grotesque','Figtree',sans-serif}
.t-hero{font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:.96;letter-spacing:-.04em}
.t-page{font-size:clamp(2.3rem,5vw,4.25rem);line-height:1;letter-spacing:-.035em}
.t-h2{font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.04;letter-spacing:-.03em}
.t-h3{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.15;letter-spacing:-.02em}
.t-stat{font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;letter-spacing:-.04em}
.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.7}
.prose-ic p{line-height:1.8;margin-bottom:1.1em}
.grecaptcha-badge{visibility:hidden}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.hero-photo{clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
@media (max-width:1023px){.hero-photo{clip-path:none}}
.grain{background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px}
.marquee{display:flex;width:max-content;animation:marquee 40s linear infinite}
.marquee-wrap:hover .marquee{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].is-visible{opacity:1;transform:none}
.carousel{scroll-snap-type:x mandatory;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.carousel>*{scroll-snap-align:start}
.nav-drop{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-item:hover .nav-drop,.nav-item:focus-within .nav-drop{opacity:1;visibility:visible;transform:none}
details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(180deg)}
.zoom img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.zoom:hover img{transform:scale(1.05)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}
#site-header.is-scrolled{background-color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
