
/* Public-launch narrative; shared learner runtime and captures remain unchanged. */
.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:48px}.hero h1{font-size:clamp(46px,5.7vw,76px);max-width:12em}.hero-card h2{font-size:36px;line-height:1.12;margin-bottom:20px}.hero-card p+p{margin:16px 0}.journey,.start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.journey article{border-top:2px solid var(--cinnabar);padding-top:24px}.journey h3,.start-grid h3{margin:14px 0}.journey p,.start-grid p{font-size:17px}.study-bridge{margin-top:46px;padding:30px 0;border-top:1px solid var(--rule);max-width:760px}.study-bridge p{margin:14px 0}.start-intro{max-width:720px;margin:0 auto 38px;font-size:20px}.start-grid{text-align:left;margin-bottom:36px}.start-grid .cta,.start-grid .text-link{margin-top:20px}.cta:disabled{cursor:default;opacity:.7;border:0;transform:none;font-size:19px}.skip-link{position:absolute;top:-100px;left:20px;z-index:100;background:var(--paper-light);padding:12px}.skip-link:focus{top:8px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero{padding-top:170px}.hero-card{max-width:620px}.journey,.start-grid{grid-template-columns:1fr}.hero{padding-top:48px}.section-head{grid-template-columns:1fr;gap:24px}.stage-top{flex-wrap:wrap}.demo{grid-template-columns:1fr}.hero h1{font-size:clamp(44px,8vw,64px)}}

