:root{--forest:#005441;--deep:#003b30;--lime:#b2df32;--cream:#fbfaf3;--ink:#153d32;--muted:#5d7167;--line:#dce4db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,select{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #507500;outline-offset:5px}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip{position:absolute;top:-90px;left:20px;z-index:100;background:var(--lime);padding:12px}.skip:focus{top:10px}header{position:sticky;top:0;z-index:30;background:#fbfaf3f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:76px;height:76px;object-fit:contain;border-radius:50%}.brand span{font-size:14px;line-height:1.2;letter-spacing:.01em}.brand strong{font-size:22px}.nav-links{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700}.nav-links a:hover,.text-link:hover{color:#638300}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--forest);color:white;padding:15px 24px;border:1px solid var(--forest);border-radius:8px;font-weight:700;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.small{padding:12px 18px}.button.outline{background:transparent;color:var(--forest)}.button.outline:hover{background:#edf2e8}.intro{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:52px;padding-block:64px 72px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--forest);margin:0 0 20px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(44px,4.7vw,68px);margin-bottom:26px;font-weight:750}h1 em{font-style:normal;color:var(--forest);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:7px;text-underline-offset:9px}h2{font-size:clamp(34px,3.5vw,48px);margin-bottom:22px}h3{font-size:23px;margin-bottom:14px}.lead{font-size:16px;color:var(--muted);max-width:470px}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}.pills span{font-size:11px;font-weight:bold;padding:6px 11px;background:#edf1e7;border-radius:30px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:28px 0}.text-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.quiet{font-size:11px;color:var(--muted)}.hero-photo{margin:0;position:relative;border-radius:22px;overflow:hidden;background:var(--forest)}.hero-photo img{width:100%;height:490px;object-fit:cover;object-position:center}.hero-photo figcaption{position:absolute;bottom:18px;left:18px;right:18px;width:fit-content;background:var(--cream);padding:11px 17px;border-radius:7px;font-size:12px;font-weight:700}.value-band{background:var(--forest);color:var(--cream)}.value-band>.wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;padding-block:22px;font-size:12px;font-weight:600}.value-band span:before{content:'✦';color:var(--lime);margin-right:12px}.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:36px}.section-heading>p{max-width:390px;color:var(--muted);font-size:14px}.section-heading h2{margin-bottom:0}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.activity-grid article{border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden}.activity-grid article>img{width:100%;height:250px;object-fit:cover}.activity-grid article>div{padding:26px}.activity-grid p{font-size:13px;color:var(--muted);margin:0}.number{display:block;font-size:10px;letter-spacing:.15em;font-weight:700;color:#58753e;margin-bottom:17px}.activity-grid .swim-card{background:var(--forest);color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:400px}.swim-card .number{color:var(--lime)}.swim-card h3{font-size:35px;max-width:240px}.activity-grid .swim-card p{color:#dce8dc;margin-bottom:20px}.swim-card .mini{font-size:11px}.wave{height:65px;background:var(--lime);border-radius:70% 80% 0 0;padding:0!important}.pricing-section{background:#eff3e9}.center{text-align:center}.heading{max-width:660px;margin:0 auto 34px}.heading p{color:var(--muted);font-size:14px}.venue{max-width:530px;margin:0 auto 35px}.venue label{display:block;font-size:12px;font-weight:bold;margin-bottom:9px}.venue select{width:100%;padding:14px;background:var(--cream);border:1px solid #a8bdac;border-radius:8px;color:var(--ink);font-size:14px}.venue p{font-size:11px;color:var(--muted);margin:9px 0}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:950px;margin:auto}.price{padding:35px;background:var(--cream);border:1px solid #cad6c8;border-radius:17px;display:flex;flex-direction:column}.price.featured{border:2px solid var(--forest)}.tag{display:block;width:fit-content;background:var(--lime);color:var(--deep);padding:6px 10px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.09em;margin-bottom:25px}.tag.pale{background:#e7eddf}.price h3{font-size:25px}.amount{font-size:52px;font-weight:750;letter-spacing:-.055em;line-height:1.3;margin-bottom:18px}.amount span{font-size:14px;letter-spacing:0;font-weight:400;margin-left:8px}.price>p{font-size:13px;color:var(--muted)}.price ul{padding:0;list-style:none;flex:1;font-size:13px;margin:12px 0 30px}.price li{padding:9px 0;border-bottom:1px solid var(--line)}.price li:before{content:'✓';color:var(--forest);font-weight:bold;margin-right:10px}.price .fine{font-size:10px;margin:13px 0 0}.session-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.session-row>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}.session-list article{display:flex;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.session-list article:first-child{padding-top:0}.day{width:52px;height:58px;border-radius:8px;background:#e8efde;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.session-list h3{font-size:20px;margin:0 0 7px}.session-list p{font-size:12px;color:var(--muted);margin:2px 0}.session-list a{margin-left:auto;font-size:26px;padding:8px}.team-section{background:#eaf0e3}.team-grid{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center}.team-image{max-width:420px;margin:auto}.team-image img{width:100%;height:auto;border-radius:16px}.team-grid p:not(.eyebrow){font-size:14px;color:var(--muted)}.team-names{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.team-names>div{padding-bottom:12px;border-bottom:1px solid #c9d7c3}.team-names h3{font-size:23px;margin:0 0 5px}.team-names p{margin:0;font-size:12px!important}.gallery{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:20px}.gallery figure{margin:0}.gallery img{width:100%;height:330px;object-fit:cover;border-radius:13px}.gallery figure:first-child img{object-position:center 50%}.gallery figcaption{font-size:11px;color:var(--muted);margin-top:10px}.faq-section{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.faq-grid>div>p{font-size:14px;color:var(--muted);max-width:310px}details{border-bottom:1px solid #cbd7ca;padding:20px 0}details:first-child{padding-top:0}summary{font-weight:bold;font-size:14px;cursor:pointer}details p{font-size:13px;color:var(--muted);margin:14px 0 0}details a{text-decoration:underline}.closing{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--lime);padding:45px 48px;border-radius:19px;margin-bottom:70px}.closing h2{margin-bottom:0}.closing .eyebrow{font-size:9px}footer{background:var(--deep);color:var(--cream);padding:50px 0 22px}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:35px}.footer-top>div{display:flex;flex-direction:column;gap:10px;font-size:12px}.footer-top .brand span{font-size:12px}.footer-bottom{border-top:1px solid #ffffff25;padding-top:20px;display:flex;justify-content:space-between;gap:24px;font-size:10px;color:#bfd0c3}@media(min-width:1500px){.hero-photo img{height:530px}}@media(max-width:980px){.nav-links{gap:15px;font-size:11px}.brand span{display:none}.intro{gap:26px}.hero-photo img{height:430px}.activity-grid article>img{height:200px}.team-grid{gap:40px}.section{padding-block:65px}}@media(max-width:720px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.navigation{min-height:82px}.brand img{width:62px;height:62px}.brand span{display:block}.brand strong{font-size:19px}.menu-toggle{display:block;border:1px solid #bacdbb;border-radius:7px;padding:8px 12px;background:transparent;color:var(--forest);font-size:12px}.nav-links{display:none;position:absolute;left:0;right:0;top:82px;background:var(--cream);padding:22px;box-shadow:0 14px 20px #003b3015;font-size:14px}.nav-links.open{display:flex;flex-direction:column;align-items:stretch}.intro{grid-template-columns:1fr;padding-block:36px 30px;gap:26px}h1{font-size:48px;max-width:500px}.lead{font-size:15px}.hero-photo img{height:auto;aspect-ratio:4/3}.hero-photo figcaption{font-size:11px}.intro-copy>.quiet{margin-bottom:0}.value-band>.wrap{grid-template-columns:1fr 1fr;font-size:10px;gap:12px;padding-block:18px}.value-band span:before{margin-right:6px}.section{padding-block:55px}.section-heading{display:block}.section-heading>p{margin:20px 0 0}.activity-grid,.price-grid,.session-row,.team-grid,.faq-grid{grid-template-columns:1fr}.activity-grid article>img{height:250px}.activity-grid .swim-card{min-height:290px}.price{padding:26px}.price-grid{gap:18px}.session-row{gap:20px}.team-grid{gap:30px}.team-image{max-width:380px;order:2}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:270px}.gallery figure:first-child img{height:350px}.faq-grid{gap:22px}.closing{padding:28px;display:block;margin-bottom:45px}.closing h2{font-size:33px;margin-bottom:25px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>.brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Preserve the complete group photo without cropping children at the edges. */
.hero-photo img{height:auto;aspect-ratio:4/3;object-fit:contain}

/* October update: equally prominent booking options and recent club photos. */
.price{border:2px solid var(--forest)}.price .tag{background:var(--lime)}
.actions{align-items:stretch;gap:12px}.actions .button{flex:1;min-width:190px}
.hero-photo img{aspect-ratio:3/4;max-height:590px;object-fit:contain}
.activity-grid .swim-card{min-height:0}.swim-card h3{font-size:28px}.swim-card .number{margin-bottom:14px}
.gallery img{height:330px;object-fit:contain;background:#eaf0e3}
.boxing-promo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;border-top:1px solid var(--line)}.boxing-promo>img{width:100%;border-radius:16px}.boxing-promo .fine{font-size:12px;margin-top:14px;color:var(--muted)}
.closing-actions{display:flex;flex-direction:column;gap:12px}
@media(max-width:720px){.boxing-promo{grid-template-columns:1fr;gap:28px}.hero-photo img{max-height:none}.gallery img,.gallery figure:first-child img{height:auto;max-height:430px;object-fit:contain}.actions .button{width:100%;flex:auto}.closing-actions .button{width:100%}}

.home-hoodie-visual{position:relative;aspect-ratio:1.4;overflow:hidden;width:100%;background:#e7e7e7}.boxing-promo .home-hoodie-visual img{position:absolute;top:-17.5%;width:100%;height:auto;max-height:none;object-fit:initial}

@media (min-width: 721px) {
  .navigation .nav-links {
    flex: 1;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px 18px;
    padding-block: 16px;
    font-size: 12px;
  }
  .navigation .nav-links a {
    white-space: nowrap;
  }
}

.team-grid { align-items: start; }
.team-names { grid-template-columns: 1fr; gap: 24px; }
.team-names p + p { margin-top: 10px; }
.reel-controls { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 18px; }
.reel-controls[hidden] { display: none; }
.reel-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 20px; }
.reel-track figure { flex: 0 0 min(78vw, 370px); margin: 0; scroll-snap-align: start; }
.reel-track img { width: 100%; height: 380px; object-fit: cover; border-radius: 13px; }
.reel-track figcaption { font-size: 12px; margin-top: 10px; color: var(--muted); }
.reel-track:focus-visible { outline: 3px solid #507500; outline-offset: 5px; }
@media (max-width: 720px) {
  .reel-track img { height: 330px; }
  .reel-controls .button { padding: 10px 15px; }
}

/* Keep complete session photos visible in the gallery. */
.reel-track img {
  object-fit: contain;
  background: #edf1e7;
  filter: brightness(1.04) contrast(1.03);
}
