@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(assets/fonts/fraunces-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(assets/fonts/fraunces-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Current consumer website theme: warm, legible and grounded in family life. */
:root {
  --paper:#fffcf7;
  --white:#fffefa;
  --ink:#332f2b;
  --body-copy:#514d47;
  --muted:#6d665e;
  --line:#ded9cf;
  --linen:#f5efe5;
  --sage:#edf1e8;
  --night:#332f2b;
  --clay:#a44c32;
  --clay-dark:#873d29;
  --serif:"Fraunces",Georgia,serif;
  --sans:"DM Sans","Helvetica Neue",sans-serif;
  --device-sans:"Avenir Next",Avenir,"Helvetica Neue",sans-serif;
  --section-title:42px;
}
body { background:var(--paper); color:var(--ink); }
.header { background:#fffcf7f5; border-bottom-color:var(--line); }
.wordmark { font-family:var(--device-sans); }
.preview-bar { background:#f1ede4; color:var(--muted); }
.header nav { font-size:14px; }
.button { min-height:52px; border-radius:8px; font-size:15px; font-weight:600; padding:14px 22px; background:var(--clay); border-color:var(--clay); color:var(--white); box-shadow:none; }
.button:hover { background:var(--clay-dark); border-color:var(--clay-dark); }
.button.outline { background:var(--paper); color:#743b2b; border-color:#b99d8d; }
.button.outline:hover { background:#eee3d6; border-color:#9b7460; }
.header .button { font-size:13px; min-height:44px; padding:11px 18px; }
.text-link { font-size:15px; font-weight:500; color:var(--ink); text-underline-offset:6px; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline-color:#864b34; }
.motion-hero { padding-top:48px; padding-bottom:64px; column-gap:52px; }
.motion-hero .b-copy .eyebrow { font-size:12px; font-weight:600; letter-spacing:.09em; color:var(--muted); margin-bottom:20px; }
.motion-hero .b-copy h1 { font-size:clamp(48px,4.65vw,66px); line-height:1.08; letter-spacing:-.048em; }
.motion-hero .b-copy h1 em { font-style:normal; color:var(--ink); }
.motion-hero .hero-heading { grid-column:1; grid-row:3; }
@media(max-width:760px) { .motion-hero .hero-heading { grid-row:2; } }
.motion-hero .hero-category { margin-top:20px; font-size:20px; line-height:1.5; font-weight:600; color:var(--ink); }
.motion-hero .b-description { max-width:43ch; font-size:18px; line-height:1.6; margin:24px 0 28px; color:var(--body-copy); }
.motion-hero>.actions { gap:20px; }
.motion-hero>.actions .button,.motion-hero>.actions .text-link { font-size:15px; }
.motion-hero>.b-status { font-size:13px; line-height:1.5; color:var(--muted); margin-top:16px; }
.hero-demo-title { font-family:var(--sans); font-size:25px; font-weight:500; line-height:1.25; letter-spacing:-.025em; margin-bottom:18px; }
.hero-motion-controls { color:var(--body-copy); }
.hero-motion-controls .motion-status-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hero-motion-controls>span,.hero-motion-controls button { font-size:13px; }
.hero-story>figcaption { font-size:11px; color:var(--muted); line-height:1.5; }
/* Photographed interfaces keep their own type scale and familiar email styling. */
.hub-ui,.hub-screen-title,.family-nudge,.role-hub-ui { font-family:var(--device-sans); }
.hub-reminder:not([data-reminder="second"]) { background:var(--sage); }
.family-walkthrough { background:var(--linen); color:var(--ink); }
.family-walkthrough>.wrap { padding-top:64px; padding-bottom:48px; }
.family-walkthrough .section-head { align-items:center; margin-bottom:28px; gap:56px; }
.family-walkthrough .section-head .eyebrow { color:var(--muted); font-size:12px; letter-spacing:.09em; font-weight:600; margin-bottom:16px; }
.family-walkthrough .section-head h2 { font-family:var(--serif); font-size:46px; line-height:1.13; letter-spacing:-.035em; }
.family-walkthrough .section-head h2 em { color:#925a40; }
.family-walkthrough .section-head>p { font-size:17px; line-height:1.6; color:var(--body-copy); max-width:37ch; }
.family-walkthrough .demo-tabs { background:var(--linen); border-color:#ddd3c5; box-shadow:0 8px 0 var(--linen); }
.family-walkthrough .demo-tabs button { color:var(--body-copy); font-size:15px; font-weight:500; min-height:64px; }
.family-walkthrough .demo-tabs button span { color:var(--muted); font-weight:500; }
.family-walkthrough .demo-tabs button[aria-selected=true] { background:#eee4d7; color:#753a28; border-bottom-color:var(--clay); font-weight:600; }
.family-walkthrough .demo-tabs button:focus-visible { outline:2px solid #864b34; outline-offset:-5px; }
.family-walkthrough .demo-content { gap:56px; }
.family-walkthrough .demo-copy-stack { align-self:center; }
.family-walkthrough .demo-copy-stack .demo-copy { align-self:center; padding:0; }
.family-walkthrough .demo-copy .eyebrow { font-size:12px; font-weight:600; color:#7b5b46; letter-spacing:.07em; margin-bottom:16px; }
.family-walkthrough .demo-copy h3 { font-family:var(--sans); font-weight:500; font-size:30px; line-height:1.2; letter-spacing:-.035em; max-width:26ch; }
.family-walkthrough .demo-copy>p:not(.eyebrow) { font-size:18px; line-height:1.6; color:var(--body-copy); max-width:44ch; margin:18px 0; }
.family-walkthrough .demo-copy-stack .demo-control { display:grid; grid-template-columns:236px max-content; justify-content:start; align-items:start; gap:16px; margin-top:28px; padding-top:0; }
.family-walkthrough .demo-progress-slot,.family-walkthrough .demo-conversion-slot { min-height:50px; }
.family-walkthrough .demo-control .button { font-size:15px; min-height:50px; border-radius:8px; font-weight:500; padding:12px 20px; margin-top:0; background:#fffaf3; color:#753b2b; border-color:#b99d8d; transform:none; }
.family-walkthrough .demo-control .button:hover { background:#e9ddcd; border-color:#9b7460; }
.family-walkthrough .demo-replay { display:inline-flex; align-items:center; gap:12px; width:236px; max-width:100%; min-height:50px; padding:12px 0; border:0; border-radius:4px; background:transparent; color:#753b2b; font:500 15px/1.4 var(--sans); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.family-walkthrough .demo-replay:hover { color:var(--clay-dark); text-decoration-thickness:2px; }
.family-walkthrough .demo-conversion-slot .button { background:var(--clay); border-color:var(--clay); color:var(--white); }
.family-walkthrough .demo-conversion-slot .button:hover { background:var(--clay-dark); border-color:var(--clay-dark); }
.family-walkthrough .proof-label { font-size:11px; line-height:1.5; color:var(--muted); margin-top:24px; }
.family-walkthrough .demo-source { border-color:#d9cfbf; margin-top:18px; }
.family-walkthrough .demo-source summary { font-size:14px; color:var(--body-copy); }
.product-moment { position:relative; container-type:inline-size; width:100%; max-width:440px; aspect-ratio:4/5; margin:auto; overflow:hidden; border-radius:12px; background:#d7c4ac; }
.product-moment>img { display:block; width:100%; height:100%; object-fit:cover; }
.product-moment-screen { position:absolute; left:21.4%; top:63%; width:52.8%; height:22%; display:flex; flex-direction:column; justify-content:center; padding:clamp(7px,2.5cqi,12px); color:#352e28; font-family:var(--device-sans); }
.product-moment.is-morning .product-moment-screen { left:21.2%; top:63.4%; width:51.3%; }
.moment-screen-meta { display:flex; justify-content:space-between; align-items:center; gap:4px; font-size:clamp(11px,2.7cqi,12px); line-height:1.2; color:#62564a; }
.moment-screen-meta>span { white-space:nowrap; }
.moment-screen-brand { display:flex; align-items:center; gap:4px; font-weight:600; color:#48382c; }
.moment-screen-brand img { width:clamp(12px,3.6cqi,16px); height:clamp(12px,3.6cqi,16px); }
.product-moment .moment-reminder { margin-top:clamp(5px,2cqi,9px); font-size:clamp(16px,4.4cqi,20px); font-weight:600; line-height:1.22; letter-spacing:-.025em; text-wrap:balance; }
@container(max-width:320px) {
  .moment-screen-brand img { display:none; }
}
.compact-roles { padding-top:56px; padding-bottom:40px; }
.compact-roles .section-head { margin-bottom:20px; gap:56px; }
.compact-roles .section-head .eyebrow,.trust-intro .eyebrow,.faq .eyebrow { font-size:12px; letter-spacing:.09em; font-weight:600; color:var(--muted); margin-bottom:16px; }
.compact-roles .section-head h2,.trust-intro h2,.faq h2 { font-family:var(--sans); font-size:40px; font-weight:500; line-height:1.15; letter-spacing:-.04em; color:var(--ink); }
.compact-roles .section-head h2 em { font-style:normal; color:var(--ink); }
.compact-roles .section-head>p { font-size:18px; line-height:1.6; color:var(--body-copy); max-width:38ch; }
.compact-roles .product-follow { margin-top:16px; padding-top:16px; border-top-color:var(--line); }
.compact-roles .product-follow p { font-size:15px; line-height:1.6; color:var(--muted); max-width:59ch; }
.trust-section { background:transparent; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; padding:40px 0; margin:0 auto 24px; gap:64px; }
.trust-intro>p:not(.eyebrow) { font-size:18px; line-height:1.6; color:var(--body-copy); max-width:42ch; margin:20px 0; }
.trust-points h3 { font-family:var(--sans); font-size:21px; font-weight:600; line-height:1.3; color:var(--ink); }
.trust-points p { font-size:16px; line-height:1.6; color:var(--body-copy); max-width:46ch; margin-top:8px; }
.trust-points article { padding-bottom:24px; }
.faq { padding-top:40px; padding-bottom:64px; gap:64px; }
.faq summary { font-size:18px; line-height:1.4; font-weight:500; padding-top:22px; padding-bottom:22px; }
.faq details p { font-size:16px; line-height:1.6; color:var(--body-copy); }
.cta-band { background:var(--linen); color:var(--ink); border-top:1px solid #e5dbce; padding:64px 6%; }
.cta-band .eyebrow { color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.09em; margin-bottom:18px; }
.cta-band h2 { font-family:var(--serif); font-size:46px; line-height:1.12; letter-spacing:-.035em; }
.cta-band h2 em { font-style:normal; color:var(--ink); }
.cta-band>p:not(.eyebrow) { color:var(--body-copy); font-size:18px; line-height:1.6; max-width:48ch; margin:20px auto 26px; }
.cta-band .button { background:var(--clay); border-color:var(--clay); color:var(--white); font-size:15px; min-height:52px; }
.cta-band .button:hover { background:var(--clay-dark); border-color:var(--clay-dark); }
.cta-band small { color:var(--muted); font-size:13px; line-height:1.5; margin-top:18px; }
footer { background:var(--paper); border-top-color:var(--line); padding-top:36px; padding-bottom:32px; }
footer p { font-family:var(--sans); font-size:19px; line-height:1.4; letter-spacing:-.025em; }
footer div { font-size:14px; }
footer small { font-size:12px; color:var(--muted); }
/* Keep the source and aurion's added timing together, before the four scenes. */
.preparation-contrast { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); column-gap:44px; row-gap:16px; margin:0 0 30px; padding:24px 0; border-top:1px solid var(--line); }
.contrast-label { font-size:13px; font-weight:600; line-height:1.4; color:var(--muted); margin-bottom:10px; }
.contrast-source blockquote { margin:0; font-size:17px; line-height:1.5; color:var(--body-copy); max-width:35ch; }
.contrast-arrangement { padding-left:24px; border-left:2px solid #a2b294; }
.contrast-arrangement .contrast-label { color:#526148; }
.contrast-times { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:22px; }
.contrast-times span { display:block; font-size:16px; font-weight:500; line-height:1.4; color:#526148; }
.contrast-times strong { display:block; font-size:20px; font-weight:600; line-height:1.3; margin-top:5px; }
.contrast-note { grid-column:1 / -1; font-size:16px; line-height:1.5; color:var(--body-copy); }
#meet-aurion,#everyday-preparation,#your-control { scroll-margin-top:20px; }
.family-walkthrough .demo-conversion-slot small { display:block; margin-top:8px; font-size:12px; color:var(--muted); }
.family-walkthrough .demo-conversion-slot[aria-hidden="true"] { visibility:hidden; pointer-events:none; }
@media(max-width:760px) {
  .preparation-contrast { grid-template-columns:minmax(0,1fr); gap:18px; padding:20px 0; margin-bottom:24px; }
  .contrast-source blockquote { font-size:16px; max-width:none; }
  .contrast-arrangement { padding-left:14px; }
  .contrast-times { grid-template-columns:minmax(0,1fr); gap:14px; }
  .contrast-times p { display:flex; flex-direction:column; }
  .contrast-times strong { font-size:20px; margin-top:2px; }
}

/* Two everyday applications extend the school story. */
.thinking-ahead { max-width:1440px; padding-top:64px; padding-bottom:30px; }
.thinking-intro { margin-bottom:40px; }
.thinking-intro .eyebrow,.preparation-heading .eyebrow { font-size:12px; letter-spacing:.09em; color:var(--muted); margin-bottom:18px; }
.thinking-intro h2 { font-family:var(--serif); font-size:46px; line-height:1.15; letter-spacing:-.035em; max-width:31ch; text-wrap:balance; }
.thinking-intro h2>span { color:#875036; }
.thinking-intro>p:last-child { font-size:18px; line-height:1.6; color:var(--body-copy); margin-top:22px; }
.thinking-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.thinking-source { align-self:start; }
.thinking-side-label { font-size:15px; font-weight:600; color:#795238; line-height:1.5; margin-bottom:12px; }
.thinking-result-heading .thinking-side-label { font-size:16px; }
.thinking-source h3,.thinking-result-heading h3 { font-size:30px; font-weight:500; letter-spacing:-.03em; line-height:1.2; }
.thinking-source blockquote { margin:26px 0 10px; padding-left:18px; border-left:2px solid #c6ad94; font-size:18px; line-height:1.65; color:var(--body-copy); max-width:40ch; }
.thinking-source-name { font-size:12px; color:var(--muted); padding-left:20px; }
.thinking-source-gap { font-size:20px; font-weight:600; line-height:1.4; margin-top:30px; color:#875036; }
.thinking-source-action { font-size:17px; line-height:1.5; margin-top:8px; color:var(--body-copy); }
.thinking-product { min-width:0; }
.thinking-result-heading { margin-bottom:20px; }
.thinking-photo { position:relative; aspect-ratio:4/3; container-type:inline-size; overflow:hidden; border-radius:12px; background:#d8c8b5; }
.thinking-photo picture,.thinking-photo picture>img { display:block; width:100%; height:100%; }
.thinking-photo picture>img { object-fit:cover; }
.thinking-screen { position:absolute; left:21.2%; top:35.65%; width:58.4%; height:42.5%; display:flex; flex-direction:column; justify-content:center; padding:clamp(9px,2.25cqi,16px); font-family:var(--device-sans); color:#352e28; }
.thinking-screen-top { display:flex; align-items:center; justify-content:space-between; gap:6px; color:#5e5349; font-size:clamp(10px,1.8cqi,12px); line-height:1.25; }
.thinking-screen-top>span:first-child { display:flex; gap:5px; align-items:center; font-weight:600; }
.thinking-screen-top img { width:16px; height:16px; }
.thinking-screen-top>span:last-child { text-align:right; }
.thinking-reminders { display:grid; gap:clamp(5px,1.25cqi,8px); margin-top:clamp(8px,1.9cqi,12px); }
.thinking-reminder { display:flex; flex-direction:column; gap:3px; padding:clamp(6px,1.45cqi,10px) clamp(8px,1.7cqi,12px); border-radius:6px; background:#e5eadf; }
.thinking-reminder:last-child { background:#fffdf8; }
.thinking-reminder>span { font-size:clamp(12px,2.4cqi,17px); font-weight:600; line-height:1.3; color:#76492f; }
.thinking-reminder>strong { font-size:clamp(16px,3.2cqi,22px); line-height:1.22; letter-spacing:-.025em; font-weight:500; }
.thinking-screen-source { margin-top:clamp(6px,1.35cqi,10px); font-size:clamp(10px,1.7cqi,11px); line-height:1.3; color:#62574b; }
.thinking-product>figcaption { margin-top:12px; font-size:11px; line-height:1.5; color:var(--muted); }
.thinking-proof-line { margin-top:32px; padding:26px 0; font-size:23px; line-height:1.5; letter-spacing:-.015em; text-align:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--body-copy); }
.thinking-proof-line strong { color:#79432e; font-weight:600; }
.preparation-stories { padding-top:0; }
.preparation-heading { margin-bottom:36px; }
.preparation-heading h2 { font-family:var(--serif); font-size:40px; line-height:1.15; letter-spacing:-.03em; max-width:29ch; }
.preparation-story { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-areas:"photo copy"; column-gap:56px; align-items:center; padding:36px 0; }
.preparation-story.birthday-party { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); grid-template-areas:"copy photo"; border-top:1px solid var(--line); margin-top:12px; padding-top:48px; }
.preparation-copy { grid-area:copy; min-width:0; }
.preparation-copy>.eyebrow { font-size:12px; letter-spacing:.09em; color:var(--muted); margin-bottom:14px; }
.preparation-copy h3 { font-size:30px; line-height:1.2; letter-spacing:-.03em; font-weight:500; }
.preparation-input { margin:26px 0; }
.preparation-input>span { display:block; font-size:12px; color:var(--muted); margin-bottom:7px; }
.preparation-input blockquote { margin:0; font-family:var(--sans); font-size:16px; line-height:1.5; color:var(--body-copy); }
.preparation-plan-label { font-size:13px; font-weight:600; color:#875036; margin-bottom:12px; }
.preparation-plan { list-style:none; padding:0 0 0 16px; margin:0; border-left:2px solid #b0bba6; }
.preparation-plan li+li { margin-top:15px; }
.preparation-plan li>span { display:block; font-size:16px; font-weight:500; line-height:1.4; color:#526148; margin-bottom:5px; }
.preparation-plan li>strong { display:block; font-size:21px; line-height:1.35; font-weight:600; color:var(--ink); }
.preparation-benefit { font-size:16px; line-height:1.6; color:var(--body-copy); margin-top:22px; max-width:42ch; }
.preparation-photo { grid-area:photo; position:relative; container-type:inline-size; aspect-ratio:4/3; border-radius:12px; overflow:hidden; background:#d5b89a; }
.preparation-photo>img { width:100%; height:100%; object-fit:cover; display:block; }
.preparation-screen { position:absolute; left:5.2%; top:49.7%; width:41.3%; height:32.9%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:clamp(4px,1cqi,7px); padding:clamp(6px,2.4cqi,18px); font-family:var(--device-sans); color:#352e28; }
.birthday-party .preparation-screen { left:6.65%; top:52%; width:42.1%; height:34.45%; }
.preparation-screen-brand { display:flex; align-items:center; gap:4px; font-size:clamp(11px,2cqi,13px); font-weight:600; line-height:1.2; color:#5d4f42; }
.preparation-screen-brand img { width:clamp(11px,2.4cqi,15px); height:clamp(11px,2.4cqi,15px); }
.preparation-screen-time { font-size:clamp(11px,2.25cqi,14px); line-height:1.3; color:#6b543f; }
.preparation-screen>p { font-size:clamp(16px,3.6cqi,24px); line-height:1.2; letter-spacing:-.02em; font-weight:600; }
.preparation-note { font-size:11px; line-height:1.5; color:var(--muted); margin-top:10px; }
.thinking-payoff { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:40px; margin-top:52px; background:var(--sage); border-radius:12px; }
.thinking-payoff h2 { font-family:var(--serif); font-size:38px; line-height:1.17; letter-spacing:-.035em; max-width:26ch; }
.thinking-payoff p { font-size:17px; line-height:1.6; color:var(--body-copy); margin-top:18px; max-width:48ch; }
.thinking-payoff .button { flex-shrink:0; }
.thinking-reassurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-top:32px; }
.thinking-reassurance h3 { font-size:18px; font-weight:600; line-height:1.4; margin-bottom:8px; }
.thinking-reassurance div>p { font-size:16px; line-height:1.55; color:var(--body-copy); }
.thinking-payoff .payoff-action { flex:0 0 228px; }
.thinking-payoff .payoff-action .button { gap:16px; padding-inline:18px; white-space:nowrap; }
.thinking-payoff .payoff-action p { font-size:14px; line-height:1.5; margin-top:12px; max-width:28ch; }
.thinking-reassurance>p { font-size:14px; line-height:1.6; color:var(--muted); max-width:61ch; }
.thinking-original { min-width:0; width:46%; }
.thinking-original summary { width:fit-content; min-height:40px; padding:0 0 8px; color:#79432e; font-size:14px; line-height:1.6; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.thinking-original .school-email { margin-top:16px; }
@media(min-width:761px) and (max-width:1100px) {
  .thinking-layout { gap:36px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .thinking-intro h2 { font-size:40px; }
  .thinking-source h3,.thinking-result-heading h3 { font-size:27px; }
  .thinking-source blockquote { font-size:17px; }
  .thinking-photo { aspect-ratio:4/5; }
  .thinking-screen { left:12.75%; top:35.75%; width:74.8%; height:35.85%; }
  .thinking-screen-source { display:none; }
  .preparation-story,.preparation-story.birthday-party { column-gap:32px; }
  .preparation-copy h3 { font-size:27px; }
  .thinking-payoff { padding:30px; }
  .thinking-payoff h2 { font-size:33px; }
}
@media(max-width:760px) {
  .thinking-ahead { padding-top:46px; padding-bottom:28px; }
  .thinking-intro { margin-bottom:30px; }
  .thinking-intro h2 { font-size:34px; line-height:1.15; }
  .thinking-intro .eyebrow,.preparation-heading .eyebrow { font-size:11px; margin-bottom:16px; }
  .thinking-intro>p:last-child { font-size:17px; margin-top:18px; }
  .thinking-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .thinking-side-label { font-size:14px; margin-bottom:9px; }
  .thinking-source h3,.thinking-result-heading h3 { font-size:27px; }
  .thinking-source blockquote { font-size:16px; margin-top:18px; padding-left:14px; }
  .thinking-source-name { padding-left:16px; }
  .thinking-source-gap { font-size:18px; margin-top:20px; }
  .thinking-source-action { font-size:16px; }
  .thinking-result-heading { margin-bottom:16px; }
  .thinking-photo { aspect-ratio:4/5; }
  .thinking-screen { left:12.75%; top:35.75%; width:74.8%; height:35.85%; padding:clamp(9px,3cqi,16px); }
  .thinking-screen-top { font-size:clamp(10px,2.8cqi,12px); }
  .thinking-screen-top img { width:14px; height:14px; }
  .thinking-reminders { margin-top:8px; gap:6px; }
  .thinking-reminder { padding:6px 8px; }
  .thinking-reminder>span { font-size:clamp(12px,3.4cqi,14px); }
  .thinking-reminder>strong { font-size:clamp(16px,4.5cqi,21px); }
  .thinking-screen-source { display:none; }
  .thinking-proof-line { font-size:20px; text-align:left; padding:22px 0; margin-top:26px; }
  .preparation-stories { padding-top:0; }
  .preparation-heading { margin-bottom:26px; }
  .preparation-heading h2 { font-size:33px; }
  .preparation-story,.preparation-story.birthday-party { grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "photo"; gap:24px; padding:18px 0 32px; }
  .preparation-story.birthday-party { padding-top:32px; margin-top:8px; }
  .preparation-copy h3 { font-size:28px; }
  .preparation-input { margin:22px 0; }
  .preparation-input blockquote { font-size:16px; }
  .preparation-plan-label { font-size:13px; }
  .preparation-plan li>strong { font-size:20px; }
  .preparation-benefit { font-size:16px; margin-top:18px; }
  .thinking-payoff { flex-direction:column; align-items:flex-start; gap:24px; margin-top:36px; padding:26px 22px; }
  .thinking-payoff h2 { font-size:31px; }
  .thinking-payoff p { font-size:16px; }
  .thinking-reassurance { grid-template-columns:minmax(0,1fr); gap:22px; padding-top:28px; }
  .thinking-payoff .payoff-action { flex:auto; }
  .thinking-original { width:100%; }
}
@container(max-width:540px) {
  .thinking-screen-source { display:none; }
}
@container(max-width:360px) {
  .preparation-screen { padding:6px; gap:4px; }
}
@container(max-width:340px) {
  .thinking-screen { padding:6px; }
  .thinking-screen-top img { width:12px; height:12px; }
  .thinking-reminders { margin-top:5px; gap:5px; }
  .thinking-reminder { padding:3px 6px; }
}

.launch-photo { background:var(--linen); color:var(--ink); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:26px; padding:40px; min-width:0; }
.launch-photo:before { display:none; }
.launch-photo-heading { width:100%; max-width:440px; }
.launch-photo-heading .eyebrow { font-size:11px; margin-bottom:14px; }
.launch-photo h2 { font-size:36px; line-height:1.16; max-width:24ch; }
.launch-photo .product-moment { width:100%; margin:0; }
.launch-photo-caption { font-size:12px; color:var(--muted); }
@media(max-width:760px) {
  .launch-layout .launch-photo { order:2; padding:32px 6%; gap:22px; }
  .launch-photo h2 { font-size:30px; }
}

/* Shared destinations inherit the same website type without enlarging devices. */
.scene-hero h1,.launch-box h1 { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; }
.scene-hero .split>div>p:not(.eyebrow),.launch-box>p:not(.eyebrow):not(.preview-note) { font-size:18px; line-height:1.6; color:var(--body-copy); }
.scene-hero .notice,.demo-source .notice { font-family:Arial,sans-serif; }
.launch-box label { font-size:15px; color:var(--body-copy); }
.launch-box select { display:block; width:100%; margin:8px 0 20px; padding:14px 16px; border:1px solid var(--line); border-radius:8px; background:var(--white); color:var(--ink); font:inherit; }
.launch-box select:focus-visible { outline:3px solid #864b34; outline-offset:3px; }
.launch-box .optional { font-weight:400; color:var(--muted); }
#discovery-other-field { margin-bottom:20px; }
.launch-box .fine,.launch-box .preview-note { font-size:14px; line-height:1.55; color:var(--muted); }

@container(max-width:620px) {
  .hero-stage .hub-screen-title { display:none; }
}
@media(min-width:1101px) and (max-width:1300px) {
  .motion-hero .b-copy h1 { font-size:48px; }
}
@media(max-width:1100px) {
  .family-walkthrough .demo-copy-stack .demo-control { grid-template-columns:minmax(0,1fr); gap:10px; }
}
@media(min-width:761px) and (max-width:1100px) {
  .motion-hero { column-gap:28px; }
  .motion-hero .b-copy h1 { font-size:46px; }
  .motion-hero .b-description { font-size:17px; }
  .motion-hero>.actions { gap:14px; }
  .motion-hero>.actions .button { font-size:14px; padding:13px 17px; }
  .motion-hero>.actions .text-link { font-size:14px; }
  .family-walkthrough .section-head h2 { font-size:40px; }
  .family-walkthrough .demo-content { gap:36px; }
  .family-walkthrough .demo-copy { padding-top:26px; }
  .family-walkthrough .demo-copy h3 { font-size:28px; }
  .family-walkthrough .demo-copy>p:not(.eyebrow) { font-size:17px; }
  .compact-roles .section-head h2,.trust-intro h2,.faq h2 { font-size:34px; }
  .trust-section,.faq { gap:40px; }
}
@media(max-width:760px) {
  .header .button { min-height:42px; font-size:11px; padding:10px 12px; }
  .header nav { font-size:16px; }
  .motion-hero { padding:32px 6% 44px; column-gap:0; }
  .motion-hero .b-copy .eyebrow { font-size:11px; margin-bottom:16px; }
  .motion-hero .b-copy h1 { font-size:clamp(39px,10.7vw,46px); line-height:1.08; }
  .motion-hero .b-description { font-size:16px; line-height:1.6; margin:20px 0 24px; }
  .hero-demo-title { font-size:22px; margin-bottom:16px; }
  .motion-hero>.actions { gap:18px; margin-top:22px; }
  .motion-hero>.actions .button,.motion-hero>.actions .text-link { font-size:14px; }
  .motion-hero>.b-status { font-size:12px; line-height:1.5; }
  .hero-motion-controls>span,.hero-motion-controls button { font-size:12px; }
  .hero-story>figcaption { font-size:10px; }
  .family-walkthrough>.wrap { padding-top:44px; padding-bottom:36px; }
  .family-walkthrough .section-head { margin-bottom:24px; }
  .family-walkthrough .section-head .eyebrow { font-size:11px; }
  .family-walkthrough .section-head h2 { font-size:34px; line-height:1.15; }
  .family-walkthrough .section-head>p { font-size:16px; line-height:1.6; margin-top:20px; }
  .family-walkthrough .demo-tabs button { font-size:12px; padding:10px 4px; min-height:68px; line-height:1.3; }
  .family-walkthrough .demo-content { gap:24px; }
  .family-walkthrough .demo-copy { padding:0; }
  .family-walkthrough .demo-copy .eyebrow { font-size:11px; }
  .family-walkthrough .demo-copy h3 { font-size:27px; line-height:1.22; }
  .family-walkthrough .demo-copy>p:not(.eyebrow) { font-size:16px; line-height:1.6; margin:16px 0; }
  .family-walkthrough .demo-copy-stack .demo-control { margin-top:24px; padding-top:0; }
  .family-walkthrough .demo-copy-stack,.family-walkthrough .demo-copy-stack .demo-copy { align-self:start; }
  .family-walkthrough .demo-control .button { font-size:14px; min-height:48px; padding:12px 18px; }
  .family-walkthrough .demo-replay { font-size:14px; }
  .family-walkthrough .proof-label { font-size:10px; }
  .family-walkthrough .demo-source summary { font-size:13px; }
  .compact-roles { padding-top:44px; padding-bottom:32px; }
  .compact-roles .section-head { margin-bottom:18px; }
  .compact-roles .section-head .eyebrow,.trust-intro .eyebrow,.faq .eyebrow { font-size:11px; margin-bottom:14px; }
  .compact-roles .section-head h2,.trust-intro h2,.faq h2 { font-size:32px; line-height:1.18; }
  .compact-roles .section-head>p { font-size:16px; line-height:1.6; margin-top:18px; }
  .compact-roles .product-follow p { font-size:14px; }
  .trust-section { width:88%; padding:32px 0; margin:0 auto 16px; }
  .trust-intro>p:not(.eyebrow) { font-size:16px; line-height:1.6; }
  .trust-points { margin-top:28px; }
  .trust-points h3 { font-size:19px; }
  .trust-points p { font-size:16px; line-height:1.6; }
  .faq { padding-top:32px; padding-bottom:44px; }
  .faq summary { font-size:16px; padding-top:20px; padding-bottom:20px; }
  .faq details p { font-size:16px; }
  .cta-band { padding:48px 6%; }
  .cta-band .eyebrow { font-size:11px; }
  .cta-band h2 { font-size:36px; }
  .cta-band>p:not(.eyebrow) { font-size:16px; line-height:1.6; }
  .cta-band small { font-size:12px; }
  footer p { font-size:18px; }
  footer div { font-size:13px; gap:16px; }
  .scene-hero .split>div>p:not(.eyebrow),.launch-box>p:not(.eyebrow):not(.preview-note) { font-size:16px; }
}
@media(max-width:360px) {
  .hero-demo-title { font-size:20px; }
  .motion-hero .b-copy h1 { font-size:35px; }
  .family-walkthrough .section-head h2 { font-size:32px; }
  .family-walkthrough .demo-copy h3 { font-size:26px; }
}

/* Editorial hierarchy: section heading, subheading, body and quiet metadata. */
:root { --editorial-body:18px; --editorial-subtitle:28px; --editorial-meta:14px; }
.family-walkthrough .section-head { display:block; }
.family-walkthrough .section-head>p { max-width:58ch; margin-top:18px; }
.family-walkthrough .section-head h2,.preparation-heading h2,.faq h2,.cta-band h2 { font-family:var(--serif); font-size:42px; line-height:1.15; }
.family-walkthrough .demo-copy h3,.preparation-copy h3,.hero-demo-title { font-family:var(--sans); font-size:var(--editorial-subtitle); font-weight:500; line-height:1.25; }
.motion-hero .b-description,.family-walkthrough .section-head>p,.family-walkthrough .demo-copy>p:not(.eyebrow),.preparation-input blockquote,.preparation-plan li>strong,.faq summary,.faq details p,.cta-band>p:not(.eyebrow),.thinking-reassurance h3 { font-family:var(--sans); font-size:var(--editorial-body); line-height:1.55; color:var(--body-copy); }
.preparation-plan li>strong { font-weight:500; color:var(--ink); }
.motion-hero .b-copy .eyebrow,.family-walkthrough .section-head .eyebrow,.family-walkthrough .demo-copy .eyebrow,.preparation-plan-label,.preparation-plan li>span { font-family:var(--sans); font-size:var(--editorial-meta); font-weight:400; line-height:1.5; letter-spacing:0; text-transform:none; color:var(--muted); }
.preparation-input { margin:18px 0 24px; }
.preparation-signature { display:flex; align-items:center; gap:9px; margin-top:18px; font:400 var(--editorial-body)/1.55 var(--sans); color:var(--body-copy); }
.preparation-signature img { flex:0 0 20px; }
.preparation-copy .preparation-plan { padding:0; border-left:0; border-top:1px solid var(--line); }
.preparation-copy .preparation-plan li { display:grid; grid-template-columns:minmax(100px,.85fr) minmax(0,1.6fr); align-items:baseline; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); }
.preparation-copy .preparation-plan li+li { margin-top:0; }
.preparation-copy .preparation-plan li>span { margin:0; }
.preparation-plan li>span { margin-bottom:3px; }
.preview-disclosure { margin:0; padding:0 6% 24px; font:400 14px/1.5 var(--sans); color:var(--muted); }
@media(max-width:760px) {
  :root { --editorial-body:16px; --editorial-subtitle:24px; }
  .family-walkthrough .section-head h2,.preparation-heading h2,.faq h2,.cta-band h2 { font-size:34px; }
}