.story-body{max-width:800px;margin:auto;padding:30px 32px 80px}.story-body section{padding:32px 0;border-bottom:1px solid var(--rule)}.story-body h2{font-size:34px;line-height:1.15;margin-bottom:20px}.story-body p+p{margin-top:18px}.story-body figure{margin:28px 0}.story-body img{display:block;width:100%;height:auto;border-radius:12px}.story-body figcaption{font-size:14px;color:var(--muted);margin-top:10px}
/* Visual-first launch refinement. Crops retain original source pixels. */
.hero{min-height:800px;padding:116px 0 64px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.hero h1{font-size:clamp(44px,5.2vw,68px);max-width:10em}.hero-kicker{font-size:17px;margin-bottom:16px}.hero-sub{font-size:20px;max-width:24em;margin-top:22px}.hero .cta-row{margin-top:24px}.section{padding:72px 0}.section-head{gap:36px;margin-bottom:30px}.section-head p{font-size:19px}.journey{gap:24px}.journey article{padding-top:20px;min-width:0}.journey h3{font-size:28px;min-height:64px}.journey figure{margin-top:22px}.journey figcaption,.study-bridge figcaption{font-size:15px;color:var(--ink-muted);margin-top:12px}.evidence-crop{position:relative;overflow:hidden;background:var(--mb-paper);border:1px solid var(--rule);border-radius:10px}.evidence-crop img{position:absolute;max-width:none;height:auto;display:block}.opening-proof{aspect-ratio:372/477}.opening-proof img{width:344.086%;left:-15.054%;top:-34.378%}.phrase-proof{aspect-ratio:415/532}.phrase-proof img{width:346.988%;left:-246.747%;top:-81.015%}.episode-proof{aspect-ratio:440/475}.episode-proof img{width:290.909%;left:-178.182%;top:-32.632%}.study-bridge{max-width:none;display:grid;grid-template-columns:1fr 390px;align-items:center;gap:60px;margin-top:48px;padding:48px 0 0}.study-proof{aspect-ratio:390/570}.study-proof img{width:100%;top:-14.737%;left:0}.preview-note{font-size:13px;color:var(--ink-muted);margin-top:26px!important}.watch-proof{background:var(--ink);overflow:hidden}.product-frame.watch-proof{aspect-ratio:1440/920}.product-frame.watch-proof img{width:100%;height:100%;object-fit:cover}.final{padding:72px 0}.start-intro{font-size:18px;max-width:620px}.story-body{max-width:860px}.story-body h2{font-size:32px}.story-body p{max-width:42em}.story-body .watch-proof{border-radius:12px}.story-body .watch-proof figcaption{padding:10px 16px;background:var(--paper)}
@media(max-width:900px){.hero{min-height:0;padding:36px 0 48px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{max-width:13em}.study-bridge{grid-template-columns:1fr 340px;gap:30px}.journey{grid-template-columns:1fr}.journey article{display:grid;grid-template-columns:1fr 340px;column-gap:24px}.journey .eyebrow{grid-column:1;align-self:end}.journey h3{grid-column:1;min-height:0}.journey figure{grid-column:2;grid-row:1/4;margin-top:0}.evidence-crop{max-width:390px}}
@media(max-width:600px){.container{padding:0 20px}.hero h1{font-size:40px;line-height:1.02}.hero-kicker{font-size:16px;margin-bottom:12px}.hero-sub{font-size:17px;margin-top:16px}.hero .cta-row{gap:14px;margin-top:18px}.hero .hero-meta{font-size:12px;margin-top:12px}.section{padding:48px 0}.section-head{gap:16px;margin-bottom:24px}.section-head h2,.final h2{font-size:36px}.section-head p{font-size:17px}.journey article{display:block}.journey h3{margin:10px 0 18px}.journey figure{margin-top:0}.journey{gap:36px}.study-bridge{grid-template-columns:1fr;gap:24px;margin-top:36px;padding-top:36px}.study-proof{max-width:none}.product-shot{padding:0 20px;margin-top:24px}.product-frame.watch-proof{position:relative;aspect-ratio:335/400}.product-frame.watch-proof img{position:absolute;width:347%;max-width:none;height:auto;left:-243%;top:-28%}.caption{font-size:15px}.final{padding:48px 0}.start-grid{gap:24px}.start-grid .cta,.start-grid .text-link{margin-top:12px}.story-body{padding:16px 24px 48px}.story-body .watch-proof img{width:300%;max-width:none;transform:translateX(-66.5%)}.story-body .watch-proof{max-height:620px}.faq-head{padding-top:48px}.preview-note{margin-top:16px!important}}
@media(max-width:600px){.story-body .product-frame.watch-proof{position:relative;aspect-ratio:335/500;max-height:none}.story-body .product-frame.watch-proof img{position:absolute;width:347%;height:auto;left:-243%;top:-10%;transform:none}.journey .phrase-proof{aspect-ratio:415/532}}
@media(max-width:600px){.hero{padding-top:24px}.hero-grid{gap:20px}}
.phrase-proof{aspect-ratio:415/480}.phrase-proof img{top:-89.583%}

/* Separate evidence examples: no implied source or saved-state continuity. */
.example-disclosure{font-size:15px;color:var(--ink-muted);max-width:52em;margin-bottom:28px}
.journey .study-proof{aspect-ratio:390/570;max-width:none}
.after-note{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--rule);margin-top:36px;padding-top:28px}.after-note h3{font-size:28px;margin-top:12px}.after-note p{font-size:17px;margin-bottom:14px}
.desktop-handoff{display:none}@media(max-width:600px){.after-note{grid-template-columns:1fr;gap:16px}.desktop-handoff{display:block;font-size:14px!important;color:var(--ink-muted);margin-top:12px}.example-disclosure{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

.journey .phrase-proof{aspect-ratio:415/420}.journey .phrase-proof img{top:-102.381%}

@media(max-width:600px){.hero{padding-top:16px}.hero-grid{gap:12px}}

/* The install handoff follows device capability, never viewport width. */
.mobile-handoff{display:none!important}
button.cta.mobile-handoff{border:0;cursor:pointer}
.mobile-device .desktop-install{display:none!important}
.mobile-device .mobile-handoff{display:inline-flex!important}
.mobile-device .handoff-detail{display:block!important}
.mobile-device .handoff-status{display:block!important}
.mobile-device .handoff-manual:not([hidden]){display:block!important}
.handoff-manual[hidden]{display:none!important}
.handoff-detail{margin-top:8px;max-width:32em}
.handoff-detail p{font-size:14px;line-height:1.4;color:var(--ink-muted)}
.handoff-copy{margin-top:5px;padding:3px 0;border:0;border-bottom:1px solid var(--cinnabar-pale);background:transparent;color:var(--cinnabar);font:italic 16px var(--display);cursor:pointer}
.handoff-copy:hover{border-color:var(--cinnabar)}
.handoff-status:empty{display:none!important}
.handoff-status:not(:empty){margin-top:10px;font-size:14px;line-height:1.35;color:var(--ink-soft)}
.handoff-manual{margin-top:10px;font-size:14px;color:var(--ink-soft)}
.handoff-manual input{display:block;width:min(100%,24em);margin-top:5px;padding:7px;border:1px solid var(--rule);border-radius:5px;background:var(--paper-light);color:var(--ink);font:inherit}
.mobile-device .desktop-handoff{display:block}
html:not(.mobile-device) .desktop-handoff{display:none}
@media(max-width:600px){.mobile-device .hero .cta-row{align-items:flex-start;gap:9px 18px}.mobile-device .hero .cta-row .cta{width:100%}.mobile-device .hero .hero-meta{font-size:13px;line-height:1.35}.mobile-device .hero-chunks{gap:5px}.mobile-device .hero-chunk{padding:7px 8px}}

/* ── Shared site header and footer for the eight public marketing pages ──
   Markup: website/partials/site-{header,footer}.html, written into each page by `npm run website:partials`.
   One look everywhere, taken from the homepage. data-header only sets how the header sits on the page:
   overlay = homepage (fixed over the hero, transparent until home.js adds .is-solid on scroll), fixed = Pricing,
   sticky = content pages. Values are literal so a page's own palette or product tokens cannot alter them. */
.site-header{z-index:50;background:rgba(244,239,230,.88);border-bottom:1px solid rgba(216,207,194,.9);box-shadow:0 16px 42px -38px rgba(26,22,20,.18);backdrop-filter:blur(12px) saturate(135%);transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}
.site-header[data-header=overlay],.site-header[data-header=fixed]{position:fixed;inset:0 0 auto 0}
.site-header[data-header=sticky]{position:sticky;top:0}
.site-header[data-header=overlay]:not(.is-solid){background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none}
.site-header .navbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:#1a1614;text-decoration:none}
.brand-lockup img{display:block;width:auto;height:48px}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:28px;color:#4a423c;font-family:"Mingbai Alegreya Sans","Trebuchet MS",sans-serif;font-size:15px;font-style:normal;font-weight:500;line-height:1.62}
.nav-links a{color:#4a423c;text-decoration:none;letter-spacing:normal}
.nav-links a:not(.nav-cta){transition:color .18s ease}
.nav-links a:not(.nav-cta):hover,.nav-links a[aria-current=page]{color:#a8392a}
/* Account: the homepage's rounded crimson pill. */
.nav-links .nav-cta{border:1px solid rgba(168,57,42,.34);border-radius:999px;background:rgba(250,246,238,.62);color:#a8392a!important;padding:7px 14px 8px;font-family:"Mingbai Alegreya Sans","Trebuchet MS",sans-serif;font-size:15px;font-style:normal;font-weight:500;line-height:1.62;letter-spacing:0;transition:color .2s,background-color .2s,border-color .2s}
.nav-links .nav-cta:hover{border-color:#a8392a;background:#a8392a;color:#faf6ee!important}
@media(max-width:960px){.nav-links a:not(.nav-cta){display:none}}
@media(max-width:900px){
  .site-header[data-header]{position:sticky;top:0}
  .site-header[data-header=overlay]:not(.is-solid){background:#f4efe6}
  .site-header .navbar{height:auto;min-height:78px;padding:14px 0;gap:14px;flex-wrap:wrap}
  .nav-links{gap:14px}
  .nav-links a:not(.nav-cta){display:inline}
}
@media(max-width:620px){.brand-lockup img{height:40px}.nav-links .nav-cta{padding:6px 11px}}
@media(max-width:600px){.site-header .navbar{position:relative;padding:0 20px}.nav-links .nav-cta{position:absolute;top:14px;right:20px}.nav-links{flex-basis:100%}}
/* Menu: between 901 and 960px only the logo, Account and Add to Chrome fit, so the four page links open from a
   Menu button (assets/js/site-menu.js). Elsewhere the wrapper is invisible to layout and the button is hidden. */
.nav-main{display:contents}
.nav-menu-button{display:none}
@media(min-width:900.02px) and (max-width:960px){
  .site-header .navbar{position:relative}
  .nav-menu-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 14px 7px;border:1px solid rgba(26,22,20,.2);border-radius:999px;background:transparent;color:#4a423c;font:500 15px/1.2 "Mingbai Alegreya Sans","Trebuchet MS",sans-serif;cursor:pointer;transition:color .18s ease,border-color .18s ease}
  .nav-menu-button:hover,.nav-menu-button[aria-expanded=true]{color:#a8392a;border-color:rgba(168,57,42,.45)}
  .nav-menu-icon{position:relative;display:block;width:15px;height:11px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;box-sizing:border-box}
  .nav-menu-icon::after{content:"";position:absolute;left:0;right:0;top:2.5px;border-top:2px solid currentColor}
  .nav-main{display:none;position:absolute;top:calc(100% - 4px);right:32px;z-index:60;min-width:220px;flex-direction:column;padding:8px;border:1px solid #d8cfc2;border-radius:14px;background:#faf6ee;box-shadow:0 18px 40px -24px rgba(26,22,20,.35)}
  .site-header.menu-open .nav-main{display:flex}
  .nav-links .nav-main a{display:flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:8px}
  .nav-links .nav-main a:hover{background:rgba(168,57,42,.06)}
}

.site-footer{padding:40px 0 48px;border-top:1px solid #d8cfc2;background:#f4efe6;color:#6f655f;font-family:'Source Serif 4','Iowan Old Style',Georgia,serif;line-height:1.62}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:16px;color:#6f655f}
.footer-brand img{display:block;width:auto;height:42px;opacity:.92}
.footer-brand span{font-size:14px}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;color:#6f655f;font-family:"Mingbai Alegreya Sans","Trebuchet MS",sans-serif;font-size:16px;font-style:normal;font-weight:500}
.footer-links a{color:#6f655f;text-decoration:none}
.footer-links a:hover,.footer-links a[aria-current=page]{color:#a8392a}
.legal{width:100%;margin-top:14px;color:#6f655f;font-size:12px}
.legal-disclaimer{width:100%;max-width:74em;margin-top:6px;color:#6f655f;font-size:11px;line-height:1.45}
@media(max-width:620px){.footer-grid{align-items:flex-start}}
