/* Shared framing and typography from the approved Academy aesthetic. */
@font-face{font-family:Gowun;font-style:normal;font-weight:400;font-display:swap;src:url('/littlesteps/paid/assets/fonts/gowun-latin-400.woff2') format('woff2');unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF}
@font-face{font-family:Gowun;font-style:normal;font-weight:700;font-display:swap;src:url('/littlesteps/paid/assets/fonts/gowun-latin-700.woff2') format('woff2');unicode-range:U+0000-024F,U+2000-206F,U+20A0-20CF}
:root{--blue:#2F4A6D;--cream:#FAEEDF;--deep:#203853;--brand-gold:#82632d;--serif:Gowun,Georgia,serif;--display:Playfair,Gowun,Georgia,serif}
body,body.magic-page{background:var(--cream);font-family:var(--serif)}
body h1,body h2,body h3,html[lang=en-GB] body h1,html[lang=en-GB] body h2,html[lang=en-GB] body h3{font-family:var(--serif);font-weight:400}
body .header.brand-header{max-width:1440px;margin:auto;padding:24px 48px;min-height:104px;border-bottom:1px solid var(--line);gap:20px;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}
body .header.brand-header .wordmark,body .footer.brand-footer .wordmark{font:30px/1.1 var(--display);letter-spacing:-.02em;text-decoration:none;white-space:nowrap;color:inherit;display:inline-block}
body .header.brand-header .wordmark em,body .footer.brand-footer .wordmark em{font-family:var(--display);color:var(--brand-gold);font-style:italic}
body .header.brand-header .wordmark small,body .footer.brand-footer .wordmark small{display:block;font:9px/1.5 system-ui,sans-serif;letter-spacing:.4em;padding-top:9px;margin:0;text-align:center}
body .header.brand-header nav{display:flex;align-items:center;gap:28px;font-family:var(--serif);font-size:14px}
body .header.brand-header nav>a{display:flex;align-items:center;min-height:44px;text-decoration:none}
body .header.brand-header .language{font:12px/1.5 system-ui,sans-serif;padding:12px 14px;border:1px solid var(--line);border-radius:100px;min-width:0;min-height:44px;white-space:nowrap}
body #app>.staging{background:var(--deep);color:var(--cream);font:11px/1.7 system-ui,sans-serif;letter-spacing:.09em;padding:5px 20px;text-align:center}
body .footer.brand-footer{max-width:none;margin:0;padding:65px max(28px,calc((100vw - 1184px)/2));background:var(--deep);color:var(--cream);border:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:30px 65px;text-align:left}
body .footer.brand-footer .wordmark{margin-bottom:28px}
body .footer.brand-footer .wordmark em{color:#dec08a}
body .footer.brand-footer p{font:14px/1.85 var(--serif);color:var(--cream);margin:0 0 16px}
body .footer.brand-footer .footer-principles{color:#d5d8d9;max-width:390px}
body .footer.brand-footer .footer-tools{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
body .footer.brand-footer .text-button,body .footer.brand-footer .effects-toggle{color:var(--cream);font:13px/1.7 var(--serif);text-align:left;min-height:44px;margin:0;padding:6px 0;border:0}
body .footer.brand-footer .text-button:hover{color:#e4c788}
body .footer.brand-footer .save-note{grid-column:1/-1;color:#d5d8d9;font:12px/1.7 var(--serif)}
body .academy-inspired-hero{max-width:1280px;margin:auto;padding:72px 48px 32px;display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:auto;align-items:center;gap:0 58px;text-align:left;min-height:0}
body .academy-inspired-hero .eyebrow{font:700 12px/1.6 system-ui,sans-serif;letter-spacing:.2em;color:var(--brand-gold);margin:0 0 24px}
body .academy-inspired-hero h1{font:400 clamp(36px,3.6vw,57px)/1.4 var(--serif);letter-spacing:-.035em;margin:0 0 28px}
body .academy-inspired-hero .invitation-description{font:18px/1.95 var(--serif);margin:0 0 24px}
body .academy-inspired-hero .invitation-start{display:inline-flex;margin:0;padding:13px 26px;border:1px solid var(--blue);min-height:54px;background:var(--blue);color:#fffbf5;border-radius:5px;font:700 16px/1.6 var(--serif);gap:15px;max-width:100%}
body .academy-inspired-hero .invitation-reassurance{font:14px/1.8 var(--serif);color:var(--muted);margin:22px 0 0}
body .academy-inspired-hero .family-film{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0;border:1px solid var(--line);border-radius:180px 180px 8px 8px;background:#f1e3ce;overflow:hidden;box-shadow:0 18px 50px #382e2012;max-width:100%;width:100%}
body .academy-inspired-hero .film-illustration{aspect-ratio:auto;height:300px;border-radius:0;background:transparent;width:100%;max-width:none;margin:0}
body .academy-inspired-hero .film-illustration img{width:125%;height:auto;max-width:none;left:-12.5%;top:50%;transform:translateY(-50%);mix-blend-mode:multiply}
body .academy-inspired-hero .film-caption{padding:8px 34px 30px}
body .academy-inspired-hero .film-caption .eyebrow{font-size:10px;margin-bottom:12px}
body .academy-inspired-hero .film-caption h2{font:400 27px/1.5 var(--serif);margin:0 0 12px}
body .academy-inspired-hero .film-caption p:not(.eyebrow){font:14px/1.8 var(--serif);margin:0;color:var(--blue)}
body .academy-inspired-hero video{border-radius:0;width:100%;aspect-ratio:16/10;background:var(--deep)}
body .family-film .film-caption p:not(.eyebrow),body .play-ideas,body .play-example small{font-family:var(--serif)}
body .daily-pdf{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--blue);border:1px solid var(--blue);border-radius:5px;color:#fffbf5;min-height:54px;padding:14px 24px;font:700 16px/1.6 var(--serif);text-decoration:none;max-width:100%}
body .daily-pdf:hover{background:var(--deep);color:#fffbf5}
body .daily-pdf .download-icon{flex:0 0 22px;width:22px;height:22px}
@media(max-width:740px){
 body .header.brand-header{padding:18px 22px;gap:12px;min-height:88px}
 body .header.brand-header .wordmark{font-size:25px}
 body .header.brand-header .wordmark small{font-size:8px;letter-spacing:.38em}
 body .header.brand-header nav{gap:14px;font-size:12px}
 body .header.brand-header .language{padding:9px 10px;font-size:11px}
 body #app>.staging{font-size:9px;letter-spacing:.03em;padding:6px 10px}
 body .academy-inspired-hero{display:flex;flex-direction:column;gap:32px;min-height:0;padding:42px 22px 32px;align-items:stretch}
 body .academy-inspired-hero h1{font-size:clamp(32px,8.8vw,48px);line-height:1.4;margin-bottom:20px}
 body .academy-inspired-hero .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:20px}
 body .academy-inspired-hero .invitation-description{font-size:16px;line-height:1.85;margin-bottom:22px}
 body .academy-inspired-hero .invitation-start{font-size:15px;padding:13px 18px}
 body .academy-inspired-hero .invitation-reassurance{font-size:13px;margin-top:18px}
 body .academy-inspired-hero .family-film{border-radius:140px 140px 6px 6px;margin:0}
 body .academy-inspired-hero .film-illustration{height:210px}
 body .academy-inspired-hero .film-caption{padding:4px 26px 28px}
 body .academy-inspired-hero .film-caption h2{font-size:24px}
 body .academy-inspired-hero .film-caption p:not(.eyebrow){font-size:13px}
 body .footer.brand-footer{padding:48px 25px;grid-template-columns:1fr;gap:20px}
 body .footer.brand-footer .wordmark{font-size:30px}
 body .footer.brand-footer .footer-principles{max-width:310px}
 body .daily-pdf{width:100%;font-size:14px;padding:14px 16px}
}
@media(prefers-reduced-motion:reduce){.academy-inspired-hero *,.daily-pdf{animation:none!important;transition:none!important}.daily-pdf:hover{transform:none}}

/* A quiet invitation to spend time together, before the seven adventures. */
.landing-reconnection{max-width:1080px;margin:0 auto;padding:34px 32px 46px;text-align:center}
.landing-reconnection h2{font:400 clamp(26px,2.8vw,34px)/1.45 var(--serif);margin:0 0 18px;text-wrap:balance;word-break:keep-all}
.landing-reconnection p{max-width:760px;margin:auto;font:17px/1.9 var(--serif);color:var(--blue);text-wrap:pretty;word-break:keep-all}
@media(max-width:740px){.landing-reconnection{padding:12px 24px 34px}.landing-reconnection p{font-size:16px}.landing-reconnection p br{display:none}}

/* Landing-page stories and the research behind the shared learning approach. */
.landing-reviews{max-width:1080px;margin:0 auto;padding:54px 32px 64px;border-top:1px solid var(--line);text-align:center}
.landing-section-heading{max-width:720px;margin:0 auto 30px;text-align:center}
.landing-section-heading .landing-kicker{font:700 11px/1.7 system-ui,sans-serif;letter-spacing:.16em;color:var(--brand-gold);margin:0 0 14px}
.landing-section-heading h2{font:400 clamp(28px,3vw,38px)/1.4 var(--serif);margin:0;text-wrap:balance;word-break:keep-all}
.landing-section-heading>p:not(.landing-kicker){font:17px/1.8 var(--serif);margin:18px auto 0;text-wrap:pretty;word-break:keep-all}
.family-review{max-width:900px;margin:auto;display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;padding:32px 34px;background:#fff9f0;border:1px solid #d8c5a8;border-radius:8px 40px 8px 8px}
.review-illustration{width:180px;aspect-ratio:1;mask-image:radial-gradient(ellipse,#000 50%,transparent 72%)}
.review-illustration img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.family-review-copy{margin:0}
.family-review-copy blockquote{margin:0;padding:0;border:0;background:none;font:400 20px/1.8 var(--serif);color:var(--blue);word-break:keep-all;text-wrap:pretty}
.family-review-copy blockquote p{font:inherit;margin:0 0 18px}
.family-review-copy figcaption{font:14px/1.7 var(--serif);color:var(--muted)}
.family-review-copy figcaption span{display:block}
.family-review-copy .review-parent{font-weight:700;color:var(--blue)}
.family-review-copy figcaption small{display:block;font-size:12px;margin-top:8px}
.review-invitation{margin-top:18px}
.review-share-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;margin-top:12px;font:700 16px/1.6 var(--serif);text-decoration:underline;text-underline-offset:5px}
.review-invitation .review-permission{font-size:13px;line-height:1.7;color:var(--muted);margin:9px auto 0;max-width:430px}
.landing-science{background:#2F4A6D;color:#FAEEDF;padding:58px 32px 46px;text-align:center}
.science-inner{max-width:1060px;margin:auto}
.landing-science .landing-kicker{color:#e4c788}
.landing-science :is(h2,h3){color:inherit}
.landing-science .landing-section-heading>p:not(.landing-kicker){color:#f2e7d9}
.learning-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin:38px auto 30px}
.learning-principles article{border-top:1px solid #faeedf4d;padding:26px 5px 0}
.learning-icon{display:block;width:36px;height:36px;margin:0 auto 18px;fill:none;stroke:#e4c788;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.learning-principles h3{font:400 23px/1.5 var(--serif);margin:0 0 12px;text-wrap:balance;word-break:keep-all}
.learning-principles p{font:16px/1.85 var(--serif);margin:0;color:#f2e7d9;text-wrap:pretty;word-break:keep-all}
.learning-parent-note{font:18px/1.8 var(--serif);max-width:720px;margin:32px auto 26px;padding-top:26px;border-top:1px solid #faeedf4d;text-wrap:balance;word-break:keep-all}
.learning-research{max-width:820px;margin:auto;font:14px/1.8 var(--serif)}
.learning-research summary{cursor:pointer;min-height:44px;padding:10px;color:#e4c788;text-underline-offset:4px}
.learning-research-content{text-align:left;border:1px solid #faeedf4d;border-radius:6px;padding:22px 26px;margin-top:12px}
.learning-research-content p{margin:0 0 20px}
.learning-research-content p>span:not(.sr-only){color:#FAEEDF}
.learning-research-content p:last-child{margin-bottom:0}
.learning-research-content a{display:inline-block;padding:5px 0;color:#e4c788;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.learning-research-content span:not(.sr-only){display:block}
.learning-research-content a span[aria-hidden]{display:inline}
.learning-research-content .research-scope{color:#f2e7d9;border-top:1px solid #faeedf4d;padding-top:18px}
.landing-reviews a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.landing-science :is(a,summary):focus-visible{outline:3px solid #e4c788;outline-offset:5px}
@media(max-width:740px){
 .landing-reviews{padding:38px 22px 42px}
 .landing-section-heading{margin-bottom:24px}
 .landing-section-heading .landing-kicker{font-size:10px;letter-spacing:.1em}
 .landing-section-heading>p:not(.landing-kicker){font-size:16px}
 .family-review{grid-template-columns:1fr;gap:8px;padding:18px 22px 24px;border-radius:8px 32px 8px 8px}
 .review-illustration{width:138px;margin:auto}
 .family-review-copy blockquote{font-size:18px}
 .landing-science{padding:40px 24px 32px}
 .learning-principles{grid-template-columns:1fr;gap:26px;margin:28px auto;max-width:420px}
 .learning-principles article{padding:22px 0 0}
 .learning-icon{margin-bottom:12px}
 .learning-principles h3{font-size:22px;margin-bottom:8px}
 .learning-parent-note{font-size:17px;margin-bottom:18px}
 .learning-research-content{padding:18px}
}

/* Day 0 shares the same illustrated journey as the adventure map. */
.simple-landing .storybook-journey{border-top:1px solid var(--line);margin:0 auto;padding-top:48px;padding-bottom:54px}
.simple-landing .map-heading h2{font-size:34px}

/* A clear, optional invitation, with real product-information buttons. */
.next-steps-page.offers-overview{max-width:none;background:#2F4A6D;color:#FAEEDF;padding:0 max(32px,calc((100vw - 1040px)/2))}
.offers-overview .continue-hero{grid-template-columns:1.4fr .65fr;gap:45px;padding:52px 0 42px}
.offers-overview .continue-hero .eyebrow{color:#e4c788}
.offers-overview .continue-hero h1{color:#FAEEDF;font-size:clamp(30px,3.3vw,43px)}
.offers-overview .continue-art{mix-blend-mode:normal;mask-image:none;background:#FAEEDF;border:1px solid #e4c78880;border-radius:50% 50% 8px 8px}
.offers-overview .continue-art img{mix-blend-mode:multiply}
.offers-overview .offer-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border:0}
.offers-overview .offer-choice{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px 24px;border:1px solid #faeedf65;border-radius:9px;background:#faeedf05}
.offers-overview .offer-icon{width:44px;height:44px;color:#e4c788;margin:0 0 22px}
.offers-overview .offer-menu-text{flex:1;gap:12px;min-width:0}
.offers-overview .offer-menu-text h2{font:400 25px/1.4 var(--serif);margin:0;color:#FAEEDF;letter-spacing:-.02em}
.offers-overview .offer-menu-text p{font:15px/1.8 var(--serif);margin:0 0 25px;color:#FAEEDF}
.offers-overview .offer-info-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:12px 15px;border:1px solid #FAEEDF;border-radius:5px;background:#FAEEDF;color:#2F4A6D;font:700 15px/1.6 var(--serif);text-decoration:none;box-shadow:0 3px 0 #172d4844}
.offers-overview .offer-info-button:hover{background:#fffbf5;color:#203853}
.offers-overview a:focus-visible,.offers-overview button:focus-visible,.offers-overview summary:focus-visible{outline:3px solid #e4c788;outline-offset:5px}
.offers-overview .free-promise{padding-top:34px;color:#FAEEDF}
.offers-overview .signature{color:#e4c788}
.offers-overview .quiet-link,.offers-overview .offer-help summary,.offers-overview .offer-help p{color:#FAEEDF}
.offers-overview .offer-help{border-color:#faeedf65;margin-bottom:0;padding-bottom:30px}
@media(max-width:740px){
 .simple-landing .storybook-journey{padding:34px 22px 38px}
 .simple-landing .map-heading h2{font-size:27px}
 .next-steps-page.offers-overview{padding:0 22px}
 .offers-overview .continue-hero{grid-template-columns:1fr 100px;gap:15px;padding:34px 0}
 .offers-overview .continue-hero h1{font-size:27px}
 .offers-overview .continue-art{width:100px;height:132px;align-self:center}
 .offers-overview .offer-menu{grid-template-columns:1fr;gap:18px}
 .offers-overview .offer-choice{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px 16px;padding:24px 20px}
 .offers-overview .offer-icon{width:38px;height:38px;margin:2px 0 0}
 .offers-overview .offer-menu-text h2{font-size:24px}
 .offers-overview .offer-menu-text p{font-size:14px;margin:0 0 8px}
 .offers-overview .offer-info-button{grid-column:1/-1;margin-top:5px}
}

/* Day 0 invites families into the official chat; Joy sends the key manually. */
body .kakao-key-button,body .academy-inspired-hero .kakao-key-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#FEE500;color:#251e12;border:1px solid #dac400;border-radius:6px;min-height:56px;max-width:100%;padding:14px 20px;font:700 16px/1.55 var(--serif);text-decoration:none;text-align:center;white-space:normal}
body .kakao-key-button:hover,body .academy-inspired-hero .kakao-key-button:hover{background:#f7db00;color:#251e12}
body .kakao-key-button:focus-visible{outline:3px solid #2F4A6D;outline-offset:5px}
.kakao-key-button .kakao-chat-icon{width:25px;height:25px;flex:0 0 25px;fill:#251e12}
.kakao-chat-icon circle{fill:#FEE500}
body .key-request-note{font:14px/1.85 var(--serif);color:var(--blue);margin:12px 0 0;max-width:420px;word-break:keep-all}
.simple-welcome .key-request-note,.locked-key-request .key-request-note{margin:12px auto 20px}
.locked-key-request{margin:24px auto}
@media(max-width:740px){body .kakao-key-button,body .academy-inspired-hero .kakao-key-button{font-size:15px;padding:14px 15px;gap:10px;width:100%}body .key-request-note{font-size:13px}.simple-landing .academy-inspired-hero{padding-top:24px}}

/* The welcome film keeps its illustrated cover until the parent chooses to play. */
body .academy-inspired-hero .family-film.film-on-demand{border-radius:12px;background:#fff7e9;padding:12px;overflow:visible;box-shadow:0 14px 40px #382e2010}
.film-on-demand .film-media{width:100%;min-width:0}
.film-on-demand .film-play{display:block;width:100%;padding:0;margin:0;border:0;border-radius:4px;overflow:hidden;background:var(--blue);color:var(--cream);font:700 16px/1.5 var(--serif);cursor:pointer;white-space:normal;text-align:center}
.film-on-demand .film-poster{display:block;width:100%;height:auto;aspect-ratio:1673/940;object-fit:contain;background:#fcf2dd}
.film-on-demand .film-play-label{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 16px;box-sizing:border-box}
.film-on-demand .film-play-label svg{width:23px;height:23px;flex:none;color:#eed4a5}
.film-on-demand .film-play:hover{background:var(--deep)}
.film-on-demand .film-play:focus-visible,.film-on-demand iframe:focus-visible,.film-on-demand .film-fallback:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.film-on-demand iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:200px;border:0;background:var(--deep)}
body .academy-inspired-hero .film-on-demand .film-caption{padding:24px 20px 14px}
body .academy-inspired-hero .film-on-demand .film-caption h2{font-size:25px;line-height:1.45}
body .academy-inspired-hero .film-on-demand .film-caption .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:10px}
.film-on-demand .film-fallback{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font:13px/1.6 var(--serif);color:var(--blue);text-underline-offset:4px}
.film-on-demand .film-fallback[hidden]{display:none}
@media(max-width:740px){body .academy-inspired-hero .family-film.film-on-demand{padding:8px;border-radius:10px}body .academy-inspired-hero .film-on-demand .film-caption{padding:21px 14px 14px}body .academy-inspired-hero .film-on-demand .film-caption h2{font-size:23px}.film-on-demand .film-play{font-size:15px}}

/* A short, shared About link remains readable beside the language switch. */
body .header.brand-header .about-nav{line-height:1.5;white-space:nowrap}
@media(max-width:400px){body .header.brand-header{padding-left:18px;padding-right:18px;gap:10px}body .header.brand-header nav{gap:10px}body .header.brand-header .about-nav{font-size:12px}}

/* One calm line of verified information; no banner button or animation. */
.challenge-announcement{background:#2F4A6D;color:#FAEEDF;font-family:var(--serif)}
.challenge-announcement-inner{max-width:1280px;padding:9px 20px;margin:auto;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13px;line-height:1.6;white-space:nowrap}
.challenge-announcement time{color:#e5d6be}
.challenge-count strong{font-weight:700;font-variant-numeric:tabular-nums}
.challenge-message{font-size:inherit;line-height:inherit;margin:0;white-space:nowrap}
.challenge-separator{color:#e4c788}
.challenge-announcement .challenge-compact{display:none}
@media(max-width:740px){
 .challenge-announcement-inner{padding:8px 12px;gap:8px;font-size:12px}
 .challenge-announcement .challenge-wide{display:none}
 .challenge-announcement .challenge-compact{display:inline}
}
@media(max-width:375px){.challenge-announcement-inner{gap:6px;font-size:11px}}

/* A simple locked chapter: one invitation and one clear action. */
body .locked-simple{max-width:480px;margin:48px auto 64px;padding:32px 28px;background:#fff8ed;border:1px solid #d9cdbb;border-radius:16px}
.locked-simple .locked-symbol{display:grid;place-items:center;margin:0 auto 18px;width:48px;height:48px;color:var(--blue)}
.locked-simple .locked-symbol .chapter-lock{width:28px;height:32px}
body .locked-simple h1{font:400 30px/1.3 var(--serif);letter-spacing:0;margin:0 0 16px;word-break:keep-all;text-wrap:balance}
body .locked-simple .locked-instruction{font:400 16px/1.7 var(--serif);margin:0 auto 24px;max-width:360px;text-wrap:pretty;word-break:keep-all}
body .locked-simple .kakao-key-button{width:100%;margin:0;padding:14px 16px;min-height:52px;font-size:16px;line-height:1.5;white-space:normal;box-shadow:none;border-radius:8px}
body .locked-simple .locked-home{display:flex;justify-content:center;align-items:center;min-height:44px;margin:16px 0 0;font:400 14px/1.5 var(--serif);color:var(--blue);text-underline-offset:4px}
@media(max-width:600px){body .locked-simple{margin:28px 20px 40px;padding:26px 20px}body .locked-simple h1{font-size:27px}}

/* Compact shared challenge footer: brand, one line, useful controls. */
body .footer.brand-footer.footer-compact{padding:28px max(24px,calc((100vw - 1184px)/2));grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:16px 40px;align-items:center;background:var(--blue)}
body .footer.brand-footer.footer-compact .wordmark{font-size:26px;margin:0 0 12px}
body .footer.brand-footer.footer-compact .wordmark small{font-size:8px;padding-top:6px}
body .footer.brand-footer.footer-compact p{font-size:13px;line-height:1.5;margin:0}
body .footer.brand-footer.footer-compact .footer-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:center}
body .footer.brand-footer.footer-compact .text-button,body .footer.brand-footer.footer-compact .effects-toggle{font-size:13px;line-height:1.5;min-height:44px;display:flex;align-items:center;padding:8px 0;white-space:normal}
body .footer.brand-footer.footer-compact [hidden]{display:none!important}
@media(max-width:740px){body .footer.brand-footer.footer-compact{padding:24px;grid-template-columns:1fr;gap:16px}body .footer.brand-footer.footer-compact .footer-tools{gap:0 16px;border-top:1px solid #faeedf30;padding-top:8px}body .footer.brand-footer.footer-compact .wordmark{font-size:24px;margin-bottom:10px}}

/* Reading rhythm: clear headings, useful copy, one action at a time. */
body .magic-lesson{--reading-body:16px;--reading-small:14px}
body .magic-lesson .discovery{padding:28px 0 32px}
body .magic-lesson .discovery>.eyebrow{font:500 14px/1.5 var(--serif);letter-spacing:.06em;margin:0 0 10px}
body .magic-lesson .discovery h1{font-size:36px;line-height:1.3;margin:0}
body .magic-lesson .discovery-intro{font:400 16px/1.7 var(--serif);margin:14px auto 0;max-width:55ch}
body .magic-lesson .discovery-stage{margin-top:22px}
body .magic-lesson .reveal-quote{background:none;border:0;border-radius:0;box-shadow:none;min-height:0;padding:0;margin:0 auto 14px}
body .magic-lesson .reveal-quote>span{font:400 26px/1.4 var(--serif)}
body .magic-lesson .reveal-quote small{font-size:14px;line-height:1.6;margin-top:5px}
body .magic-lesson .daily-reassurance{font:400 16px/1.7 var(--serif);background:none;border:0;box-shadow:none;padding:0;margin:18px auto 4px;max-width:55ch;color:var(--blue)}
body .magic-lesson .discover-next{font-size:14px;margin-top:4px}
body .magic-lesson .storybook-section{padding:32px 0}
body .magic-lesson .chapter-heading{gap:14px;align-items:center}
body .magic-lesson .chapter-heading>span{font:400 20px/1.4 var(--serif);padding-right:14px}
body .magic-lesson .chapter-heading h2,body .magic-lesson .book-screen-invite h2,body .magic-lesson .story-return h2{font-size:28px;line-height:1.4;margin:0}
body .magic-lesson .section-note,body .magic-lesson .prop-note,body .magic-lesson .story-guidance p,body .magic-lesson .play-ideas,body .magic-lesson .play-example p{font-size:16px;line-height:1.8}
body .magic-lesson .section-note{margin:12px 0 18px}
body .magic-lesson .phrase-row .english-phrase{font-size:26px;line-height:1.45}
body .magic-lesson .phrase-row .phrase-translation{font-size:16px;line-height:1.6;margin-top:6px}
body .magic-lesson .story-levels button{min-height:82px;padding:14px 16px}
body .magic-lesson .story-levels .level-card-copy>span{font-size:16px}
body .magic-lesson .story-levels strong{font-size:16px}
body .magic-lesson .flexible-note{font-size:14px;line-height:1.75;max-width:68ch}
body .magic-lesson .story-guidance>h3{font:600 16px/1.5 var(--serif);margin:22px 0 8px}
body .magic-lesson .story-guidance>h3:first-child{margin-top:0}
body .magic-lesson .story-guidance>p{max-width:68ch;margin:8px 0 18px}
body .magic-lesson .story-guidance .small,body .magic-lesson .play-example small{font-size:14px;line-height:1.75}
body .magic-lesson .safety h3,body .magic-lesson .play-safety h2{font:600 16px/1.5 var(--serif);margin:0 0 10px}
body .magic-lesson .safety p{font-size:15px;line-height:1.9;max-width:72ch}
body .magic-lesson .parent-learning{padding:20px 22px;margin:24px 0}
body .magic-lesson .parent-learning h3{font:600 16px/1.5 var(--serif);margin-bottom:10px}
body .magic-lesson .parent-learning p{font-size:16px;line-height:1.8;max-width:68ch}
body .magic-lesson .parent-learning a{font-size:14px;line-height:1.6;display:inline-flex;align-items:center;min-height:44px}
body .magic-lesson .daily-pdf{font-size:16px;margin-top:20px}
body .magic-lesson .pdf-note{font-size:14px;line-height:1.7;margin-top:10px}
body .magic-lesson .book-screen-invite{padding:28px 0 8px;margin-top:24px}
body .magic-lesson .book-screen-invite p{font-size:16px;line-height:1.8;max-width:50ch;margin:14px auto 22px}
body .magic-lesson .screen-down-page h1{font-size:34px;line-height:1.35}
body .magic-lesson .screen-down-page>p:not(.eyebrow){font-size:16px;line-height:1.75}
body .magic-lesson .story-return{margin-top:28px;padding:28px 22px}
body .magic-lesson .story-return>p{font-size:16px;line-height:1.7;margin:12px 0 20px}
body .family-film.film-lesson .film-caption h2{font-size:26px;line-height:1.4}
body .family-film.film-lesson .film-caption p:not(.eyebrow){font:400 16px/1.75 var(--serif)}
body .compact-key-request>p{font-size:16px!important;line-height:1.75;margin:12px 0}
body .footer-compact .journey-help{grid-column:1/-1;max-width:none;margin:0;padding:0 0 12px;border-color:#faeedf30}
body .footer-compact .journey-help .save-note{margin:0;font-size:13px}
body .footer.brand-footer .business-details{grid-column:1/-1;border-top:1px solid #faeedf30;padding-top:16px}
body .footer.brand-footer .business-details p{display:flex;flex-wrap:wrap;gap:4px 18px;font:12px/1.75 var(--sans);color:#e2e2df;margin:0 0 5px;overflow-wrap:anywhere}
body .footer.brand-footer .business-details p:last-child{margin-bottom:0}
.business-details strong{font-weight:600}
.business-details a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.business-details a:focus-visible{outline:2px solid #eed2a0;outline-offset:3px}
@media(max-width:600px){body .magic-lesson .discovery h1{font-size:30px}body .magic-lesson .chapter-heading h2,body .magic-lesson .book-screen-invite h2,body .magic-lesson .story-return h2{font-size:25px}body .magic-lesson .reveal-quote>span,body .magic-lesson .phrase-row .english-phrase{font-size:24px}body .magic-lesson .screen-down-page h1{font-size:30px}body .magic-lesson .story-levels .level-card-copy{grid-template-columns:60px 1fr}body .magic-lesson .story-levels .level-card-copy strong{grid-row:1}body .magic-lesson .story-levels .level-card-copy>span{grid-row:1}body .magic-lesson .parent-learning{padding:18px}}

/* Friendly support and parent-led sharing, kept separate from saved reflections. */
body .family-support{border-top:1px solid #b49c763d;margin-top:20px;padding-top:22px;text-align:center}
body .family-support .button{font:400 16px/1.5 var(--serif);min-height:48px;padding:12px 20px;white-space:normal;border-radius:8px}
body .family-support .support-note{font:400 14px/1.7 var(--serif);margin:10px auto 14px}
body .family-sharing{max-width:600px;margin:0 auto;text-align:left}
body .family-sharing summary{font:400 16px/1.6 var(--serif);min-height:44px;padding:10px 0;cursor:pointer;text-align:center;text-underline-offset:4px}
body .family-sharing summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
body .family-sharing .sharing-content{padding-top:6px}
body .family-sharing p{font:400 16px/1.8 var(--serif);margin:12px 0;word-break:keep-all;overflow-wrap:anywhere}
body .family-sharing .sharing-how,body .family-sharing .sharing-care{font-size:14px;line-height:1.8}
body .family-sharing a{color:var(--blue);text-underline-offset:4px}
body .family-sharing .sharing-kakao{background:#FEE500;color:#292313;border-color:#e3ce33;display:flex;justify-content:center;margin:18px 0 10px}
@media(max-width:600px){body .family-support .family-help{width:100%}body .family-support{padding-top:20px}body .family-sharing summary{text-align:left}}

/* One centred transition from reading to family play. */
body .magic-lesson .play-guide-download{display:flex;justify-content:center;text-align:center;margin:24px auto 0}
body .magic-lesson .play-guide-download .daily-pdf{width:auto;max-width:100%;margin:0;min-height:48px;padding:11px 20px;font:400 16px/1.5 var(--serif);gap:10px;border-radius:8px;box-shadow:none}
body .magic-lesson .book-screen-invite{max-width:560px;margin:24px auto 0;padding:24px 0 0;border-top:1px solid #b49c7640;background:none;text-align:center}
body .magic-lesson .book-screen-invite h2{font:400 28px/1.4 var(--serif);margin:0}
body .magic-lesson .book-screen-invite p{font:400 16px/1.75 var(--serif);margin:10px auto 18px;max-width:38ch;text-align:center;word-break:keep-all}
body .magic-lesson .book-screen-invite #start-play{display:inline-flex;align-items:center;justify-content:center;min-height:52px;width:auto;max-width:100%;margin:0 auto;padding:13px 24px;font:600 16px/1.5 var(--serif);gap:16px;border-radius:8px;box-shadow:none;white-space:normal}
body .magic-lesson .book-screen-invite #start-play:before{display:none}
@media(max-width:600px){body .magic-lesson .book-screen-invite h2{font-size:25px}body .magic-lesson .book-screen-invite{margin-top:20px;padding-top:20px}body .magic-lesson .book-screen-invite #start-play{width:100%}body .magic-lesson .play-guide-download{margin-top:20px}}

/* Day 2: one quiet envelope control, one reassurance and one next step. */
body .magic-lesson .discovery-2{padding-bottom:24px}
body .magic-lesson .discovery-2 .discovery-object{padding-bottom:0}
body .magic-lesson .discovery-2 .discovery-label,
body .magic-lesson .discovery-2 .daily-reassurance,
body .magic-lesson .discovery-2 .discover-next{font:400 14px/1.6 var(--serif);letter-spacing:normal}
body .magic-lesson .discovery-2 .discovery-label{min-height:44px;padding:10px 12px;text-underline-offset:4px}
body .magic-lesson .discovery-2 .daily-reassurance{margin:6px auto 0;color:var(--muted);max-width:32ch}
body .magic-lesson .discovery-2 .discover-next{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 22px;margin:16px auto 0;border:1px solid var(--blue);border-radius:6px;background:var(--blue);color:var(--paper);text-decoration:none}
body .magic-lesson .discovery-2 .discover-next>span{font:inherit;border:0;text-decoration:none}
body .magic-lesson .discovery-2 .discover-next:hover{background:#243c5a}

.free-day-entry{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:12px 0;background:#153a59;color:#fff;text-decoration:none;border-radius:12px;font-weight:700}
.preview-free-film{display:block;position:relative;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#153a59;cursor:pointer}.preview-free-film img{display:block;width:100%;height:auto}.preview-free-film span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#153a59dc;color:white;border-radius:50%;width:52px;height:52px}.preview-free-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:14px}.preview-free-play{max-width:680px;margin:auto}.preview-free-worksheets{display:block;width:100%;height:auto;margin:20px 0}.preview-free-film:focus-visible{outline:3px solid #bd8e43;outline-offset:4px}

.day-preview-watch.preview-free-watch{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.preview-free-watch .day-preview-illustration{width:100%;max-width:none;padding:0;background:none;border:0;aspect-ratio:auto}.preview-free-watch .day-preview-illustration img{width:100%;height:auto;max-height:none}.preview-free-watch .preview-free-film span{position:absolute;left:50%;top:50%;font-size:20px;letter-spacing:0;max-width:none}.preview-free-watch .preview-free-frame{min-width:0}@media(max-width:700px){.day-preview-watch.preview-free-watch{grid-template-columns:1fr;gap:18px}}
/* Small accessible social links; shared footer only. */
body .brand-footer .footer-social{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
body .brand-footer .footer-social a{display:inline-flex;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:8px 2px;color:#FAEEDF;text-decoration:none;font:13px/1.4 var(--sans)}
body .brand-footer .footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
body .brand-footer .footer-social .social-dot,body .brand-footer .footer-social .social-play{fill:currentColor;stroke:none}
body .brand-footer .footer-social a:hover{text-decoration:underline;text-underline-offset:4px}
body .brand-footer .footer-social a:focus-visible{outline:2px solid #FAEEDF;outline-offset:3px;border-radius:4px}
