@font-face{font-family:'Inter Light';src:url('../fonts/inter-latin-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Inter Light';src:url('../fonts/inter-latin-300-italic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}
:root{--font-site:'Inter Light',Inter,Arial,sans-serif}
body,body *,body *::before,body *::after{font-family:'Inter Light',Inter,Arial,sans-serif!important;font-weight:300!important}
.home-page .home-stage{background:#031c15;isolation:isolate}
.home-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.home-page .home-stage::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#001b14c9,#001b1440 75%),linear-gradient(0deg,#00170f99,transparent 60%);pointer-events:none}
.home-copy .home-subtitle,.home-product h2,.home-product p{white-space:normal}
/* Compact homepage foreground leaves more of the background video visible. */
.home-copy h1{font-size:clamp(36px,3.5vw,56px);line-height:1.12;letter-spacing:-1.4px}
.home-copy .home-subtitle{font-size:clamp(17px,1.4vw,22px);line-height:1.45;margin-top:24px}
.home-copy .home-description{font-size:clamp(14px,1.05vw,17px);line-height:1.7;margin-top:18px}
.home-copy .home-partner{width:auto;min-height:44px;height:auto;padding:11px 18px;font-size:14px;gap:18px;margin-top:24px;border-radius:6px}
.home-copy .home-partner span{font-size:24px}
.home-product{display:flex;flex-direction:column;align-items:stretch;width:270px;height:auto;padding:20px 16px 18px;border-radius:16px}
.home-product h2{font-size:28px;line-height:1.2;white-space:nowrap;margin:0}
.home-product h2::after{margin-top:12px}
.home-product p{font-size:14px;line-height:1.55;margin:14px 0 0;white-space:normal}
.home-product .home-product-art{position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:1;margin-top:12px}
.home-product .home-learn{position:static;align-self:center;width:auto;height:auto;min-height:40px;padding:10px 22px;font-size:14px;margin-top:14px;border-radius:5px}
@media(min-width:701px){
 .home-copy{width:min(530px,calc(100% - 370px));top:clamp(160px,15vw,240px)}
 .home-product{top:clamp(145px,13vw,210px)}
 .home-copy .home-linebreak{display:none}
}
@media(max-width:700px){
 .home-copy{width:auto;margin-top:32px}
 .home-product{width:240px;margin:32px auto 28px;padding:18px 14px}
 .home-product h2{font-size:25px}
}

/* Banner imagery fills its section at every viewport width. */
.reference-page .reference-banner>img{inset:0;width:100%;max-width:none;height:100%;object-fit:cover;object-position:center;transform:none}



/* Use real bold font files for every page title, including nested emphasis. */
@font-face{font-family:TitleInter;src:url('../fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:TitleInter;src:url('../fonts/inter-latin-700-italic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
body h1,body h1 *{font-family:TitleInter,Inter,Arial,sans-serif!important;font-weight:700!important}

/* Shared white and leaf-green hero titles, matching About Us. */
.home-copy h1,.about-hero h1,.reference-page .reference-hero h1,.page-gallery .gallery-intro h1{color:#fff}
.home-copy h1 em,.about-hero h1 em,.reference-hero h1 .hero-title-accent,.page-gallery .gallery-intro h1 .hero-title-accent{color:#c1df58}
.offerings-hero-description,.offerings-hero-description em{font-family:'Inter Light',Inter,Arial,sans-serif!important;font-style:normal}
/* Consistent uppercase page and section titles across the website. */
body h1,body h1 *,body h2,body h2 *{text-transform:uppercase!important}

/* Keep highlighted hero wording upright on Home and About. */
#home-title em,#page-title em{font-style:normal}
