/* Shared visual language for the site and Products page. */
:root{
  --ink:#081b2c;
  --navy:#0e2233;
  --blue:#1d6da1;
  --blue-2:#58b9e8;
  --ice:#eef4f7;
  --mist:#f4f8fa;
  --line:#cbd7df;
  --muted:#536b7d;
  --max:1160px;
  --shadow:0 16px 42px rgba(8,27,44,.08);
}

/* Navigation, action styles and focus treatments stay consistent on every page. */
.site-frame{overflow:clip}
.site-header,.site-header.is-sticky{position:sticky;top:0;left:auto;right:auto}
.header-inner{height:76px}
.header-cta,.button-primary{background:var(--navy)}
.header-cta:hover,.button-primary:hover{background:var(--blue)}
.header-cta,.button{font-size:.78rem;letter-spacing:.01em}
.button{min-height:48px;padding-inline:21px}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* Homepage: real switching media with the same spacing and hierarchy as Products. */
.hero{min-height:700px;max-height:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:linear-gradient(115deg,#fff 0%,#f4f8fa 100%)}
.hero-copy{padding:82px 5vw 82px var(--side)}
.hero h1{max-width:650px;font-size:clamp(2.9rem,4.7vw,5rem)}
.hero-visual{padding:72px var(--side) 72px 0}
.glass-scene-motion{width:100%;height:auto;min-height:0;aspect-ratio:4/3;background:#eef3f6;box-shadow:var(--shadow)}
.glass-scene-motion picture,.glass-scene-motion picture img{display:block;width:100%;height:100%}
.glass-scene-motion picture img{object-fit:cover}
.glass-scene-motion .scene-label{left:18px;bottom:18px;padding:12px 16px}
.hero-trust{margin-top:34px;padding-top:22px}

/* Repeat a measured content rhythm on home, standard pages and inquiry. */
.section{padding-block:96px}
.section-heading{margin-bottom:40px}
.section-intro h2,.section-heading h2,.support-copy h2,.sample-section h2,.closing-cta h2,.faq-section h2,.responsibility-panel h2{font-size:clamp(2.15rem,3.7vw,3.8rem);line-height:1.06;letter-spacing:-.05em}
.path-grid{gap:20px;margin-bottom:96px}
.path-card{min-height:470px;padding:42px}
.model-section{padding-top:0}
.model-grid{gap:20px}
.model-card{min-height:490px}
.model-card.featured{transform:none;border:1px solid #8dbbd6;background:#f2f9fd;box-shadow:0 16px 42px rgba(29,109,161,.1)}
.model-ribbon{top:14px;right:14px;left:auto;width:auto;padding:6px 8px;font-size:.57rem}
.model-top{padding-top:24px}
.support-section{width:min(var(--max),calc(100% - 48px));margin:0 auto;grid-template-columns:1fr 1fr;background:#f0f5f7}
.support-image{min-height:600px;padding:54px 25px;display:flex;align-items:center}
.support-image img{height:auto;max-height:510px;object-fit:contain}
.support-copy{padding:72px clamp(32px,5vw,70px)}
.process-section{padding-block:96px}
.sample-section{margin-block:96px;padding:60px 64px;background:var(--navy)}
.faq-section{padding-bottom:96px}
.closing-cta{margin-bottom:96px;padding-block:68px}
.page-hero{padding-block:90px 74px;background:var(--mist)}
.page-hero h1,.form-page-intro h1{font-size:clamp(2.9rem,5.2vw,5.15rem)}
.entry-content{margin-block:80px;line-height:1.7}
.entry-content h2{max-width:720px}
.page-next{margin-block:90px;padding:58px 64px}
.form-page-intro{padding-block:88px;background:var(--mist)}
.form-panel{margin-block:80px;box-shadow:var(--shadow)}
.responsibility-panel{padding-block:88px}
.site-footer{background:var(--navy);padding-top:72px}

@media(max-width:1050px){
  .primary-nav{top:76px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:78px var(--side) 50px}
  .hero-visual{padding:0 var(--side) 65px}
  .glass-scene-motion{max-width:760px}
}
@media(max-width:760px){
  .header-inner{height:70px}
  .primary-nav{top:70px}
  .hero-copy{padding:64px 20px 42px}
  .hero-visual{padding:0 20px 58px}
  .glass-scene-motion{height:auto;min-height:0;aspect-ratio:4/3;box-shadow:var(--shadow)}
  .glass-scene-motion .scene-label{left:10px;bottom:10px;padding:8px 10px;min-width:0}
  .glass-scene-motion .scene-label span{font-size:.83rem}
  .glass-scene-motion .scene-label strong{font-size:.55rem}
  .section{padding-block:72px}
  .section-heading{margin-bottom:34px}
  .path-grid{width:calc(100% - 40px);gap:16px;margin-bottom:72px}
  .path-card{min-height:410px;padding:32px 26px}
  .model-grid{gap:18px}
  .model-ribbon{top:12px;right:12px}
  .support-section{width:100%;grid-template-columns:1fr}
  .support-image{min-height:0;padding:35px 20px}
  .support-image img{max-height:350px}
  .support-copy{padding:58px 24px}
  .process-section{padding-block:72px}
  .sample-section{margin-block:72px;padding:38px 28px}
  .faq-section{padding-bottom:72px}
  .closing-cta{margin-bottom:72px}
  .page-hero,.form-page-intro{padding:72px 20px 58px}
  .entry-content{margin-block:60px}
  .page-next{margin-block:72px;padding:38px 28px}
  .form-panel{margin-block:0}
  .responsibility-panel{padding-block:72px}
}
