html,body{width:100%;max-width:100%;overflow-x:hidden}
.hero{isolation:isolate;overflow:hidden;max-width:100vw;background-image:url('assets/hero-mauritius-clean-v1.webp');background-position:center;background-size:cover}
.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(2,15,13,.94) 0%,rgba(2,15,13,.68) 28%,rgba(2,15,13,.12) 58%,rgba(2,15,13,.04) 100%)}
.hero-copy{z-index:3}
.hero-rider{--rider-x:0px;--rider-y:0px;--rider-tilt:0deg;position:absolute;z-index:2;right:clamp(-90px,-3vw,-20px);bottom:clamp(42px,6vw,72px);width:min(49vw,690px);transform:translate3d(var(--rider-x),var(--rider-y),0) rotate(var(--rider-tilt));transform-origin:52% 78%;pointer-events:none;filter:drop-shadow(0 26px 20px rgba(0,0,0,.36));animation:rider-enter .9s cubic-bezier(.2,.85,.25,1) both}
.hero-rider img{display:block;width:100%;height:auto;animation:rider-breathe 3.2s ease-in-out infinite}
.hero-rider:before{content:"";position:absolute;left:16%;right:8%;bottom:3%;height:6%;border-radius:50%;background:rgba(0,0,0,.34);filter:blur(13px);animation:rider-shadow 3.2s ease-in-out infinite}
.hero-rider:after{content:"";position:absolute;left:8%;top:42%;width:28%;height:18%;background:repeating-linear-gradient(170deg,rgba(185,239,32,.36) 0 2px,transparent 2px 18px);opacity:.32;transform:skewX(-18deg);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 72%,transparent);animation:rider-speed-lines 1.9s linear infinite}
@keyframes rider-enter{from{opacity:0;transform:translate3d(calc(var(--rider-x) + 90px),calc(var(--rider-y) + 25px),0) rotate(4deg) scale(.96)}to{opacity:1;transform:translate3d(var(--rider-x),var(--rider-y),0) rotate(var(--rider-tilt)) scale(1)}}
@keyframes rider-breathe{0%,100%{transform:translateY(0) rotate(.15deg)}35%{transform:translateY(-8px) rotate(-.55deg)}68%{transform:translateY(3px) rotate(.35deg)}}
@keyframes rider-shadow{0%,100%{opacity:.38;transform:scaleX(1)}35%{opacity:.22;transform:scaleX(.9)}68%{opacity:.44;transform:scaleX(1.05)}}
@keyframes rider-speed-lines{from{background-position:0 0;opacity:.22}50%{opacity:.42}to{background-position:-54px 0;opacity:.22}}
.stamp{left:38%;top:22%}
@media(max-width:1100px){.hero-rider{right:-105px;bottom:70px;width:min(61vw,620px)}}
@media(max-width:760px){.nav{max-width:100vw;overflow:visible}.brand{min-width:0;max-width:calc(100vw - 86px)}.brand b{font-size:20px}.brand small{font-size:9px;letter-spacing:2px}.zebra-disc{width:38px;height:38px;flex:0 0 38px}.hero{min-height:680px;padding:116px 20px 190px;background-position:58% center}.hero-copy{width:min(100%,350px)}.hero h1{font-size:clamp(49px,15vw,60px);line-height:.88}.hero-lead{font-size:18px;margin:22px 0 12px}.hero-body{font-size:15px;max-width:270px}.actions{width:min(230px,100%);margin-top:22px}.hero-shade{z-index:2;background:linear-gradient(90deg,rgba(2,15,13,.98) 0%,rgba(2,15,13,.8) 48%,rgba(2,15,13,.44) 78%,rgba(2,15,13,.18) 100%),linear-gradient(0deg,rgba(6,26,24,.64),transparent 46%)}.hero-rider{z-index:1;right:-74px;bottom:142px;width:min(66vw,300px);opacity:.94}.hero-rider:after{display:none}.facts{max-width:calc(100vw - 40px)}.stamp{display:none}}
@media(max-width:480px){.hero-rider{right:-68px;bottom:166px;width:70vw}.hero{min-height:710px}.facts{bottom:18px}.actions{width:220px}.pill-large,.outline-pill{padding-left:18px;padding-right:18px}}
@media(max-width:380px){.hero-rider{right:-78px;width:76vw}.hero h1{font-size:46px}.hero-body{max-width:250px}}
@media(prefers-reduced-motion:reduce){.hero-rider,.hero-rider img,.hero-rider:before,.hero-rider:after,.initiative-image,.initiative-image:before,.initiative-image:after,.initiative-route-motion,.initiative-route-motion .route-paper,.initiative-route-motion .route-dot,.play-card,.play-card:after,.play-card .rank,.play-card .num,.stage-motion{animation:none!important}.hero-rider{--rider-x:0!important;--rider-y:0!important;--rider-tilt:0!important}.hero-rider:after,.stage-motion{display:none}}
@property --stage-wobble{syntax:"<angle>";inherits:false;initial-value:0deg}
@property --stage-lift{syntax:"<length>";inherits:false;initial-value:0px}
.play-card{--stage-wobble:0deg;--stage-lift:0px;background-size:112%;background-position:center;transform:translateY(var(--stage-lift)) rotate(var(--stage-wobble));animation:stage-character-idle 4.8s ease-in-out infinite;will-change:transform,background-position,filter;box-shadow:0 0 0 rgba(185,239,32,0)}
.play-card.c1{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-01-joker-v2.webp')}
.play-card.c2{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-02-lucky-seven-v1.webp')}
.play-card.c3{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-03-queen-v2.webp')}
.play-card.c4{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-04-king-v2.webp')}
.play-card.c5{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-05-ace-hearts-v2.webp')}
.play-card.c6{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-06-wild-card-v3.webp')}
.play-card.c7{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-07-jack-v3.webp')}
.play-card.c8{background-image:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.06) 65%),url('assets/stage-08-royal-flush-v2.webp')}
.play-card.c2{animation-delay:-.8s}.play-card.c3{animation-delay:-1.6s}.play-card.c4{animation-delay:-2.4s}.play-card.c5{animation-delay:-3.2s}.play-card.c6{animation-delay:-4s}.play-card.c7{animation-delay:-4.8s}.play-card.c8{animation-delay:-5.6s}
.play-card:hover{animation-play-state:paused;transform:translateY(-12px) rotate(-1.5deg);filter:saturate(1.18) contrast(1.06)}
@keyframes stage-character-idle{0%,100%{--stage-wobble:0deg;background-position:50% 50%;box-shadow:0 0 0 rgba(185,239,32,0)}30%{--stage-wobble:-1.15deg;background-position:54% 47%;box-shadow:0 14px 34px rgba(0,0,0,.28)}62%{--stage-wobble:.95deg;background-position:47% 53%;box-shadow:0 0 30px rgba(185,239,32,.12)}}
.stage-motion{position:absolute;z-index:1;left:-26%;right:30%;bottom:26%;height:42%;background:linear-gradient(105deg,transparent 0%,rgba(185,239,32,.06) 35%,rgba(185,239,32,.58) 46%,rgba(255,255,255,.48) 52%,transparent 66%);filter:blur(.4px) drop-shadow(0 0 9px rgba(185,239,32,.55));transform:skewX(-18deg);opacity:.85;mix-blend-mode:screen;animation:stage-motion-streak 2.8s ease-in-out infinite;pointer-events:none}
.c2 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(53,198,216,.08) 35%,rgba(53,198,216,.65) 46%,rgba(255,255,255,.46) 52%,transparent 66%);animation-delay:-.6s}
.c3 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(255,200,23,.08) 35%,rgba(255,200,23,.68) 46%,rgba(255,255,255,.44) 52%,transparent 66%);animation-delay:-1.1s}
.c4 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(252,76,2,.08) 35%,rgba(252,76,2,.65) 46%,rgba(255,255,255,.44) 52%,transparent 66%);animation-delay:-1.5s}
.c5 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(216,169,239,.08) 35%,rgba(216,169,239,.65) 46%,rgba(255,255,255,.44) 52%,transparent 66%);animation-delay:-2s}
.c6 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(252,76,2,.08) 35%,rgba(252,76,2,.7) 46%,rgba(185,239,32,.56) 52%,transparent 66%);animation-delay:-2.35s}
.c7 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(255,200,23,.08) 35%,rgba(255,200,23,.66) 46%,rgba(255,255,255,.44) 52%,transparent 66%);animation-delay:-2.65s}
.c8 .stage-motion{background:linear-gradient(105deg,transparent 0%,rgba(124,137,240,.08) 35%,rgba(124,137,240,.66) 46%,rgba(255,255,255,.44) 52%,transparent 66%);animation-delay:-2.95s}
@keyframes stage-motion-streak{0%,42%,100%{opacity:0;transform:translateX(-55%) skewX(-18deg)}56%{opacity:.9;transform:translateX(28%) skewX(-18deg)}68%{opacity:.32;transform:translateX(72%) skewX(-18deg)}}
.play-card .rank{animation:stage-rank-pop 3.6s ease-in-out infinite}
.play-card .num{animation:stage-number-pulse 3.9s ease-in-out infinite}
.play-card:after{background:linear-gradient(118deg,transparent 0%,rgba(255,255,255,.04) 31%,rgba(185,239,32,.32) 43%,rgba(255,255,255,.16) 50%,transparent 64%);animation:stage-card-glint 3.7s ease-in-out infinite}
.play-card.c2:after,.play-card.c5:after,.play-card.c8:after{animation-delay:-1.7s}.play-card.c3:after,.play-card.c6:after{animation-delay:-3.1s}
@keyframes stage-card-glint{0%,50%,100%{opacity:.35;transform:translateX(-72%) skewX(-14deg)}65%{opacity:1;transform:translateX(68%) skewX(-14deg)}}
@keyframes stage-rank-pop{0%,72%,100%{transform:rotate(0) scale(1)}80%{transform:rotate(5deg) scale(1.12)}88%{transform:rotate(-3deg) scale(1.05)}}
@keyframes stage-number-pulse{0%,100%{text-shadow:2px 3px #0008}50%{text-shadow:0 0 16px rgba(185,239,32,.75),2px 3px #0008}}
.initiative{min-height:800px}.initiative-image{position:relative;overflow:hidden;background-image:linear-gradient(90deg,transparent 72%,rgba(7,30,27,.7)),url('assets/initiative-community-v2.webp');background-position:center;background-size:106%;animation:initiative-scene-drift 9s ease-in-out infinite}
.initiative-image:before{content:"";position:absolute;left:24%;top:43%;width:25%;height:24%;border:3px solid rgba(185,239,32,.86);border-radius:50%;box-shadow:0 0 0 0 rgba(185,239,32,.42);transform:rotate(-14deg);animation:initiative-map-pulse 2.4s ease-in-out infinite;pointer-events:none}
.initiative-image:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(0deg,rgba(7,30,27,.32),transparent);animation:initiative-light-sweep 8s ease-in-out infinite;pointer-events:none}
.initiative-route-motion{position:absolute;left:19%;top:37%;z-index:2;width:42%;max-width:430px;aspect-ratio:1.44;transform:rotate(-10deg);filter:drop-shadow(0 0 12px rgba(252,76,2,.65)) drop-shadow(0 0 18px rgba(185,239,32,.36));pointer-events:none}
.initiative-route-motion svg{display:block;width:100%;height:100%;overflow:visible}
.initiative-route-motion .route-paper{fill:none;stroke:#fc4c02;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:420;animation:initiative-route-draw 3.2s ease-in-out infinite}
.initiative-route-motion .route-dot{fill:#b9ef20;stroke:#fff;stroke-width:4;opacity:0;animation:initiative-dot-pop 3.2s ease-in-out infinite}
.initiative-route-motion .d2{animation-delay:.45s}.initiative-route-motion .d3{animation-delay:.9s}
@keyframes initiative-scene-drift{0%,100%{background-position:center center;background-size:106%}50%{background-position:48% 49%;background-size:110%}}
@keyframes initiative-map-pulse{0%,100%{opacity:.2;box-shadow:0 0 0 0 rgba(185,239,32,.34)}50%{opacity:.92;box-shadow:0 0 0 24px rgba(185,239,32,0)}}
@keyframes initiative-route-draw{0%{stroke-dashoffset:420;opacity:0}22%,65%{stroke-dashoffset:0;opacity:.95}100%{stroke-dashoffset:0;opacity:0}}
@keyframes initiative-dot-pop{0%,18%{opacity:0;transform:scale(.4)}32%,68%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.75)}}
@keyframes initiative-light-sweep{0%,100%{opacity:.2;transform:translateX(-8%)}50%{opacity:.42;transform:translateX(8%)}}
.origin-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:18px 0;background:rgba(185,239,32,.25);border:1px solid rgba(185,239,32,.25)}
.origin-facts span{display:flex;flex-direction:column;padding:12px;background:#071e1b;font-size:9px;letter-spacing:.08em}.origin-facts b{color:var(--lime);font-size:21px;letter-spacing:0}
.initiative-copy .disclaimer{font-size:12px;color:#84978e;line-height:1.35}
@media(max-width:760px){.initiative{min-height:0}.initiative-image{background-image:linear-gradient(0deg,rgba(7,30,27,.45),transparent 40%),url('assets/initiative-community-v2.webp')}.origin-facts{grid-template-columns:1fr}}
.tooltip-term{position:relative;display:inline-block;color:var(--lime);font-weight:700;border-bottom:1px dashed var(--lime);cursor:help;outline:none}
.tooltip-box{position:absolute;left:50%;bottom:calc(100% + 12px);z-index:20;width:280px;padding:13px 15px;border:1px solid rgba(185,239,32,.5);border-radius:8px;background:#020d0c;color:#eaf2ed;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:0;box-shadow:0 12px 35px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:.18s;pointer-events:none}
.tooltip-box:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:rgba(185,239,32,.5)}
.tooltip-term:hover .tooltip-box,.tooltip-term:focus .tooltip-box,.tooltip-term:focus-visible .tooltip-box{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:480px){.tooltip-box{left:0;width:245px;transform:translate(0,6px)}.tooltip-term:hover .tooltip-box,.tooltip-term:focus .tooltip-box,.tooltip-term:focus-visible .tooltip-box{transform:translate(0,0)}}
.gallery-panels div:nth-child(1){background-image:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%),url('assets/gallery-mountains-v1.webp');background-position:center;background-size:cover}
.gallery-panels div:nth-child(2){background-image:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%),url('assets/gallery-lagoons-v1.webp');background-position:center;background-size:cover}
.gallery-panels div:nth-child(3){background-image:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%),url('assets/gallery-good-vibes-v1.webp');background-position:center;background-size:cover}
.gallery-panels div{position:relative;overflow:hidden}
.gallery-panels div span{position:absolute!important;left:15px!important;right:auto!important;top:auto!important;bottom:15px!important;z-index:2;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fffdf3;font:25px/1 'Bangers';letter-spacing:0;text-shadow:2px 2px #000;white-space:normal}
.select-hint{color:var(--lime);font-size:11px;font-weight:700;letter-spacing:.06em}.play-card{cursor:pointer}.play-card:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.play-card.is-selected{border-color:var(--lime);box-shadow:0 0 0 2px var(--lime),0 18px 40px #0008;transform:translateY(-8px)}
.route-panel{margin-top:34px;border:1px solid rgba(185,239,32,.32);border-radius:20px;background:#091f1c;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.32)}.route-panel[hidden]{display:none}.route-panel-head{display:flex;align-items:center;justify-content:space-between;padding:26px 30px;border-bottom:1px solid rgba(255,255,255,.12)}.route-panel-head h3{font:42px/.9 'Bangers';letter-spacing:1px}.route-panel-head .micro{margin-bottom:8px}.route-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;color:white;font-size:27px;cursor:pointer}.route-close:hover{border-color:var(--lime);color:var(--lime)}.route-layout{display:grid;grid-template-columns:1.45fr .55fr}.route-map{position:relative;min-height:390px;background:#102823}.route-map svg{display:block;width:100%;height:100%;min-height:390px}.map-badge{position:absolute;left:20px;bottom:18px;padding:8px 11px;border-radius:5px;background:#fc4c02;color:white;font-size:10px;font-weight:800;letter-spacing:.08em}.route-info{padding:30px;display:flex;flex-direction:column}.route-description{font-size:19px;line-height:1.35;color:#cad7d1;margin-top:0}.route-stats{display:grid;grid-template-columns:repeat(2,1fr);margin:14px 0 22px;border:1px solid rgba(255,255,255,.12)}.route-stats div{padding:15px 10px;border-right:1px solid rgba(255,255,255,.12)}.route-stats div:last-child{border:0}.route-stats small{display:block;color:#91a39a;font-size:9px;letter-spacing:.08em}.route-stats strong{display:block;color:var(--lime);font-size:21px;margin-top:4px}.route-notice{display:flex;gap:13px;padding:15px;border:1px solid rgba(252,76,2,.4);background:rgba(252,76,2,.08);border-radius:9px}.route-notice>span{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#fc4c02;font-weight:800}.route-notice p{margin:0;color:#bccbc4;font-size:13px;line-height:1.35}.route-notice b{display:block;color:white;font-size:11px;letter-spacing:.08em;margin-bottom:4px}.strava-placeholder{margin-top:auto;padding:15px;border:0;border-radius:7px;background:#243a34;color:#84978e;font:800 11px 'Barlow Condensed';letter-spacing:.08em}.strava-placeholder span{color:#fc4c02;margin-right:7px}
@media(max-width:900px){.route-layout{grid-template-columns:1fr}.route-info{min-height:370px}.route-map,.route-map svg{min-height:320px}}
@media(max-width:760px){.select-hint{display:none}.route-panel{margin-top:24px}.route-panel-head{padding:20px}.route-panel-head h3{font-size:32px}.route-layout{display:block}.route-map,.route-map svg{min-height:240px}.route-info{padding:20px;min-height:0}.strava-placeholder{margin-top:18px}}.social-auth-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px}.social-button{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:48px;padding:10px 14px;border:1px solid #a9afa8;border-radius:7px;background:#fff;color:#14231e;font:700 13px 'Barlow Condensed';cursor:pointer;transition:.18s}.social-button:hover{border-color:#15392c;transform:translateY(-2px);box-shadow:0 6px 16px #13251d18}.social-button>span{display:grid;place-items:center;width:24px;height:24px;font:800 18px/1 Arial}.oauth-status{margin:12px 0 0;padding:10px 12px;border-left:3px solid #b1b9b4;background:#e5e1d5;color:#66736c;font-size:12px;line-height:1.35}.oauth-status.is-active{border-color:#fc4c02;color:#263a32;background:#fff7ee}

.herd{padding:85px clamp(24px,7vw,105px);background:#09231f;color:#fff}.herd-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.herd h2{font:72px/.9 'Bangers';letter-spacing:1.5px}.herd-count{display:flex;align-items:center;gap:13px;padding:15px 18px;border:1px solid rgba(185,239,32,.35);border-radius:12px;background:#061a18}.herd-count strong{font:48px/.8 'Bangers';color:var(--lime)}.herd-count span{font-size:10px;font-weight:800;letter-spacing:.1em;line-height:1.1}.herd-intro{max-width:660px;color:#b9c9c1;font-size:18px;line-height:1.45}.rider-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.rider-card{display:flex;align-items:center;position:relative;gap:14px;padding:17px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#0d2c27}.rider-avatar{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:50%;background:#b9ef20;color:#081c17;font:25px 'Bangers'}.rider-avatar.tone-1{background:#ffc817}.rider-avatar.tone-2{background:#35c6d8}.rider-avatar.tone-3{background:#ef7652}.rider-avatar.tone-4{background:#d8a9ef}.rider-card h3{font:23px 'Bangers';letter-spacing:.5px}.commitment-mark{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--lime);color:#0a1d18;font-size:11px;font-weight:900}
.avatar-picker{margin-top:16px;padding-top:14px;border-top:1px solid #e2e0d7}.avatar-picker p{margin:0 0 11px;color:#66736c;font:800 10px/1 'Barlow Condensed';letter-spacing:.12em}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:9px;max-height:210px;overflow:auto;padding:4px 3px 8px;scrollbar-width:thin}.avatar-option{display:grid;place-items:center;width:100%;aspect-ratio:1;border:1px solid #d0d2ca;border-radius:50%;background:#f7f4e9;cursor:pointer;padding:3px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.avatar-option:hover{border-color:#15392c;transform:translateY(-2px);box-shadow:0 8px 18px rgba(8,28,23,.12)}.avatar-option:focus-visible{outline:3px solid var(--lime);outline-offset:2px}.avatar-option.is-selected{border-color:#15392c;background:#e8ffad;box-shadow:0 0 0 3px #15392c,0 10px 20px rgba(8,28,23,.16)}.avatar-badge{display:block;position:relative;overflow:hidden;background:#f7f4e9;box-shadow:0 4px 12px rgba(0,0,0,.16);line-height:0}.avatar-badge img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}.rider-card .avatar-badge{flex:0 0 58px;width:58px;height:58px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}.avatar-option .avatar-badge{width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 4px 10px rgba(8,28,23,.18)}@media(max-width:760px){.avatar-picker{margin-top:12px}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;max-height:196px}.avatar-option .avatar-badge{width:49px;height:49px}.rider-card .avatar-badge{flex-basis:52px;width:52px;height:52px}}@media(max-width:430px){.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}


@media(max-width:900px){.rider-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:760px){.herd{padding:60px 20px}.herd-heading{align-items:flex-start;flex-direction:column}.herd h2{font-size:57px}.rider-grid{grid-template-columns:1fr}}
.social-button:disabled{opacity:.5;cursor:not-allowed;background:#eeece5;border-color:#c4c9c2;color:#77817c}
.social-button:disabled:hover{transform:none;box-shadow:none;border-color:#c4c9c2}
.social-button:disabled>span{filter:grayscale(1)}
.nickname-box{margin:18px 0 4px;padding:16px;border:1px solid #c4c9c2;border-radius:8px;background:#fff;text-align:left}
.nickname-box label{display:block;color:#66736c;font:800 10px/1 'Barlow Condensed';letter-spacing:.12em;margin-bottom:8px}
.nickname-edit{display:flex;gap:8px}
.nickname-edit input{flex:1 1 auto;width:auto;min-width:0;padding:10px 12px;border:1px solid #a9afa8;border-radius:7px;background:#fff;color:#14231e;font:700 15px 'Barlow Condensed'}
.nickname-edit input:focus{outline:none;border-color:#15392c}
.nickname-edit .pill{flex:0 0 auto;width:auto;padding:10px 18px}
.nickname-edit .pill:disabled{opacity:.5;cursor:not-allowed}
.nickname-status{margin:8px 0 0;color:#66736c;font-size:12px;line-height:1.35}
.nickname-status.is-error{color:#b3401a}
.nickname-status.is-saved{color:#15392c;font-weight:700}





[hidden]{display:none!important}
@media(max-width:760px){
.hero{min-height:560px}
.initiative-image{min-height:280px}
.gallery-panels{display:flex;gap:10px;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.gallery-panels div{flex:0 0 78vw;min-height:230px;scroll-snap-align:start}
}
@media(max-width:480px){
.hero{min-height:520px}
.gallery-panels div{flex-basis:82vw;min-height:210px}
}
@media(max-width:400px){
.hero h1{font-size:46px}
.hero-lead{font-size:17px}
.herd h2{font-size:44px}
.gallery h2{font-size:48px}
.register-banner h2{font-size:42px}
}
.join-cta{display:flex;align-items:center;gap:20px;width:100%;margin-top:30px;padding:26px 24px;border:1px dashed rgba(185,239,32,.45);border-radius:14px;background:#071d1a;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:.2s}
.join-cta:hover{border-color:var(--lime);background:#08211d}
.join-cta.is-open{border-style:solid;border-bottom:0;border-radius:14px 14px 0 0}
.join-cta-mark{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:50%;background:var(--lime);color:#071d1a;font-size:32px}
.join-cta-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.join-cta-copy b{font:28px 'Bangers';letter-spacing:.5px;color:#fff}
.join-cta-copy i{font-style:normal;color:#9cafaa;font-size:14px;line-height:1.35}
.join-cta-chevron{flex:none;color:var(--lime);font-size:30px;line-height:1;transition:transform .2s}
.join-cta.is-open .join-cta-chevron{transform:rotate(90deg)}
.join-panel{padding:22px 24px 24px;border:1px solid rgba(185,239,32,.45);border-top:0;border-radius:0 0 14px 14px;background:#071d1a}
.join-panel .social-auth-grid{margin-top:0}
.join-panel .oauth-status{background:#0d2c27;border-left-color:#2c4a42;color:#9cafaa}
.join-panel .oauth-status.is-active{background:#10332c;color:#d5dfda}
.join-panel .nickname-box{margin:0}
.join-terms{margin:14px 0 0;color:#7f958a;font-size:12px;line-height:1.4}
@media(max-width:760px){
.join-cta{gap:14px;padding:18px}
.join-cta-mark{flex-basis:42px;height:42px;font-size:26px}
.join-cta-copy b{font-size:23px}
.join-panel{padding:18px}
}
.rider-card.is-you{flex-wrap:wrap;cursor:pointer;border-color:rgba(185,239,32,.45)}
.rider-card.is-you:hover{border-color:var(--lime)}
.rider-card.is-you:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.rider-card.is-you.is-open{grid-column:1/-1}
.rider-card.is-you .nickname-box{flex:0 0 100%;margin-top:14px;cursor:auto}
.rider-hint{display:block;margin-top:3px;color:#7f958a;font:700 10px 'Barlow Condensed';font-style:normal;text-transform:uppercase;letter-spacing:.09em}
.join-cta.is-static{cursor:default}
.join-cta.is-static:hover{border-color:rgba(185,239,32,.45);background:#071d1a}
.join-cta.is-static .join-cta-chevron{display:none}
/* Mauritian flag: red, blue, yellow, green. The flag blue (#1A206D) sits at
   1.4:1 on the footer, so it is lifted to #7C89F0 (6.3:1); the other three are
   the true flag colours and all clear 4.5:1. */
.made-in .mi-red{color:#EA2839}
.made-in .mi-blue{color:#7C89F0}
.made-in .mi-yellow{color:#FFD500}
.made-in .mi-green{color:#00A551}
.made-in .mi-heart{color:#FFD500;font-size:14px;line-height:1}
.made-in .mi-link-lead,.made-in .mi-bernie{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:#00A551}
.made-in .mi-bernie{color:#00A551}
.made-in .mi-bernie:hover,.made-in .mi-bernie:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:#FFD500;outline:none}
.rider-remove{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid rgba(234,40,57,.55);border-radius:50%;background:transparent;color:#ff5b6b;font:900 11px 'Barlow Condensed';line-height:1;cursor:pointer;transition:.15s}
.rider-remove:hover,.rider-remove:focus-visible{background:#ea2839;border-color:#ea2839;color:#fff;outline:none}
.facts>div.is-countdown{background:linear-gradient(180deg,rgba(185,239,32,.13),rgba(185,239,32,.04));border-left:1px solid rgba(185,239,32,.35)}
.facts>div.is-countdown>span{color:#fff}
.facts>div.is-countdown b{color:var(--lime);font-size:30px;line-height:1}
.facts>div.is-countdown small{color:#cfe6a8}
@media(max-width:760px){.facts>div.is-countdown b{font-size:21px}}
.email-join{margin-top:16px}
.email-join label{display:block;margin-bottom:8px;color:#9cafaa;font:800 10px 'Barlow Condensed';letter-spacing:.12em;text-transform:uppercase}
.email-row{display:flex;gap:8px}
.email-row input{flex:1 1 auto;width:auto;min-width:0;padding:11px 14px;border:1px solid #2c4a42;border-radius:7px;background:#0d2c27;color:#eaf3ee;font:700 15px 'Barlow Condensed'}
.email-row input::placeholder{color:#6d827a}
.email-row input:focus{outline:none;border-color:var(--lime)}
.email-row .pill{flex:0 0 auto;width:auto;padding:11px 18px}
.email-row .pill:disabled{opacity:.5;cursor:not-allowed}
.email-status{margin:8px 0 0;color:#7f958a;font-size:12px;line-height:1.4}
.email-status.is-error{color:#ff9a88}
.email-status.is-sent{color:var(--lime);font-weight:700}

/* Live route map — sits in .route-map alongside the illustrative SVG fallback. */
/* Descendant selector needed: maplibre-gl.css loads later and sets .maplibregl-map{position:relative}. */
.route-map .route-map-live{position:absolute;inset:0;min-height:390px;background:#071d1b}
.route-map:not(.is-live) .route-map-live{display:none}
.route-map.is-live svg,.route-map.is-live .map-badge{display:none}
.route-map .maplibregl-ctrl-group{background:#0d2622;border:1px solid rgba(255,255,255,.16);box-shadow:none}
.route-map .maplibregl-ctrl-group button+button{border-top:1px solid rgba(255,255,255,.16)}
.route-map .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1) opacity(.8)}
.route-map .maplibregl-ctrl-group button:hover{background:#16352e}
/* .maplibregl-ctrl-attrib.maplibregl-compact is two classes and loads later, so match its weight. */
.route-map .maplibregl-ctrl-attrib.maplibregl-compact,.route-map .maplibregl-ctrl-attrib,
.route-map .maplibregl-ctrl-attrib-inner{background:rgba(7,29,27,.86);color:#91a39a;font-size:10px}
.route-map .maplibregl-ctrl-attrib .maplibregl-ctrl-attrib-button{background-color:transparent;filter:invert(1) opacity(.65)}
.route-map .maplibregl-ctrl-attrib a{color:#b9ef20}
.route-map .maplibregl-canvas{outline:none}
.route-downloads{margin-top:auto}
.route-downloads[hidden]{display:none}
.route-downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-items:stretch}
.route-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:14px 4px;border-radius:7px;border:0;font:800 10.5px/1.1 'Barlow Condensed';letter-spacing:.02em;white-space:nowrap;text-decoration:none;text-align:center;transition:.18s}
.route-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.route-btn.gpx{background:#b9ef20;color:#0d2119}
.route-btn.gpx:before{content:"↓";font-size:13px}
.route-btn.garmin{background:#007cc3;color:#fff}
.route-btn.strava{background:#fc4c02;color:#fff}
.route-btn[hidden]{display:none}
@media(max-width:900px){.route-map .route-map-live{min-height:320px}}
@media(max-width:760px){.route-map .route-map-live{min-height:240px}.route-downloads{margin-top:18px}}

/* Language picker sits in the header bar beside the hamburger on mobile,
   rather than being buried inside the collapsible menu. */
@media(max-width:760px){
  .nav{gap:10px}
  .nav .language-switch{order:2;margin-left:auto;padding:3px;gap:2px;flex:0 0 auto}
  .nav .language-switch button{min-width:0;padding:6px 7px;font-size:10px;letter-spacing:.04em}
  .nav .menu{order:3;flex:0 0 38px}
  .brand{max-width:calc(100vw - 196px)}
}
/* Narrow phones: shrink the wordmark rather than let it wrap beside the picker. */
@media(max-width:400px){
  .nav .language-switch button{padding:6px 6px;font-size:9.5px}
  .brand b{font-size:16px}
  .brand small{font-size:8px;letter-spacing:1.6px}
  .brand{max-width:calc(100vw - 184px)}
}
