
:root{--navy:#082f49;--blue:#0e7490;--aqua:#67e8f9;--foam:#f2fbfd;--sand:#f7f1e5;--ink:#17324d;--muted:#60758a;--line:#d9e9ee;--white:#fff;--sun:#f4bd62}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.68;background:#fff}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}
nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.navin{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:850;letter-spacing:-.03em;display:flex;gap:11px;align-items:center}.mark{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8cf2ff 0 10%,transparent 11%),linear-gradient(145deg,#16a3c3,#073b59);box-shadow:inset 0 0 0 5px rgba(255,255,255,.15)}.links{display:flex;gap:18px;align-items:center;font-size:.92rem}.links a{text-decoration:none;color:#47657a}.links a:hover,.links a.active{color:var(--blue);font-weight:750}
.hero{background:linear-gradient(135deg,#effbfd,#fff 56%,#f8f2e8);padding:76px 0}.hero-grid,.split{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:850;font-size:.78rem;color:var(--blue)}h1,h2,h3{line-height:1.1;letter-spacing:-.035em;margin:0 0 17px}h1{font-size:clamp(3rem,7vw,6.4rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.35rem}.lead{font-size:1.22rem;color:#4f6c80;max-width:760px}.btn{display:inline-flex;padding:12px 19px;border-radius:999px;text-decoration:none;font-weight:780;border:1px solid var(--navy);margin:8px 8px 0 0}.primary{background:var(--navy);color:#fff}.secondary{background:#fff}.hero-photo{border-radius:30px;overflow:hidden;box-shadow:0 20px 55px rgba(8,47,73,.15);position:relative}.hero-photo img{width:100%;height:540px;object-fit:cover}.caption{font-size:.84rem;color:var(--muted)}
section{padding:82px 0}.soft{background:var(--foam)}.sand{background:var(--sand)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:26px}.card.photo{padding:0;overflow:hidden}.card.photo img{height:260px;width:100%;object-fit:cover}.card.photo .copy{padding:22px}.tag{display:inline-block;padding:5px 10px;border-radius:999px;background:#e9f8fb;color:var(--blue);font-size:.75rem;font-weight:850;margin-bottom:10px}.stat{font-size:2.5rem;font-weight:900;color:var(--navy);letter-spacing:-.05em}.quote{font-size:1.55rem;line-height:1.5;max-width:900px}.timeline{border-left:2px solid #b9dce4;margin-left:10px;padding-left:34px}.time{position:relative;margin:0 0 34px}.time:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:var(--blue);left:-44px;top:5px;border:4px solid #e6f7fa}.year{font-size:.82rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:24px}.gallery-side{display:grid;gap:18px}.gallery-side img{height:260px}
.species{font-size:3.6rem;margin-bottom:12px}.rule{border-left:5px solid var(--sun)}.resource{display:flex;gap:14px;align-items:flex-start}.resource b{color:var(--navy)}
footer{background:#062f3f;color:#d8eef4;padding:48px 0}.foot{display:grid;grid-template-columns:1.4fr 1fr;gap:34px}.foot a{color:#fff}.small{font-size:.86rem;color:#708699}.foot .small{color:#aac5ce}
.pagehead{padding:74px 0 48px;background:linear-gradient(180deg,#effbfd,#fff)}.pagehead h1{font-size:clamp(2.8rem,6vw,5.3rem);max-width:900px}.crumb{font-size:.86rem;color:var(--blue);font-weight:750;margin-bottom:14px}
.note{background:#fff8ea;border:1px solid #efd7a9;border-radius:18px;padding:17px 20px}.pillnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.pillnav a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fff}
@media(max-width:900px){.links{display:none}.hero-grid,.split,.grid3,.grid2,.foot,.gallery{grid-template-columns:1fr}.hero-photo img{height:430px}.gallery-side{grid-template-columns:1fr 1fr}.gallery-side img{height:230px}}@media(max-width:560px){section{padding:58px 0}.hero{padding:48px 0}.gallery-side{grid-template-columns:1fr}.hero-photo img{height:390px}}

.activity-hero{background:linear-gradient(135deg,#eefdff,#fff7e8);padding:70px 0}
.schedule{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.session{border:1px solid var(--line);border-radius:22px;background:#fff;padding:22px}
.session .num{font-size:.75rem;font-weight:900;color:var(--blue);letter-spacing:.12em;text-transform:uppercase}
.session .meta{font-size:.9rem;color:var(--muted)}
.formbox{max-width:820px;margin:auto;border:1px solid var(--line);border-radius:26px;padding:30px;background:#fff}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-weight:750;margin-bottom:7px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #c8dbe1;border-radius:12px;font:inherit;background:#fff}
textarea{min-height:120px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:6px}
.noticebar{background:#fff8ea;border:1px solid #efd7a9;border-radius:16px;padding:16px 18px}
.past-placeholder{border:2px dashed #cbdfe5;border-radius:22px;padding:32px;text-align:center;background:#fbfeff}
@media(max-width:900px){.schedule{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}}
@media(max-width:560px){.schedule{grid-template-columns:1fr}}

.kid-hero{background:linear-gradient(135deg,#dff9ff 0%,#fff 48%,#fff3c9 100%);padding:72px 0}
.kid-hero h1{font-size:clamp(3.2rem,7vw,6rem)}
.fun-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fun-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:0 8px 24px rgba(8,47,73,.05)}
.fun-icon{font-size:2.8rem;margin-bottom:10px}
.big-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:#fff;border-radius:30px;padding:34px}
.big-cta .btn{background:#fff;color:var(--navy);border-color:#fff;white-space:nowrap}
.where-card{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.where-map{background:linear-gradient(145deg,#d9f4f8,#f9e9b9);min-height:280px;border-radius:26px;display:grid;place-items:center;padding:24px;text-align:center}
.where-pin{font-size:4rem}
.kid-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.kid-list div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.parent-note{font-size:.93rem;color:var(--muted)}
@media(max-width:900px){.fun-grid{grid-template-columns:1fr 1fr}.where-card{grid-template-columns:1fr}.big-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.fun-grid,.kid-list{grid-template-columns:1fr}}

/* V5 Ocean Club */
.ocean-link{background:#fff0b8!important;color:#08334a!important;padding:9px 14px;border-radius:999px;font-weight:900!important}
.club-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#dffaff 0%,#f9feff 48%,#fff0b9 100%);padding:72px 0}
.club-hero:before,.club-hero:after{content:"";position:absolute;border-radius:50%;opacity:.28;pointer-events:none}
.club-hero:before{width:240px;height:240px;background:#5dd5e9;right:7%;top:-90px}
.club-hero:after{width:150px;height:150px;background:#ffd36c;left:42%;bottom:-85px}
.club-badge{display:inline-block;background:#fff;border:1px solid #cce9ee;border-radius:999px;padding:8px 13px;font-weight:900;color:#0e7490;margin-bottom:16px}
.club-title{font-size:clamp(3.4rem,7.5vw,6.8rem);line-height:.94}
.club-points{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:24px 0}
.club-point{background:rgba(255,255,255,.86);border:1px solid #d9edf1;border-radius:18px;padding:13px 15px;font-weight:800}
.join-btn{font-size:1.08rem;padding:14px 22px;background:#073b59;color:#fff;border-radius:999px;text-decoration:none;font-weight:900;display:inline-block}
.club-section-title{text-align:center;max-width:780px;margin:0 auto 34px}
.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.challenge{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;position:relative;overflow:hidden}
.challenge .emoji{font-size:3.4rem;line-height:1;margin-bottom:16px}
.challenge .question{font-weight:900;color:#0e7490;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.challenge h3{margin-top:8px}
.club-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.club-fact{background:#fff;border-radius:22px;padding:20px;border:1px solid var(--line);text-align:center}
.club-fact .emoji{font-size:2.4rem}
.club-fact b{display:block;font-size:1.05rem;margin-top:8px}
.ocean-callout{background:linear-gradient(135deg,#073b59,#0e7490);color:#fff;border-radius:34px;padding:38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}
.ocean-callout p{color:#d7f3f7}.ocean-callout .join-btn{background:#fff;color:#073b59;white-space:nowrap}
.kid-photo{border-radius:30px;overflow:hidden;transform:rotate(1.2deg);box-shadow:0 18px 45px rgba(8,47,73,.15)}
.kid-photo img{height:530px;width:100%;object-fit:cover}
.home-club-banner{background:linear-gradient(110deg,#e3fbff,#fff4c8);border-top:1px solid #d6edf0;border-bottom:1px solid #e7dfbf}
.home-club-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px}
@media(max-width:900px){.challenge-grid,.club-facts{grid-template-columns:1fr 1fr}.ocean-callout,.home-club-inner{grid-template-columns:1fr}.club-points{grid-template-columns:1fr}.kid-photo img{height:430px}}
@media(max-width:560px){.challenge-grid,.club-facts{grid-template-columns:1fr}.club-title{font-size:3.4rem}}
