@font-face { font-family:Nunito; src:url('assets/home/nunito.ttf') format('truetype'); font-weight:200 1000; font-display:swap; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.4 Nunito,ui-rounded,sans-serif; color:var(--ink); background:var(--page); }
h1,h2,h3,p { margin:0; }
h1,h2 { font-weight:900; }
button:hover { filter:brightness(.93); }
button { font:inherit; cursor:pointer; }
[hidden] { display:none!important; }
#main { --header-height:92px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
:root { --page:#fefcf8; --ink:#172541; --green:#0e6655; --quiet:#52615d; --line:#d5dbd5; --amber:#e67e22; }
html { scroll-behavior:auto; background:var(--page); }
#main a,#main button { -webkit-tap-highlight-color:#0e665526; }
#main a { color:var(--green); text-underline-offset:4px; }
#main :focus-visible { outline:3px solid var(--green); outline-offset:4px; }
#main ::selection { color:var(--page); background:var(--green); }
.site-skip { position:absolute; left:16px; top:-100px; padding:12px; background:var(--page); z-index:30; }
.site-skip:focus { top:8px; }
.site-banner { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px max(24px,5vw); border-bottom:1px solid var(--line); background:var(--page); }
.v7-wordmark { display:inline-flex; align-items:center; min-height:44px; color:var(--ink)!important; font-size:clamp(24px,2.5vw,32px); font-weight:900; letter-spacing:-.03em; text-decoration:none; white-space:nowrap; }
.v8-wordmark-pro { color:var(--green); margin-left:5px; }
.v8-brand-dot { width:6px; height:6px; margin-left:8px; border-radius:50%; background:var(--amber); }
.site-banner nav,.site-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:4px 16px; }
.site-banner nav a,.site-footer nav a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; text-decoration:none; }
.story-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(36px,6vw,100px); max-width:1440px; margin:auto; padding:0 max(24px,5vw); }
.visual-rail { position:sticky; top:var(--header-height); align-self:start; min-width:0; height:calc(100svh - var(--header-height)); display:flex; flex-direction:column; justify-content:center; gap:14px; padding:32px 0 44px; }
.scene-media { position:relative; width:100%; aspect-ratio:1920 / 886; flex:0 0 auto; min-width:0; isolation:isolate; }
.scene-media img,.scene-media video { position:absolute; inset:0; display:block; width:100%; height:100%; min-width:0; object-fit:contain; background:transparent; border:0; border-radius:0; pointer-events:none; }
.stage-actions { min-height:44px; }
.media-actions,.rule-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.media-actions button,.rule-actions button { min-height:44px; padding:10px 14px; border:1px solid var(--green); border-radius:8px; background:var(--page); color:var(--green); font-size:15px; font-weight:750; }
.rule-actions button[aria-pressed="true"] { background:var(--green); color:var(--page); }
.media-actions [role="status"] { color:var(--quiet); font-size:14px; }
.scene-navigation { display:flex; flex-wrap:wrap; gap:4px 12px; padding-top:8px; border-top:1px solid var(--line); }
.scene-navigation a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-decoration:none; border-bottom:2px solid transparent; }
.scene-navigation a[aria-current="step"] { font-weight:850; border-color:var(--green); }
.chapter { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:calc(100svh - var(--header-height)); padding:48px 0; scroll-margin-top:calc(var(--header-height) + 24px); }
.chapter h1,.chapter h2 { max-width:10ch; margin:0 0 24px; color:var(--ink); font-size:clamp(38px,4.8vw,68px); line-height:1.04; letter-spacing:-.035em; font-weight:900; }
.chapter p { max-width:36ch; margin:0 0 20px; color:var(--quiet); font-size:clamp(17px,1.4vw,20px); line-height:1.55; }
.chapter .variant-context { font-size:16px; line-height:1.5; }
.store-link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; border-radius:8px; background:var(--green); color:var(--page)!important; font-size:16px; font-weight:800; text-decoration:none; }
.availability { margin-top:10px; color:var(--quiet); font-size:14px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.family-story { scroll-margin-top:calc(var(--header-height) + 16px); display:grid; grid-template-columns:minmax(0,1fr) 240px; align-items:center; gap:60px; padding:80px max(24px,10vw); background:#eef2ed; }
.family-story h2,.help-strip h2 { max-width:20ch; font-size:clamp(30px,3.4vw,46px); line-height:1.12; letter-spacing:-.025em; }
.family-story p,.help-strip p { max-width:48ch; margin:18px 0 10px; font-size:18px; line-height:1.6; color:var(--quiet); }
.family-story figure { margin:0; }
.family-story img { width:100%; height:auto; display:block; }
.family-story figcaption { color:var(--quiet); font-size:14px; padding-top:10px; }
.help-strip { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:64px max(24px,10vw); }
.site-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:24px max(24px,5vw) 80px; border-top:1px solid var(--line); }
.site-footer p { font-size:15px; color:var(--quiet); }
@media(max-width:760px) {
 .site-banner { padding:8px 16px; gap:0 14px; flex-wrap:wrap; }
 .site-banner nav { gap:0 14px; }
 .site-banner nav a { font-size:14px; }
 .v7-wordmark { font-size:25px; }
 .story-layout { display:block; padding:0 16px; }
 .visual-rail { z-index:7; top:var(--header-height); height:auto; min-height:0; padding:10px 0 8px; gap:6px; background:var(--page); border-bottom:1px solid var(--line); }
 .scene-navigation { padding-top:0; gap:0 12px; border:0; }
 .scene-navigation a { font-size:12px; min-height:44px; }
 .media-actions,.rule-actions { gap:8px; }
 .media-actions button,.rule-actions button { font-size:14px; }
 .media-actions [role="status"] { font-size:12px; }
 .chapter { min-height:62svh; padding:36px 0 64px; scroll-margin-top:calc(var(--header-height) + 40svh); }
 .chapter h1,.chapter h2 { max-width:14ch; font-size:36px; margin-bottom:16px; }
 .chapter p { font-size:17px; line-height:1.5; margin-bottom:16px; }
 .family-story { grid-template-columns:minmax(0,1fr) 120px; gap:20px; padding:48px 20px; }
 .family-story h2 { font-size:28px; }
 .family-story p { font-size:16px; }
 .help-strip { padding:40px 20px; align-items:flex-start; flex-direction:column; }
 .site-footer { padding:24px 20px 80px; }
}
@media(max-width:420px) { .site-banner nav { width:100%; } .family-story { grid-template-columns:1fr; } .family-story figure { max-width:180px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; background:var(--page); } }

.future-section { scroll-margin-top:calc(var(--header-height) + 16px); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:60px; padding:72px max(24px,10vw); border-bottom:1px solid var(--line); }
.future-section h2 { max-width:16ch; margin:0 0 20px; color:var(--ink); font-size:clamp(30px,3.4vw,46px); line-height:1.12; letter-spacing:-.025em; }
.future-section p { max-width:42ch; margin:0 0 16px; color:var(--quiet); font-size:18px; line-height:1.55; }
.feature-form-frame { display:block; width:100%; border:0; border-radius:12px; }
@media(max-width:760px) { .future-section { grid-template-columns:1fr; gap:24px; padding:48px 20px; } .future-section p { font-size:16px; } }
