.program-menu{position:relative}.program-menu summary{list-style:none;cursor:pointer;font-size:1rem;font-weight:800;min-height:44px;display:flex;align-items:center;gap:.5rem}.program-menu summary::marker{content:''}.program-menu-indicator{display:grid;place-items:center;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;border:1px solid #337da9;border-radius:6px;background:#102a3b;color:#a6e0ff;transition:background .15s ease,border-color .15s ease,color .15s ease}.program-menu-indicator svg{width:1.1rem;height:1.1rem;stroke:currentColor;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}.program-menu summary:hover .program-menu-indicator{background:#173d55;border-color:#8bd3ff}.program-menu[open] .program-menu-indicator{background:#078ee0;border-color:#6ecaff;color:#07121d}.program-menu[open] .program-menu-indicator svg{transform:rotate(180deg)}.program-menu summary:focus-visible{outline:2px solid #8bd3ff;outline-offset:5px;border-radius:4px}.program-menu summary::-webkit-details-marker{display:none}.program-menu-links{position:absolute;top:100%;left:0;width:15rem;background:#080d13;border:1px solid #3e5668;box-shadow:0 12px 28px #0005;padding:.5rem}.program-menu-links a{display:block;padding:.85rem;font-size:.95rem;border-bottom:1px solid #293844}.program-menu-links a:last-child{border-bottom:0}.program-menu-links a:hover{background:#152b3b}.hero-note a{text-decoration:underline;text-underline-offset:.2em}.membership-card li a,.section-title-row a{color:#0065ad;text-decoration:underline}.membership-card.primary li a{color:#7bcaff}.program-card .text-link{margin-top:.75rem;color:#8bd3ff}.program-page{background:#080d13}.program-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:36rem;border-bottom:1px solid #263542}.program-intro{padding:clamp(2rem,6vw,6rem);align-self:center;min-width:0}.program-intro h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:1;max-width:16ch}.program-intro .lede{max-width:38rem;margin:1.5rem 0}.program-hero figure{margin:0;min-width:0;min-height:26rem}.program-hero img{display:block;width:100%;height:100%;object-fit:cover}.program-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.program-meta span{padding:.55rem .8rem;background:#122b3d;color:#cbeaff;border:1px solid #2d526b;border-radius:3px;font-size:.95rem}.program-price{font-size:1.2rem;color:#e0eaf2;line-height:1.65}.program-policy{font-size:.95rem;max-width:42rem;color:#bbc9d3;line-height:1.65;margin:1rem 0}.program-policy a,.program-body a,.terms-page a{color:#0065ad;text-decoration:underline;text-underline-offset:.2em}.program-intro a:not(.button){color:#8bd3ff}.program-body{background:#f5f7fa;color:#17212c;padding:clamp(2rem,6vw,5rem) clamp(1.2rem,6vw,6rem)}.program-content{max-width:80rem;margin:auto}.program-content h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1}.program-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 3rem}.program-benefits article{padding:1.5rem;background:#fff;border-top:3px solid #078ee0;min-width:0}.program-benefits h3{font-size:1.25rem;margin:0 0 .7rem}.program-benefits p{color:#526170;line-height:1.7;margin:0}.program-schedule{margin:2rem 0 3rem}.program-schedule .schedule-day{background:#fff;grid-template-columns:minmax(12rem,.24fr) minmax(0,1fr)}.program-schedule .day-name{background:#102a3b;color:#fff;border-left:4px solid #078ee0;padding:1.25rem;flex-wrap:wrap;gap:.35rem .75rem}.program-schedule .day-name strong{font-family:var(--sans);font-size:clamp(1.2rem,1.6vw,1.35rem);font-weight:900;line-height:1.35;letter-spacing:.025em}.program-schedule .day-name span{color:#b9dfff;font-size:.875rem}.program-schedule>p{padding:1.25rem;border-left:4px solid #078ee0;background:#102a3b;color:#fff;font-weight:700}.program-schedule .class-time,.program-schedule .class-name{color:#17212c}.program-section{padding-top:2rem;margin-top:2rem;border-top:1px solid #c7d1da}.program-section>p{max-width:65rem;color:#526170;line-height:1.75}.program-faq details{border-bottom:1px solid #c7d1da;padding:1rem 0}.program-faq summary{cursor:pointer;font-size:1.05rem;font-weight:800;min-height:44px;display:flex;align-items:center}.program-faq p{max-width:65rem;color:#526170;line-height:1.75}.program-visit-list{padding-left:1.5rem;line-height:1.85;color:#526170}.program-related{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}.program-related a{padding:.8rem 1rem;background:#fff;border:1px solid #b8c9d6;min-height:44px}.program-enquiry{padding:clamp(2rem,6vw,5rem) clamp(1.2rem,6vw,6rem);background:#080d13}.program-enquiry>div{max-width:80rem;margin:auto}.program-enquiry h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1}.program-enquiry>div>p{max-width:40rem;color:#c7d0d8}.program-enquiry .enquiry-panel{max-width:44rem}.terms-page{background:#f5f7fa;color:#17212c}.terms-content{max-width:56rem;margin:auto;padding:3rem 1.2rem 5rem}.terms-content h1{font-size:clamp(2.5rem,6vw,4rem);line-height:1.1}.terms-content section{padding:1.5rem 0;border-top:1px solid #c7d1da}.terms-content h2{font-size:1.5rem;line-height:1.25}.terms-content p,.terms-content li{line-height:1.75}.terms-version{font-size:.9rem;color:#526170}.cancellation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cancellation-grid article{padding:1.2rem;background:#fff;border:1px solid #c7d1da}.cancellation-grid h3{font-size:1.1rem}.cancel-form label{display:grid;gap:.5rem;margin:1.2rem 0;font-weight:700}.cancel-form input,.cancel-form textarea{width:100%;padding:.85rem;font:inherit;background:#fff;color:#17212c;border:1px solid #667f91;border-radius:3px}.cancel-form .consent-row{display:flex;align-items:flex-start;gap:.7rem;font-weight:400}.cancel-form .consent-row input{width:1.2rem;height:1.2rem;flex:0 0 auto;margin-top:.15rem}.cancel-form .button{cursor:pointer}.cancel-form .button:disabled{opacity:.6;cursor:wait}.cancel-form [hidden]{display:none!important}.cancel-receipt{padding:1rem;background:#e4f0f8;overflow-wrap:anywhere}.program-body .button-dark{color:white;text-decoration:none}.terms-page>footer,.terms-page>.site-header{color:#f5f7fa}.terms-page footer a{color:#c7d0d8}
.terms-page>.site-header a{color:#d7dee5}.terms-page>.site-header a:hover{color:#8bd3ff}.terms-page>.site-header .button-blue{color:#05070a}
@media(max-width:960px){.program-menu summary{padding:.8rem 0}.program-menu-links{position:static;width:auto;box-shadow:none;border:0;border-left:2px solid #168fda;padding:0 .75rem;margin-bottom:.5rem}.program-menu-links a{font-size:.95rem}.program-hero{grid-template-columns:1fr}.program-hero figure{min-height:0;height:22rem}.program-benefits{grid-template-columns:1fr}.program-intro{padding:3rem 1.2rem}.program-intro h1{font-size:clamp(2.8rem,8vw,4.5rem)}}
@media(max-width:560px){.program-hero figure{height:17rem}.program-related{display:grid}.cancellation-grid{grid-template-columns:1fr}.program-meta{display:grid;grid-template-columns:1fr}.program-policy{font-size:1rem}.program-intro .button{width:100%}}

@media(prefers-reduced-motion:reduce){.program-menu-indicator,.program-menu-indicator svg{transition:none}}
