:root {
  color-scheme: light;
  --ink:#142033;
  --muted:#526071;
  --navy:#123a63;
  --blue:#1261a6;
  --green:#16705a;
  --yellow:#f2c94c;
  --line:#d7e0e7;
  --pale:#eaf3f8;
  --soft:#f5f7f8;
  --cream:#f7f3ec;
  --mint:#dff2ec;
  --white:#fff;
  --ease:cubic-bezier(.23,1,.32,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Arial, Helvetica, sans-serif; color:var(--ink); background:var(--white); line-height:1.55; }
img { max-width:100%; }
a { color:var(--blue); }
a:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.wrap { width:min(1120px, calc(100% - 32px)); margin:0 auto; }
.site-nav { display:flex; align-items:center; justify-content:space-between; min-height:68px; gap:20px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:800; text-decoration:none; }
.brand img { width:38px; height:38px; border-radius:8px; }
.nav-links { display:flex; flex-wrap:wrap; gap:18px; }
.nav-links a { font-size:14px; font-weight:700; text-decoration:none; }
.hero { position:relative; overflow:hidden; }
.hero.navy { background:var(--navy); color:var(--white); }
.hero.green { background:#105647; color:var(--white); }
.product-hero { background:linear-gradient(135deg, #f8f3ea 0%, #eef7f3 58%, #dcefeb 100%); color:var(--ink); border-top:1px solid #e6ded1; border-bottom:1px solid var(--line); }
.product-hero-grid { min-height:620px; display:grid; grid-template-columns:minmax(0, .95fr) minmax(340px, 1.05fr); align-items:center; gap:clamp(36px, 7vw, 92px); padding:clamp(46px, 8vw, 92px) 0; }
.hero-copy { position:relative; z-index:1; }
.eyebrow { margin:0 0 12px; color:var(--green); font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.eyebrow.light { color:#ccefe3; }
.product-hero h1 { max-width:820px; margin:0 0 20px; font-size:clamp(42px, 6.4vw, 76px); line-height:.98; letter-spacing:-.02em; text-wrap:balance; }
.product-hero .lead { max-width:62ch; margin:0 0 26px; color:#435165; font-size:clamp(18px, 2vw, 21px); text-wrap:pretty; }
.text-link.dark { color:var(--navy); }
.hero-proof { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.hero-proof span { padding:8px 11px; border:1px solid rgba(18,58,99,.16); border-radius:999px; background:rgba(255,255,255,.55); color:#314255; font-size:13px; font-weight:800; }
.product-showcase { position:relative; }
.product-showcase::before { content:""; position:absolute; inset:8% 2% auto auto; width:72%; aspect-ratio:1; border-radius:50%; background:rgba(22,112,90,.13); filter:blur(10px); }
.product-card-main { position:relative; padding:clamp(18px, 3vw, 30px); border:1px solid rgba(18,58,99,.11); border-radius:20px; background:rgba(255,255,255,.78); box-shadow:0 24px 65px rgba(18,32,51,.14); backdrop-filter:blur(12px); }
.product-card-main img { display:block; width:100%; aspect-ratio:1.15; object-fit:contain; filter:drop-shadow(0 22px 24px rgba(18,32,51,.18)); }
.product-card-caption { display:grid; gap:3px; margin-top:10px; padding:14px 16px; border-radius:12px; background:#102f4e; color:var(--white); }
.product-card-caption span { color:#cfe2ef; font-size:14px; }
.mini-specs { position:relative; display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:12px; }
.mini-specs div { padding:14px; border:1px solid rgba(18,58,99,.12); border-radius:14px; background:rgba(255,255,255,.74); }
.mini-specs strong { display:block; color:var(--navy); font-size:13px; }
.mini-specs span { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.35; }
.hero-grid { min-height:530px; display:grid; grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr); align-items:center; gap:clamp(32px, 6vw, 80px); padding:clamp(48px, 8vw, 88px) 0; }
.hero h1 { max-width:790px; margin:0 0 20px; font-size:clamp(42px, 7vw, 78px); line-height:.98; letter-spacing:-.025em; text-wrap:balance; }
.hero .lead { max-width:61ch; margin:0 0 26px; color:#e1edf4; font-size:clamp(18px, 2vw, 21px); text-wrap:pretty; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 19px; border:0; border-radius:6px; background:var(--yellow); color:#18212c; font-weight:800; text-decoration:none; transition:transform 160ms var(--ease), background-color 200ms var(--ease); }
.button:hover { background:#ffda55; transform:translateY(-2px); }
.button:active { transform:scale(.97); }
.button.blue { background:var(--blue); color:var(--white); }
.button.blue:hover { background:#0b4f89; }
.text-link { color:var(--white); font-weight:700; text-underline-offset:4px; }
.visual-frame { margin:0; padding:16px; border-radius:12px; background:var(--white); color:var(--ink); box-shadow:0 8px 0 rgba(0,0,0,.18); transform:rotate(1.5deg); }
.visual-frame.reverse { transform:rotate(-1.5deg); }
.visual-frame img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:7px; }
.visual-frame figcaption { display:flex; align-items:center; gap:10px; margin-top:13px; font-size:13px; font-weight:700; }
.visual-frame figcaption::before { content:""; width:10px; height:10px; border-radius:50%; background:var(--green); }
.hero-note { margin:14px 0 0; color:#dceaf3; font-size:13px; }
.signal-strip { background:var(--pale); border-bottom:1px solid var(--line); }
.signal-strip.compact { background:#fff; }
.signal-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); }
.signal { padding:22px clamp(16px, 3vw, 28px); background:var(--pale); }
.signal strong { display:block; margin-bottom:3px; color:var(--navy); }
.page-section { padding:clamp(56px, 8vw, 92px) 0; }
.page-section.soft { background:var(--soft); }
.section-heading { max-width:790px; margin:0 0 14px; font-size:clamp(30px, 4vw, 48px); line-height:1.06; letter-spacing:-.02em; text-wrap:balance; }
.section-lead { max-width:68ch; margin:0 0 34px; color:var(--muted); font-size:18px; }
.split-heading { display:grid; grid-template-columns:minmax(0, .95fr) minmax(280px, .72fr); gap:clamp(24px, 5vw, 58px); align-items:end; margin-bottom:34px; }
.split-heading .section-lead { margin:0; }
.fit-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); align-items:stretch; gap:18px; }
.fit-card { min-height:220px; display:grid; grid-template-columns:76px minmax(0, 1fr); grid-template-rows:auto 1fr; align-content:start; column-gap:18px; row-gap:8px; padding:26px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.fit-card h3 { margin:4px 0 0; font-size:25px; line-height:1.08; letter-spacing:-.01em; }
.fit-card p { margin:0; color:var(--muted); }
.fit-card p { grid-column:2; }
.fit-number { display:grid; place-items:center; grid-row:1 / span 2; width:68px; height:68px; border-radius:50%; background:var(--mint); color:var(--green); font-size:24px; line-height:1; font-weight:900; letter-spacing:0; }
.dark-card { background:#102f4e; color:var(--white); }
.dark-card p { color:#d7e7f0; }
.dark-card .fit-number { background:rgba(156,224,200,.16); color:#9ce0c8; }
.accent-card { background:var(--cream); border-color:#e8dac2; }
.product-story { background:#f4f8f6; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.story-grid { display:grid; grid-template-columns:minmax(300px, .9fr) minmax(0, 1.1fr); gap:clamp(28px, 6vw, 72px); align-items:center; }
.story-media { padding:24px; border-radius:22px; background:linear-gradient(135deg, #fff, #dcefeb); box-shadow:inset 0 0 0 1px rgba(18,58,99,.09); }
.story-media img { display:block; width:100%; aspect-ratio:1.2; object-fit:contain; filter:drop-shadow(0 22px 20px rgba(18,32,51,.14)); }
.decision-list { display:grid; gap:12px; }
.decision-list div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; padding:18px 0; border-top:1px solid var(--line); }
.decision-list strong { color:var(--navy); }
.decision-list span { color:var(--muted); }
.comparison-table { border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 18px 45px rgba(18,32,51,.06); }
.comparison-table div { display:grid; grid-template-columns:220px minmax(0,1fr); gap:20px; padding:19px 22px; border-bottom:1px solid var(--line); }
.comparison-table div:last-child { border-bottom:0; }
.comparison-table strong { color:var(--navy); }
.comparison-table span { color:var(--muted); }
.guide-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.guide { overflow:hidden; border:1px solid var(--line); background:var(--white); }
.guide img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.guide-content { padding:24px; }
.guide h2,.guide h3 { margin:0 0 9px; font-size:25px; letter-spacing:-.015em; }
.guide p { margin:0 0 19px; color:var(--muted); }
.checklist { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.checklist li { display:grid; grid-template-columns:64px minmax(0, 1fr); gap:20px; padding:25px 0; border-bottom:1px solid var(--line); }
.step { display:grid; place-items:center; align-self:start; width:46px; height:46px; border-radius:50%; background:var(--navy); color:var(--white); font-weight:800; }
.checklist h3 { margin:0 0 5px; font-size:21px; }
.checklist p { max-width:68ch; margin:0; color:var(--muted); }
.compare-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; }
.compare { padding:24px; background:var(--white); border-top:5px solid var(--green); }
.compare.caution { border-top-color:var(--yellow); }
.compare h3 { margin:0 0 8px; font-size:21px; }
.compare p { margin:0; color:var(--muted); }
.product-band { padding:clamp(52px, 8vw, 84px) 0; background:var(--green); color:var(--white); }
.product-band.blue { background:var(--navy); }
.product-grid { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:40px; align-items:center; }
.product-band h2 { margin:0 0 12px; font-size:clamp(30px, 4vw, 46px); line-height:1.06; letter-spacing:-.02em; }
.product-band p { max-width:68ch; margin:0 0 14px; color:#e2f2ec; }
.product-band.blue p { color:#dceaf3; }
.product-band .button { min-width:245px; }
.disclosure { font-size:13px; }
.site-footer { padding:32px 0; background:#0b2842; color:#dceaf3; font-size:14px; }
.site-footer p { margin:0 0 8px; }
.site-footer a { color:var(--white); }
@media (max-width:820px) {
  .hero-grid,.product-grid,.product-hero-grid,.split-heading,.story-grid { grid-template-columns:1fr; }
  .hero-grid { min-height:auto; padding:44px 0 52px; }
  .product-hero-grid { min-height:auto; padding:44px 0 52px; }
  .guide-grid,.compare-grid,.signal-grid,.fit-grid,.mini-specs { grid-template-columns:1fr; }
  .decision-list div,.comparison-table div { grid-template-columns:1fr; gap:6px; }
  .signal { border-bottom:1px solid var(--line); }
  .product-band .button { min-width:0; width:100%; }
}
@media (max-width:600px) {
  .nav-links a:not(:last-child) { display:none; }
  .hero h1 { font-size:clamp(40px, 13vw, 58px); }
  .fit-card { grid-template-columns:1fr; min-height:0; }
  .fit-card p { grid-column:auto; }
  .fit-number { grid-row:auto; width:64px; height:64px; }
  .checklist li { grid-template-columns:52px minmax(0, 1fr); gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms !important; }
}
