/* Family album art direction. Keep official photographs in their complete frame. */
:root {
  --green:#285f4b; --deep:#173e31; --yellow:#f3d875; --paper:#fcfbf5;
  --line:#cdd7c8; --muted:#52695b; --orange:#a85434;
  --editorial-ease:cubic-bezier(.16,1,.3,1);
  --scene-shift:0px; --scene-scale:1;
  --scene-max-width:1600px; /* Shared outer edge for the hero, PR and history scenes. */
}
body { overflow-x:clip; }
.site-header { height:82px; background:#fcfbf5f5; backdrop-filter:blur(12px); padding-inline:4vw; }
.brand b { letter-spacing:-.045em; font-size:23px; }
.brand img { width:36px; height:48px; }
.site-header nav { font-size:13px; gap:26px; }
.cta { border-radius:7px 30px 30px 7px; box-shadow:none; min-height:72px; gap:30px; padding:17px 23px 17px 27px; transition:transform 240ms var(--editorial-ease),background 420ms; }
.cta:hover { transform:translateY(-2px); box-shadow:none; }
.cta:active { transform:scale(.98); box-shadow:none; transition-duration:100ms; }
.cta-icon { width:40px; height:40px; border:0; background:#ffffff16; }
.cta-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; }
.cta:hover .cta-icon { transform:translateY(-2px); }
.cta small { font-size:12px; letter-spacing:.03em; }
.header-cta { min-height:48px; padding:8px 12px 8px 21px; border-radius:6px 25px 25px 6px; }
.header-cta .cta-icon { width:30px; height:30px; }
.header-cta .cta-icon svg { width:18px; }
.hero { max-width:1600px; grid-template-columns:48% 52%; isolation:isolate; overflow:hidden; }
.hero:before { content:""; position:absolute; z-index:-2; inset:0 0 122px 48%; background:#e4ebd8; border-radius:0 0 0 100px; }
.hero-copy { padding:54px 0 44px 8.3%; }
.hero .eyebrow { font-size:12px; letter-spacing:.08em; margin-bottom:20px; }
.hero .age-label { margin-bottom:27px; }
.hero .age-label>span { border:0; border-radius:2px; padding:5px 10px; background:#e4ebd8; font-size:14px; }
.hero h1.parent-catch { font-size:clamp(30px,3.4vw,54px); line-height:1.62; letter-spacing:-.06em; }
.hero .parent-catch .catch-start { font-size:.78em; margin-bottom:3px; }
.hero .parent-catch .catch-audience { font-size:.79em; }
.hero .parent-catch .catch-promise { font-size:1.06em; }
.hero h1 em { background:none; position:relative; }
.hero h1 em:after { content:""; position:absolute; z-index:-1; height:.22em; left:0; right:0; bottom:.02em; background:var(--yellow); transform:rotate(-1.4deg); }
.hero-photo.hero-photo-artwork { align-self:start; margin:47px 5.6% 0 -1%; border-radius:5px; overflow:visible; background:none; box-shadow:0 18px 40px #284b3312; animation:album-entry 1100ms var(--editorial-ease) backwards; transform:translate3d(0,var(--scene-shift),0) scale(var(--scene-scale)); transform-origin:center; }
.hero-photo-artwork>img { border-radius:5px; }
.hero-watermark { position:absolute; z-index:-1; right:3%; bottom:152px; color:#2b614818; font:900 clamp(72px,9.4vw,150px)/.83 Arial,sans-serif; letter-spacing:-.075em; transform:translate3d(0,var(--scene-shift),0); pointer-events:none; }
.hero .hero-action { margin-top:27px; animation:none; }
.hero-action .cta { min-width:330px; }
.hero .hero-lead { font-size:22px; line-height:1.55; margin-top:31px; }
.hero .hero-body { font-size:15px; margin:12px 0 0; line-height:1.9; }
.hero .hero-body br:nth-child(2) { display:none; }
.hero .micro { text-align:left; margin:10px 0 0; font-size:12px; }
.hero-foot { padding:28px 4%; background:var(--paper); border-top:1px solid var(--line); align-items:center; }
.hero-foot>p { font-size:13px; line-height:1.8; }
.hero-foot>p strong { display:block; font-size:24px; letter-spacing:-.05em; }
.hero-foot>div { flex:1; max-width:860px; display:grid; grid-template-columns:1.05fr 1fr 1.15fr; gap:30px; }
.hero-foot>div>span { display:flex; flex-direction:column; justify-content:center; font-size:13px; line-height:1.7; }
.hero-foot b { display:block; font-size:24px; letter-spacing:-.055em; margin:0; }
.hero-foot>div>span:first-child { flex-direction:row; align-items:baseline; gap:7px; }
.hero-foot>div>span:first-child b { font:700 58px/1 Arial,sans-serif; letter-spacing:-.06em; }
.hero-copy .title-line { animation:line-uncover 850ms var(--editorial-ease) both; }
.hero-copy .title-line:nth-child(2) { animation-delay:90ms; }
.hero-copy .title-line:nth-child(3) { animation-delay:180ms; }
@keyframes line-uncover { from{clip-path:inset(0 0 100% 0);transform:translateY(12px)} to{clip-path:inset(0);transform:translateY(0)} }
@keyframes album-entry { from{transform:translate3d(0,12px,0) scale(.965)} to{transform:translate3d(0,0,0) scale(1)} }
.section { max-width:1320px; padding:110px 5%; }
.section-label { font-size:12px; letter-spacing:.12em; margin-bottom:36px; }
.section-label>span { border-radius:0; border:0; border-bottom:1px solid currentColor; width:35px; }
.welcome { display:grid; grid-template-columns:1fr 1fr; column-gap:8%; padding-block:115px; }
.welcome>.section-label { grid-column:1/-1; }
.welcome-intro { text-align:left; align-self:start; }
.welcome-intro h2 { font-size:clamp(40px,4.8vw,68px); line-height:1.4; margin-bottom:30px; }
.welcome-intro>p:last-child { font-size:16px; line-height:2.15; max-width:440px; }
.worry-row { display:block; margin:0; }
.worry-row article { display:grid; grid-template-columns:32px 1fr; gap:6px 20px; padding:28px 0; border-top:1px solid var(--line); }
.worry-row article:last-child { border-bottom:1px solid var(--line); }
.worry-num { grid-row:1/3; font:700 13px Arial,sans-serif; color:var(--orange); padding-top:9px; }
.worry-row h3 { font-size:24px; margin:0 0 10px; }
.worry-row p { grid-column:2; font-size:16px; }
@media(min-width:901px) { .welcome-intro { position:sticky; top:125px; } }
@media(max-width:1100px) and (min-width:901px) {
 .hero-copy { padding:36px 0 36px 7%; }.hero-photo.hero-photo-artwork{margin-top:35px}.hero-action .cta{min-width:0;max-width:94%;font-size:16px}.hero-foot>div{gap:16px}.hero-foot b{font-size:20px}.hero-watermark{bottom:150px}
}
@media(max-width:900px) {
 .site-header{height:70px;padding-inline:20px}.brand b{font-size:20px}.brand small{font-size:10px}.brand img{width:30px;height:40px}.mobile-menu:not([hidden]){top:70px}.menu-toggle{font-size:12px}
 .hero:before{inset:0 0 auto 22%;height:calc(62vw + 22px);border-radius:0 0 0 60px}
 .hero-photo.hero-photo-artwork{margin:15px 16px 0;order:-1;align-self:stretch;box-shadow:none;overflow:visible}
 .hero-copy{padding:25px 24px 27px}.hero .eyebrow{font-size:12px;margin-bottom:13px}.hero .age-label{margin-bottom:19px;gap:6px}.hero .age-label>span{font-size:12px;padding:4px 8px}.hero .age-label b{font-size:12px}
 .hero h1.parent-catch{font-size:clamp(28px,8.7vw,37px);line-height:1.58}.hero .parent-catch .catch-start{font-size:.79em}.hero .parent-catch .catch-audience{font-size:.85em}.hero .parent-catch .catch-promise{font-size:1.06em}
 .hero .hero-action{margin-top:24px}.hero-action .cta{min-width:0;max-width:none;min-height:70px}.hero .micro{text-align:center;font-size:12px}.hero .hero-lead{font-size:22px;margin-top:30px}.hero .hero-body{font-size:16px;margin-top:14px;line-height:1.9}
 .hero-watermark{display:none}.hero-foot{padding:25px 24px 28px}.hero-foot>p{font-size:12px;margin-bottom:21px}.hero-foot>p strong{display:inline;font-size:19px;margin-left:5px}.hero-foot>div{gap:12px;grid-template-columns:.85fr 1fr 1.1fr}.hero-foot>div>span{font-size:12px;padding-left:12px;display:block}.hero-foot>div>span:first-child{display:block;padding-left:0}.hero-foot>div>span:first-child b{font-size:42px;line-height:1.15}.hero-foot b{font-size:16px;line-height:1.8;white-space:nowrap}
 .section{padding:72px 24px}.welcome{display:block;padding-block:74px}.welcome-intro{position:static}.welcome-intro h2{font-size:44px}.welcome-intro>p:last-child{font-size:16px}.worry-row{margin-top:34px}.worry-row article{padding:25px 0;gap:5px 13px;grid-template-columns:24px 1fr}.worry-row h3{font-size:23px}.worry-row p{font-size:16px}
 .floating-cta{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.floating-cta .cta{border-radius:6px 28px 28px 6px;min-height:56px}.floating-cta .cta-icon{width:30px;height:30px}
}
@media(max-width:374px) { .hero-copy,.section{padding-inline:20px}.hero h1.parent-catch{font-size:27px}.hero-foot{padding-inline:20px}.hero-foot>div{gap:8px}.hero-foot b{font-size:14px} }
.motion-off .hero-copy .title-line,.motion-off .hero-photo.hero-photo-artwork{animation:none!important;clip-path:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.hero-copy .title-line,.hero-photo.hero-photo-artwork{animation:none!important;clip-path:none!important;transform:none!important}}

/* Four distinct chapters: photograph, pace, family, words of encouragement. */
:root { --pr-accent:#a85434; --pr-stage:#f1f3e8; --pr-dark:var(--deep); }
.pr-section { overflow:clip; background:var(--paper); }
.pr-wrap { max-width:var(--scene-max-width); padding:0; }
.pr-intro { padding:90px 6.5% 75px; margin:0; background:#e5ebd9; align-items:center; }
.pr-intro h2 { font-size:clamp(38px,4.3vw,62px); line-height:1.45; }
.pr-intro-note { padding:0 0 0 28px; border-left:1px solid #285f4b50; }
.pr-ink { color:var(--pr-accent); }
.pr-chapters { gap:0; grid-template-columns:minmax(0,1fr); }
.pr-chapter { min-width:0; }
.pr-chapter { grid-template-columns:1fr 1fr; gap:7%; padding:95px 6.5%; border-radius:0; box-shadow:none; overflow:visible; background:var(--paper); }
.pr-copy { padding:0; min-width:0; }
.pr-copy h3 { font-size:clamp(27px,2.6vw,39px); line-height:1.65; letter-spacing:-.065em; margin-bottom:28px; }
.pr-copy>p:not(.pr-chapter-label) { max-width:520px; line-height:2.05; margin-top:22px; }
.pr-chapter-label { margin-bottom:27px; gap:15px; }
.pr-chapter-label>span { width:auto; height:auto; border:0; border-radius:0; font-size:36px; letter-spacing:-.06em; opacity:1; padding-bottom:4px; }
.pr-chapter-dark { color:var(--paper); background:var(--deep); }
.pr-chapter-dark .pr-ink { color:#f0d885; }
.pr-chapter-dark .pr-chapter-label { color:#d3dfc4; }
.pr-photo { min-height:0; align-self:start; background:none; overflow:visible; }
.pr-photo>img { position:static; inset:auto; width:100%; max-width:100%; height:auto; object-fit:contain; border-radius:3px; transform:scale(var(--album-scale,1)); transform-origin:center; }
.pr-photo:after { display:none; }
.pr-photo figcaption { position:static; color:inherit; padding:18px 0 0; font-size:15px; font-weight:500; }
.pr-reading-line { width:auto; height:2px; top:0; bottom:auto; left:6.5%; right:6.5%; opacity:.65; background:transparent; }
.pr-reading-line i { background:currentColor; transform:scaleX(var(--pr-progress,1)); transform-origin:left; }
.pr-fact { margin-top:32px; }
.pr-chapter:nth-child(2) { background:#e9edde; grid-template-areas:"art copy"; }
.pr-chapter:nth-child(2) .pr-copy { grid-area:copy; }
.pr-playground { grid-area:art; min-height:550px; align-self:center; background:none; color:var(--green); }
.pr-playground>div { text-align:left; }
.pr-playground strong { font-size:clamp(100px,13vw,185px); letter-spacing:-.085em; line-height:.83; display:block; transform:translate3d(0,var(--pr-orbit-y,0px),0); }
.pr-playground>div>span { font-size:17px; margin-bottom:35px; }
.pr-playground small { margin-top:36px; }
.pr-orbit { border-color:#285f4b18; width:400px; }.pr-orbit-two {width:600px}.pr-orbit-three {width:800px}
.pr-chapter-warm { background:#fcf9f0; align-items:start; }
.pr-chapter-warm .pr-photo { margin-top:75px; }
.pr-chapter-warm .pr-closing { background:#efe8d4; padding:23px 26px; border:0; border-left:3px solid #ac8c53; font-size:17px!important; }
.pr-chapter-cheer { background:#f4edce; grid-template-columns:1.1fr 1fr; }
.pr-cheer { padding:0; gap:16px; background:none; align-items:flex-start; overflow:visible; }
.pr-cheer-word { padding:0; border-radius:0; background:none; box-shadow:none; rotate:0deg!important; font-size:clamp(24px,2.7vw,40px); letter-spacing:-.06em; line-height:1.8; position:relative; }
.pr-cheer-word:before { content:'“'; font:700 1.6em/.8 Georgia,serif; color:#7e9563; position:absolute; left:-.65em; top:.23em; }
.pr-cheer-word:nth-child(2) { margin-left:18px; }.pr-cheer-word:nth-child(3) { margin-left:36px; }
.pr-cheer>span { margin-top:17px; font-weight:400; text-align:left; }
.pr-invitation { padding:58px 6.5%; background:#f4edce; border-top:1px solid #c5c0a5; }
.pr-invitation h3 { font-size:36px; }
.pr-invitation .cta+p { font-size:13px; }
@media(min-width:901px) { .pr-photo { position:sticky; top:115px; }.pr-chapter-dark .pr-photo { margin-top:38px; } }

/* A shared history, then a real person: two different editorial compositions. */
.family-story { width:100%; max-width:var(--scene-max-width); margin-inline:auto; border-radius:0; position:relative; background:var(--deep); display:grid; grid-template-columns:54% 46%; gap:0; padding:80px 4%; overflow:hidden; }
.story-photo { align-self:center; min-height:0; border-radius:0; overflow:visible; }
.story-photo>img { position:static; width:100%; height:auto; object-fit:contain; border-radius:3px; transform:scale(var(--album-scale,1)); }
.story-photo figcaption { position:static; background:none; color:#dbe4d2; padding:18px 0 0; transform:none; font-size:14px; font-weight:400; }
.story-copy { padding:0 3% 0 13%; }
.story-copy h2 { font-size:clamp(30px,3vw,43px); line-height:1.5; margin-bottom:24px; }
.story-copy h2 strong { font-size:clamp(110px,12vw,178px); color:#dce4ba; margin-top:18px; line-height:.95; }
.story-copy h2 strong span { font-size:23px; letter-spacing:0; }
.story-copy>p:not(.section-label) { font-size:16px; line-height:2; }
.coach-section { gap:10%; grid-template-columns:1.2fr 1fr; padding-block:120px; }
.coach-copy h2 { font-size:clamp(32px,3.3vw,48px); line-height:1.6; }
.coach-copy .body-copy { line-height:2.1; font-size:17px; }
.coach-portrait { max-width:350px; border-radius:0; aspect-ratio:auto; transform:none; overflow:visible; background:none; isolation:isolate; }
.coach-portrait:before { content:''; position:absolute; z-index:-1; top:25px; left:25px; right:-25px; bottom:45px; background:#e6ead9; border-radius:100px 0 0 0; }
.coach-portrait>img { width:100%; height:auto; object-fit:contain; border-radius:3px; transform:scale(var(--album-scale,1)); }
.coach-portrait figcaption { position:static; background:none; padding:20px 0 0; font-size:14px; font-weight:400; }
.coach-note { border-left:2px solid #b09854; padding:16px 0 16px 24px; background:#f3f1e6; max-width:390px; }

/* Information scenes stay quiet: comparison, schedule, FAQ, consultation. */
.system-section { background:#eaf0e1; }
.system-heading h2 { font-size:clamp(34px,4vw,55px); line-height:1.5; }
.system-heading .body-copy { font-size:17px; line-height:2; }
.ticket-demo { border-radius:5px; box-shadow:none; border:1px solid #bccbb7; margin-block:60px 75px; }
.ticket-heading h3 { font-size:29px; }
.renewal-note { border-radius:3px; background:#eaf0e1; }
.course-heading { text-align:left; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.course-heading h3 { font-size:28px; }
.course-heading p { font-size:14px; line-height:1.9; }
.course-grid { gap:0; border-top:1px solid #aebfaa; border-bottom:1px solid #aebfaa; background:var(--paper); }
.course-card { border:0!important; border-radius:0; background:none; padding:30px 28px; }
.course-card+.course-card { border-left:1px solid #cdd7c8!important; }
.course-card h3 { font-size:34px; letter-spacing:-.055em; }
.course-card h3 span { font-size:14px; }
.course-price strong { font-size:clamp(43px,4.3vw,58px); }
.course-price { gap:7px; }
.course-price span { font-size:14px; }
.course-time { color:var(--muted); }
.course-schedule strong { font-size:19px; }
.course-card .small-note { font-size:13px; }
.place-layout h2 { font-size:clamp(34px,4vw,55px); }
.place-details { padding-top:7px; }
.big-day { color:#7b9567; font-size:clamp(60px,7.4vw,104px); }
.steps-heading h2 { font-size:clamp(32px,3.5vw,47px); }
.progress-stepper { box-shadow:none; border-radius:8px; }
.faq-heading h2 { font-size:33px; line-height:1.6; }
.faq-items details[open]>div { animation:none; }
.faq-items summary { padding-block:26px; }
.final-section { grid-template-columns:1fr 1fr; background:#eee7c7; position:relative; padding:75px 4%; gap:4%; align-items:start; }
.final-copy { padding:0; }
.final-copy h2.closing-catch { font-size:clamp(29px,3.35vw,48px); line-height:1.7; }
.closing-catch .catch-promise { font-size:1.05em; }
.final-photo { border-radius:3px; height:auto; overflow:visible; margin-top:38px; }
.final-photo img { position:static; width:100%; height:auto; object-fit:contain; border-radius:3px; transform:scale(var(--album-scale,1)); }
.final-photo:after { content:'LET’S PLAY\aTOGETHER.'; white-space:pre; display:block; font:900 clamp(55px,6.1vw,90px)/.88 Arial,sans-serif; letter-spacing:-.07em; color:#64754e; padding-top:25px; }
footer { background:var(--paper); }

@media(max-width:1100px) and (min-width:901px) {
 .pr-chapter { gap:5%; padding-inline:5%; }.pr-copy h3{font-size:27px}.pr-copy>p:not(.pr-chapter-label){font-size:15px}.pr-playground{min-height:470px}.pr-cheer-word{font-size:28px}
 .course-card{padding:25px 18px}.course-price strong{font-size:45px}.course-schedule strong{font-size:17px}.course-heading h3{font-size:25px}
}
@media(max-width:900px) {
 .pr-intro { padding:64px 24px 52px; }.pr-intro h2{font-size:36px;line-height:1.5}.pr-intro-note{border:0;padding:0;margin-top:22px;line-height:1.9}.pr-intro-note br{display:none}.pr-intro-note strong{display:block}
 .pr-chapter,.pr-chapter-cheer { display:flex; flex-direction:column; padding:0; gap:0; overflow:clip; }
 .pr-copy { padding:39px 24px 50px; }.pr-copy h3{font-size:clamp(26px,7.1vw,31px);line-height:1.6;margin-bottom:23px}.pr-copy>p:not(.pr-chapter-label){font-size:16px;line-height:2;margin-top:22px;max-width:none}
 .pr-chapter-label{font-size:13px;gap:15px;margin-bottom:24px}.pr-chapter-label>span{font-size:34px;width:auto;height:auto}.pr-reading-line{left:24px;right:24px}
 .pr-photo,.pr-chapter-warm .pr-photo,.pr-chapter-dark .pr-photo { position:static; min-height:0; width:auto; margin:28px 16px 0; }.pr-photo>img{width:100%;height:auto;object-fit:contain}.pr-photo figcaption{padding:14px 8px 0;font-size:13px}
 .pr-fact { margin-top:28px;padding-top:24px; }.pr-fact strong { font-size:17px; }.pr-fact span { font-size:14px; }
 .pr-playground { min-height:300px; width:100%; order:-1; padding:38px 24px 22px; align-self:stretch; place-items:start; }.pr-playground>div{width:100%;}.pr-playground>div>span{font-size:14px;margin-bottom:18px}.pr-playground strong{font-size:clamp(82px,23vw,106px);line-height:.85;white-space:nowrap}.pr-playground strong br{display:none}.pr-playground strong br:after{content:' '}.pr-playground small{margin-top:20px;font-size:12px}.pr-playground .pr-orbit{left:30%;top:-85px;width:320px}.pr-playground .pr-orbit-two{width:420px;top:-135px}.pr-playground .pr-orbit-three{width:540px;top:-195px}
 .pr-chapter:nth-child(2) .pr-copy{padding-top:17px}.pr-chapter-warm .pr-closing{font-size:16px!important;padding:22px}.pr-chapter-cheer .pr-copy{padding-top:45px;padding-bottom:32px}
 .pr-cheer { padding:16px 24px 52px 42px; gap:4px; }.pr-cheer-word{font-size:27px;line-height:1.9}.pr-cheer>span{font-size:13px;margin-top:18px}
 .pr-invitation{padding:37px 24px 48px}.pr-invitation h3{font-size:30px;margin-bottom:25px}.pr-invitation .cta{font-size:16px;gap:20px}.pr-invitation .cta+p{font-size:12px;text-align:left;line-height:1.9}
 .family-story { display:flex; flex-direction:column; padding:40px 16px 45px; }.story-photo{min-height:0;width:100%;border-radius:0}.story-photo>img{height:auto}.story-photo figcaption{padding:14px 8px 0;font-size:13px}.story-copy{padding:40px 8px 0}.story-copy h2{font-size:34px}.story-copy h2 strong{font-size:122px}.story-copy h2 strong span{font-size:25px}.story-copy>p:not(.section-label){font-size:16px}.story-copy .section-label{margin-bottom:25px}
 .coach-section{padding-block:72px 80px;gap:35px}.coach-copy h2{font-size:30px;margin-bottom:22px;line-height:1.65}.coach-copy .body-copy{font-size:16px;line-height:2}.coach-portrait{width:76%;max-width:300px;margin:0;align-self:center}.coach-portrait:before{left:20px;right:-20px;bottom:55px}.coach-portrait figcaption{font-size:13px}.coach-note{font-size:17px;padding:15px 20px}
 .system-heading h2{font-size:35px;line-height:1.55}.system-heading .body-copy{font-size:16px}.ticket-demo{margin:35px 0 50px;padding:25px 17px;border-radius:5px;box-shadow:none}.ticket-heading h3{font-size:24px}.ticket-stamps{gap:12px}.renewal-note{font-size:14px;padding:17px 14px}.ticket-demo .small-note{font-size:12px}
 .course-heading{display:block;margin-bottom:27px}.course-heading h3{font-size:23px;line-height:1.6;margin-bottom:12px}.course-heading p{font-size:14px}.course-grid{display:block;background:none}.course-card{padding:28px 4px 30px;margin:0;display:grid;grid-template-columns:1fr auto;gap:0 10px;position:relative}.course-card+.course-card{border-left:0!important;border-top:1px solid #b8c9b2!important}.course-kicker{grid-column:1/-1;font-size:13px;margin-bottom:9px}.course-card h3{font-size:31px;grid-column:1;line-height:1.6;margin:0 0 18px}.course-card h3 span{font-size:13px;margin-left:7px}.course-time{grid-column:2;grid-row:2;margin:0;align-self:center;font-size:12px}.course-time b{font-size:29px}.course-schedule{grid-column:1/-1;margin:0 0 15px}.course-card>p:not(.course-kicker):not(.small-note){grid-column:1/-1;font-size:16px}.course-schedule strong{font-size:22px}.course-price{grid-column:1/-1;border:0;margin-top:20px;padding-top:0;gap:9px}.course-price strong{font-size:51px}.course-card .small-note{grid-column:1/-1;font-size:13px;line-height:1.9}.schedule-note{margin-top:22px;font-size:13px}
 .inline-cta { margin-top:33px; }.inline-cta h3{font-size:20px}.place-layout h2{font-size:36px}.place-layout .body-copy{font-size:16px}.big-day{font-size:73px}.place-details dl>div{grid-template-columns:69px 1fr;gap:10px}.place-details dt{font-size:12px}.place-details dd{font-size:17px}.place-details small{font-size:13px}.lesson-times strong{font-size:20px}.lesson-times li{gap:7px 12px}
 .steps-heading h2{font-size:31px}.faq-heading h2{font-size:29px}.faq-items summary{font-size:16px}.faq-items details>div{font-size:16px}.faq-section{padding-top:20px}
 .final-section{display:flex;flex-direction:column;gap:0;padding:42px 24px 50px}.final-copy{padding:0}.final-copy h2.closing-catch{font-size:clamp(27px,8.6vw,37px);line-height:1.7}.final-copy>p:not(.little):not(.form-guide){font-size:16px}.final-copy .form-guide{font-size:13px;line-height:2}.final-photo{width:100%;height:auto;order:-1;margin:0 0 30px}.final-photo:after{font-size:clamp(41px,11vw,60px);padding-top:12px;white-space:normal;content:'LET’S PLAY TOGETHER.'}.final-photo img{width:100%;height:auto;position:static}
}
/* Whole frames retain their aspect ratio; reduced motion has no missing content. */
@media(max-width:900px) {
 .pr-playground{min-height:310px;padding-bottom:32px}
 .pr-playground strong{font-size:96px;white-space:normal}
 .pr-playground strong br{display:initial}
}
.motion-off .pr-photo>img,.motion-off .story-photo>img,.motion-off .coach-portrait>img,.motion-off .final-photo>img,.motion-off .pr-playground strong,.motion-off .hero-watermark { transform:none!important; }
.motion-off .pr-reading-line i { transform:scaleX(1)!important; }
@media(prefers-reduced-motion:reduce) { .pr-photo>img,.story-photo>img,.coach-portrait>img,.final-photo>img,.pr-playground strong,.hero-watermark{transform:none!important}.pr-reading-line i{transform:scaleX(1)!important} }

/* BOSS: keep the large official photograph aligned with the PR scene edges. */
@media(min-width:901px) {
 .hero { display:flex; flex-direction:column; max-width:none; width:100%; }
 .hero:before,.hero-watermark { display:none; }
 .hero-photo.hero-photo-artwork { order:-1; width:100%; max-width:var(--scene-max-width); align-self:center; margin:0 auto; border-radius:0; box-shadow:none; transform:none; animation:none; }
 .hero-photo-artwork>img { width:100%; height:auto; border-radius:0; object-fit:contain; }
 .hero-copy { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); grid-template-areas:'eyebrow lead' 'age lead' 'title action' 'title body'; column-gap:7%; align-items:start; width:100%; max-width:1440px; padding:56px 4vw 60px; margin-inline:auto; }
 .hero .eyebrow { grid-area:eyebrow; margin-bottom:18px; }
 .hero .age-label { grid-area:age; margin-bottom:24px; }
 .hero h1.parent-catch { grid-area:title; font-size:clamp(32px,3.5vw,54px); }
 .hero .hero-lead { grid-area:lead; margin:0 0 20px; font-size:26px; }
 .hero .hero-action { grid-area:action; margin:0; width:100%; }
 .hero-action .cta { width:100%; max-width:none; min-width:0; }
 .hero .hero-body { grid-area:body; margin-top:21px; }
 .hero-foot { width:100%; }
}
