/* Reference-inspired homepage composition. Content remains driven by home.js and site-api.js. */
:root{--layout-width:min(1200px,calc(100% - 48px));--section-space:96px}
.container{width:var(--layout-width)}
.site-header{height:90px}
.site-header .header-inner{width:100%;max-width:none;margin:0;padding:0 24px;height:90px}
.brand{width:200px}
.brand{height:67px}
.brand img{width:200px;height:67px;object-fit:contain}
.hero{position:relative;min-height:720px;padding-top:0;overflow:hidden}
.hero-grid{position:relative;display:block;width:100%;min-height:720px}
.hero-media{position:absolute;inset:0;padding:0}
.hero-image-wrap{height:720px}
.hero-image-wrap:after{background:linear-gradient(90deg,rgba(8,20,28,.68),rgba(8,20,28,.16) 55%,rgba(8,20,28,.08))}
.hero-copy{position:relative;z-index:1;width:var(--layout-width);min-height:720px;margin:0 auto;padding:180px 48% 70px 0;color:#fff}
.hero .eyebrow{color:#fff}
.hero h1{font-size:clamp(46px,5vw,72px);line-height:1.18;color:#fff}
.hero h1 em{color:#fff}
.hero-intro{max-width:390px;color:rgba(255,255,255,.86);line-height:2}
.hero-actions{margin-top:34px}
.hero .button-dark{background:#fff;color:var(--ink)}
.hero .text-link{color:#fff}
.hero-meta{color:rgba(255,255,255,.76)}
.hero-meta b{color:#fff}
.hero-dot{background:rgba(255,255,255,.55)}
.hero-dot.active{background:#fff}
.hero-caption{left:auto;right:max(24px,calc((100% - 1200px) / 2));bottom:28px}
.proof-grid{min-height:124px}
.proof-item{padding:0 34px}
.section{padding:var(--section-space) 0}
.section-heading{display:block;margin-bottom:42px;text-align:center}
.section-heading .eyebrow{margin-bottom:14px}
.section-heading h2{font-size:44px;line-height:1.25}
.section-heading>.arrow-link{display:inline-flex;margin-top:22px}
.section-label{display:none}
.about-grid{grid-template-columns:1fr 1.12fr;gap:70px;align-items:center}
.about-content{padding:0}
.about-content .eyebrow{text-align:left}
.about-content h2{font-size:46px;line-height:1.25}
.about-content>p:not(.eyebrow){max-width:470px;line-height:2;margin:27px 0 32px}
.about-visual{height:465px}
.products-section .section-heading h2{font-size:44px}
.product-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.product-card{min-height:420px}
.product-card img{min-height:420px}
.product-card-content{left:24px;right:24px;bottom:24px}
.product-card h3{font-size:23px}
.feature-grid{min-height:540px}
.feature-copy{padding:55px 72px}
.feature-copy h2{font-size:46px;line-height:1.25}
.cases-section .section-heading h2,.news-section .section-heading h2{font-size:44px}
.case-grid{grid-template-rows:230px 230px;gap:18px}
.service-grid{gap:70px}
.service-section h2{font-size:44px;line-height:1.25}
.news-grid{gap:22px}
.news-card img{height:190px}
.contact-section{padding:96px 0}

@media(max-width:900px){
  :root{--layout-width:calc(100% - 40px);--section-space:72px}
  .site-header,.site-header .header-inner{height:72px}
  .site-header .header-inner{padding:0 16px}
  .hero,.hero-grid{min-height:620px}
  .hero-image-wrap{height:620px}
  .hero-copy{width:var(--layout-width);min-height:620px;padding:150px 0 60px}
  .hero h1{font-size:52px}
  .hero-caption{left:20px;right:20px}
  .brand{width:145px;height:49px}
  .brand img{width:145px;height:49px}
  .about-grid{grid-template-columns:1fr;gap:35px}
  .about-visual{height:340px}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .feature-copy{padding:48px 40px}
}

@media(max-width:520px){
  .hero,.hero-grid{min-height:560px}
  .hero-image-wrap{height:560px}
  .hero-copy{min-height:560px;padding:125px 0 45px}
  .hero h1{font-size:42px}
  .section-heading h2,.products-section .section-heading h2,.cases-section .section-heading h2,.news-section .section-heading h2,.about-content h2,.service-section h2,.feature-copy h2{font-size:36px}
  .product-grid{gap:10px}
  .product-card,.product-card img{min-height:265px}
  .product-card-content{left:16px;right:14px;bottom:16px}
  .product-card h3{font-size:19px}
  .feature-copy{padding:44px 20px}
}
