:root{--ink:#101c1d;--cream:#f2f0e8;--acid:#d4ff55;--sans:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}.reading-progress{position:fixed;z-index:100;top:0;left:0;height:3px;width:0;background:var(--acid)}.nav{position:absolute;top:0;z-index:5;width:100%;height:105px;padding:26px 5.2%;display:flex;align-items:center;justify-content:space-between;color:white}.brand{display:flex;gap:10px;align-items:center;font-family:var(--display);font-size:12px;line-height:1.03;font-weight:700;letter-spacing:.015em}.brand-mark{font-size:32px;line-height:1}.brand-dot{color:var(--acid)}.nav-right{display:flex;align-items:center;gap:42px}.nav-note,.nav-link,.eyebrow,.overline,.section-label,.stage-kicker,.hero-side,.hero-index,.stage-number,.guide-top,.guide-bottom{font-size:10px;font-weight:700;letter-spacing:.14em}.nav-note{opacity:.7}.nav-link{border:1px solid #ffffff80;padding:15px 19px;border-radius:30px}.nav-link span{margin-left:20px}.hero{height:100svh;min-height:700px;color:#fff;position:relative;overflow:hidden;background:#132f3b}.hero-image{position:absolute;inset:0;background:linear-gradient(135deg,#1c4b5a,#09171f);background-image:url('assets/hero-mountain.png');background-position:center;background-size:cover;transform:scale(1.04)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,24,.78),rgba(5,19,25,.15)),linear-gradient(0deg,rgba(2,14,20,.5),transparent 50%)}.hero-inner{position:absolute;left:7%;right:7%;bottom:12%;}.eyebrow{display:flex;align-items:center;gap:10px}.signal{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 16px var(--acid)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.065em;font-weight:700;line-height:.92}h1{font-size:clamp(62px,9.4vw,150px);margin:36px 0 44px}em{font-style:normal;color:var(--acid)}.hero-bottom{display:flex;align-items:end;gap:80px}.hero-bottom p{font-size:16px;line-height:1.6;color:#e2e9e8}.round-link{border:1px solid #ffffffa0;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:23px;transition:.2s}.round-link:hover{background:var(--acid);color:var(--ink)}.hero-side{position:absolute;right:3%;top:50%;writing-mode:vertical-rl;display:flex;gap:20px}.hero-index{position:absolute;bottom:4%;right:5%}.section-label{display:flex;justify-content:space-between;border-top:1px solid currentColor;padding-top:15px;opacity:.65}.intro,.course-head,.philosophy,.offer{padding:100px 7% 0}.intro-grid{display:grid;grid-template-columns:1.2fr .7fr;gap:10%;padding:110px 0 130px}.overline{color:#6d7772;margin-bottom:27px}h2{font-size:clamp(52px,7.5vw,116px)}.intro h2 span,.course-head h2 span{color:#8d9b95}.intro-copy{max-width:430px;padding-top:42px}.intro-copy p{line-height:1.7;color:#5d6864;margin-bottom:18px}.intro-copy .lead{font-size:25px;line-height:1.35;color:var(--ink);font-weight:600}.text-link{font-size:10px;letter-spacing:.14em;font-weight:700;display:inline-block;border-bottom:1px solid;padding:18px 0}.text-link span{margin-left:60px}.ticker{overflow:hidden;border-top:1px solid #b6bdb4;border-bottom:1px solid #b6bdb4;padding:22px 0;font-family:var(--display);font-weight:700;letter-spacing:.07em;white-space:nowrap}.ticker div{width:max-content;animation:marquee 40s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.course{background:#10232a;color:white}.course-head{padding-bottom:85px}.course-head h2{margin:100px 0 20px}.course-head p{color:#a0b2b2}.route{position:relative}.route-line{position:absolute;left:7%;top:0;bottom:0;width:1px;background:#ffffff4a;z-index:2}.route-fill{height:0;background:var(--acid);width:2px}.stage{min-height:520px;position:relative;padding:75px 7% 80px 11%;display:grid;grid-template-columns:100px 1fr 200px;align-items:start;overflow:hidden;border-top:1px solid #ffffff26}.swim{background:#143d49}.bike{background:#343f35}.run{background:#574a3c}.stage-number,.stage-main,.stage-stat{position:relative;z-index:2}.stage-number{color:var(--acid)}.stage-number span{color:#ffffff70}.stage-kicker{color:#c7d4cc}.stage h3{font-size:clamp(105px,15vw,220px);margin:30px 0 20px}.stage h3 span{color:var(--acid)}.stage-main p{color:#d0d8d2;font-size:16px}.stage-stat{justify-self:end;display:flex;flex-direction:column;gap:8px}.stage-stat strong{font-family:var(--display);font-size:55px;letter-spacing:-.06em}.stage-stat span{font-size:10px;letter-spacing:.12em;line-height:1.5}.stage-art{position:absolute;opacity:.16;pointer-events:none}.waves{inset:auto -5% -48% 40%;height:75%;transform:rotate(-12deg)}.waves i{display:block;border:1px solid white;border-radius:50%;height:25%;margin-top:-3%}.wheels{right:0;bottom:-30%;width:60%;height:70%;display:flex}.wheels i{display:block;width:44%;aspect-ratio:1;border:2px solid white;border-radius:50%;margin-left:-4%}.track{right:-15%;bottom:-80%;width:70%;height:130%;transform:rotate(-25deg)}.track i{position:absolute;inset:0;border:2px solid white;border-radius:50%}.track i:nth-child(2){inset:8%}.track i:nth-child(3){inset:16%}.philosophy{background:var(--acid);padding-bottom:0}.philosophy-inner{padding:110px 0;display:grid;grid-template-columns:1fr 300px;align-items:end}.philosophy-inner .overline{grid-column:1/-1}.philosophy h2 em{color:#6b812b}.philosophy-copy{display:flex;gap:25px;align-items:start;line-height:1.6}.asterisk{font-size:32px}.weeks{border-top:1px solid #24331b;display:grid;grid-template-columns:repeat(3,1fr)}.weeks div{padding:30px 22px 45px 0;position:relative}.weeks div+div{border-left:1px solid #9ebd42;padding-left:30px}.weeks span{font-size:10px;letter-spacing:.14em;font-weight:700}.weeks p{font-size:19px;margin-top:22px}.weeks b{position:absolute;right:25px;bottom:30px;font-family:var(--display);font-size:40px;opacity:.16}.offer{background:#f2f0e8;padding-bottom:120px}.offer-grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center;padding-top:110px}.offer h2 span{color:#a4bb56}.offer-description{max-width:440px;line-height:1.7;color:#68736d;margin:32px 0}.offer-details{border-top:1px solid #c3cbc1;max-width:480px}.offer-details div{display:flex;justify-content:space-between;border-bottom:1px solid #c3cbc1;padding:16px 0}.offer-details span{font-size:10px;letter-spacing:.12em;color:#758079}.offer-details strong{font-size:13px}.buy-button{width:100%;max-width:480px;margin-top:28px;background:#142626;color:white;border:0;padding:21px 23px;text-align:left;font-size:11px;font-weight:700;letter-spacing:.12em;display:flex;justify-content:space-between;opacity:.65;cursor:not-allowed}.checkout-note{max-width:450px;font-size:12px;line-height:1.6;color:#79827b;margin-top:14px}.guide-art{aspect-ratio:3/4;background:#1c3332;color:#f5f4e8;padding:8%;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:20px 25px 0 #d9ded1}.guide-top,.guide-bottom{display:flex;justify-content:space-between;font-size:8px;z-index:1}.guide-title{font-family:var(--display);font-weight:700;letter-spacing:-.075em;line-height:.83;font-size:clamp(50px,6vw,100px);margin-top:24%;z-index:1}.guide-title i{font-style:normal;color:var(--acid)}.guide-bottom{margin-top:auto}.guide-circles{position:absolute;inset:30% -30% -35% 15%;transform:rotate(-30deg)}.guide-circles i{position:absolute;inset:0;border:1px solid #b6e775;border-radius:50%;opacity:.35}.guide-circles i:nth-child(2){inset:10%}.guide-circles i:nth-child(3){inset:20%}.closing{background:#10232a;color:white;padding:100px 7%;display:flex;align-items:end;justify-content:space-between}.closing div{font-family:var(--display);font-weight:700;letter-spacing:-.065em;line-height:.95;font-size:clamp(42px,6vw,90px)}.closing a{font-size:10px;letter-spacing:.1em;font-weight:700}footer{background:#10232a;color:white;border-top:1px solid #ffffff36;padding:36px 7%;display:flex;justify-content:space-between;align-items:center}footer p{font-size:9px;letter-spacing:.12em;opacity:.6}@media(max-width:700px){.nav{height:80px;padding:20px 6%}.nav-note{display:none}.nav-link{padding:12px;font-size:9px}.nav-link span{margin-left:8px}.hero{min-height:620px}.hero-inner{left:6%;right:6%;bottom:13%}h1{font-size:clamp(52px,12vw,85px);margin:30px 0}.hero-side{display:none}.hero-bottom{gap:30px}.hero-bottom p{font-size:14px}.intro,.course-head,.philosophy,.offer{padding:65px 6% 0}.intro-grid,.offer-grid{grid-template-columns:1fr;gap:20px;padding:75px 0}.intro-copy{padding-top:15px}.intro h2,.course-head h2{font-size:clamp(52px,11vw,76px)}.course-head h2{margin:75px 0 20px}.course-head{padding-bottom:65px}.stage{min-height:400px;padding:45px 6% 55px 12%;grid-template-columns:1fr auto;row-gap:50px}.stage-number{grid-column:1/-1}.stage h3{font-size:clamp(82px,20vw,135px)}.stage-stat strong{font-size:38px}.stage-stat span{font-size:8px}.stage-main p{font-size:13px}.philosophy-inner{display:block;padding:75px 0}.philosophy-inner h2{font-size:clamp(58px,12vw,85px)}.philosophy-copy{margin-top:50px}.weeks div{padding-bottom:65px}.weeks div+div{padding-left:15px}.weeks p{font-size:14px}.weeks b{font-size:30px;right:10px;bottom:15px}.offer{padding-bottom:80px}.offer-grid{gap:65px;padding-bottom:0}.guide-art{max-width:420px}.closing{display:block;padding:75px 6%}.closing a{display:inline-block;margin-top:40px}footer{padding:35px 6%;gap:25px;flex-wrap:wrap}footer p{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}}

/* A continuous course, with each landscape dissolving into the next. */
body{background:#091d24}.hero{margin-bottom:-1px}.hero-overlay{background:linear-gradient(90deg,rgba(4,18,24,.77),rgba(5,19,25,.15)),linear-gradient(180deg,transparent 62%,#102e37 100%)}
.intro{position:relative;color:#eef2e9;background:linear-gradient(180deg,#102e37 0%,#173d45 45%,#153842 100%);padding-top:115px}.intro .section-label,.course .section-label,.philosophy .section-label,.offer .section-label{border:0;padding-top:0;opacity:.5}.intro .overline{color:#a8c3be}.intro h2 span{color:#9cbeb8}.intro-copy p{color:#c3d0c8}.intro-copy .lead{color:#f1f5e9}.intro .text-link{color:#e8f1e5}.ticker{border-color:#dcece344;color:#e1ebe1}.course{background:#153842}.course-head{background:linear-gradient(180deg,#153842,#123b47);padding-top:120px}.course-head h2 span{color:#9cbeb8}.route-line{background:#d7f3d42e}.stage{border-top:0;min-height:570px}.swim{background:linear-gradient(180deg,#123b47 0%,#1b5661 54%,#3b5d56 100%)}.bike{background:linear-gradient(180deg,#3b5d56 0%,#626b53 48%,#6f6250 100%)}.run{background:linear-gradient(180deg,#6f6250 0%,#997b60 53%,#c6a783 100%)}.stage-art{opacity:.2}.stage-number{padding-top:8px}.philosophy{background:linear-gradient(180deg,#c6a783 0%,#ddd7ad 20%,#d4ff55 65%);padding-top:145px}.philosophy-inner{padding:135px 0}.weeks{border-color:#425b2a66}.offer{background:linear-gradient(180deg,#d4ff55 0%,#e6efb7 13%,#f2f0e8 37%,#f2f0e8 100%);padding-top:140px}.closing{background:linear-gradient(180deg,#f2f0e8 0%,#7c9992 18%,#102b31 100%);padding-top:170px}footer{border-color:#ffffff2c}@media(max-width:700px){.intro{padding-top:95px}.course-head{padding-top:100px}.stage{min-height:460px}.philosophy{padding-top:110px}.philosophy-inner{padding:85px 0}.offer{padding-top:110px}.closing{padding-top:145px}}

/* Let the opening image dissolve into the first part of the journey. */
.hero{min-height:780px}.hero-image{inset:0 0 -8%;background-position:center 43%}.hero-overlay{background:linear-gradient(90deg,rgba(4,18,24,.77),rgba(5,19,25,.12)),linear-gradient(180deg,transparent 48%,rgba(10,32,39,.45) 72%,#102e37 100%)}.hero:after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:-2px;height:26%;background:linear-gradient(180deg,transparent,#102e37);pointer-events:none}.hero-inner,.hero-side,.hero-index{z-index:2}.intro{padding-top:85px;background:linear-gradient(180deg,#102e37 0%,#173d45 46%,#153842 100%)}
/* A quieter product presentation with space around the essentials. */
.offer-grid{gap:12%;align-items:center}.offer-description{max-width:400px}.offer-details{max-width:450px}.buy-button{max-width:450px}.guide-art{aspect-ratio:4/5;background:#e4e9d7;color:#182d2a;box-shadow:16px 20px 0 rgba(30,55,43,.09);padding:9%;border:1px solid rgba(31,55,42,.13)}.guide-top,.guide-bottom{font-size:8px;color:#63766a;letter-spacing:.12em}.guide-title{margin-top:auto;margin-bottom:auto;font-size:clamp(48px,5.5vw,90px);line-height:.9;letter-spacing:-.065em}.guide-title i{color:#627c48}.guide-circles{inset:auto -20% -45% 42%;height:85%;opacity:.48}.guide-circles i{border-color:#6c8d73}.guide-bottom{border-top:1px solid #b9c7b2;padding-top:18px}.offer .overline{color:#788575}
@media(max-width:700px){.hero{min-height:680px}.hero:after{height:23%}.intro{padding-top:75px}.guide-art{box-shadow:10px 12px 0 rgba(30,55,43,.09)}}

/* The finish resolves into the same light landscape as the guide. */
.offer{padding-bottom:95px;background:linear-gradient(180deg,#d4ff55 0%,#e6efb7 13%,#f2f0e8 37%,#eff1e5 100%)}
.closing{position:relative;overflow:hidden;display:block;min-height:460px;padding:110px 7% 100px;background:linear-gradient(180deg,#eff1e5 0%,#e4ebdb 58%,#dae5d4 100%);color:#19332e}
.closing-inner{position:relative;z-index:2}.closing .overline{font-size:10px;letter-spacing:.14em;line-height:1.4;color:#718777;margin-bottom:36px}.closing-inner>div{font-size:clamp(46px,6.8vw,105px)}.closing em{color:#799260}.back-top{display:inline-flex;align-items:center;gap:22px;margin-top:48px}.back-arrow{width:38px;height:38px;display:grid;place-items:center;border:1px solid #849b86;border-radius:50%;font-size:17px;transition:transform .35s,background .35s}.back-top:hover .back-arrow{transform:translateY(-5px);background:#d4ff55}
.closing-orbit{position:absolute;width:min(58vw,760px);aspect-ratio:1;right:-8%;top:-26%;opacity:.48;pointer-events:none}.closing-orbit i{position:absolute;inset:0;border:1px solid #8da989;border-radius:50%}.closing-orbit i:nth-child(2){inset:12%}.closing-orbit i:nth-child(3){inset:24%}.closing-orbit span{position:absolute;top:18%;left:20%;font-size:26px;color:#769b70;animation:orbitPulse 5s ease-in-out infinite}@keyframes orbitPulse{50%{transform:rotate(90deg) scale(1.18)}}
footer{position:relative;background:#dae5d4;color:#19332e;border:0;padding:38px 7% 45px}.footer-rule{position:absolute;top:0;left:7%;right:7%;height:1px;background:#a8bca6}.footer-rule:after{content:"";position:absolute;top:-2px;left:0;width:28px;height:5px;background:#79975d}footer p{opacity:.66}.brand-dot{color:#a8d83c}
/* Restrained motion creates depth while the course stays easy to read. */
.stage{isolation:isolate}.stage:before{content:"";position:absolute;inset:-15%;z-index:0;background:radial-gradient(ellipse at 70% 50%,rgba(235,255,215,.10),transparent 56%);transform:translate3d(0,var(--drift,0px),0);pointer-events:none}.stage-art{transform:translate3d(0,var(--drift,0px),0)}.waves{transform:translate3d(0,var(--drift,0px),0) rotate(-12deg)}.track{transform:translate3d(0,var(--drift,0px),0) rotate(-25deg)}.stage-main,.stage-stat,.intro-grid,.philosophy-inner,.offer-grid{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.has-motion .reveal{opacity:0;transform:translateY(28px)}.has-motion .reveal.is-visible{opacity:1;transform:translateY(0)}.guide-art{transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s}.guide-art:hover{transform:translateY(-9px) rotate(-1deg);box-shadow:22px 30px 0 rgba(30,55,43,.09)}.round-link,.nav-link,.text-link{transition:transform .3s ease,background .3s ease,color .3s ease}.nav-link:hover{background:#fff;color:#142626}.text-link:hover{transform:translateX(6px)}
@media(max-width:700px){.closing{min-height:360px;padding:85px 6% 75px}.closing-orbit{width:90vw;right:-40%;top:0}.closing .overline{margin-bottom:25px}.back-top{margin-top:35px}.footer-rule{left:6%;right:6%}footer{padding:30px 6% 40px}.offer{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){.closing-orbit span{animation:none}.stage-art,.stage:before{transform:none!important}.has-motion .reveal{opacity:1;transform:none}.guide-art,.round-link,.nav-link,.text-link,.back-arrow{transition:none}}
/* The course has its own tiny moving world. */
.hero-ripples{position:absolute;z-index:1;right:12%;bottom:16%;width:150px;height:54px;pointer-events:none;opacity:.55}.hero-ripples i{position:absolute;inset:0;border:1px solid #d9f8ed;border-radius:50%;animation:ripple 5s ease-out infinite}.hero-ripples i:nth-child(2){animation-delay:1.65s}.hero-ripples i:nth-child(3){animation-delay:3.3s}@keyframes ripple{0%{transform:scale(.1);opacity:0}15%{opacity:.75}100%{transform:scale(2);opacity:0}}
.route-runner{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:30px;height:30px;background:#d4ff55;color:#17352d;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 6px #d4ff5524,0 0 25px #d4ff5555;will-change:top}.route-runner span{font-size:17px;line-height:1}
.moving-scene{position:absolute;z-index:1;right:12%;bottom:60px;color:#e2f7e7;opacity:.72;pointer-events:none}.moving-scene svg{width:230px;height:auto;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.moving-scene span{display:block;margin-top:4px;text-align:center;font-size:8px;letter-spacing:.17em;font-weight:700}.swimmer-scene{animation:swimBob 5s ease-in-out infinite}.swimmer-scene svg path:first-child,.swimmer-scene svg path:nth-child(2){stroke-dasharray:10 6;animation:flow 8s linear infinite}.cyclist-scene{animation:cycleBob 3s ease-in-out infinite}.spin-wheel{stroke-dasharray:5 4;animation:wheelSpin 7s linear infinite;transform-box:fill-box;transform-origin:center}.runner-scene{animation:runBob 1.3s ease-in-out infinite}.runner-scene svg{width:190px}@keyframes swimBob{50%{transform:translate(20px,-9px)}}@keyframes flow{to{stroke-dashoffset:-64}}@keyframes cycleBob{50%{transform:translateY(-7px)}}@keyframes wheelSpin{to{transform:rotate(360deg)}}@keyframes runBob{50%{transform:translate(8px,-8px)}}
.stage-kicker:before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;border-radius:50%;background:#d4ff55;box-shadow:0 0 12px #d4ff55;animation:signalPulse 2.5s ease-in-out infinite}@keyframes signalPulse{50%{opacity:.35;transform:scale(.7)}}
.week-orbit{display:inline-block;color:#567235;transition:transform .5s ease}.weeks div:hover .week-orbit{transform:rotate(90deg) scale(1.25)}.weeks div{transition:background .3s}.weeks div:hover{background:#ffffff1d}.guide-art{cursor:default}.guide-art:after{content:"";position:absolute;inset:-80% auto -80% -55%;width:35%;transform:rotate(25deg) translateX(-180%);background:linear-gradient(90deg,transparent,#ffffff50,transparent);transition:transform 1s;pointer-events:none}.guide-art:hover:after{transform:rotate(25deg) translateX(500%)}
@media(max-width:700px){.hero-ripples{right:15%;bottom:11%;width:90px;height:35px}.route-runner{width:24px;height:24px}.moving-scene{right:6%;bottom:25px;opacity:.55}.moving-scene svg{width:140px}.runner-scene svg{width:115px}.moving-scene span{font-size:7px}.stage{min-height:490px}}
@media(prefers-reduced-motion:reduce){.hero-ripples i,.moving-scene,.moving-scene svg path,.spin-wheel,.stage-kicker:before{animation:none}.hero-ripples i:not(:first-child){display:none}.guide-art:after{display:none}}

/* Little discoveries follow the visitor through the course. */
.hero-pointer-glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 210px at var(--pointer-x,75%) var(--pointer-y,52%),rgba(200,239,222,.13),transparent 75%);opacity:.8;transition:opacity .5s}.hero-crosshairs{position:absolute;right:8%;bottom:35%;color:#d4ff55;font-size:20px;z-index:2;opacity:.75;animation:crosshair 12s linear infinite;pointer-events:none}@keyframes crosshair{to{transform:rotate(360deg)}}
.route{isolation:isolate}.course-compass{position:sticky;top:18px;z-index:8;float:right;margin:20px 4% -100px 0;padding:9px 12px;display:flex;align-items:center;gap:4px;color:#f3f7ed;background:#122e31b8;border:1px solid #ffffff35;border-radius:40px;backdrop-filter:blur(14px);box-shadow:0 8px 30px #081b1b1c}.course-compass:after{content:"";display:block;clear:both}.compass-title{font-size:8px;letter-spacing:.13em;opacity:.65;padding:0 10px}.course-compass a{font-size:9px;letter-spacing:.1em;font-weight:700;border-radius:20px;padding:9px 12px;transition:background .3s,color .3s}.course-compass a span{opacity:.55;margin-right:4px}.course-compass a:hover,.course-compass a.active{background:#d4ff55;color:#18322a}
.stage{scroll-margin-top:0}.stage-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.55}.stage-particles i{position:absolute;display:block;left:var(--x);top:var(--y);width:var(--size,5px);height:var(--size,5px);border:1px solid #d8f1dd;border-radius:50%;animation:particleFloat var(--duration,9s) ease-in-out infinite;animation-delay:var(--delay,0s)}.stage-particles i:nth-child(1){--x:20%;--y:20%;--size:5px;--duration:9s}.stage-particles i:nth-child(2){--x:31%;--y:66%;--size:10px;--duration:11s;--delay:-4s}.stage-particles i:nth-child(3){--x:48%;--y:15%;--size:4px;--duration:8s;--delay:-1s}.stage-particles i:nth-child(4){--x:61%;--y:75%;--size:6px;--duration:12s;--delay:-3s}.stage-particles i:nth-child(5){--x:76%;--y:17%;--size:8px;--duration:10s;--delay:-5s}.stage-particles i:nth-child(6){--x:87%;--y:55%;--size:4px;--duration:7s;--delay:-2s}.stage-particles i:nth-child(7){--x:40%;--y:83%;--size:5px;--duration:13s;--delay:-7s}.stage-particles i:nth-child(8){--x:94%;--y:29%;--size:6px;--duration:9s;--delay:-6s}@keyframes particleFloat{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(18px,-35px);opacity:.8}}.bike-particles i{border-radius:0;width:24px;height:1px;background:#e5f1d4;border:0;transform:rotate(-18deg);animation:roadDash var(--duration,9s) linear infinite}@keyframes roadDash{0%{transform:translateX(60px) rotate(-18deg);opacity:0}25%{opacity:.6}100%{transform:translateX(-160px) rotate(-18deg);opacity:0}}.run-particles i{width:3px;height:3px;background:#f8e6c6;border:0;box-shadow:0 0 10px #ffefc9}
.moving-scene{filter:drop-shadow(0 0 10px #d4ff5520)}.stage-main h3{transition:letter-spacing .6s,transform .6s}.stage:hover .stage-main h3{letter-spacing:-.045em;transform:translateX(8px)}.stage-stat strong{display:block;font-variant-numeric:tabular-nums}.guide-stamp{position:absolute;right:8%;top:16%;width:70px;height:70px;border:1px solid #89a081;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:4px;transform:rotate(12deg);color:#627c48}.guide-stamp span{font-family:var(--display);font-weight:700;font-size:27px;letter-spacing:-.08em}.guide-stamp small{font-size:6px;line-height:1.3;letter-spacing:.08em;font-weight:700}.guide-art:hover .guide-stamp{animation:stampWiggle .7s ease}@keyframes stampWiggle{50%{transform:rotate(-8deg) scale(1.05)}}
@media(max-width:700px){.course-compass{top:10px;margin:10px 4% -55px 0;padding:6px;gap:0}.course-compass a{padding:8px;font-size:8px}.compass-title{display:none}.hero-crosshairs{right:8%;bottom:31%}.stage-main h3{font-size:clamp(80px,19vw,135px)}.guide-stamp{width:58px;height:58px}.guide-stamp span{font-size:22px}.guide-stamp small{font-size:5px}}
@media(prefers-reduced-motion:reduce){.hero-crosshairs,.stage-particles i,.guide-art:hover .guide-stamp{animation:none}.stage-main h3{transition:none}.stage:hover .stage-main h3{transform:none}}

/* The course display shows progress without moving the page. */
.course-compass .compass-stage{font-size:9px;letter-spacing:.1em;font-weight:700;border-radius:20px;padding:9px 12px;transition:background .3s,color .3s;white-space:nowrap}.course-compass .compass-stage>span{opacity:.55;margin-right:4px}.course-compass .compass-stage.active{background:#d4ff55;color:#18322a}
@media(max-width:700px){.course-compass .compass-stage{padding:8px;font-size:8px}}
/* A little compass follows the cursor. Native pointers remain on touch devices. */
.custom-cursor{display:none;position:fixed;left:0;top:0;z-index:9999;pointer-events:none;color:#d4ff55;opacity:0;transform:translate3d(var(--cursor-x,-100px),var(--cursor-y,-100px),0);transition:opacity .2s}.custom-cursor.is-active{opacity:1}.cursor-ring{position:absolute;width:34px;height:34px;left:-17px;top:-17px;border:1px solid currentColor;border-radius:50%;transform:translate(var(--ring-x,0px),var(--ring-y,0px));transition:width .25s,height .25s,margin .25s,background .25s;box-shadow:0 0 12px #10232a55}.cursor-center{position:absolute;left:-5px;top:-10px;font:700 14px/1 var(--display);text-shadow:0 1px 4px #10232a}.custom-cursor.over-link .cursor-ring{width:50px;height:50px;margin:-8px;background:#d4ff5533}.custom-cursor.over-link .cursor-center{transform:rotate(45deg)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.custom-cursor-enabled,.custom-cursor-enabled a,.custom-cursor-enabled button:not(:disabled){cursor:none}.custom-cursor{display:block}}
/* A narrow track and high contrast thumb give the scrollbar a course-like look. */
html{scrollbar-color:#a8db45 #142d30;scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#142d30}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d4ff55,#85b84c);border:3px solid #142d30;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#eaff9b}
/* Cohesive athlete imagery fades into each part of the course. */
.stage-photo{position:absolute;inset:0;z-index:0;background-repeat:no-repeat;background-size:cover;background-position:center 45%;opacity:.7;pointer-events:none;mask-image:linear-gradient(90deg,transparent 5%,rgba(0,0,0,.18) 38%,#000 80%),linear-gradient(180deg,transparent 0%,#000 23%,#000 70%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 5%,rgba(0,0,0,.18) 38%,#000 80%),linear-gradient(180deg,transparent 0%,#000 23%,#000 70%,transparent 100%);-webkit-mask-composite:source-in}.swim-photo{background-image:url('assets/ras-swimming-v3.png')}.bike-photo{background-image:url('assets/ras-cycling-v3.png')}.run-photo{background-image:url('assets/ras-running-v3.png')}.stage-main,.stage-stat,.stage-number{z-index:3}.stage-particles,.stage-art,.moving-scene{z-index:1}.stage:before{z-index:2}.stage-main p,.stage-kicker,.stage-stat{text-shadow:0 2px 12px #10201dcc}@media(max-width:700px){.stage-photo{background-position:64% center;opacity:.5;mask-image:linear-gradient(90deg,transparent 0%,#000 90%),linear-gradient(180deg,transparent,#000 25%,#000 70%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 90%),linear-gradient(180deg,transparent,#000 25%,#000 70%,transparent);-webkit-mask-composite:source-in}}
/* Editorial moments between the course and the guide. */
.details-story{position:relative;background:linear-gradient(180deg,#c6a783 0%,#d9c5a7 32%,#ddd7ad 100%);color:#1a302b;padding:130px 7% 100px}.details-head{max-width:950px}.details-head .overline{color:#586f5f}.details-head h2 em{color:#73895d}.details-head>p:last-child{max-width:410px;color:#526357;line-height:1.7;margin:30px 0 65px}.details-gallery{display:grid;grid-template-columns:1.1fr .85fr .85fr;gap:22px;align-items:start}.details-gallery figure{margin:0}.details-gallery figure:nth-child(2){margin-top:100px}.details-gallery figure:nth-child(3){margin-top:45px}.details-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(.8);transition:transform .6s,filter .6s;clip-path:inset(0 round 2px)}.details-gallery figure:hover img{transform:translateY(-8px);filter:saturate(1)}.details-gallery figcaption{padding:22px 0}.details-gallery figcaption span{display:block;font-size:9px;letter-spacing:.15em;font-weight:700;color:#637466;margin-bottom:14px}.details-gallery figcaption strong{font-family:var(--display);font-size:24px;letter-spacing:-.045em}.details-gallery figcaption p{font-size:13px;color:#526357;line-height:1.6;margin-top:10px;max-width:240px}.philosophy{background:linear-gradient(180deg,#ddd7ad 0%,#dce7a1 22%,#d4ff55 65%)}@media(max-width:700px){.details-story{padding:90px 6% 65px}.details-gallery{grid-template-columns:1fr 1fr;gap:14px}.details-gallery figure:nth-child(2){margin-top:60px}.details-gallery figure:nth-child(3){margin-top:0;grid-column:1/2}.details-gallery figcaption strong{font-size:19px}.details-gallery figcaption p{font-size:12px}.details-head>p:last-child{margin-bottom:45px}.details-gallery img{aspect-ratio:3/4}}@media(prefers-reduced-motion:reduce){.details-gallery img{transition:none}.details-gallery figure:hover img{transform:none}}
/* Match the product image to the finished guide cover. */
.guide-art:has(.guide-cover-image){aspect-ratio:595 / 842;padding:0;background:#102c33;border:0;box-shadow:16px 20px 0 rgba(30,55,43,.09)}.guide-cover-image{display:block;width:100%;height:100%;object-fit:cover}.guide-art:has(.guide-cover-image):hover{box-shadow:22px 30px 0 rgba(30,55,43,.09)}
/* Equal image heights keep the staggered gallery aligned intentionally. */
.details-gallery img{aspect-ratio:auto;height:clamp(340px,38vw,560px);object-fit:cover;object-position:center}
@media(max-width:700px){.details-gallery img{height:clamp(220px,58vw,340px)}}
/* Two long matching strips keep the movement seamless across wide screens. */
.ticker div{display:flex;width:max-content}.ticker div span{flex:none;white-space:nowrap}
@media(min-width:701px){.details-gallery figure:nth-child(2){margin-top:60px}.details-gallery figure:nth-child(3){margin-top:120px}}
/* The mountain-road photograph replaces the ocean and its water ripples. */
.hero-image{background-position:68% center}.hero-ripples{display:none}

/* Editorial updates from the original concept */
.better-heading{min-height:1.8em}.rotating-word{display:inline-block;color:var(--acid);transition:opacity .25s ease,transform .25s ease}.rotating-word.changing{opacity:0;transform:translateY(12px)}.three-badge{margin-top:50px;width:190px;height:190px;border:1px solid #b3d6c680;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;position:relative}.three-badge:before{content:"";position:absolute;inset:8px;border:1px solid #b3d6c638;border-radius:50%}.three-badge strong{font:700 104px/.9 var(--display);letter-spacing:-.1em;color:var(--acid)}.three-badge span{font-size:10px;line-height:1.45;letter-spacing:.12em;font-weight:700;color:#dcebe3}.intro h2{font-size:clamp(48px,6.4vw,100px)}
.training-timeline{padding:25px 0 100px;display:grid;grid-template-columns:1fr 1.4fr;gap:8%;border-top:1px solid #324e2d55}.timeline-intro{padding-top:50px}.timeline-intro h3{font:700 clamp(34px,4vw,62px)/.98 var(--display);letter-spacing:-.06em;margin:25px 0}.timeline-intro>p:last-child{max-width:330px;line-height:1.6;color:#42563b}.training-timeline ol{list-style:none;margin:0;padding:20px 0 0}.training-timeline li{display:grid;grid-template-columns:100px 1fr;gap:8px 22px;padding:28px 0;border-bottom:1px solid #425b2a55}.training-timeline li span{font-size:10px;letter-spacing:.12em;font-weight:700;padding-top:8px}.training-timeline li strong{font:700 clamp(26px,3vw,43px)/1 var(--display);letter-spacing:-.05em}.training-timeline li p{grid-column:2;font-size:14px;line-height:1.6;color:#42563b}.voices{background:linear-gradient(180deg,#d4ff55,#e4edb8 45%,#f2f0e8);padding:75px 7% 100px}.voices .section-label{border:0;opacity:.6}.voices-heading{padding:65px 0 45px}.voices h2{font-size:clamp(48px,6vw,90px);line-height:.95;letter-spacing:-.06em;margin:25px 0}.voices h2 em{font-style:normal;color:#66825b}.voices-heading>p:last-child{color:#586b53;font-size:14px}.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.voices blockquote{margin:0;border:1px solid #61795855;border-radius:24px;background:#f6f8e844;padding:30px;min-height:240px;display:flex;flex-direction:column}.voices blockquote>span,.voices blockquote footer{font-size:10px;font-weight:700;letter-spacing:.12em}.voices blockquote p{font:600 clamp(21px,2.2vw,32px)/1.2 var(--display);letter-spacing:-.035em;margin:28px 0}.voices blockquote footer{background:none;border:0;color:#38513c;margin-top:auto;padding:0;display:flex;justify-content:space-between}.voices blockquote footer small{opacity:.65}.offer{background:linear-gradient(180deg,#f2f0e8,#eff1e5);padding-top:80px}@media(max-width:700px){.better-heading{font-size:clamp(52px,12vw,85px)}.three-badge{width:145px;height:145px;margin-top:35px}.three-badge strong{font-size:78px}.three-badge span{font-size:8px}.training-timeline{grid-template-columns:1fr;padding-bottom:65px}.training-timeline li{grid-template-columns:75px 1fr;gap:8px 15px}.voices{padding:65px 6%}.voices-heading{padding:55px 0 35px}.voices-grid{grid-template-columns:1fr}.voices blockquote{min-height:180px}.offer{padding-top:60px}}
@media(prefers-reduced-motion:reduce){.rotating-word{transition:none}}
/* Reliable native pointer and route marker clearance */
.custom-cursor{display:none!important}.route-line{z-index:6;pointer-events:none}.stock-note{font-size:9px;letter-spacing:.14em;font-weight:700;color:#647667;margin:-38px 0 28px}.voices-grid .principle{border:1px solid #61795855;border-radius:24px;background:#f6f8e844;padding:30px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between}.principle span{font-size:10px;font-weight:700;letter-spacing:.12em}.principle p{font:600 clamp(21px,2.2vw,32px)/1.2 var(--display);letter-spacing:-.035em;max-width:240px}.timeline-intro>p:last-child{max-width:450px}@media(hover:hover) and (pointer:fine){html,body,a,button:not(:disabled){cursor:url('assets/cursor.svg') 16 16,auto}}@media(max-width:700px){.stock-note{margin:-20px 0 24px}.voices-grid .principle{min-height:150px}}
/* Centered identity over the moving course strip */
.ticker{position:relative}.ticker .ticker-brand{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;display:block;padding:12px 22px;border:1px solid #d4ff55;border-radius:99px;background:#d4ff55;color:#153842;font-family:var(--sans);font-size:clamp(9px,1vw,13px);font-weight:700;font-style:italic;letter-spacing:.09em;box-shadow:0 0 0 9px #173d45,0 0 28px #102e37aa}@media(max-width:700px){.ticker .ticker-brand{padding:10px 14px;font-size:9px;box-shadow:0 0 0 6px #173d45}}
