/* Shared navigation and children’s page layout. */
.main-nav{align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}
.screen.active.kids-layout{display:grid}
.kids-layout{--kids-gap:clamp(26px,4vw,60px);grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:var(--kids-gap);align-items:start;padding:30px calc(var(--kids-gap) - 18px) 45px 15%}
.kids-photo img{display:block;width:100%;height:auto}
.kids-photo{margin:0;overflow:hidden;border-radius:28px;position:static;width:100%;justify-self:end}
.kids-decoration{display:block;width:52px;height:52px;object-fit:contain;margin:28px 0 12px;border-radius:12px}
.kids-sun{display:block;width:76px;height:66px;object-fit:contain;margin:0 0 18px;border-radius:16px}
.kids-copy .page-heading{color:#ae321e;background:linear-gradient(110deg,#ae321e 8%,#a66908 48%,#247975 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.kids-welcome{margin:30px 0}
.kids-welcome strong{color:#873021}
.kids-copy{min-width:0}.kids-copy .page-heading{font-size:clamp(32px,3.6vw,52px);letter-spacing:-1.5px;margin-bottom:24px}
.kids-copy h2{font-size:clamp(21px,2.1vw,28px);line-height:1.3;letter-spacing:-.4px;margin:26px 0 14px}
.kids-copy h3{font-size:20px;line-height:1.4;margin:30px 0 16px}
.kids-copy p{line-height:1.8;margin:14px 0}
.kids-benefits,.kids-ages{padding-left:22px;line-height:1.75}
.kids-benefits li,.kids-ages li{padding-left:5px;margin:0 0 18px}
.kids-benefits li::marker,.kids-ages li::marker{color:#b60000}
.kids-trial{margin-top:28px;padding:clamp(20px,3vw,30px);border-left:3px solid #c40000}
.kids-trial h2{margin-top:0}.kids-trial .red-btn{margin-top:10px;width:100%}
.kids-butterfly{float:right;width:56px;height:64px;object-fit:contain;margin:0 0 10px 14px;border-radius:12px}
@media(max-width:900px){.kids-layout{grid-template-columns:1fr;padding-left:8%;padding-right:8%}.kids-photo{width:80%;max-width:400px;justify-self:center}}
#signup-form{scroll-margin-top:180px}
@media(max-width:720px){
 .main-nav{gap:3px;padding:6px;border-radius:20px}
 .main-nav>a{flex:0 1 auto;font-size:12px;padding:10px 9px}
 .kids-layout{grid-template-columns:1fr;gap:26px;padding:12px 5% 30px}
 .kids-photo{width:85%;justify-self:center} .kids-copy{padding:0}.kids-copy .page-heading{font-size:34px;letter-spacing:-1px}
 #signup-form{scroll-margin-top:20px}
}


.film-section .video-frame{width:45%;margin-left:auto;margin-right:auto}
.film-section .film-copy{margin:24px auto;text-align:center}
@media(max-width:720px){.film-section .video-frame{width:100%;min-width:0}}

/* Language button and accessible members’ menu. */
.lang{background:#111;color:#fff;border:0;border-radius:999px;font-weight:900;padding:11px 14px;font-size:16px;line-height:1.5;min-height:44px}
.lang:hover{background:#333;color:#fff}
.club-menu{position:relative;flex:0 1 auto}
.club-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;font-weight:800;padding:11px 18px;min-height:44px;border-radius:999px;color:#222}
.club-menu>summary::-webkit-details-marker{display:none}
.club-menu>summary::marker{content:""}
.club-menu>summary.active{background:#0d0d0d;color:white}
.club-menu[open]>summary{background:#e8e5e5;color:#222}
.club-submenu{position:absolute;top:calc(100% + 8px);left:0;min-width:180px;z-index:60;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid #e5e2e2;border-radius:18px;box-shadow:0 16px 35px #2222}
.main-nav .club-submenu>a{justify-content:flex-start;border-radius:12px;min-height:44px;padding:12px 16px}
.main-nav .club-submenu>a:hover{background:#f4eeee;color:#b60000}
.kids-photo figcaption{padding:18px 22px;text-align:center;font-size:14px;line-height:1.6;color:#5c5c5c;background:rgba(255,255,255,.7)}
@media(max-width:720px){.club-menu>summary{font-size:12px;padding:10px 9px}.club-submenu{min-width:160px;left:auto;right:0}.main-nav .club-submenu>a{font-size:14px}.lang{font-size:14px;padding:10px 12px}.kids-photo figcaption{font-size:13px;padding:16px 20px}}

/* Keep equal spacing for links and the members’ dropdown trigger. */
.main-nav{justify-content:center;gap:4px}
.main-nav>a,.main-nav>.club-menu{flex:0 0 auto}
.main-nav>a,.main-nav>.club-menu>summary{padding:10px 12px;font-size:14px;line-height:1.5;min-height:44px;white-space:nowrap}
@media(max-width:720px){.main-nav{justify-content:center;gap:3px}.main-nav>a,.main-nav>.club-menu>summary{padding:10px 9px;font-size:12px}}

/* Footer contact details and reader-friendly review bubbles. */
footer .website-credit{margin-top:22px;font-size:13px;line-height:1.7;color:#ccc}
footer .website-credit a{display:inline;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.map-link{display:inline-flex;align-items:flex-start;gap:10px;min-height:44px;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.map-link svg{width:21px;height:24px;flex:none;margin-top:2px}
.contact-details .map-link{display:inline-flex}
.reviews-section{margin:44px 0 32px;padding:clamp(14px,3vw,32px)}
.reviews-section h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin-bottom:28px;letter-spacing:-1px}
.review-bubbles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.review-bubble{position:relative;margin:0;padding:clamp(22px,2.5vw,32px);background:#fff;border:1px solid #ebe4e1;border-radius:28px;box-shadow:0 12px 32px #35201808}
.review-bubble::after{content:"";position:absolute;bottom:-11px;left:32px;width:20px;height:20px;background:#fff;border-right:1px solid #ebe4e1;border-bottom:1px solid #ebe4e1;transform:rotate(45deg)}
.review-bubble p{font-size:16px;line-height:1.8;color:#444}
.review-bubble figcaption{margin-top:20px;font-size:14px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:900px){.review-bubbles{grid-template-columns:1fr;gap:30px}.reviews-section{padding:12px}.review-bubble{max-width:65ch;width:100%;justify-self:center}}

/* Keep the contact photo complete, including its embedded headline. */
.contact-training-photo{display:block;width:85%;max-width:100%;height:auto;margin:24px auto 0;border-radius:20px;transform:translateX(-10%)}

.kids-closing-photo{max-width:1000px;margin:12px auto 40px;padding:0 clamp(10px,3vw,30px)}
.kids-closing-photo img{display:block;width:100%;height:auto;border-radius:24px}
