/* Besley keeps the editorial character; mobile cards contain their own images. */
@font-face{font-family:'Besley Fallback';src:local('Georgia');size-adjust:105%;ascent-override:100%;descent-override:27%;line-gap-override:0%}
:root{--display:'Besley','Besley Fallback',Georgia,serif}
h1,h2,h3{letter-spacing:-.035em;line-height:1.2}
h1 strong,h2 strong,h3 strong{font-weight:600}
.hero h1{font-size:clamp(43px,3.9vw,58px);line-height:1.14}
.learning-heading>h2{font-size:38px;line-height:1.2}
.learning-scroll .feature-copy h3{font-size:clamp(27px,2.3vw,33px);line-height:1.18}
.parent-card h3{font-size:26px;line-height:1.22}
.explore-copy h2{font-size:29px;line-height:1.2}
.footer-nav{font-size:23px;line-height:1.3}
.feature-label{display:none}
.site-header .location-button{font-weight:700;font-size:14px;min-height:52px;padding:14px 22px;gap:12px}
.site-header .location-button>.icon{display:block;width:18px;height:18px;margin:0;color:var(--yellow)}
@media(max-width:760px){
 .page-width{width:calc(100% - 32px)}
 .site-header{height:94px;padding-left:128px;gap:9px}
 .brand-badge{top:7px;width:116px;height:90px;padding:9px;border-radius:17px}
 .brand-badge img{width:98px}
 .location-button{font-size:10px;padding:12px 14px;min-height:44px}
 .menu-toggle{width:40px;height:40px;padding:10px}
 .main-nav{top:88px}
 .hero{height:clamp(460px,65svh,540px);border-radius:22px}
 .hero-content{padding:0 25px 76px}
 .hero h1{font-size:clamp(29px,7.6vw,43px);line-height:1.17;letter-spacing:-.04em}
 .hero-kicker{font-size:10px;line-height:1.6;max-width:230px;margin-bottom:15px}
 .hero .button{margin-top:23px;padding:14px 18px;min-height:48px;font-size:11px}
 .hero-anniversary{left:25px;bottom:25px;font-size:9px;line-height:1.6}
 .hero:after{background:linear-gradient(0deg,#111e 0%,#1119 37%,#1110 83%)}
 .learning{padding-block:38px 46px}
 .learning-scroll{padding-block:0;margin-top:38px;margin-bottom:46px}
 .learning-heading>h2,.learning-scroll .learning-heading>h2{font-size:27px;line-height:1.22;padding-inline:0;max-width:440px;margin-inline:auto}
 .learning-tabs,.learning-scroll .learning-tabs{margin-top:20px;padding:4px;gap:0}
 .learning-tabs button,.learning-scroll .learning-tabs button{font-size:10px;min-height:44px;padding:11px 14px}
 .learning-stage,.learning-scroll .learning-stage{margin-top:18px}
 .learning-panel,.learning-scroll .learning-panel{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:20px 23px 24px;min-height:0;height:auto;width:100%;max-width:440px;margin-inline:auto;background:white;border:1px solid #e9e9e4;border-radius:27px;box-shadow:0 5px 24px #17171708;overflow:hidden}
 .feature-label{display:block;order:0;text-align:center;font-family:var(--body);font-weight:700;font-size:11px;line-height:1.5;margin-bottom:14px;color:var(--ink)}
 .feature-photo,.learning-scroll .feature-photo{position:relative;order:1;inset:auto;align-self:center;width:100%;height:clamp(130px,calc(100svh - 640px),205px);min-height:0;padding:0;margin:0 0 20px;object-fit:cover;object-position:center 38%;border-radius:0;mask:url('/assets/bizzy/learning-shape.svg') center / 100% 100% no-repeat}
 .feature-copy,.learning-scroll .feature-copy{order:2;width:100%;max-width:none;padding:0;background:transparent;border-radius:0}
 .feature-copy h3,.learning-scroll .feature-copy h3{font-size:25px;line-height:1.2;letter-spacing:-.035em}
 .feature-copy h3 br{display:none}
 .feature-copy p,.learning-scroll .feature-copy p{font-size:12px;line-height:1.75;margin:15px 0 20px;max-width:none}
 .feature-copy .button,.learning-scroll .feature-copy .button{font-size:11px;min-height:45px;padding:12px 17px;gap:13px;max-width:100%}
 .learning-scroll .learning-progress{margin-top:18px;font-size:9px}
 .learning-footnote{font-size:10px;line-height:1.6;margin-top:25px}
 .parents{padding:43px 0 38px}
 .parents h2{font-size:29px;line-height:1.25;max-width:310px;margin-inline:auto}
 .parents-intro{font-size:12px;max-width:275px;margin-top:13px}
 .parent-track{margin-top:28px;gap:15px;padding-bottom:8px}
 .parent-card{flex-basis:84%;max-width:350px;min-height:405px;padding:25px;border-radius:23px}
 .parent-card h3{font-size:25px;line-height:1.22;min-height:61px;margin-bottom:19px}
 .quote-mark{height:44px;font-size:65px}
 .review-summary{font-size:13px;line-height:1.8;margin-bottom:23px}
 .review-source{font-size:9px;line-height:1.6}
 .carousel-controls{margin-top:18px}
 .explore{padding:30px 0}
 .explore-grid{gap:20px;max-width:440px}
 .explore-card{border-radius:23px}
 .explore-copy{padding:30px 25px 26px}
 .explore-copy h2{font-size:28px;line-height:1.2}
 .explore-copy p{font-size:12px;line-height:1.8;margin:16px auto 19px;max-width:290px}
 .explore-card img{height:235px}
 .text-link{font-size:11px;min-height:28px}
 .site-footer{padding:40px 0 30px}
 .footer-main{grid-template-columns:1fr;gap:28px}
 .footer-brand{width:127px;height:98px;padding:12px;border-radius:17px}
 .footer-brand img{width:105px}
 .footer-nav{font-size:21px;line-height:1.3;gap:17px}
 .footer-information{grid-column:auto;margin-top:6px}
 .footer-details{gap:24px;font-size:12px;line-height:1.85}
 .footer-invite{align-items:flex-start;flex-direction:column;gap:18px;margin-top:30px}
 .footer-invite h3{font-size:25px;max-width:270px;line-height:1.25}
 .footer-invite .button{min-height:46px;font-size:11px;padding-inline:21px}
 .footer-bottom{margin-top:35px;padding-top:24px;font-size:10px;line-height:1.9}
 .footer-legal{gap:17px 22px;margin-bottom:25px}
 .footer-legal a{padding-block:5px}
 .form-top h2{font-size:29px;line-height:1.2}
 .center-heading h2,.faq-intro h2{font-size:29px;line-height:1.2}
}
@media(max-width:360px){
 .site-header{padding-left:110px;gap:7px;height:87px}.brand-badge{width:102px;height:81px;padding:8px}.brand-badge img{width:86px}.location-button{padding-inline:10px;font-size:9px}.menu-toggle{width:36px;height:36px;padding:8px}.main-nav{top:82px}
 .hero-content{padding-inline:21px}.hero h1{font-size:28px}.hero-anniversary{left:21px;font-size:8px}
 .learning-heading>h2,.learning-scroll .learning-heading>h2{font-size:24px}.learning-panel,.learning-scroll .learning-panel{padding:18px 20px 22px}.feature-copy h3,.learning-scroll .feature-copy h3{font-size:23px}
 .parents h2{font-size:26px}.explore-copy h2{font-size:25px}
}

/* Larger reading text and restrained touches of the academy's yellow. */
.carousel-controls .review-motion{display:grid;place-items:center;padding:12px;border-color:#fff00070;color:#fff5a1}
.review-motion svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.review-motion .review-play{display:none}
.review-motion[aria-pressed=true] .review-pause{display:none}
.review-motion[aria-pressed=true] .review-play{display:block}
:root{--brand-wash:#fffde9;--brand-line:#eee8af}
.hero-kicker{font-size:14px;line-height:1.6}
.hero-anniversary{font-size:12px;line-height:1.5}
.location-button small{font-size:11px}
.feature-copy{background:var(--brand-wash)}
.feature-copy p,.learning-scroll .feature-copy p{font-size:16px;line-height:1.7}
.feature-copy .button,.learning-scroll .feature-copy .button{font-size:13px}
.learning-tabs{background:#f7f6e8}
.learning-tabs button[aria-selected=true]{box-shadow:inset 0 -3px 0 var(--yellow),0 3px 12px #0002}
.learning-footnote{font-size:13px;line-height:1.6}
.learning-scroll .learning-progress{font-size:12px}
.learning-progress-track{background:#eee8af}
.parents-intro,.review-summary,.explore-copy p{font-size:16px;line-height:1.75}
.parents h2:after{content:'';display:block;width:46px;height:3px;border-radius:3px;background:var(--yellow);margin:19px auto 0}
.quote-mark{color:#a88b00}
.parent-card cite{font-size:14px}
.parent-card small,.carousel-status{font-size:12px;line-height:1.65}
.explore{background:#f5f4e9}
.text-link{font-size:14px}
.footer-details,.footer-details h3{font-size:14px}
.footer-bottom{font-size:12px;line-height:1.85;border-top-color:#fff00050}
.site-footer{border-top:3px solid var(--yellow)}
.footer-invite .button{font-size:14px}
.form-intro,.center-heading p,.faq-intro>p,.faq-list p,.program-copy p{font-size:16px;line-height:1.7}
.field label,.program-copy .age,.program-copy button,.program-note,.trust-row p,.reassurance{font-size:14px;line-height:1.6}
.form-privacy,.error,.form-status,.eyebrow{font-size:13px;line-height:1.65}
@media(max-width:760px){
 .hero-kicker{font-size:12px;max-width:265px}
 .hero-anniversary{font-size:11px;max-width:calc(100% - 90px)}
 .location-button{font-size:12px;padding-inline:12px}
 .hero .button{font-size:13px}
 .learning-tabs button,.learning-scroll .learning-tabs button{font-size:12px;padding-inline:15px}
 .learning-panel,.learning-scroll .learning-panel{padding-top:18px;padding-bottom:22px;border-color:var(--brand-line)}
 .feature-label{font-size:13px;align-self:center;padding:4px 12px;background:var(--brand-wash);border-radius:20px;margin-bottom:12px}
 .feature-photo,.learning-scroll .feature-photo{height:clamp(110px,calc(100svh - 710px),175px);margin-bottom:14px}
 .feature-copy,.learning-scroll .feature-copy{background:transparent}
 .feature-copy p,.learning-scroll .feature-copy p{font-size:15px;line-height:1.65;margin:12px 0 16px}
 .feature-copy .button,.learning-scroll .feature-copy .button{font-size:13px;padding-inline:14px}
 .learning-footnote{font-size:12px}
 .learning-scroll .learning-progress{font-size:11px;margin-top:15px}
 .parents-intro,.review-summary,.explore-copy p{font-size:15px;line-height:1.7}
 .parent-card{min-height:440px}
 .parent-card small{font-size:12px}
 .text-link{font-size:13px}
 .footer-details,.footer-details h3{font-size:14px}
 .footer-invite .button{font-size:13px}
 .footer-bottom{font-size:12px}
 .form-intro{font-size:15px}
 .form-privacy{font-size:13px}
}
@media(max-width:360px){
 .location-button{font-size:11px;padding-inline:10px}
 .hero-anniversary{font-size:10px}
}
@media(max-width:760px){.site-header .location-button{font-size:13px;min-height:46px;padding:12px 14px;gap:8px}.site-header .location-button>.icon{width:16px;height:16px}}
@media(max-width:360px){.site-header{padding-left:104px;gap:6px}.site-header .brand-badge{width:96px}.site-header .location-button{font-size:12px;padding-inline:9px;gap:6px}.site-header .location-button>.icon{width:14px;height:14px}}

/* Unboxed brand mark, mobile tour shortcut and scroll-driven card stack. */
.site-header{height:92px;padding-left:150px}
.site-header .brand-badge{left:0;top:50%;transform:translateY(-50%);width:120px;height:auto;padding:0;border:0;outline:0;background:transparent;border-radius:0;box-shadow:none}
.site-header .brand-badge img{width:100%;height:auto}
.mobile-tour{display:none}
@media(max-width:760px){
 .site-header{height:78px;padding-left:97px;gap:9px}
 .site-header .brand-badge{width:84px}
 .main-nav{top:73px}
 .mobile-tour{position:fixed;display:flex;align-items:center;gap:9px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;background:var(--yellow);color:var(--ink);border:1px solid #17171712;border-radius:30px;padding:14px 18px;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:0 5px 22px #0002;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .25s,transform .25s,visibility .25s;pointer-events:none}
 .mobile-tour svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .mobile-tour.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
 body.dialog-open .mobile-tour{opacity:0;visibility:hidden;pointer-events:none}
 .site-footer{padding-bottom:100px}
 .learning-heading>h2,.learning-scroll .learning-heading>h2{font-size:25px}
 .learning-tabs,.learning-scroll .learning-tabs{margin-top:14px}
 .learning-stage,.learning-scroll .learning-stage{margin-top:12px}
 .learning-panel,.learning-scroll .learning-panel{padding:16px 22px 20px}
 .feature-label{margin-bottom:8px}
 .feature-photo,.learning-scroll .feature-photo{width:clamp(140px,calc(100svh - 650px),194px);height:clamp(140px,calc(100svh - 650px),194px);flex-shrink:0;margin-bottom:12px;mask:url('/assets/bizzy/learning-sun.svg') center / contain no-repeat;object-position:center 42%}
 .feature-copy h3,.learning-scroll .feature-copy h3{font-size:24px}
 .feature-copy p,.learning-scroll .feature-copy p{margin:10px 0 14px}
 .learning-scroll .learning-progress{display:none}
 .learning-stack{overflow-anchor:none}
 .learning-stack .learning-stage{overflow:clip;border-radius:27px;isolation:isolate}
 .learning-stack .learning-panel,.learning-stack .learning-panel[hidden]{display:flex!important;visibility:visible;opacity:1;animation:none;z-index:var(--card-order,1);transform:translate3d(0,var(--card-y,0px),0) scale(var(--card-scale,1));transform-origin:center top;will-change:transform;box-shadow:0 -7px 22px #17171710;transition:none}
 .learning-stack .learning-panel[hidden]{pointer-events:none}
}
@media(max-width:360px){.site-header{padding-left:85px;gap:6px}.site-header .brand-badge{width:74px}.learning-panel,.learning-scroll .learning-panel{padding-inline:19px}.learning-heading>h2,.learning-scroll .learning-heading>h2{font-size:24px}.mobile-tour{right:12px;font-size:12px;padding:13px 15px}}
@media(prefers-reduced-motion:reduce){.mobile-tour{transition:none}}

/* The same enquiry form is inline on phones and in the tour dialog on desktop. */
.mobile-enquiry{display:none}
.learning-heading{text-align:center}
@media(max-width:760px){
 .mobile-enquiry{display:block;max-width:530px;margin-top:24px;margin-bottom:40px;padding:26px 22px;background:var(--brand-wash);border:1px solid var(--brand-line);border-radius:24px}
 .mobile-enquiry .form-top h2{font-size:30px;line-height:1.2}
 .mobile-enquiry .form-intro{margin:14px 0 24px}
 .mobile-enquiry .form-grid{grid-template-columns:1fr;gap:18px}
 .mobile-enquiry .field input,.mobile-enquiry .field select{height:50px;border-color:#d4d0b5;border-radius:10px;padding-inline:13px}
 .mobile-enquiry .form-card{scroll-margin-top:24px}
 .mobile-enquiry .form-card button[type=submit]{min-height:52px;font-weight:700;font-size:15px}
 .mobile-enquiry .form-privacy{text-align:left;font-size:12px}
 .learning-stack{height:auto;margin-bottom:32px}
 .learning-stack .learning-sticky{position:relative;top:auto}
 .learning-stack .learning-heading{position:sticky;top:0;z-index:8;background:white;padding:12px 0}
 .learning-stack .learning-stage{display:block;overflow:visible;isolation:isolate;margin-top:0;border-radius:0}
 .learning-stack .learning-panel,.learning-stack .learning-panel[hidden]{position:sticky;top:var(--mobile-heading-height);min-height:var(--mobile-card-height);margin-bottom:24px;transform:none;will-change:auto;overflow:hidden;background:white;animation:none!important;opacity:1}
 .learning-stack .learning-panel:last-child{margin-bottom:0}
 .learning-stack .learning-footnote,.learning-stack .learning-progress{display:none}
}
