/* Shared academy rhythm and responsive actions. */
:is(.grid,.growth-cards,.explore-links)>*{min-width:0}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{display:flex;flex-direction:column}.panel h2{font-size:clamp(27px,2.6vw,38px);overflow-wrap:normal}.panel .cta{margin-top:auto;align-self:flex-start}.cta,.button{max-width:100%;text-align:center;line-height:1.35;white-space:normal;text-wrap:balance}.actions{flex-wrap:wrap}.academy-growth,.academy-explore{margin-block:48px}.academy-transition{background:linear-gradient(145deg,#EDF7F0,#D8F1E2);border-radius:24px;padding:clamp(28px,4vw,52px)}.academy-transition :is(h2,h3,p,a,.eyebrow){color:var(--depth-ink,#123F35)}.academy-transition p{color:var(--depth-copy,#526B60)}.academy-transition .cta{background:#155545;color:#fff}.academy-transition .panel{background:#fff;color:#123F35}.academy-transition .panel :is(h2,h3,a){color:#123F35}.academy-transition .panel p{color:#526B60}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid>article:last-child:nth-child(odd){grid-column:1/-1}.panel{padding:24px}.panel .cta{border-radius:16px;padding:12px 18px}}@media(max-width:700px){.grid{grid-template-columns:1fr}.grid>article:last-child:nth-child(odd){grid-column:auto}.academy-transition{padding:28px 20px}.academy-growth,.academy-explore{margin-block:28px}}
/* Responsive audit: prevent intrinsic grid/flex widths from stretching pages. */
html{scroll-padding-top:110px}body{overflow-wrap:break-word}main,section,article,form{min-width:0}img,video{max-width:100%}input,select,textarea{max-width:100%;box-sizing:border-box}.grid>*,.weekly-grid>*,.wrap>*,.parent-inner>*,.story-row>*,.family-hero>*,.family-week>*,.parent-progress>*{min-width:0}.week-calendar{grid-template-columns:repeat(5,minmax(0,1fr))}.week-calendar span{white-space:normal!important}.room-example{flex-wrap:wrap}.room-status{white-space:normal!important}.article-prose table{display:block;max-width:100%;overflow-x:auto}.article-prose pre{max-width:100%;overflow-x:auto}.page-menu-panel{overscroll-behavior:contain}.teacher-card .cta,.panel .cta{width:auto}.academy-footer nav a{overflow-wrap:anywhere}
@media(max-width:1100px) and (min-width:701px){.wrap,.weekly-grid,.parent-inner,.pricing-hero,.included,.commitment,.contact-hero,.contact-enquiry,.about-hero,.about-director,.about-support,.family-hero,.family-week,.parent-progress{gap:28px}.actions{gap:10px}.actions .button{padding:14px 18px;font-size:14px}}
@media(max-width:600px){input,select,textarea{font-size:16px!important}.actions .button{flex:1 1 150px}.parent-attendance{flex-wrap:wrap}.parent-callout{max-width:calc(100% - 24px);right:0}.schedule-card,.example-row{gap:10px;flex-wrap:wrap}.example-row>span{min-width:0}.example-chip{white-space:normal}.contact-options>div{min-width:0}.academy-footer{padding:36px 20px}.academy-footer nav{gap:12px 20px}.reading-page,.reading-body,.article-prose{min-width:0}}
@media(max-width:850px){.practice-step{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}.practice-steps{display:grid!important;gap:24px}.practice-step .practice-frame{max-height:none}.review-bubble{max-width:calc(100% - 24px)}.academy-invitation{flex-wrap:wrap}.academy-invitation .read-link{margin-left:0!important;white-space:normal!important}}
/* Feature descriptions stay outside accordion buttons, allowing inline explanations. */
.weekly-tabs .week-card>button{padding-bottom:10px}.week-card>.step-copy{margin:0;padding:0 56px 24px 80px;color:#526B60;font:15px/1.55 Arial,sans-serif}.week-card{overflow:visible}.week-card .week-detail{border-radius:0 0 12px 12px}.weekly-tabs .inline-term-trigger{display:inline!important}.film-focus{max-width:min(1100px,calc(76dvh * 16 / 9))}.film-frame:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto;border-radius:0}.film-expand{background:#ffffffed;color:#155545;border:0;border-radius:30px;padding:10px 15px;cursor:pointer;font-size:12px}.film-frame:not(.is-playing):not(.was-playing) .film-expand{position:absolute;bottom:14px;right:14px;z-index:4}.audience-tabs{display:inline-flex;gap:5px;padding:5px;border:1px solid #DCE9E0;border-radius:40px;background:#F5FCF7;margin:0 0 25px}.audience-tabs button{padding:12px 20px;border:0;border-radius:30px;background:transparent;color:#155545;font:600 15px Arial,sans-serif;cursor:pointer}.audience-tabs button[aria-selected=true]{background:#155545;color:white}.audience-tabs button:focus-visible{outline:3px solid #37785C;outline-offset:3px}.teacher-profile{opacity:1!important;transform:none!important}.teachers-section .teacher-profile-open{color:var(--depth-ink,#F5FCF7)}
@media(max-width:800px){.week-card>.step-copy{padding:0 46px 22px 63px}.film-focus{max-width:100%;transform:none!important}}
@media(max-width:400px){.week-card>.step-copy{padding:0 18px 20px 18px}.weekly-tabs .week-card>button{grid-template-columns:32px minmax(0,1fr) 12px;gap:10px}.weekly-tabs strong{font-size:20px}}

.hero .actions{display:flex;align-items:stretch;gap:12px}.hero .actions .button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:50px;padding:13px 22px;white-space:nowrap;line-height:1.3}
@media(max-width:700px){.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.hero .actions .button{min-width:0;min-height:48px;padding:13px 10px;font-size:14px;border-radius:28px}}
@media(max-width:360px){.hero .actions .button{font-size:12px;padding-inline:7px}.profile-mobile-views button{font-size:12px}}
