.swimming{--bg:#eaf6ef;--fg:#103c36;--muted:#3c655e;--accent:#205d50;--line:#b3d4c4;--surface:#d9eee1;color-scheme:light;font-family:"Avenir Next",system-ui,sans-serif}
.swimming .review-bar{background:#d8eddf;color:#164b40}
.swimming .review-bar a{min-height:44px;align-items:center}
.swimming .site-nav{height:78px;border:0}
.swimming .site-nav nav a:hover{color:#103c36;text-decoration:underline}
.swimming .brand{font-weight:800}
.swimming .button{border-radius:100px;background:#143f38;color:#fff;padding:13px 22px}
.swimming .quiet-link{border:0;gap:12px}
.swim-hero{padding:28px 0 58px;display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.swim-copy .availability{margin-bottom:18px;font-size:14px;font-weight:600}
.swim-copy h1{font-size:clamp(37px,10vw,80px);font-weight:800;letter-spacing:-.04em;line-height:1.02}
.swim-copy h1 em{font-style:normal;color:#286655}
.swim-copy .hero-lead{margin:23px 0 0;max-width:32ch;font-size:18px}
.swim-copy .actions{margin-top:25px;gap:15px 22px}
.swim-copy .actions .button{font-size:15px}
.pond-wrap{min-width:0}
.pond{--fish-size:82px;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.3;border-radius:45% 45% 16px 16px;background:#092331;contain:layout paint}
.pond-water{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#2c5861 0,transparent 65%),linear-gradient(#143d4c,#092331 66%)}
.water-light{position:absolute;inset:0;opacity:.4;background:linear-gradient(115deg,transparent 18%,#91c9b222 19%,transparent 25%,transparent 52%,#91c9b21a 53%,transparent 62%);pointer-events:none}
.pond-name{position:absolute;left:0;right:0;top:12%;font-size:clamp(58px,16vw,140px);font-weight:800;line-height:1;text-align:center;letter-spacing:-.04em;color:#c4e2d1;pointer-events:none}
.pond-name .dot{background:#93f2c5}
.pond-subtitle{position:absolute;top:43%;left:15%;right:15%;color:#c7e0d9;text-align:center;font-size:14px;pointer-events:none}
.pond-ground{position:absolute;bottom:-12%;width:130%;left:-15%;height:35%;background:#123c40;border-radius:50% 48% 0 0;transform:rotate(-7deg);pointer-events:none}
.pond-ground:after{content:"";position:absolute;inset:20% -10% -10%;border-radius:50%;background:#1d4c47;transform:rotate(13deg)}
.sea-stem{position:absolute;bottom:10%;width:12px;border:2px solid #478171;border-width:0 0 0 3px;border-radius:50%;pointer-events:none;transform-origin:bottom;opacity:.8}
.stem-one{height:62px;left:10%;transform:rotate(-18deg)}.stem-two{height:90px;left:14%;transform:rotate(12deg)}.stem-three{height:42px;left:18%;transform:rotate(24deg)}.stem-four{height:63px;right:9%;transform:rotate(25deg)}
.water-specks{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 14% 30%,#abd1c3 1px,transparent 2px),radial-gradient(circle at 87% 27%,#abd1c3 1px,transparent 2px),radial-gradient(circle at 74% 66%,#abd1c3 1px,transparent 2px),radial-gradient(circle at 26% 61%,#abd1c3 1px,transparent 2px),radial-gradient(circle at 60% 78%,#abd1c3 1px,transparent 2px),radial-gradient(circle at 85% 47%,#abd1c3 1px,transparent 2px);opacity:.5}
.swim-ocean{--fish-size:82px;position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none;contain:layout paint}
.swim-ocean[hidden]{display:none}
.swimmer{position:absolute;top:0;left:0;width:var(--fish-size);aspect-ratio:256/160;transform:translate(90px,145px);pointer-events:none;z-index:2;filter:drop-shadow(0 3px 3px #103c3624)}
.swim-ocean[data-phase="dashing"] .fish-tail{animation-duration:.16s}
.fish-heading,.fish-sprite{width:100%;height:100%;position:relative}
.fish-sprite{transition:transform 280ms ease-in-out}
.fish-sprite img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fish-tail{transform-origin:29.3% 50%;animation:fin .5s ease-in-out infinite alternate}
.swim-ocean[data-running="false"] .fish-tail{animation-play-state:paused}
.guide-gulp{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;padding:0;z-index:3;touch-action:pan-y;cursor:crosshair}
.guide-gulp:focus-visible{outline:3px solid #93f2c5;outline-offset:-7px}
.water-target{position:absolute;left:0;top:0;width:32px;height:32px;border:1px solid #286655;border-radius:50%;opacity:0;pointer-events:none;background:#93f2c526}
.water-target.shown{opacity:.7}
.pond-controls{margin-top:14px;font-size:14px;color:#315e53}
.pond-controls p{max-width:36ch;line-height:1.4;color:#315e53}
.swim-controls-dock{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;pointer-events:none}
.swim-toggle{border:1px solid #a1c6b1;background:#eaf6ef;border-radius:100px;min-height:44px;padding:9px 16px;font-size:13px;font-weight:650;white-space:nowrap;pointer-events:auto;box-shadow:0 4px 14px #103c361a}
.swim-toggle:hover{background:#d4ebdd}
.art-credit{color:#41665b;font-size:12px;line-height:1.5;margin-top:10px;max-width:52ch}
.swimming .section{padding:68px 0}
.swimming h2{font-size:clamp(37px,7vw,61px);font-weight:750;max-width:13ch;line-height:1.06}
.swimming .section-title{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:35px}
.swimming .section-title p{font-size:18px;max-width:40ch}
.swimming .mode-section{grid-template-columns:1fr;gap:34px}
.swimming .mode-mark{color:#2b6956;font-weight:500}
.swimming .hazards{grid-template-columns:1fr;gap:0}
.swimming .hazard{display:grid;grid-template-columns:82px 1fr;gap:18px;border-top:1px solid #b3d4c4;padding:24px 0;align-items:center}
.swimming .hazard-art{height:104px;margin:0}.swimming .hazard h3{font-size:22px}
.swimming .hazard p:not(.hazard-hook),.swimming .hazard-hook{font-size:16px;line-height:1.5}
.swimming .screen-gallery{max-width:900px;gap:18px}
.swimming .screen-gallery .capture{padding:6px;background:#183e38;border-radius:22px}
.swimming .screen-gallery .shot{border:0;border-radius:16px}
.swimming .screen-gallery figcaption{padding:0 9px 8px;color:#e2f0e9}
.swimming .film-section{grid-template-columns:1fr;gap:30px}
.swimming .film-section video{max-width:300px;border:6px solid #183e38;border-radius:22px}
.swimming .film-section p{font-size:18px}
.swimming .peel-section{grid-template-columns:1fr;gap:30px}
.swimming .peel-copy h2{font-size:60px}.swimming .peel-copy h3{font-size:29px}
.swimming .peel-section .shot{border-radius:16px}
.swimming .note{font-size:14px}
.swimming footer{padding-bottom:max(95px,calc(env(safe-area-inset-bottom) + 75px))}
.swimming .lightbox{background:#eaf6ef;color:#103c36}.swimming .close-shot{color:#103c36}
@keyframes fin{from{transform:rotate(-6deg) scaleY(.92)}to{transform:rotate(7deg) scaleY(1.03)}}
@media(min-width:720px){.swim-hero{grid-template-columns:1fr 1.05fr;gap:7%;padding:54px 0 76px}.swim-copy h1{font-size:clamp(54px,6.5vw,84px);max-width:11ch}.pond{--fish-size:100px;aspect-ratio:1.04}.pond-name{font-size:clamp(100px,12vw,160px)}.swimming .mode-section{grid-template-columns:1fr 1.1fr;gap:10%}.swimming .section-title{grid-template-columns:1fr 1fr;gap:12%}.swimming .section-title p{margin-top:8px}.swimming .hazards{grid-template-columns:1fr 1fr;gap:0 6%}.swimming .hazard:last-child{grid-column:1/-1;max-width:560px}.swimming .section{padding:94px 0}.swimming .film-section{grid-template-columns:1fr 300px;gap:12%}.swimming .peel-section{grid-template-columns:1fr 1.3fr;gap:9%}}
@media(max-width:360px){.swim-hero{padding-top:25px;gap:25px}.swim-copy h1{font-size:37px}.swim-copy .hero-lead{font-size:17px}.swim-copy .actions{gap:12px}.swim-copy .actions .button{font-size:14px;padding:13px 16px}.swim-copy .actions .quiet-link{font-size:14px}.pond{--fish-size:72px}.pond-controls{font-size:12px}.swim-toggle{font-size:12px;padding-inline:10px}.swimming .hazard{grid-template-columns:68px 1fr;gap:14px}.swimming .review-bar{gap:9px;padding-inline:4.5%}.swimming .review-bar>span{max-width:58%}}
@media(prefers-reduced-motion:reduce){.fish-tail{animation:none}.swimming{scroll-behavior:auto}}
@media(min-width:720px){.swim-ocean{--fish-size:96px}}
@media(max-width:360px){.swim-ocean{--fish-size:72px}}
