:root{--ink:#0b3539;--muted:#607d7e;--paper:#f6faf5;--aqua:#22b8aa;--aqua-dark:#057a76;--sun:#ffd05a;--coral:#ff6f5d;--line:#dce9e5;--race:#071f29;--shadow:0 22px 60px rgba(11,53,57,.13);--display:'Manrope',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}h1,h2,h3,h4{font-family:var(--display);line-height:1.08}p{color:var(--muted)}.container{width:min(1440px,calc(100% - 40px));margin-inline:auto}.is-hidden{display:none!important}
.site-header{position:sticky;top:0;z-index:2200;background:rgba(246,250,245,.93);border-bottom:1px solid rgba(11,53,57,.08);backdrop-filter:blur(18px)}.nav-container{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.project-brand{display:flex;align-items:center;gap:11px}.infinity-mark{width:48px;height:38px;display:grid;place-items:center;border-radius:15px;background:var(--race);color:#5ce2d5;font:800 2rem/1 var(--display)}.project-brand strong{display:block;font-family:var(--display);font-size:.84rem;letter-spacing:.08em}.project-brand small{display:block;color:var(--muted);font-size:.71rem}.nav-container nav{display:flex;gap:23px;font-weight:700;font-size:.85rem}.nav-container nav a:hover{color:var(--aqua-dark)}.nebula-signature{display:flex;align-items:center;gap:7px;background:var(--race);color:#fff;padding:9px 13px;border-radius:999px;font-size:.68rem}.nebula-signature strong{color:#5ce2d5}
.hero{min-height:720px;display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:56px;padding-block:64px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--aqua-dark);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;margin-bottom:18px}.eyebrow.light{color:#9ffff5}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 7px rgba(255,111,93,.13)}.hero h1{font-size:clamp(3.15rem,5.6vw,5.8rem);letter-spacing:-.06em}.hero h1 em{font-style:normal;color:var(--aqua-dark)}.hero-lead{max-width:690px;font-size:1.12rem;margin:27px 0 31px}.hero-actions,.cause-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 10px 28px rgba(255,111,93,.24)}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-sun{background:var(--sun);color:var(--ink)}.hero-facts{display:flex;gap:28px;margin-top:36px;color:var(--muted);font-size:.82rem}.hero-facts span{display:grid}.hero-facts strong{font:800 1.48rem var(--display);color:var(--ink)}.archipelago-hero{position:relative;aspect-ratio:23/15;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#bde9e6}.archipelago-hero>img{display:block;width:100%;height:100%;object-fit:contain}.archipelago-hero figcaption{position:absolute;left:20px;right:20px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 14px;border-radius:15px;background:rgba(7,31,41,.9);color:#fff;backdrop-filter:blur(10px)}.archipelago-hero figcaption span{font-size:.65rem;letter-spacing:.12em;color:#79e5da;font-weight:800}.archipelago-hero figcaption strong{font-size:.84rem}
.live-section{padding:108px 0;background:#eaf4f0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-heading h2,.athlete-section h2{font-size:clamp(2.3rem,4vw,4.25rem);letter-spacing:-.045em}.section-heading>p{max-width:520px}.race-center{background:var(--race);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.race-bar{min-height:82px;display:grid;grid-template-columns:1.2fr repeat(3,.7fr) 1fr;align-items:center;gap:20px;color:#fff;padding:15px 23px;border-bottom:1px solid rgba(255,255,255,.11)}.race-bar>div{min-width:0}.race-bar small{display:block;color:#80a6a7;font-size:.61rem;letter-spacing:.12em;font-weight:800}.race-bar strong{display:block;font-size:.83rem;overflow-wrap:anywhere}.race-state{display:flex;align-items:center;gap:12px}.connection-dot{width:14px;height:14px;flex:0 0 auto;border-radius:50%;background:#8ba0a2;box-shadow:0 0 0 7px rgba(139,160,162,.14)}.connection-dot.live{background:#43df82;box-shadow:0 0 0 7px rgba(67,223,130,.14);animation:pulse 1.7s infinite}.connection-dot.delayed{background:var(--sun)}.race-link{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:9px 13px;text-align:center;font-size:.71rem;font-weight:800}.race-grid{height:min(72vh,760px);min-height:640px;display:grid;grid-template-columns:minmax(0,1fr) 390px}.race-map-wrap{position:relative;min-width:0}#map{height:100%;width:100%;background:#dcefea}.stage-panel{background:#fff;padding:24px;overflow:auto}.map-legend{position:absolute;z-index:600;left:15px;bottom:15px;background:rgba(255,255,255,.94);padding:9px 12px;border-radius:13px;display:flex;gap:12px;font-size:.67rem;box-shadow:0 8px 25px rgba(11,53,57,.15)}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:18px;height:4px;border-radius:4px;background:#809b9b}.map-legend .done{background:var(--aqua)}.map-legend .planned{border-top:2px dashed #809b9b;background:none}.map-legend .signal{width:9px;height:9px;border-radius:50%;background:var(--coral)}.stage-topline{display:flex;justify-content:space-between;align-items:center}.stage-badge{padding:6px 9px;border-radius:999px;background:#e5f7f2;color:var(--aqua-dark);font-size:.67rem;font-weight:800;text-transform:uppercase}.stage-badge.next{background:#fff4d7;color:#97640d}.stage-number{font-weight:800;color:#95aaa8}.stage-panel h3{font-size:1.5rem;margin:14px 0 8px}.stage-description,.stage-place{font-size:.86rem}.stage-meta{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.stage-meta span{background:var(--paper);border:1px solid var(--line);padding:6px 8px;border-radius:9px;font-size:.72rem}.stage-place{padding-top:13px;border-top:1px solid var(--line)}.stage-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:13px;margin:15px 0 7px}.stage-credit{display:block;color:#7d9392;font-size:.63rem;line-height:1.35}.stage-credit a{text-decoration:underline}.demo-note{font-size:.68rem;margin-top:12px}.race-progress{min-height:84px;display:grid;grid-template-columns:120px 1fr 90px 120px;align-items:center;gap:20px;color:#fff;padding:15px 23px;border-top:1px solid rgba(255,255,255,.11)}.race-progress span{display:block;font:800 1.13rem var(--display)}.race-progress small{color:#80a6a7;font-size:.65rem}.progress-track{height:11px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.progress-track span{height:100%;width:0;background:linear-gradient(90deg,var(--aqua),#5ce2d5);border-radius:999px;transition:width .5s}.stage-navigator{display:flex;align-items:center;gap:19px;background:#fff;padding:18px 23px;border-radius:0;border-top:1px solid var(--line)}.round-button{width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;font-weight:800}.round-button:hover{background:var(--race);color:#fff}.round-button:disabled{opacity:.35}.stage-range-wrap{flex:1}.stage-range-labels,.range-points{display:flex;justify-content:space-between}.stage-range-labels span{color:var(--aqua-dark);font-weight:800}.stage-range-labels strong{font-size:.83rem}input[type=range]{width:100%;accent-color:var(--coral)}.range-points{font-size:.66rem;color:#8aa09e}.race-feed{background:#f4fbf8;padding:30px 23px 35px;border-top:1px solid var(--line)}.race-feed-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:20px}.race-feed-heading h3{font-size:1.55rem;margin-top:5px}.race-feed-heading>p{max-width:430px;font-size:.84rem}.mini-label{color:var(--coral);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.telemetry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px}.telemetry-card{background:#fff;padding:16px;border:1px solid var(--line);border-radius:16px}.telemetry-card small{display:block;color:var(--muted);margin:6px 0 3px;font-size:.72rem}.telemetry-card strong{font:800 1.22rem var(--display);white-space:nowrap}.journal-toolbar{display:flex;justify-content:space-between;align-items:end;margin:8px 0 14px}.journal-toolbar h3{font-size:1.45rem}.journal-controls{display:flex;gap:7px}.social-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.social-card{min-height:285px;border-radius:20px;overflow:hidden;position:relative;background:var(--race);color:#fff;box-shadow:0 12px 30px rgba(11,53,57,.12)}.social-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.social-content{position:absolute;inset:auto 0 0;padding:68px 19px 17px;background:linear-gradient(transparent,rgba(5,28,36,.96))}.social-platform,.social-footer{display:flex;justify-content:space-between;font-size:.66rem}.social-platform{color:#92f0e7;text-transform:uppercase;font-weight:800}.social-content h4{font-size:1.08rem;margin:6px 0}.social-content p{color:#eefafa;font-size:.81rem;line-height:1.4}.social-footer{color:#b9d0cf;margin-top:10px}.journal-more{text-align:center;margin-top:18px}.integration-note{display:flex;align-items:center;gap:11px;flex-wrap:wrap;background:#e8f4f0;padding:18px 23px;border-top:1px solid var(--line);font-size:.72rem}.integration-note span{background:#fff;padding:6px 9px;border-radius:999px}.integration-note p{flex-basis:100%;font-size:.68rem}
.live-swimmer-marker{background:transparent;border:0}.live-swimmer-marker div{width:26px;height:26px;border:4px solid #fff;border-radius:50%;background:var(--coral);box-shadow:0 0 0 10px rgba(255,111,93,.24);animation:pulse 1.7s infinite}.map-marker{background:transparent;border:0}.map-marker div{width:18px;height:18px;border:3px solid #fff;border-radius:50%;box-shadow:0 3px 10px rgba(11,53,57,.3)}.map-marker.active div{width:28px;height:28px;background:var(--coral)!important;box-shadow:0 0 0 7px rgba(255,111,93,.22)}
.partners-marquee{overflow:hidden;background:#fff;border-block:1px solid var(--line);padding:21px 0}.partners-track{display:flex;width:max-content;animation:sponsorMarquee 42s linear infinite}.partners-set{display:flex;align-items:center;gap:42px;padding-right:42px;white-space:nowrap;color:var(--muted);font-size:.77rem}.partners-set strong{color:var(--ink);letter-spacing:.08em}.partners-set i{color:var(--coral);font-size:1.35rem;font-style:normal}.partners-set b{background:#eaf7f3;color:var(--aqua-dark);padding:6px 10px;border-radius:999px}.partner-label{text-transform:uppercase;letter-spacing:.11em;font-weight:800}.partners-marquee:hover .partners-track{animation-play-state:paused}@keyframes sponsorMarquee{to{transform:translateX(-50%)}}
.cause-banner{background:var(--race);padding:78px 0;color:#fff}.cause-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:68px;align-items:center}.cause-banner h2{font-size:clamp(2.3rem,4vw,4.15rem);max-width:760px}.cause-banner p{color:#c9dddd;margin:18px 0 24px;max-width:780px}.cause-actions>a:not(.btn){color:#91eee5;font-weight:800;font-size:.85rem}.impact-card{background:#fff;color:var(--ink);padding:29px;border-radius:27px}.impact-card>span{color:var(--aqua-dark);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.69rem}.impact-card>strong{display:block;font:800 3.65rem var(--display);letter-spacing:-.06em;margin-top:8px}.impact-card p{color:var(--muted);margin:0 0 17px}.impact-card>div{padding-top:15px;border-top:1px solid var(--line)}
.territory-section{padding:110px 0;background:#fff}.territory-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:500px;border-radius:29px;overflow:hidden;background:var(--race);color:#fff}.territory-feature img{width:100%;height:100%;object-fit:cover}.territory-feature>div{padding:48px;display:flex;flex-direction:column;justify-content:center}.territory-feature span{color:#7fe9df;font-size:.71rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.territory-feature h3{font-size:clamp(2rem,3.5vw,3.45rem);margin:13px 0 18px}.territory-feature p{color:#c6dcda}.territory-feature a{margin-top:23px;color:var(--sun);font-weight:800}.achievements-section{padding:110px 0;background:#fff7e3}.feats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.feats-grid article{background:#fff;border:1px solid #f0e2c4;border-radius:21px;padding:24px;min-height:285px;display:flex;flex-direction:column}.feats-grid article>span{color:var(--coral);font-weight:800}.feats-grid article>strong{font:800 1.55rem var(--display);margin:16px 0 5px}.feats-grid h3{font-size:1.04rem}.feats-grid p{font-size:.84rem;margin-top:11px}.feats-grid a{color:var(--aqua-dark);font-weight:800;font-size:.74rem;margin-top:auto}.athlete-section{padding:120px 0;background:#fff}.athlete-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center}.athlete-photo{position:relative}.athlete-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:29px;box-shadow:var(--shadow)}.athlete-photo span{position:absolute;left:18px;bottom:18px;background:#fff;padding:9px 13px;border-radius:999px;font-weight:800;font-size:.69rem}.athlete-lead{font-size:1.26rem;color:var(--ink);margin:23px 0 17px}.verification-note{display:flex;gap:13px;background:#eaf7f3;padding:17px;border-radius:17px;margin-top:25px}.verification-note>span{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--aqua);color:#fff}.verification-note p{font-size:.84rem}
.site-footer{background:#051b22;color:#fff;padding:62px 0 22px}.footer-main{display:grid;grid-template-columns:1.05fr .55fr 1.4fr;gap:65px;align-items:start;padding-bottom:40px}.footer-main>div,.footer-main nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-main p,.footer-main small,.footer-main span{color:#9eb9b8}.footer-main nav h3{color:#5ce2d5;font-size:.9rem}.footer-studio{max-width:560px}.footer-studio .studio-kicker{color:#5ce2d5;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.footer-studio h3{max-width:520px;color:#fff;font-size:1.35rem;line-height:1.2}.footer-studio h3 em{color:var(--coral);font-style:normal}.footer-studio p{max-width:540px;font-size:.82rem;line-height:1.55}.footer-studio img{width:185px;margin-top:8px;border-radius:8px}.footer-studio a{color:#5ce2d5;font-weight:800;font-size:.82rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#8fa9a8;font-size:.74rem}.footer-bottom span{max-width:720px}.footer-bottom small{text-align:right}.site-footer .project-brand small{color:#8fa9a8}
@keyframes pulse{70%{box-shadow:0 0 0 13px rgba(255,111,93,0)}}
@media(max-width:1080px){.nav-container nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.archipelago-hero{width:100%}.cause-grid{grid-template-columns:1fr}.race-bar{grid-template-columns:1fr 1fr 1fr}.race-state{grid-column:auto}.race-link{display:none}.race-grid{height:auto;min-height:0;grid-template-columns:1fr}.race-map-wrap{height:560px}.stage-panel{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.stage-panel .stage-topline,.stage-panel h3,.stage-panel .stage-description,.stage-panel .stage-meta,.stage-panel .demo-note{grid-column:1/-1}.stage-panel .stage-photo{grid-column:1;grid-row:5/8;margin-top:0}.stage-panel .stage-credit{grid-column:1}.stage-panel .stage-place{grid-column:2;grid-row:5/8}.territory-feature{grid-template-columns:1fr}.territory-feature img{height:440px}.feats-grid{grid-template-columns:repeat(2,1fr)}.athlete-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}}
@media(max-width:650px){.container{width:calc(100% - 24px)}.nav-container{height:66px}.nebula-signature span{display:none}.hero{padding-block:44px;gap:34px}.hero h1{font-size:clamp(2.55rem,13vw,3.15rem)}.hero-lead{font-size:1rem}.hero-facts{gap:15px}.archipelago-hero{aspect-ratio:4/3;border-radius:23px}.archipelago-hero figcaption{left:11px;right:11px;bottom:11px;font-size:.7rem}.archipelago-hero figcaption span{display:none}.live-section,.cause-banner,.territory-section,.achievements-section,.athlete-section{padding:74px 0}.section-heading{align-items:flex-start;flex-direction:column}.race-center{border-radius:22px}.race-bar{grid-template-columns:1fr 1fr;padding:14px}.race-state{grid-column:1/-1}.race-map-wrap{height:400px}.map-legend{max-width:calc(100% - 20px);left:10px;bottom:10px;gap:8px;flex-wrap:wrap}.stage-panel{display:block;padding:19px}.race-progress{grid-template-columns:1fr 1fr;padding:14px}.progress-track{grid-column:1/-1;grid-row:2}.stage-navigator{padding:14px 8px;gap:7px}.range-points{display:none}.race-feed{padding:24px 13px 28px}.race-feed-heading{align-items:flex-start;flex-direction:column;gap:6px}.telemetry-grid{grid-template-columns:1fr 1fr;gap:7px}.telemetry-card{padding:13px}.telemetry-card strong{font-size:1.05rem}.journal-toolbar{margin-top:16px}.social-track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:88%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.social-card{min-height:260px;scroll-snap-align:start}.integration-note{padding:15px 13px}.partners-set{gap:30px;padding-right:30px}.territory-feature img{height:290px}.territory-feature>div{padding:27px}.feats-grid{grid-template-columns:1fr}.athlete-photo img{aspect-ratio:1/1}.footer-main{grid-template-columns:1fr;gap:34px}.footer-main>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.footer-studio img{width:165px}}
@media(prefers-reduced-motion:reduce){.partners-track{animation:none;transform:none}.live-swimmer-marker div,.connection-dot.live{animation:none}}

/* Geographic Sardinia-Corsica hero */
.geo-archipelago{background:#c8eeeb}
.geo-map{display:block;width:100%;height:100%}
.geo-map text{font-family:var(--display)}
.geo-water-lines{fill:none;stroke:rgba(255,255,255,.42);stroke-width:2;stroke-dasharray:8 11}
.geo-island>path{stroke:rgba(7,49,57,.6);stroke-width:2.5;stroke-linejoin:round}
.geo-island-label rect{fill:rgba(7,31,41,.9)}
.geo-island-label text{fill:#fff;font-size:13px;font-weight:800;letter-spacing:.14em;text-anchor:middle}
.geo-route-halo,.geo-route-flow{fill:none;stroke-linecap:round;stroke-linejoin:round}
.geo-route-glow{fill:none;stroke:#ff6754;stroke-width:26;stroke-linecap:round;stroke-linejoin:round;opacity:.13}
.geo-route-halo{stroke:rgba(255,255,255,.96);stroke-width:17}
.geo-route-flow{stroke:#ff6754;stroke-width:8;stroke-dasharray:18 14;animation:geoRouteFlow 9s linear infinite}
.geo-route-dot{fill:#5ce2d5;stroke:#071f29;stroke-width:5;animation:geoRoutePulse 1.8s ease-in-out infinite}
.geo-route-center circle{fill:#071f29;stroke:#fff;stroke-width:4}.geo-route-center text{fill:#5ce2d5;font-size:29px;font-weight:800;text-anchor:middle}
.geo-summary{position:absolute;z-index:6;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px;border-radius:19px;background:rgba(7,31,41,.94);box-shadow:0 12px 26px rgba(7,31,41,.18);backdrop-filter:blur(8px)}
.geo-summary span{min-width:0;padding:7px 12px;border-right:1px solid rgba(255,255,255,.12)}.geo-summary span:last-child{border-right:0}.geo-summary strong,.geo-summary small{display:block}.geo-summary strong{color:#fff;font:800 1.2rem var(--display)}.geo-summary small{color:#7fe9df;font-size:.57rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@keyframes geoRouteFlow{to{stroke-dashoffset:-256}}
@keyframes geoRoutePulse{50%{r:12;opacity:.72}}

/* Territory + Instagram split inside each stage */
.stage-story-grid{display:grid;grid-template-columns:1.05fr repeat(2,1fr);gap:13px}
.territory-story-card{min-height:285px;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);display:grid;grid-template-rows:145px 1fr}
.territory-story-card img{width:100%;height:145px;object-fit:cover}
.territory-story-content{padding:16px}.territory-story-content span{color:var(--aqua-dark);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.territory-story-content h4{font-size:1rem;margin:6px 0}.territory-story-content p{font-size:.77rem;line-height:1.4}.territory-story-content a{display:inline-block;margin-top:8px;color:var(--aqua-dark);font-size:.68rem;font-weight:800;text-decoration:underline}
.instagram-card .social-platform{color:#ffd8d1}.instagram-card .social-platform span:first-child:before{content:'◎';margin-right:5px}.instagram-card .social-footer a{color:#fff;font-weight:800}

/* Documented support team */
.team-section{padding:112px 0;background:#eaf4f0}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px;min-height:270px}.team-card-lead{background:var(--race);color:#fff;border-color:var(--race)}.team-card-lead p{color:#c7dcda}
.team-initials{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:#def7f1;color:var(--aqua-dark);font:800 1rem var(--display);margin-bottom:20px}.team-card-lead .team-initials{background:#5ce2d5;color:var(--race)}
.team-card>span{color:var(--coral);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.team-card h3{font-size:1.15rem;margin:7px 0 11px}.team-card p{font-size:.82rem}
.team-context{margin-top:14px;background:#fff;padding:20px 23px;border-radius:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}.team-context p{font-size:.8rem}.team-context a{color:var(--aqua-dark);font-size:.72rem;font-weight:800}
.team-sources{display:flex;flex-direction:column;gap:5px;align-items:flex-start}

@media(max-width:1080px){.team-grid{grid-template-columns:repeat(2,1fr)}.stage-story-grid{grid-template-columns:1fr 1fr}.territory-story-card{grid-column:1/-1;grid-template-columns:260px 1fr;grid-template-rows:1fr}.territory-story-card img{width:260px;height:100%}.team-context{grid-template-columns:1fr}.team-context a{justify-self:start}}
@media(max-width:650px){.geo-archipelago{aspect-ratio:23/15}.geo-route-halo{stroke-width:14}.geo-route-flow{stroke-width:7}.geo-summary{left:8px;right:8px;bottom:8px;gap:3px;padding:6px;border-radius:13px}.geo-summary span{padding:4px 6px}.geo-summary strong{font-size:.82rem}.geo-summary small{font-size:.43rem;letter-spacing:.04em}.stage-story-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:88%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.territory-story-card{grid-column:auto;display:grid;grid-template-columns:1fr;grid-template-rows:135px 1fr;scroll-snap-align:start}.territory-story-card img{width:100%;height:135px}.stage-story-grid .social-card{scroll-snap-align:start}.team-grid{grid-template-columns:1fr}.team-card{min-height:auto}.team-section{padding:74px 0}}
@media(prefers-reduced-motion:reduce){.geo-route-flow{animation:none}.geo-route-dot{display:none}}
.stage-directory-wrap{margin-top:32px;display:grid;grid-template-columns:260px 1fr;gap:35px;align-items:start}.stage-directory-wrap h3{font-size:1.55rem}.stage-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.stage-directory a{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);padding:8px 10px;border-radius:11px;color:var(--muted);font-size:.69rem;transition:.2s}.stage-directory a:hover{background:#e0f5ef;color:var(--ink);transform:translateY(-1px)}.stage-directory a span{color:var(--aqua-dark);font-weight:800}
@media(max-width:1080px){.stage-directory-wrap{grid-template-columns:1fr}.stage-directory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.stage-directory{grid-template-columns:1fr}.stage-directory{max-height:420px;overflow:auto;padding-right:4px}}

/* Sardegna ∞ Corsica identity mark */
.infinity-mark{width:64px;height:38px;overflow:visible;padding:0;font-size:0;border-radius:0;background:transparent}
.infinity-mark img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:650px){.infinity-mark{width:54px;height:36px}.project-brand{gap:8px}}

/* Sponsor and partner groups, separated by the project infinity */
.partners-set{gap:18px}
.partner-group{display:inline-flex;align-items:center;gap:18px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.partner-infinity{flex:0 0 auto;display:inline-block!important;width:auto;height:auto;padding:0 4px;border:0;border-radius:0;background:transparent;color:var(--coral)!important;font:800 1.55rem/1 var(--display);font-style:normal}
.partner-label{color:var(--aqua-dark)}
@media(max-width:650px){.partners-set{gap:12px;padding-right:24px}.partner-group{gap:12px;padding:7px 12px}.partner-infinity{width:auto;height:auto;padding-inline:2px;font-size:1.3rem}}

/* Selectable team profiles */
.team-card{appearance:none;width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}
.team-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(11,53,57,.1)}
.team-card:focus-visible{outline:3px solid var(--coral);outline-offset:4px}
.team-card.is-selected{background:var(--race);color:#fff;border-color:var(--race);box-shadow:0 18px 42px rgba(5,27,34,.18)}
.team-card.is-selected p{color:#c7dcda}.team-card.is-selected .team-initials{background:#5ce2d5;color:var(--race)}
.team-card .team-card-action{display:block;margin-top:18px;color:var(--aqua-dark);font-size:.68rem;letter-spacing:.05em;text-transform:none}
.team-card.is-selected .team-card-action{color:#73e8dc}
.team-profile{display:grid;grid-template-columns:minmax(320px,.86fr) 1.14fr;min-height:340px;margin-top:16px;padding:0!important;overflow:hidden;scroll-margin-top:96px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(11,53,57,.09)}
.team-profile-visual{position:relative;min-height:340px;overflow:hidden;background:linear-gradient(135deg,#0a3139,#0f817e)}
#team-profile-image{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease}.team-profile-visual.has-image #team-profile-image{opacity:1}.team-profile-visual.has-image .team-photo-fallback{display:none}
.team-photo-caption{display:none;position:absolute;z-index:2;left:16px;bottom:16px;padding:7px 10px;border-radius:999px;background:rgba(5,27,34,.82);color:#fff;font-size:.65rem;font-weight:700;backdrop-filter:blur(8px)}.team-profile-visual.has-image .team-photo-caption{display:block}
.team-photo-fallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:13px;padding:30px;text-align:center;color:#fff;background:radial-gradient(circle at 68% 25%,rgba(92,226,213,.34),transparent 30%),linear-gradient(135deg,#06232b,#0b7775)}
.team-photo-fallback:before{content:'∞';position:absolute;right:26px;top:15px;color:rgba(255,255,255,.12);font:800 7rem/1 var(--display)}
.team-photo-fallback strong{position:relative;display:grid;place-items:center;width:104px;height:104px;border:2px solid rgba(255,255,255,.62);border-radius:34px;background:#5ce2d5;color:var(--race);font:800 2rem var(--display)}
.team-photo-fallback span{position:relative;color:#c9e7e4;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.team-profile-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 52px}
.team-profile-copy>span{color:var(--coral);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.team-profile-copy h3{margin:12px 0 17px;font-size:clamp(2rem,3vw,3.25rem);letter-spacing:-.045em}.team-profile-copy p{max-width:720px;font-size:1rem}
.team-profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.team-profile-tags span{padding:7px 10px;border-radius:999px;background:#e8f6f1;color:var(--aqua-dark);font-size:.68rem;font-weight:800}
@media(max-width:850px){.team-profile{grid-template-columns:1fr}.team-profile-visual{min-height:300px;aspect-ratio:16/9}.team-profile-copy{padding:34px}}
@media(max-width:650px){.team-card{min-height:auto}.team-profile{margin-top:12px;border-radius:22px}.team-profile-visual{min-height:230px}.team-profile-copy{padding:27px 22px}.team-profile-copy h3{font-size:2rem}.team-profile-copy p{font-size:.9rem}}

/* Synchronized territory stage explorer */
.territory-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:25px}.territory-actions a{margin-top:0}.territory-actions .territory-stage-page{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:5px}
.territory-stage-selector{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:17px;align-items:center;margin-top:14px;padding:21px 24px;border:1px solid #c8e7e8;border-radius:22px;background:linear-gradient(120deg,#effaf7,#edf8fd);box-shadow:0 14px 35px rgba(11,53,57,.07)}
.territory-stage-range-wrap{min-width:0}.territory-stage-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.territory-stage-meta div{min-width:0}.territory-stage-meta span,.territory-stage-meta strong{display:block}.territory-stage-meta span{margin-bottom:2px;color:var(--aqua-dark);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.territory-stage-meta strong{overflow:hidden;color:var(--ink);font:800 1rem var(--display);text-overflow:ellipsis;white-space:nowrap}.territory-stage-meta b{flex:0 0 auto;color:var(--race);font:800 1rem var(--display)}
#territory-stage-range{--stage-progress:15%;display:block;width:100%;height:22px;margin:0;appearance:none;background:transparent;cursor:pointer}#territory-stage-range::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--aqua) 0 var(--stage-progress),#cce1e2 var(--stage-progress) 100%)}#territory-stage-range::-moz-range-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--aqua) 0 var(--stage-progress),#cce1e2 var(--stage-progress) 100%)}#territory-stage-range::-webkit-slider-thumb{width:23px;height:23px;margin-top:-7.5px;appearance:none;border:4px solid #fff;border-radius:50%;background:var(--coral);box-shadow:0 3px 12px rgba(7,31,41,.3)}#territory-stage-range::-moz-range-thumb{width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:var(--coral);box-shadow:0 3px 12px rgba(7,31,41,.3)}#territory-stage-range:focus-visible{outline:3px solid var(--coral);outline-offset:6px;border-radius:999px}
.territory-stage-ends{display:flex;justify-content:space-between;gap:15px;margin-top:3px;color:#67898a;font-size:.58rem;font-weight:700}
.territory-stage-selector .round-button{width:52px;height:52px;background:var(--race);color:#fff}.territory-stage-selector .round-button:hover:not(:disabled){background:var(--aqua-dark);transform:translateY(-2px)}.territory-stage-selector .round-button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.stage-directory a{position:relative}.stage-directory a:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.stage-directory a.is-selected{border-color:#65cde1;background:#d9f3fb;color:var(--ink);box-shadow:inset 4px 0 0 #37b8d2,0 7px 18px rgba(33,150,177,.12);font-weight:700}.stage-directory a.is-selected:hover{background:#d9f3fb;transform:none}.stage-directory a.is-selected span{color:#067e9a}
@media(max-width:650px){.territory-actions{align-items:flex-start;flex-direction:column}.territory-stage-selector{grid-template-columns:44px minmax(0,1fr) 44px;gap:9px;padding:16px 12px;border-radius:18px}.territory-stage-selector .round-button{width:44px;height:44px}.territory-stage-meta{align-items:flex-start;margin-bottom:10px}.territory-stage-meta strong{max-width:45vw;font-size:.82rem}.territory-stage-meta b{font-size:.82rem}.territory-stage-ends{font-size:.51rem}.stage-directory a.is-selected{position:sticky;z-index:1}}
@media(prefers-reduced-motion:reduce){.territory-feature img,.territory-stage-selector .round-button,.stage-directory a{transition:none}}
