/* Common shell: keep every landing aligned with the homepage. */
body .hero .header{position:fixed;top:0;left:0;right:0;width:100%;max-width:none;box-sizing:border-box;z-index:100;transition:background .25s,box-shadow .25s}
body .hero .header.is-scrolled{background:rgba(13,46,62,.96);backdrop-filter:blur(18px);box-shadow:0 6px 24px #001e3020}
body .hero .hero-bottom{top:auto;bottom:54px;align-items:flex-end}
body .hero:after{background:linear-gradient(90deg,rgba(0,24,49,.68) 0%,rgba(0,29,54,.4) 38%,rgba(0,33,57,.08) 72%,transparent 100%)}
body .contact-branch-photo{height:auto!important;aspect-ratio:4/3;overflow:hidden;border-radius:24px}
body .contact-branch-photo img{position:static;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
body .contact-branch-photo>span{display:none}
section[id]{scroll-margin-top:110px}
.training-quiz{min-width:0}.quiz-step{font-size:12px;letter-spacing:.1em;color:#527887}.quiz-choices{display:grid;gap:12px}.quiz-choices button{padding:24px;text-align:left;background:white;border:1px solid #dce7e9;border-radius:18px;color:#173c49;cursor:pointer;transition:transform .2s,border-color .2s}.quiz-choices button:hover{transform:translateX(5px);border-color:#377e91}.quiz-choices strong,.quiz-choices span{display:block}.quiz-choices strong{font-size:19px;margin-bottom:8px}.quiz-choices span{color:#627b83}.quiz-contact[hidden],.quiz-choices[hidden]{display:none}.quiz-contact h3{font-size:26px;margin:24px 0 12px}.quiz-contact label{display:block;margin:22px 0 10px}.quiz-contact input{width:100%;box-sizing:border-box;padding:18px;border:1px solid #b6cbd1;border-radius:12px;background:white;color:#173c49;font:inherit}.quiz-contact p{font-size:14px;line-height:1.6}.quiz-back{background:none;border:0;color:#346f80;cursor:pointer;padding:0}.quiz-error{color:#a13b3b}
@media(max-width:800px){body .hero .hero-bottom{top:auto;bottom:30px}body .hero:after{background:linear-gradient(0deg,rgba(0,28,47,.85),rgba(0,28,47,.25) 65%,rgba(0,28,47,.15))}.quiz-choices button{padding:19px}}
@media(max-height:700px){body .hero .hero-bottom{bottom:24px}}
@media(prefers-reduced-motion:reduce){.quiz-choices button,body .hero .header{transition:none}}
/* Floating glass navigation outside the hero stacking context. */
body>.header.site-glass{position:fixed;inset:12px 20px auto;width:calc(100% - 40px);max-width:1360px;margin:0 auto;padding:10px 22px;min-height:64px;box-sizing:border-box;z-index:10000;border:1px solid #ffffff45;border-radius:20px;background:rgba(18,48,64,.32);color:white;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);box-shadow:0 6px 26px #001e3010;transition:background .25s,color .25s}
body>.header.site-glass .brand{font-size:14px;line-height:1.15;color:inherit}body>.header.site-glass .swimmer{width:86px;height:38px;background:currentColor}body>.header.site-glass .navigation{color:inherit}body>.header.site-glass .header-cta{min-height:38px;height:38px;padding:0 20px;font-size:13px;background:white;color:#193641}body>.header.site-glass .menu-toggle span{background:currentColor}
body>.header.site-glass.on-light{background:rgba(255,255,255,.72);color:#193641;border-color:#19364112}body>.header.site-glass.on-light .header-cta{background:#285b6b;color:white}
body .contact-branch-photo{width:70%;margin:22px auto 0;aspect-ratio:auto;height:auto!important}body .contact-branch-photo img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain;border-radius:24px}
body .adult-method-visual{overflow:visible;isolation:auto;top:105px}body .adult-method-visual img{width:100%;height:auto;aspect-ratio:auto;display:block;border-radius:26px!important;clip-path:inset(0 round 26px)}
@media(max-width:800px){body>.header.site-glass{inset:8px 10px auto;width:calc(100% - 20px);padding:8px 13px;min-height:58px;border-radius:16px}body>.header.site-glass .brand{font-size:11px}body>.header.site-glass .swimmer{width:65px;height:32px}body>.header.site-glass .navigation.open{color:#193641}body>.header.site-glass .menu-toggle{height:34px;width:34px}body .adult-method-visual{position:static}}
/* Logo and CTA stay separate; only navigation gains a glass island. */
body>.header.site-glass,body>.header.site-glass.on-light{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:8px 10px}
body>.header.site-glass .navigation{padding:16px 25px;border:1px solid transparent;border-radius:40px;transition:background .3s,border-color .3s,box-shadow .3s;}
body>.header.site-glass.has-scrolled .navigation{background:rgba(20,48,63,.52);border-color:#ffffff35;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 5px 25px #0825330b}
body>.header.site-glass.has-scrolled.on-light .navigation{background:rgba(255,255,255,.78);border-color:#19364114}
body .contact-branch-photo{width:100%;margin:0;aspect-ratio:16/9;height:auto!important;border-radius:24px 24px 0 0}
body .contact-branch-photo img{width:100%;height:100%!important;aspect-ratio:16/9!important;object-fit:cover;object-position:center 45%;border-radius:24px 24px 0 0}
.pill>span[aria-hidden],.related-more>span{opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .2s}.pill:hover>span[aria-hidden],.pill:focus-visible>span[aria-hidden],a:hover .related-more>span,a:focus-visible .related-more>span{opacity:1;transform:translateX(0)}
@media(max-width:800px){body>.header.site-glass .navigation.open{background:rgba(255,255,255,.96);color:#193641;border-radius:20px;backdrop-filter:blur(22px)}body>.header.site-glass{padding:8px 4px}}
@media(prefers-reduced-motion:reduce){body>.header.site-glass .navigation{transition:none}}
.hover-arrow{font-style:normal;display:inline-block;opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .2s}a:hover .hover-arrow,button:hover .hover-arrow,a:focus-visible .hover-arrow,button:focus-visible .hover-arrow{opacity:1;transform:translateX(0)}
/* Match the content grid; give the brand and booking CTA proper scale. */
.training-quiz .quiz-step{margin:0 0 24px;line-height:1.5}
@media(min-width:1001px){body>.header.site-glass{left:0;right:0;width:89%;max-width:1360px;padding:8px 0;gap:24px}body>.header.site-glass .brand{font-size:16px;gap:13px}body>.header.site-glass .swimmer{width:112px;height:48px}body>.header.site-glass .navigation{height:64px;box-sizing:border-box;display:flex;align-items:center;padding:0 25px}body>.header.site-glass .header-cta,body>.header.site-glass.on-light .header-cta{height:64px;min-height:64px;box-sizing:border-box;padding:0 30px;background:#2b7083;color:#fff;font-size:15px}}
/* Stable header geometry on both light and dark sections. */
@media(min-width:1001px){body>.header.site-glass,body>.header.site-glass.on-light{left:max(5.5%,calc((100% - 1424px)/2));right:max(5.5%,calc((100% - 1424px)/2));width:auto;max-width:none;padding:8px 0;display:grid;grid-template-columns:1fr auto 1fr;gap:24px}body>.header.site-glass .brand{justify-self:start}body>.header.site-glass .brand .swimmer{width:106px;height:33px;mask-size:122.3% 247.5%;mask-position:75.3% 53.6%}body>.header.site-glass .header-cta,body>.header.site-glass.on-light .header-cta{justify-self:end;width:166px;height:64px;min-height:64px;padding:0 24px;gap:0;position:relative;display:inline-flex;justify-content:center;flex-shrink:0}body>.header.site-glass .header-cta>span{position:absolute;right:12px;width:13px;margin:0}body>.header.site-glass .navigation{justify-self:center}}
@media(min-width:1001px){body>.header.site-glass,body>.header.site-glass.on-light{border:0}}

/* The dropdown follows the exact width of its parent island. */
body>.header.site-glass .navigation{position:relative}
.directions-trigger{border:0;background:transparent;color:inherit;font:inherit;padding:12px 0;cursor:pointer}
body>.header.site-glass .directions-submenu{position:absolute;top:calc(100% + 10px);left:0;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:12px;border-radius:25px;background:rgba(245,251,253,.95);color:#193641;border:1px solid #ffffff80;box-shadow:0 16px 40px #08253324;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
body>.header.site-glass .directions-submenu[hidden]{display:none}
body>.header.site-glass .directions-submenu a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;font-size:12px;line-height:1.35;padding:8px 3px;border:0;border-radius:13px;overflow-wrap:anywhere}
body>.header.site-glass .directions-submenu a:hover,body>.header.site-glass .directions-submenu a[aria-current]{background:#d9edf2;color:#154d61}

@media(max-width:1000px){body>.header.site-glass .directions-submenu{position:static;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:8px;box-shadow:none;padding:8px}.directions-trigger{text-align:left}body>.header.site-glass .navigation.open{max-height:calc(100svh - 90px);overflow:auto}}
@media(max-width:1000px){body>.header.site-glass{align-items:center}body>.header.site-glass .navigation.open{position:absolute;top:64px;left:0;right:0;width:100%;padding:20px;box-sizing:border-box}body>.header.site-glass .directions-submenu a{font-size:13px;overflow-wrap:normal;min-height:48px}body>.header.site-glass .directions-submenu{gap:8px}}

/* Reference motion: hinged panel and three categorized columns. */
body>.header.site-glass .categorized-menu{grid-template-columns:repeat(3,minmax(0,1fr));padding:26px 18px;gap:12px;transform-origin:50% 0;backface-visibility:hidden}
.categorized-menu section{min-width:0}.categorized-menu h3{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:#63808a;margin:0 0 14px;padding:0 10px}
body>.header.site-glass .categorized-menu a{justify-content:flex-start;text-align:left;padding:10px;min-height:40px;font-size:13px;overflow-wrap:normal;line-height:1.35}
.menu-plus{display:inline-block;margin-left:5px;transition:transform .35s;font-size:16px}.directions-open .menu-plus{transform:rotate(45deg)}
@media(max-width:1000px){body>.header.site-glass .categorized-menu{padding:18px 0;gap:6px}.categorized-menu h3{font-size:9px;padding:0 5px;letter-spacing:.03em}body>.header.site-glass .categorized-menu a{font-size:12px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.menu-plus{transition:none}}

/* Preserve the compact navigation island independently of the dropdown. */
@media(min-width:1001px){body>.header.site-glass .navigation{width:auto;gap:32px;justify-content:center;background:rgba(20,48,63,.52);border:1px solid #ffffff35;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 5px 25px #0825330b}body>.header.site-glass.on-light .navigation{background:rgba(255,255,255,.78);border-color:#19364114}body>.header.site-glass .categorized-menu{width:560px;left:50%;margin-left:-280px}body>.header.site-glass .categorized-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}}

/* Shared CTA scale, based on the approved adult landing. */
body .hero .hero-actions{gap:14px;margin-top:30px;align-items:center}
body .hero .hero-actions .pill{min-height:60px;height:auto;padding:16px 30px;font-size:17px;line-height:1.35;gap:20px;margin-top:0;justify-content:center}
body>.header.site-glass .header-cta>span,body>.header.site-glass .header-cta>svg,body>.header.site-glass .header-cta>i{display:none!important}
@media(max-width:700px){body .hero .hero-actions{gap:10px;margin-top:24px;align-items:stretch}body .hero .hero-actions .pill{min-height:52px;padding:14px 22px;font-size:15px;flex-basis:100%}}

.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}.developer-credit{white-space:nowrap;text-decoration:none}.developer-credit:hover{text-decoration:underline}
.contact-primary,.contact-secondary{display:flex!important;align-items:center!important;justify-content:center!important;min-height:56px!important;padding:16px 24px!important;font-size:17px!important;line-height:1.4!important;border-radius:40px!important;gap:10px!important;box-sizing:border-box!important;width:100%!important;transform:none!important}
.contact-primary>span,.contact-secondary>span,.hover-arrow,.pill>span[aria-hidden],.related-more>span{display:none!important}.telegram-icon{width:20px;height:20px;flex:0 0 20px}
body .adult-editorial{width:100%;max-width:none}body .adult-editorial>a{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:28px;align-items:center;width:100%;max-width:none}body .adult-editorial .related-more{justify-self:end;width:auto;margin:0;white-space:nowrap}
@media(min-width:801px){body.adult-page #faq .faq-layout>.faq-list{grid-row:3;grid-column:2;align-self:start;margin:0}body.adult-page #faq .faq-list details:first-child{padding-top:0}}
body .faq-pool-photo img{transform:scaleX(-1)}
@media(max-width:800px){.footer-bottom{align-items:flex-start;flex-direction:column;gap:16px}body .adult-editorial>a{grid-template-columns:1fr auto;gap:14px}body .adult-editorial h3{grid-column:1 / -1;grid-row:2}body .adult-editorial .reading-label{font-size:11px}.contact-primary,.contact-secondary{font-size:16px!important}}
.contact-secondary{border:1px solid #c6dce4!important;background:#f2f8fa!important;margin-top:12px!important}

/* Mobile art direction: upward outpaint; copy always clears the people. */
@media(max-width:1100px){
 body .hero.hero[data-mobile-face-top]{height:var(--mobile-hero-height,calc(620px + 100vw))!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;background:#153c50!important;padding:0!important}
 body .hero.hero[data-mobile-face-top] .mobile-up-picture{display:contents!important}
 body .hero.hero[data-mobile-face-top] .mobile-up-picture .hero-photo{position:absolute!important;inset:auto!important;left:var(--mobile-photo-left,0px)!important;top:var(--mobile-photo-top,0px)!important;bottom:auto!important;width:var(--mobile-photo-width,100%)!important;height:var(--mobile-photo-height,222.22vw)!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;transform:none!important;filter:none!important;opacity:1!important;mask-image:linear-gradient(to bottom,transparent,#000 90px)!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 90px)!important}
 body .hero.hero[data-mobile-face-top]:after{background:linear-gradient(to bottom,rgba(10,40,55,.78) 0,rgba(10,40,55,.68) var(--mobile-copy-end,520px),rgba(10,40,55,.06) var(--mobile-clear-start,610px),transparent 100%)!important;pointer-events:none}
 body .hero.hero[data-mobile-face-top] .hero-bottom{position:relative!important;inset:auto!important;display:block!important;max-width:none!important;width:auto!important;margin:0 24px!important;padding-top:96px!important;padding-bottom:0!important;transform:none!important}
 body .hero.hero[data-mobile-face-top] .copy{width:100%!important;max-width:none!important}
 body .hero.hero[data-mobile-face-top] h1{font-size:clamp(32px,8.8vw,44px)!important;line-height:1.06!important;letter-spacing:-1.3px!important;max-width:none!important}
 body .hero.hero[data-mobile-face-top] .lead{font-size:17px!important;line-height:1.4!important;max-width:none!important;margin-top:16px!important}
 body .hero.hero[data-mobile-face-top] .location{font-size:14px!important;margin-top:18px!important}
 body .hero.hero[data-mobile-face-top] .results{gap:7px!important;margin-bottom:18px!important}
 body .hero.hero[data-mobile-face-top] .results span{padding:9px 12px!important;font-size:12px!important}
 body .hero.hero[data-mobile-face-top] .hero-actions{gap:10px!important;margin-top:24px!important}
 body .hero.hero[data-mobile-face-top] .hero-actions .pill{min-height:52px!important;padding:14px 18px!important;justify-content:center!important}
}

@media(min-width:701px) and (max-width:1100px){
 body .hero.hero[data-mobile-face-top] .hero-bottom{margin:0 5.5%!important;padding-top:110px!important}
 body .hero.hero[data-mobile-face-top] h1{font-size:42px!important;max-width:800px!important}
 body .hero.hero[data-mobile-face-top] .hero-actions{display:flex!important;flex-wrap:nowrap!important}
 body .hero.hero[data-mobile-face-top] .hero-actions .pill{flex-basis:auto!important;min-width:230px!important}
}
@media(min-width:1001px) and (max-width:1100px){
 body>.header.site-glass{gap:20px}
 body>.header.site-glass .brand{font-size:14px;flex-shrink:0;gap:10px}
 body>.header.site-glass .brand .swimmer{width:86px;flex:0 0 86px}
 body>.header.site-glass .navigation{gap:22px;padding-left:20px;padding-right:20px}
 body>.header.site-glass .header-cta{width:140px;min-width:140px}
}
