/* body>.hero rules re-scoped for main landmark */

/* calm page hero: off-white, ink text, left aligned */
.page-hero,main>.hero{background:var(--surface)!important;color:var(--ink)!important;text-align:left!important;border-bottom:1px solid var(--line)!important;padding:2.4rem max(5%,calc((100% - 1220px)/2)) 2rem!important;box-shadow:var(--sh-1)}
.page-hero *,main>.hero *{color:inherit;text-shadow:none!important}
.page-hero h1,main>.hero h1{color:var(--ink)!important;font-size:clamp(1.875rem,4vw,2.75rem)!important;letter-spacing:-.02em;line-height:1.15!important}
.page-hero p,.page-hero .subtitle,main>.hero p{color:var(--muted)!important;margin-left:0!important;margin-right:auto!important;opacity:1!important}
.page-hero .subtitle,main>.hero .eyebrow{color:var(--ink-2)!important;font-weight:700}
main>.hero .eyebrow,.page-hero .eyebrow,main>.hero .chip,.page-hero .chip{background:var(--bg)!important;border:1px solid var(--line)!important}
.page-hero [class*="btns"],.page-hero [class*="buttons"],main>.hero [class*="btns"],main>.hero [class*="buttons"],main>.hero .chips,.page-hero .chips{justify-content:flex-start!important}
/* one neutral outline */
.btn-outline,.btn-ask,.btn-ghost,.ev-btn.alt,.page-hero .btn-ask,main>.hero .btn-ask,main>.hero .btn-ghost{background:var(--surface)!important;color:var(--ink-2)!important;border:1px solid #cfd5df!important;border-radius:10px!important;box-shadow:var(--sh-1)!important;font-weight:700!important}
/* Direction A2: editorial premium, site-wide. Header untouched. */
:root{--a-navy:#0E2540;--a-blue:#029bd8;--a-blue-d:#016a94;--a-gold:#C9A227}
main h1,main h2,.pg-hero h1,.page-hero h1,.pl-hero h1{font-family:'Archivo','Open Sans',sans-serif!important;font-stretch:115%;font-weight:800!important;text-transform:uppercase;letter-spacing:-.005em!important}
main h2,.section-title{font-family:'Archivo',sans-serif!important;font-stretch:115%;font-weight:800!important;text-transform:uppercase;color:#0E2540!important;font-size:clamp(26px,3.4vw,44px)!important;line-height:1!important}
main h3{font-family:'Archivo',sans-serif;font-weight:800;color:#0E2540}
.sec-h,.section-title{border-bottom:1px solid #0E2540;padding-bottom:12px;margin-bottom:22px}
/* inner heroes: navy fade */
.pg-hero,.page-hero,body>.hero{background:linear-gradient(180deg,#0E2540 0%,#14345a 100%)!important;border-bottom:3px solid #029bd8!important;box-shadow:none!important;color:#fff!important}
.pg-hero .wrap{padding-top:56px!important;padding-bottom:48px!important}
.page-hero{padding-top:56px!important;padding-bottom:48px!important}
.pg-hero h1,.page-hero h1,body>.hero h1{color:#fff!important;font-size:clamp(34px,5.4vw,72px)!important;line-height:.95!important;max-width:18ch}
.pg-hero p,.pg-hero p.sub,.page-hero p,body>.hero p{color:#E8EEF5!important}
.pg-hero a:not([class]),.page-hero a:not([class]){color:#fff!important;text-decoration:underline}
.pg-hero .eyebrow,.page-hero .subtitle,.page-hero .eyebrow{color:#fff!important;background:none!important;border:0!important;border-left:4px solid #029bd8!important;padding-left:12px!important;letter-spacing:.14em!important;font-size:13px!important;text-transform:uppercase;font-weight:700}
.pl-hero{background:linear-gradient(90deg,#0E2540 0%,#14345a 100%)!important;color:#fff!important}
.pl-hero h1,.pl-hero p,.pl-hero li{color:#fff!important}
/* buttons: square, uppercase; white on navy, navy on light */
.b-primary,.btn-register,.btn-pay,.btn-book,.hm-btn{border-radius:0!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800!important;background:#0E2540!important;color:#fff!important;border:2px solid #0E2540!important;box-shadow:none!important}
.b-outline,.btn-outline{border-radius:0!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800!important;background:#fff!important;color:#0E2540!important;border:2px solid #0E2540!important;box-shadow:none!important}
.pg-hero .b-primary,.page-hero .b-primary,.pl-hero .b-primary,.pl-hero a.pl-book,.page-hero .btn-register{background:#fff!important;color:#0E2540!important;border-color:#fff!important}
.pg-hero .b-outline,.page-hero .b-outline,.pl-hero .b-outline{background:transparent!important;color:#fff!important;border-color:#fff!important}
/* cards: thin rules instead of shadows */
.box,.reg-card,.card,.racket-card,.faq-item,.bn-profile{border-radius:0!important;box-shadow:none!important;border:1px solid #d5dbe3!important}
.sec,.hm-sec{padding-top:72px;padding-bottom:72px}
@media(max-width:700px){.sec,.hm-sec{padding-top:48px;padding-bottom:48px}.pg-hero .wrap,.page-hero{padding-top:40px!important;padding-bottom:36px!important}}
/* home */
.a-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;overflow:hidden;background:#0E2540}
.a-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 60%}
.a-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,37,64,.94) 0%,rgba(14,37,64,.7) 45%,rgba(14,37,64,.1) 75%),linear-gradient(0deg,rgba(14,37,64,.9),rgba(14,37,64,0) 55%)}
.a-in{position:relative;z-index:1;max-width:1220px;width:90%;margin:0 auto;padding:110px 0 56px;color:#fff}
.a-kick{display:inline-block;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:#fff!important;margin:0 0 18px;border-left:4px solid #029bd8;padding:4px 0 4px 12px}
.a-in h1{color:#fff!important;font-size:clamp(40px,6.6vw,96px)!important;line-height:.92!important;max-width:13ch;margin:0 0 22px}
.a-lede{font-size:clamp(17px,1.6vw,21px);max-width:34ch;color:#E8EEF5!important;margin:0 0 28px}
.a-cta{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.a-btn{background:#fff;color:#0E2540!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:18px 34px;font-size:15px;text-decoration:none}
.a-btn:hover{background:#029bd8;color:#0E2540!important}
.a-link{color:#fff!important;font-weight:700;border-bottom:2px solid #029bd8;padding-bottom:3px;text-decoration:none}
.a-trust{list-style:none;display:flex;flex-wrap:wrap;gap:14px 36px;margin:36px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.3)}
.a-trust li{display:flex;align-items:center;gap:12px;color:#E8EEF5;font-size:15px}
.a-trust strong{display:block;color:#fff;font-weight:800}
.a-trust img{border-radius:50%;width:48px;height:48px;object-fit:cover}
.hm .hm-step{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:#016a94!important}
.hm h2{border-bottom:3px solid #0E2540;padding-bottom:16px}
.hm-alt{background:#F3F6FA!important}
.hm-ages a{border-radius:0!important;box-shadow:none!important;border:0!important;border-bottom:1px solid #d5dbe3!important;background:none!important;color:#0E2540!important}
.hm-ages a strong{font-family:'Archivo',sans-serif;font-stretch:115%;text-transform:uppercase;font-weight:800}
.hm-grid3>div,.hm-prices>div,.hm-quotes blockquote{border-radius:0!important;box-shadow:none!important;border:0!important;border-top:3px solid #0E2540!important;background:transparent!important}
.hm-amt{font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;color:#0E2540!important}
.hm-cole{background:linear-gradient(180deg,#0E2540,#14345a)!important;color:#fff}
.hm-cole h2{color:#fff!important;border-color:#fff}
.hm-cole p,.hm-cole .hm-step,.hm-cole .hm-sig{color:#E8EEF5!important}
.hm-cole a:not(.hm-btn){color:#fff!important;text-decoration:underline}
.hm-cole .hm-btn{background:#fff!important;color:#0E2540!important;border-color:#fff!important}
@media (max-width:700px){
.a-hero{display:block;min-height:0}
.a-hero picture{display:block;position:relative}
.a-bg{position:relative;inset:auto;height:300px;object-position:50% 45%!important}
.a-hero:after{display:none}
.a-hero picture:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(0deg,#0E2540,rgba(14,37,64,0))}
.a-in{padding:8px 0 40px}
.a-kick{background:#0E2540;padding:8px 10px 8px 12px;font-size:12px;letter-spacing:.1em;line-height:1.5}
.a-trust{gap:14px}
}

body h2:not(header *):not(footer *){font-family:'Archivo',sans-serif!important;font-stretch:115%;font-weight:800!important;text-transform:uppercase;letter-spacing:-.005em!important}
.hm-ages a,.hm-ages a *{color:#0E2540!important}
.hm-ages a span{color:#3d4a5c!important}
.hm-ages a{padding:22px 4px!important}
.hm-ages a strong{font-size:clamp(24px,2.6vw,34px)}
.a-bg{object-position:55% 70%}
main p a:not([class]),main li a:not([class]),.fine a,.hm-note a,article p a,footer p a{text-decoration:underline!important;text-underline-offset:2px}
.pg-hero .bnc-direct p,.page-hero .bnc-direct p{color:#0E2540!important}
.pg-hero .bnc-direct a,.page-hero .bnc-direct a{color:#016a94!important}
body.rf footer .legal-foot a,body footer .legal-foot p a{text-decoration:underline!important}
.hm-hero.a-hero{padding:0!important;margin:0!important}
/* A4: shorter hero */
.a-hero{min-height:58vh!important}
.a-in{padding:56px 0 36px!important}
.a-in h1{font-size:clamp(34px,4.4vw,62px)!important;max-width:16ch;margin-bottom:14px}
.a-lede{margin-bottom:20px}
.a-trust{margin-top:22px;padding-top:16px}
/* A4: program catalog */
.cat{background:#fff}
.cat-sub{color:#3d4a5c;font-size:18px;margin:14px 0 8px}
.cat-loc{margin-top:40px}
.cat-loc-h{font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:18px!important;color:#0E2540!important;border-left:4px solid #029bd8;padding-left:12px;margin:0 0 6px}
.cat-loc-sub{color:#3d4a5c;margin:0 0 6px;font-size:15px}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:16px}
.cat-card{display:flex;flex-direction:column;border-top:3px solid #0E2540;background:#fff}
.cat-ph{aspect-ratio:4/3;overflow:hidden;background:#E8EEF5}
.cat-ph img{width:100%;height:100%;object-fit:cover;display:block}
.cat-prod img{object-fit:contain;background:#fff}
.cat-ph-none{display:flex;align-items:flex-end;background:linear-gradient(180deg,#14345a,#0E2540)}
.cat-ph-none span{color:#fff;font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px;padding:16px;border-left:4px solid #029bd8;margin:0 0 16px 16px}
.cat-body{padding:16px 0 0;display:flex;flex-direction:column;gap:8px;flex:1}
.cat-body h4{font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;text-transform:uppercase;font-size:22px;color:#0E2540;margin:0}
.cat-body p{color:#3d4a5c;margin:0;font-size:16px}
.cat-btn{margin-top:auto;align-self:flex-start;background:#0E2540;color:#fff!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:13px;padding:12px 18px;text-decoration:none}
.cat-btn:hover{background:#029bd8;color:#0E2540!important}
.nw{white-space:nowrap}
@media (max-width:900px){.cat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
.a-hero{min-height:0!important}
.a-bg{height:180px!important}
.a-in{padding:4px 0 24px!important}
.a-in h1{font-size:32px!important;line-height:.98!important;margin-bottom:10px}
.a-lede{font-size:16px;margin-bottom:16px}
.a-kick{margin-bottom:12px}
.a-btn{padding:14px 24px}
.a-trust{margin-top:16px;padding-top:12px;gap:8px 18px}.a-trust li{font-size:13px}.a-trust img{width:36px;height:36px}
.cat-grid{grid-template-columns:1fr;gap:28px}
}
section#programs.cat{background:#fff!important}
body .photo-band.pb-single .inner{grid-template-columns:minmax(0,460px)!important;justify-content:center}body .photo-band.pb-single img{height:auto!important;object-fit:contain!important}

/* A6 camps photo */
.camp-photo{margin:2rem 0 0;border-radius:6px;overflow:hidden;aspect-ratio:21/9;background:#0E2540}
.camp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}
@media(max-width:700px){.camp-photo{aspect-ratio:3/2;margin-top:1.5rem}}

/* A6 shop stringing options */
.str-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 16px}
.str-opt{border:1px solid #c9d6e6;border-left:4px solid #0E2540;border-radius:6px;padding:14px 16px;background:#fff}
.str-opt+.str-opt{border-left-color:#029bd8}
.str-opt-h{font-size:17px!important;margin:0 0 6px!important;color:#0E2540!important}
.str-opt p{margin:0 0 6px;color:#1f2d3d;font-size:15px}
.str-price strong{font-size:22px;color:#0E2540}
.str-mem{font-size:14px!important;color:#3b4b5e!important}
@media(max-width:800px){.str-opts{grid-template-columns:1fr}}

/* A7 catalog */
.cat-loc-h{font-size:clamp(24px,2.6vw,32px)!important;letter-spacing:.04em!important;line-height:1.15!important;border-left-width:6px!important;padding-left:14px!important;margin:0 0 12px!important}
.cat-loc{margin-top:44px}
.cat-ph.cat-flyer{background:#0E2540}
.cat-ph.cat-flyer img{object-fit:contain}
@media(max-width:700px){.cat-loc-h{font-size:24px!important}.cat-loc{margin-top:32px}}
/* A7 age hubs */
.hub-hero{background:#0E2540;color:#fff;padding:64px 0 48px}
.hub-hero .hm-wrap{max-width:1220px;width:90%;margin:0 auto}
.hub-kick{font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:#fff;border-left:4px solid #029bd8;padding-left:10px;margin:0 0 14px}
.hub-hero h1{color:#fff!important;font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;text-transform:uppercase;font-size:clamp(40px,6vw,80px)!important;line-height:.95!important;margin:0 0 16px}
.hub-line{color:#E8EEF5;font-size:19px;max-width:40ch;margin:0}
.hub-sec{padding:56px 0 64px}
.hub-sec .hm-wrap{max-width:1220px;width:90%;margin:0 auto}
.hub-h2{font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;text-transform:uppercase;color:#0E2540!important;font-size:clamp(24px,2.6vw,32px)!important;border-left:6px solid #029bd8;padding-left:14px;margin:0 0 8px}
.hub-h{font-family:'Archivo',sans-serif;font-stretch:115%;font-weight:800;text-transform:uppercase;font-size:22px!important;color:#0E2540!important;margin:0!important}
.hub-town{font-size:15px!important}
.hub-btns{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.hub-btns .cat-btn{margin-top:0}
.hub-back{margin-top:40px}
.hub-back a{color:#0E2540;font-weight:700;text-decoration:underline}
@media(max-width:700px){.hub-hero{padding:40px 0 32px}.hub-line{font-size:17px}}
