:root{--navy:#081a2d;--red:#f13c45;--cream:#f4f0e7;--white:#fff;--muted:#a5b4c0}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--navy);color:white;font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--red);color:white}.topbar{height:80px;position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,85px);border-bottom:1px solid #ffffff30}.brand{display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:900;letter-spacing:.05em;line-height:.82}.brand em{display:block;color:var(--red);font-style:normal}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}.topbar nav{display:flex;gap:36px}.topbar nav a,.nav-cta{font-size:11px;font-weight:800;letter-spacing:.16em}.topbar nav a:hover{color:var(--red)}.nav-cta{border:1px solid #ffffff90;padding:15px 19px}.nav-cta span{color:var(--red)}.film{height:520vh;position:relative}.film-sticky{height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden;background:#1a3144}#world,.film-vignette,.film-grain{position:absolute;inset:0;width:100%;height:100%}.film-vignette{background:linear-gradient(90deg,rgba(5,16,31,.8),rgba(5,16,31,.1) 70%),linear-gradient(0deg,rgba(5,16,31,.84),transparent 30%,transparent 70%,rgba(5,16,31,.25));pointer-events:none}.film-grain{opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.scene{position:absolute;left:clamp(22px,9vw,160px);top:50%;width:min(820px,80vw);transform:translate3d(0,-42%,0);opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform}.scene h1,.scene h2,.section-intro h2,.stories h2,.outro h2,.route h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(75px,10.5vw,176px);font-weight:900;line-height:.82;letter-spacing:-.025em;margin:24px 0;text-transform:uppercase}.scene h1 span,.scene h2 span{color:var(--red)}.scene-sub{font-size:clamp(15px,1.55vw,21px);line-height:1.65;font-weight:500;text-shadow:0 1px 10px #0005}.eyebrow{font-weight:800;letter-spacing:.24em;font-size:12px;text-transform:uppercase}.red,.red-text{color:var(--red)!important}.hud{position:absolute;left:clamp(22px,5vw,85px);bottom:35px;width:min(360px,48vw);z-index:5}.hud-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:#d6e3e9}.live-dot{display:inline-block;background:var(--red);width:7px;height:7px;border-radius:50%;margin:0 8px;box-shadow:0 0 12px var(--red)}.hud-main{display:flex;justify-content:space-between;gap:15px;margin:12px 0}.hud-main>div{display:flex;flex-direction:column;gap:4px}.hud small{font-size:9px;color:#c6d1da;letter-spacing:.12em}.hud strong{font-family:'Barlow Condensed',sans-serif;font-size:35px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.hud strong i{font-size:17px;font-style:normal}.hud-track{height:3px;background:#ffffff50}.hud-track span{height:100%;width:0;display:block;background:var(--red)}.hud-foot{display:block;margin-top:9px;opacity:.7}.film-side{position:absolute;right:clamp(20px,4vw,70px);top:32%;display:flex;flex-direction:column;align-items:center;gap:18px;font-size:10px;font-weight:800;letter-spacing:.15em;writing-mode:vertical-rl}.side-track{height:160px;width:2px;background:#ffffff60;position:relative}.side-track span{position:absolute;top:0;left:0;width:100%;height:0;background:var(--red)}.scroll-hint{position:absolute;bottom:44px;right:clamp(22px,8vw,140px);font-size:11px;letter-spacing:.2em;font-weight:800}.scroll-hint span{font-size:22px;margin-left:12px}.film-end{position:absolute;right:7vw;bottom:100px;opacity:0;pointer-events:none;font-size:12px;letter-spacing:.16em;font-weight:800}.section-pad{padding:clamp(90px,12vw,170px) clamp(22px,9vw,160px)}/* Portraits: an open sketchbook, with no numbered standings. */
.crew{background:var(--cream);color:var(--navy);position:relative;isolation:isolate;overflow:hidden}
.crew::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.4' filter='url(%23paper)'/%3E%3C/svg%3E")}
.section-intro{max-width:950px}
.section-intro h2,.stories h2,.outro h2{font-size:clamp(64px,8vw,125px)}
.section-intro h2 span,.stories h2 span{color:var(--red)}
.section-intro>p:last-child{font-size:19px;line-height:1.8;max-width:610px;color:#53606a}
.crew-list{margin-top:65px;position:relative}
.runner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6%;position:relative;padding:35px 0;min-height:620px}
.runner+.runner{margin-top:25px}
.runner-visual{height:580px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.runner-visual::before{content:"";position:absolute;z-index:-1;width:105%;height:53%;top:33%;left:-8%;background:var(--red);opacity:.13;transform:rotate(-12deg);clip-path:polygon(0 15%,85% 0,97% 12%,90% 22%,100% 35%,89% 44%,98% 68%,80% 71%,90% 88%,9% 100%,0 87%,12% 73%,1% 61%,9% 49%)}
.portrait{display:block;height:100%;width:100%;object-fit:contain;position:relative;mix-blend-mode:multiply;transform:rotate(-3deg)}
.runner-note{position:absolute;bottom:8%;left:-1%;font:italic 22px/1.2 Georgia,serif;transform:rotate(-8deg);color:var(--navy);border-bottom:2px solid var(--red);padding:0 6px 7px}
.runner-climber .runner-visual{grid-column:2;grid-row:1}
.runner-climber .runner-copy{grid-column:1;grid-row:1}
.runner-climber .portrait{transform:rotate(3deg)}
.runner-climber .runner-visual::before{transform:rotate(15deg);background:var(--navy);opacity:.1}
.runner-climber .runner-note{left:auto;right:-2%;transform:rotate(6deg)}
.runner-chaser .runner-visual::before{transform:rotate(-6deg);height:40%;top:40%}
.runner-copy{max-width:480px;padding:50px 20px}.runner-copy h3{font:900 clamp(80px,10vw,155px)/.9 'Barlow Condensed',sans-serif;letter-spacing:-.03em;margin:10px 0}.runner-tag{display:inline-block;background:var(--red);color:white;padding:7px 17px;transform:rotate(-2deg);font:800 28px 'Barlow Condensed',sans-serif;letter-spacing:.05em}.runner-copy>p:not(.eyebrow){font-size:17px;line-height:1.85;color:#52606b;margin-top:26px}.runner-quote{display:block;font:700 24px 'Barlow Condensed',sans-serif;margin-top:26px}.runner-copy small{display:block;margin-top:6px;color:#64717c}.route{background:#0a2239;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;overflow:hidden;min-height:790px}.route-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 45%,#224c57 0%,transparent 65%);opacity:.65}.route-copy,.route-art{position:relative;z-index:1}.route h2{font-size:clamp(95px,11vw,170px)}.route h2 span{color:var(--red)}.route-copy>p:not(.eyebrow){max-width:470px;line-height:1.9;color:#c3d0d7}.route-stats{display:flex;gap:35px;margin:40px 0}.route-stats>div{display:flex;align-items:center;gap:12px}.route-stats strong{font-size:45px;color:var(--red)}.route-stats span{font-size:10px;letter-spacing:.12em;line-height:1.9}.route-stats b{font-size:12px;letter-spacing:0}.route-note{font-size:11px;line-height:1.6;color:#94aab8;max-width:420px}.route-art svg{width:100%;overflow:visible;transform:rotate(-7deg)}.route-art .contour{fill:none;stroke:#7b9eac;stroke-width:2;opacity:.25}.route-art>span{display:block;text-align:center;font-size:10px;letter-spacing:.15em;color:#9db4c2}.stories{background:var(--cream);color:var(--navy)}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:65px}.story-grid article{padding:45px 30px;min-height:330px;background:#e5e3dc;border-top:5px solid var(--red);transition:transform .3s}.story-grid article:hover{transform:translateY(-10px)}.story-grid article>span{font-size:11px;font-weight:800;color:var(--red);letter-spacing:.15em}.story-grid h3{font:900 38px/.95 'Barlow Condensed',sans-serif;margin:65px 0 15px}.story-grid p{color:#58636d;line-height:1.7;font-size:14px}.outro{background:linear-gradient(135deg,#0b2d40,#081a2d);text-align:center;display:flex;flex-direction:column;align-items:center}.outro-logo img{width:115px;height:115px;border-radius:50%;object-fit:cover;border:5px solid white}.outro .eyebrow{margin-top:40px}.outro h2{max-width:1000px}.outro h2 span{color:var(--red)}.outro>p:not(.eyebrow){max-width:600px;line-height:1.8;color:#b8c9d4}.cta{border:1px solid #ffffff70;padding:18px 28px;margin-top:32px;font-size:12px;letter-spacing:.12em;font-weight:800}.cta.disabled{opacity:.55;cursor:not-allowed}footer{padding:30px 6vw;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;color:#9eafbb}#loading{position:fixed;inset:0;z-index:100;background:#081a2d;display:flex;align-items:center;justify-content:center;font:900 clamp(30px,7vw,85px) 'Barlow Condensed',sans-serif;letter-spacing:.06em;transition:opacity .7s,visibility .7s}body.ready #loading{opacity:0;visibility:hidden}.loading-dots{color:var(--red)}@media(max-width:800px){.topbar{height:68px}.topbar nav{display:none}.nav-cta{padding:12px;font-size:9px}.brand{font-size:19px}.brand img{width:39px;height:39px}.film-sticky{min-height:0}.scene{left:24px;width:85vw;top:42%}.scene h1,.scene h2{font-size:clamp(61px,15vw,115px)}.scene-sub{font-size:14px}.film-side{right:15px;top:26%;font-size:8px}.hud{width:70vw;bottom:50px}.hud strong{font-size:28px}.hud-foot{font-size:8px}.scroll-hint{display:none}.runner{grid-template-columns:1fr;gap:0;padding-bottom:40px}.runner-visual{height:400px}.portrait{height:380px}.runner-copy{padding:10px 5px 35px}.runner-copy h3{font-size:95px}.route{grid-template-columns:1fr;gap:40px}.route-art{max-width:520px}.story-grid{grid-template-columns:1fr}.story-grid article{min-height:230px}.story-grid h3{margin-top:35px}footer{flex-direction:column;text-align:center}.route h2{font-size:100px}}@media(prefers-reduced-motion:reduce){.story-grid article{transition:none}html{scroll-behavior:auto}}

@media(max-width:800px){
  .crew-list{margin-top:35px}
  .runner{grid-template-columns:minmax(0,1fr);gap:0;padding:15px 0 45px;min-height:0}
  .runner+.runner{margin-top:10px}
  .runner-visual{height:clamp(360px,110vw,540px);width:100%;max-width:440px;justify-self:center}
  .runner-climber .runner-visual,.runner-climber .runner-copy{grid-column:auto;grid-row:auto}
  .runner-copy{padding:20px 0 10px;max-width:100%;min-width:0}
  .runner-copy h3{font-size:clamp(68px,19vw,110px);overflow-wrap:anywhere}
  .runner-note{font-size:19px;left:0;bottom:5%}
  .runner-climber .runner-note{right:0}
  .portrait{height:100%;width:100%}
}

/* One scroll-controlled session runs from the first scene to the footer. */
.hud{position:fixed;z-index:40;pointer-events:none;color:var(--white);margin:0}
.hud.hud-docked{left:22px;bottom:18px;width:310px;padding:13px 17px 11px;background:#081a2df2;border:1px solid #ffffff26;box-shadow:0 8px 35px #081a2d26;border-radius:3px}
.hud-docked .hud-main{margin:9px 0}
.hud-docked strong{font-size:30px}
.hud-docked .hud-label{font-size:9px;letter-spacing:.1em}
.hud-docked .hud-foot{font-size:8px;letter-spacing:.035em}
footer{padding-bottom:165px}

/* Each profile has its own sticky scene and a final pause for reading. */
.crew{overflow:clip}
.runner,.runner+.runner{display:block;padding:0;margin:0;min-height:0;height:185svh}
.crew{padding-inline:clamp(22px,5vw,100px)}
.crew-list{max-width:1380px;margin-inline:auto}
.runner-frame{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px 0 120px}
.runner-visual{height:min(860px,calc(100svh - 130px));min-width:0}
.portrait{object-position:right center}
.runner-climber .portrait{object-position:left center}
.runner-copy{min-width:0;max-width:620px;padding:16px 0}
.runner-copy h3{font-size:clamp(84px,11.7vw,185px);line-height:.86;margin:12px 0 18px}
.runner-copy>.eyebrow{font-size:14px;letter-spacing:.19em}
.runner-tag{font-size:36px;padding:7px 18px}
.runner-copy>p:not(.eyebrow){font-size:clamp(18px,1.45vw,22px);line-height:1.65;margin-top:22px;max-width:540px}
.runner-quote{font-size:30px;margin-top:22px}
.runner-note{left:12%;font-size:25px;z-index:2}
.runner-climber .runner-note{right:12%}
.runner-coach{--portrait-mask:url('assets/stefano-ink-logo.png')}
.runner-climber{--portrait-mask:url('assets/matteo-ink-logo.png')}
.runner-chaser{--portrait-mask:url('assets/alessio-ink-logo.png')}
.runner-climber{--portrait-angle:3deg;--note-angle:6deg}
.runner-coach,.runner-chaser{--portrait-angle:-3deg;--note-angle:-8deg}
.scroll-driven .portrait{opacity:var(--ink,1);clip-path:inset(0 0 var(--ink-cut,0%) 0);transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0) rotate(var(--portrait-angle)) scale(var(--portrait-scale,1))}
.scroll-driven .portrait{filter:sepia(var(--flare,0)) saturate(calc(1 + var(--flare,0)*2)) brightness(calc(1 + var(--flare,0)*.35))}
/* A warm light sweep is confined to the transparent portrait silhouette. */
.scroll-driven .runner-visual::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--flare,0);background:linear-gradient(180deg,transparent 32%,#f13c4566 43%,#fff1c9 49%,#fff9ec 51%,#f13c4566 57%,transparent 68%);background-size:100% 300%;background-position:50% var(--flare-position,100%);mask-image:var(--portrait-mask);mask-size:contain;mask-repeat:no-repeat;mask-position:right center;clip-path:inset(0 0 var(--ink-cut,0%) 0);transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0) rotate(var(--portrait-angle)) scale(var(--portrait-scale,1));mix-blend-mode:screen}
.scroll-driven .runner-climber .runner-visual::after{mask-position:left center}
.scroll-driven .runner-visual::before{opacity:calc(var(--ink,1)*.13);scale:var(--ink,1) 1;transform-origin:left center}
.scroll-driven .runner-climber .runner-visual::before{opacity:calc(var(--ink,1)*.1);transform-origin:right center}
.scroll-driven .runner-copy h3,.scroll-driven .runner-copy>.eyebrow{opacity:var(--name,1);transform:translate3d(var(--name-x,0px),0,0)}
.scroll-driven .runner-tag{opacity:var(--role,1);transform:translate3d(0,var(--role-y,0px),0) rotate(-2deg)}
.scroll-driven .runner-copy>p:not(.eyebrow),.scroll-driven .runner-quote,.scroll-driven .runner-copy small{opacity:var(--copy,1);transform:translate3d(0,var(--copy-y,0px),0)}
.scroll-driven .runner-note{opacity:var(--note,1);transform:rotate(var(--note-angle));clip-path:inset(0 calc((1 - var(--note,1))*100%) 0 0)}
@media(max-width:800px){
  .hud{bottom:max(16px,env(safe-area-inset-bottom));width:70vw}
  .hud.hud-docked{left:12px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:9px 13px}
  .hud-docked .hud-main{margin:6px 0}
  .hud-docked strong{font-size:25px}
  .hud-docked .hud-foot{margin-top:5px}
  .runner,.runner+.runner{height:195svh;padding:0;margin:0}
  .runner-frame{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:0;padding:12px 0 126px}
  .runner-visual{height:clamp(230px,40svh,410px);max-width:410px}
  .portrait,.runner-climber .portrait{object-position:center}
  .scroll-driven .runner-visual::after,.scroll-driven .runner-climber .runner-visual::after{mask-position:center}
  .runner-copy{padding:8px 0 0}
  .runner-copy h3{font-size:clamp(62px,18vw,96px);margin:5px 0 9px}
  .runner-copy .eyebrow{font-size:10px;margin:0 0 5px}
  .runner-tag{font-size:25px;padding:4px 12px}
  .runner-copy>p:not(.eyebrow){font-size:15px;line-height:1.5;margin:13px 0 0}
  .runner-quote{font-size:23px;margin-top:12px}
  .runner-copy small{font-size:10px;margin-top:3px}
  .runner-note{font-size:16px;bottom:3%}
}
/* Short windows retain a natural reading flow instead of clipping the profile. */
@media(max-height:700px),(max-width:800px) and (max-height:850px){
  .runner,.runner+.runner{height:auto;min-height:135svh}
  .runner-frame{position:relative;height:auto;min-height:100svh;padding:45px 0 145px}
  .runner-visual{height:clamp(220px,55svh,450px)}
}
@media(prefers-reduced-motion:reduce){
  .runner,.runner+.runner{height:auto;min-height:0}
  .runner-frame{position:relative;height:auto;min-height:0;padding:35px 0 75px}
  .scroll-driven .portrait{opacity:1;clip-path:none;transform:rotate(var(--portrait-angle))}
  .scroll-driven .portrait{filter:none}
  .scroll-driven .runner-visual::after{display:none}
  .scroll-driven .runner-copy h3,.scroll-driven .runner-copy>.eyebrow,.scroll-driven .runner-copy>p:not(.eyebrow),.scroll-driven .runner-quote,.scroll-driven .runner-copy small{opacity:1;transform:none}
  .scroll-driven .runner-tag{opacity:1;transform:rotate(-2deg)}
  .scroll-driven .runner-note{opacity:1;clip-path:none}
}
