.swim-page{--lake:#2f7fb5}.swim-hero{color:#fff;background:#080808;padding:150px 0 300px;position:relative;overflow:hidden}.swim-hero-grid{z-index:1;grid-template-columns:minmax(0,1fr);display:grid;position:relative}.swim-hero h1{letter-spacing:-.075em;text-transform:uppercase;margin:0;font-size:clamp(4.2rem,9vw,8.6rem);font-weight:950;line-height:.8}.swim-hero h1 em{color:var(--red);font-style:normal}.swim-hero .eyebrow{color:#fff;margin:0 0 26px}.swim-format-photo img,.swim-labours figure img{object-fit:cover;width:100%;height:100%;display:block}.swim-format{color:#111;background:#fff;padding:100px 0;scroll-margin-top:0}.swim-format-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:64px;display:grid}.swim-format h2,.swim-races h2,.swim-labours h2,.swim-faq h2{letter-spacing:-.06em;text-transform:uppercase;margin:0;font-size:clamp(2.6rem,5.2vw,5.2rem);font-weight:950;line-height:.9}.swim-format h2 span,.swim-races h2 span,.swim-labours h2 span,.swim-faq h2 span{color:var(--red)}.swim-format .section-index,.swim-labours .section-index,.swim-faq .section-index{margin-bottom:28px}.swim-rounds{gap:14px;margin:48px 0 0;padding:0;list-style:none;display:grid}.swim-rounds li{background:#faf9f6;border:1px solid #e3e0da;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:18px 20px;display:grid}.swim-round-number{color:var(--lake);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:950}.swim-round-swim{color:#fff;background:var(--lake);letter-spacing:.02em;text-align:center;padding:10px 14px;font-size:15px;font-weight:900}.swim-round-labour{text-align:center;border:1px solid #111;padding:10px 14px;font-size:15px;font-weight:800}.swim-stats{border-top:1px solid #e3e0da;grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 0;display:grid}.swim-stats div{padding:22px 0 0}.swim-stats dt{color:#666;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.swim-stats dd{letter-spacing:-.05em;margin:6px 0 0;font-size:clamp(2rem,4vw,3rem);font-weight:950}.swim-format-photo{aspect-ratio:2/3;border-radius:4px;margin:0;overflow:hidden}.swim-races{color:#fff;background:#080808;padding:100px 0;scroll-margin-top:0}.swim-races .section-index{margin-bottom:28px}.swim-race-list{border-top:1px solid #2a2a2a;margin:48px 0 0;padding:0;list-style:none}.swim-race-list li{border-bottom:1px solid #2a2a2a;grid-template-columns:150px minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:20px 0;display:grid}.swim-race-list time{color:#bdbdbd;white-space:nowrap;font-size:15px;font-weight:800}.swim-race-list strong{font-size:20px;font-weight:900}.swim-race-list strong span{color:#fff}.swim-race-list small{color:#9a9a9a;font-size:13px}.swim-race-list .button{min-height:50px}.swim-none{max-width:720px;margin-top:40px}.swim-none p{color:#cfcfcf;margin:0 0 10px;font-size:19px;line-height:1.55}.swim-none p:first-child{color:#fff;font-size:22px;font-weight:900}.swim-labours{color:#111;background:#fff;padding:100px 0}.swim-labours-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:24px;display:grid}.swim-labours-copy{grid-column:1/-1;margin-bottom:24px}.swim-labours figcaption{color:#fff;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 6px #000000b3;font-size:12px;font-weight:900;position:absolute;bottom:12px;left:14px}.swim-labours-copy p:not(.section-index){color:#333;max-width:520px;margin:28px 0 0;font-size:19px;line-height:1.55}.swim-labours figure{aspect-ratio:2/3;border-radius:4px;margin:0;position:relative;overflow:hidden}.swim-faq{color:#111;background:#f3f1ec;padding:100px 0;scroll-margin-top:0}@media (max-width:1000px){.swim-hero{padding:120px 0 230px}.swim-format-grid{grid-template-columns:1fr;gap:40px}.swim-format-photo{max-width:380px}.swim-race-list li{grid-template-columns:1fr auto;gap:6px 16px}.swim-race-list time,.swim-race-list strong,.swim-race-list small{grid-column:1}.swim-race-list .button{grid-area:1/2/span 3}}@media (max-width:640px){.swim-rounds li{grid-template-columns:1fr 1fr}.swim-round-number,.swim-round-swim{grid-column:1/-1}.swim-format-photo{aspect-ratio:4/5;width:100%;max-width:none}.swim-labours-grid{grid-template-columns:1fr}.swim-labours figure{aspect-ratio:4/5}}.swim-scene{pointer-events:none;height:280px;position:absolute;bottom:0;left:0;right:0}.swim-scene svg{width:100%;height:100%;display:block}.swim-travel{transform:translate(600px)}.swim-upper,.swim-fore,.swim-leg,.swim-head{transform-origin:0 0}.swim-arm-squash{transform:scaleY(.62)}.swim-arm-near{transform:rotate(250deg)}.swim-arm-near-fore{transform:rotate(-40deg)}.swim-arm-far{transform:rotate(80deg)}.swim-float,.swim-splash,.swim-buoy{transform-box:fill-box;transform-origin:50%}.swim-splash{opacity:0}body[data-site-motion=on] .swim-travel{animation:18s linear infinite swim-travel}body[data-site-motion=on] .swim-bob{animation:1.3s ease-in-out infinite alternate swim-bob}body[data-site-motion=on] .swim-upper{animation:1.3s linear infinite swim-stroke}body[data-site-motion=on] .swim-fore{animation:1.3s ease-in-out infinite swim-elbow}body[data-site-motion=on] .swim-arm-far,body[data-site-motion=on] .swim-arm-far-fore{animation-delay:-.65s}body[data-site-motion=on] .swim-leg-a{animation:.42s ease-in-out infinite alternate swim-kick}body[data-site-motion=on] .swim-leg-b{animation:.42s ease-in-out -.21s infinite alternate swim-kick}body[data-site-motion=on] .swim-head{animation:2.6s ease-in-out infinite swim-breathe}body[data-site-motion=on] .swim-splash-hand{animation:.65s ease-out infinite swim-splash}body[data-site-motion=on] .swim-splash-kick{animation:.42s ease-out infinite swim-splash}body[data-site-motion=on] .swim-float{animation:1.6s ease-in-out infinite alternate swim-float}body[data-site-motion=on] .swim-wake{animation:1.3s ease-in-out infinite alternate swim-wake}body[data-site-motion=on] .swim-surface-front path{animation:2.6s linear infinite swim-roll}body[data-site-motion=on] .swim-caustics path{animation:7s linear infinite swim-caustic}body[data-site-motion=on] .swim-caustics path:nth-child(2){animation-duration:9s}body[data-site-motion=on] .swim-caustics path:nth-child(3){animation-duration:6s}body[data-site-motion=on] .swim-buoy{animation:3.2s ease-in-out infinite alternate swim-buoy}body[data-site-motion=on] .swim-buoy-b{animation-delay:-1.4s}@keyframes swim-travel{0%{transform:translate(-340px)}to{transform:translate(1780px)}}@keyframes swim-bob{to{transform:translateY(2.5px)}}@keyframes swim-stroke{0%{transform:rotate(15deg)}20%{transform:rotate(60deg)}40%{transform:rotate(110deg)}52%{transform:rotate(165deg)}70%{transform:rotate(235deg)}85%{transform:rotate(310deg)}to{transform:rotate(375deg)}}@keyframes swim-elbow{0%,50%{transform:rotate(0)}65%{transform:rotate(-30deg)}80%{transform:rotate(-48deg)}92%{transform:rotate(-15deg)}to{transform:rotate(0)}}@keyframes swim-kick{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes swim-breathe{0%,55%,to{transform:rotate(0)}72%{transform:rotate(-18deg)}}@keyframes swim-splash{0%{opacity:0;transform:scale(.3)}18%{opacity:1}to{opacity:0;transform:translateY(-7px)scale(1.5)}}@keyframes swim-float{0%{transform:translateY(-3px)rotate(-5deg)}to{transform:translateY(2px)rotate(4deg)}}@keyframes swim-wake{0%{opacity:.6}to{opacity:1}}@keyframes swim-roll{to{transform:translate(-120px)}}@keyframes swim-caustic{to{transform:translate(-180px)}}@keyframes swim-buoy{0%{transform:translateY(-2px)rotate(-3deg)}to{transform:translateY(2px)rotate(3deg)}}@media (max-width:1000px){.swim-scene{height:210px}}
