/* Roadbook del Dakar · estilos
   Documental en una sola página: fondo blanco, Helvetica negra y un único acento naranja Dakar. */
/* Layout: documental suizo. Página blanca, Helvetica negra, rejilla de 12 columnas.
   Cada capítulo: texto que avanza a la izquierda y un marco fijo a la derecha donde las fotos
   se suceden como diapositivas al hacer scroll. Un único color de acento (naranja Dakar) para fechas y datos. */
:root{
  color-scheme: light;
  --paper:#ffffff;      /* fondo */
  --paper-2:#f2f2f0;    /* paneles y marcos vacíos */
  --ink:#111111;        /* texto */
  --muted:#6b6b6b;      /* texto secundario */
  --line:#d6d6d3;       /* filetes suaves */
  --red:#c4390e;        /* acento naranja Dakar (dakar.com): fechas, cifras, ruta */
  --sun:#111111;        /* era africana en gráficos */
  --blue:#a8a8a4;       /* era sudamericana en gráficos */
  --sun-soft:#fbe8e1;   /* casilla activa */
  --rule:#11111122;
  --night-fg:#111111; --night-muted:#6b6b6b;
  --f-display:"Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-body:"Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-type:"Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --gut-l:max(16px, env(safe-area-inset-left, 0px));
  --gut-r:max(16px, env(safe-area-inset-right, 0px));
  --top:56px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
h1,h2,h3{font-family:var(--f-display);font-weight:700;margin:0;text-wrap:balance;letter-spacing:-.03em;line-height:.95}
h2 em,h3 em{font-style:normal;color:var(--red)}
p{margin:0}
figure{margin:0}
.wrap{max-width:1280px;margin-inline:auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.muted{color:var(--muted)}
.prose{max-width:60ch;display:grid;gap:1em;font-size:1.125rem}
.prose.plain{font-size:1.125rem}
.dates{font-weight:700;color:var(--red);font-variant-numeric:tabular-nums}
.kick{display:flex;gap:14px;align-items:baseline;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:18px}
.kick .kn{font-size:1rem;font-weight:700;color:var(--red);letter-spacing:0}

/* barra superior */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#ffffffee;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--ink)}
.topbar .wrap{display:flex;align-items:center;gap:20px;height:var(--top)}
.brand{font-weight:700;font-size:1rem;letter-spacing:-.01em;white-space:nowrap;text-decoration:none}
.brand span{color:var(--muted);font-weight:400}
.chapters{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin-left:auto;min-width:0}
.chapters::-webkit-scrollbar{display:none}
.chapters a{font-size:.8rem;text-decoration:none;padding:6px 9px;white-space:nowrap;border-radius:2px;font-variant-numeric:tabular-nums;color:var(--muted);transition:color .2s,background .2s}
.chapters a:hover{color:var(--ink)}
.chapters a.on{background:var(--ink);color:#fff}
.progress{position:absolute;left:0;bottom:-1px;height:2px;background:var(--red);width:0}

/* indicador de año */
.trip{position:fixed;z-index:45;right:var(--gut-r);bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff;display:flex;align-items:center;gap:10px;padding:7px 12px 6px}
.trip .dial,.trip .km,.trip .bar{display:none}
.trip .read{display:flex;gap:8px;align-items:baseline}
.trip .read small{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffffaa}
.trip .year{font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums}

/* HERO */
.hero{padding-block:clamp(48px,8vw,104px) clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:end}
.hero-txt{display:grid;gap:22px;align-content:end}
.hero h1{font-size:clamp(3.6rem,9.4vw,8.6rem);line-height:.84;letter-spacing:-.055em;display:grid}
.hero h1 span{display:block}
.hero h1 .to{color:var(--red);white-space:nowrap}
.hero .lead{font-size:clamp(1.15rem,1.7vw,1.4rem);max-width:30ch;line-height:1.35}
.hero .motto{font-size:1rem;max-width:42ch;color:var(--muted)}
.hero .motto cite{display:block;font-style:normal;font-size:.8rem;margin-top:4px}
.cue{justify-self:start;display:inline-flex;gap:10px;align-items:center;font-size:.85rem;font-weight:700;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:3px}
.cue span{display:inline-block;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(4px)}}
.hero-fig .ph{aspect-ratio:4/5}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);margin-top:clamp(40px,6vw,72px)}
.facts div{padding:14px 16px 0 0;display:grid;gap:4px}
.facts div+div{padding-left:16px;border-left:1px solid var(--line)}
.facts b{font-size:clamp(2rem,4.4vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.facts span{font-size:.8rem;color:var(--muted)}

/* fotos genéricas */
.ph{position:relative;overflow:hidden;background:var(--paper-2);cursor:zoom-in}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.3,1)}
.ph:hover img{transform:scale(1.03)}
.tape{position:absolute;top:10px;left:10px;z-index:2;background:#fff;color:var(--ink);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;font-weight:500}
figcaption{font-size:.8rem;line-height:1.4;margin-top:8px;color:var(--muted)}
figcaption b{color:var(--ink);font-weight:700}

/* secciones */
section.stage{position:relative;padding-block:clamp(80px,11vw,150px);border-top:1px solid var(--ink)}
.stage-head{display:grid;gap:16px;margin-bottom:clamp(36px,5vw,64px)}
.stage-head .eyebrow{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.stage-head h2{font-size:clamp(2.6rem,6.6vw,5.6rem)}
.stage-head > p{font-size:1.125rem;max-width:60ch}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.stack{display:grid;gap:20px}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:0 20px;margin-block:28px}
.num{border-top:1px solid var(--ink);padding-top:10px;display:grid;gap:4px}
.num b{font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.num span{font-size:.8rem;color:var(--muted)}

/* CAPÍTULOS DOCUMENTALES */
.chap{padding-block:clamp(80px,11vw,150px) clamp(40px,6vw,80px);border-top:1px solid var(--ink)}
.chap-head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(16px,3vw,40px);margin-bottom:clamp(32px,6vw,80px);align-items:start}
.chap-n{font-size:clamp(3.4rem,9vw,8rem);font-weight:700;line-height:.8;letter-spacing:-.06em;color:var(--red);font-variant-numeric:tabular-nums}
.chap-head .meta{display:grid;gap:14px}
.chap-head .eyebrow{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}
.chap-head h2{font-size:clamp(2.6rem,6.6vw,5.8rem)}
.chap-head .dek{font-size:clamp(1.15rem,1.7vw,1.4rem);max-width:38ch;color:var(--muted);line-height:1.35}
.doc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,88px);align-items:start}
.doc-steps{display:grid}
.doc-step{min-height:78vh;min-height:78svh;display:flex;flex-direction:column;justify-content:center;gap:10px;padding-block:5vh;opacity:.2;transition:opacity .6s ease}
.doc-step.on{opacity:1}
.doc-step:last-child{min-height:90vh;min-height:90svh}
.doc-step .yr{font-size:.85rem;font-weight:700;color:var(--red);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.doc-step h3{font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.02}
.doc-step p{font-size:1.15rem;max-width:38ch;line-height:1.45}
.doc-frame{position:sticky;top:calc(var(--top) + env(safe-area-inset-top,0px) + max(24px, 8vh));display:grid;gap:10px}
.frame{position:relative;overflow:hidden;background:transparent;cursor:zoom-in;max-width:100%;justify-self:center;isolation:isolate;contain:layout paint}
.fimg{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transform-origin:center}
.fimg img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:none}
.fimg.on{opacity:1;visibility:visible;z-index:2}
.frame.is-animating .fimg.on,.frame.is-animating .fimg.outgoing{will-change:opacity,transform}
.frame.native-motion{transition:width 1.25s cubic-bezier(.4,0,.2,1),height 1.25s cubic-bezier(.4,0,.2,1)}
.frame.native-motion .fimg{transition:opacity 1.15s ease,visibility 1.15s ease,transform 1.25s cubic-bezier(.2,.6,.3,1);transform:scale(.985)}
.frame.native-motion .fimg.on{transform:scale(1)}
.frame-cap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:baseline;border-top:1px solid var(--ink);padding-top:8px;font-size:.82rem;color:var(--muted);min-height:3.2em}
.frame-cap .n{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700;white-space:nowrap}
.ticks{display:flex;gap:4px}
.ticks i{flex:1;height:2px;background:var(--line);transition:background .3s}
.ticks i.on{background:var(--ink)}

/* Official Dakar category pictograms, local copy of the original icon font. */
@font-face{font-family:"Dakar Pictograms";src:url("../assets/official/icons-99e0c87eb2.woff2") format("woff2");font-weight:400;font-style:normal;font-display:block}
.vehicle-icon{display:inline-block;font-family:"Dakar Pictograms"!important;font-style:normal;font-weight:400;line-height:1;font-variant:normal;text-transform:none;speak:never;-webkit-font-smoothing:antialiased}
.vehicle-icon--bike::before{content:"\e933"}.vehicle-icon--car::before{content:"\e931"}.vehicle-icon--truck::before{content:"\e932"}
.vehicle-icon--challenger::before{content:"\e935"}.vehicle-icon--ssv::before{content:"\e948"}.vehicle-icon--classic::before{content:"\e949"}.vehicle-icon--energy::before{content:"\e93d"}
.cat>.vehicle-icon{font-size:54px;line-height:1.2;width:88px;min-height:68px;margin-bottom:10px}
.tab .vehicle-icon{font-size:24px;vertical-align:-5px;margin-right:9px}

/* visor de fotos */
.lb[hidden]{display:none!important}
.lb{position:fixed;inset:0;z-index:90;background:#fffffff5;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;padding:calc(24px + env(safe-area-inset-top,0px)) var(--gut-r) calc(20px + env(safe-area-inset-bottom,0px)) var(--gut-l)}
.lb img{width:100%;height:100%;object-fit:contain;max-width:none}
.lb p{max-width:80ch;font-size:.9rem;color:var(--muted)}
.lb button{all:unset;cursor:pointer;position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:var(--gut-r);font-weight:700;font-size:.9rem;border-bottom:2px solid var(--ink)}

/* tooltips */
.tip{text-decoration:underline dotted;text-underline-offset:3px;cursor:help;position:relative}
.tip:hover::after,.tip:focus::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:6;width:max-content;max-width:230px;background:var(--ink);color:#fff;font:400 .75rem/1.35 var(--f-body);padding:6px 9px}

/* VISTAZO */
.vistazo{padding-block:clamp(56px,7vw,96px);border-top:1px solid var(--ink)}
.tl-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;flex-wrap:wrap;margin-bottom:26px}
.tl-head h2{font-size:clamp(2.2rem,5vw,4rem)}
.tl-scroll{overflow-x:auto;padding:4px 2px 8px}
.tl{position:relative;min-width:900px;display:grid;grid-template-columns:repeat(51,minmax(0,1fr));grid-template-rows:34px 40px 22px;row-gap:6px}
.tl-ch{grid-row:1;display:flex;align-items:flex-end;justify-content:center;text-decoration:none;border-bottom:2px solid var(--line);margin-inline:1px;position:relative;font-size:.75rem;font-weight:700;color:var(--muted);white-space:nowrap;padding-bottom:5px;transition:color .2s,border-color .2s}
.tl-ch:last-of-type{justify-content:flex-end}
.tl-ch:hover,.tl-ch:focus-visible,.tl-ch.on{color:var(--ink);border-color:var(--ink)}
.tl-era{grid-row:2;display:flex;align-items:center;padding-inline:10px;font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden}
.tl-era.af{background:var(--ink);color:#fff}
.tl-era.sa{background:var(--blue);color:var(--ink)}
.tl-era.sau{background:var(--red);color:#fff}
.tl-era.x{background:repeating-linear-gradient(45deg,var(--red) 0 2px,transparent 2px 6px)}
.tl-era.pre{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 6px)}
.tl-era.next{border:2px dashed var(--ink)}
.tl-ax{grid-row:3;font-size:.72rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.tl-ax.end{text-align:right}
.tl-now{position:absolute;top:28px;height:58px;width:2px;margin-left:-1px;background:var(--red);pointer-events:none;transition:left .6s cubic-bezier(.6,.05,.3,1)}
.tl-now::before{content:"";position:absolute;left:50%;top:-7px;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--red);border-bottom:0}
.tl-foot{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;font-size:.78rem;color:var(--muted)}
.tl-foot i{display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:-1px}

/* Palabras que suben (story-motion.js; solo existen mientras dura la animación) */
.sm-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .06em .14em;margin:0 -.06em -.14em}
.sm-w.sm-open{overflow:visible}
.sm-i{display:inline-block;will-change:transform}
.sm-c{display:inline-block}

/* 1986 */
.black .bigdate{font-weight:700;font-size:clamp(4.5rem,17vw,15rem);line-height:.8;letter-spacing:-.06em;color:var(--paper-2);margin-block:10px 30px;font-variant-numeric:tabular-nums}
.black .ph img{filter:grayscale(1) contrast(1.05)}
.names{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 20px;margin-top:40px}
.names div{border-top:1px solid var(--ink);padding:12px 0;display:grid;gap:2px}
.names b{font-size:1.3rem;font-weight:700;letter-spacing:-.02em}
.names span{font-size:.8rem;color:var(--muted)}

/* los nuestros */
.ours h2{font-size:clamp(2.6rem,6.6vw,5.6rem)}
.ours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:0 24px;margin-top:32px}
.ours-grid div{border-top:1px solid var(--ink);padding:14px 0 18px;display:grid;gap:6px;align-content:start}
.ours-grid b{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1}
.ours-grid .k{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red);font-weight:700}
.ours-grid p{font-size:.98rem}

/* 2008 */
.cancel{overflow:hidden}
.cancel .bg{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:clamp(5rem,20vw,18rem);color:var(--paper-2);letter-spacing:-.06em;user-select:none;line-height:.82;text-align:center;z-index:0}
.stampbig{display:inline-block;font-weight:700;font-size:clamp(2.6rem,11vw,6.4rem);color:var(--red);border:6px solid var(--red);padding:.04em .2em 0;transform:rotate(-6deg);letter-spacing:-.02em;line-height:1}

/* tablón */
.board{background:#111;padding:18px;overflow-x:auto}
.board-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:#fff;font-size:.75rem;letter-spacing:.12em;margin-bottom:12px;flex-wrap:wrap;text-transform:uppercase}
.board-head b{font-size:1.2rem;letter-spacing:.06em}
.board-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:0;align-items:start;background:#111}
.brow{display:grid;grid-template-columns:auto auto auto;justify-content:start;gap:14px;padding:3px 6px;margin-inline:-6px;width:max-content;cursor:pointer;border-radius:2px;transition:background .2s}
.brow:hover,.brow.on{background:#2b2b2b}
.brow.on .yr .fl{color:var(--red)}
.brow:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.board-map{margin:0;position:sticky;top:calc(var(--header-height,56px) + 16px);padding:18px 18px 18px 0;display:grid;gap:12px}
.board-map svg{width:100%;height:auto;display:block;background:#161616}
.board-map .bm-land path{fill:#262626;stroke:#111;stroke-width:.8}
.board-map .bm-all path{fill:none;stroke:#ffffff26;stroke-width:1.4}
.board-map .bm-route{fill:none;stroke:var(--red);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.board-map .bm-route.cancel{stroke-dasharray:6 6!important}
.board-map .bm-pts circle{fill:#111;stroke:#fff;stroke-width:2}
.board-map .bm-pts circle.start{fill:#fff}
.board-map .bm-pts circle.end{fill:var(--red);stroke:#fff}
.board-map figcaption{display:grid;gap:2px;color:#fff}
.board-map figcaption b{font-family:var(--f-mono);font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.board-map figcaption span{font-size:.9rem;color:#d6d6d3}
.board-map .bm-win{color:#ffb4ad!important;font-weight:700}
@media (max-width:900px){.board-grid{grid-template-columns:minmax(0,1fr)}.board-map{order:-1;position:static;padding:18px 18px 0;grid-template-columns:minmax(0,1fr) auto;align-items:end}.board-map svg{max-height:300px;width:auto;justify-self:center}}
.brow .cell{display:flex;gap:2px}
.fl{display:inline-grid;place-items:center;width:1.05em;height:1.45em;background:linear-gradient(#2a2a2a 0 49%,#000 49% 51%,#222 51%);color:#f2f2f2;font-family:var(--f-mono);font-weight:700;font-size:1rem;border-radius:2px;flex:0 0 auto}
.brow .yr .fl{color:#fff}
.brow .win .fl{color:#ffb4ad}
.brow.hl .fl{color:var(--red)}

/* garaje */
.garage{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:40px 24px}
.car{display:grid;grid-template-rows:auto 1fr;gap:12px}
.car .ph{aspect-ratio:3/2}
.car .body{display:grid;gap:6px;align-content:start;border-top:1px solid var(--ink);padding-top:10px}
.car h3{font-size:1.4rem}
.car .meta{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);padding:2px 7px;color:var(--muted)}
.chip.y{border-color:var(--red);color:var(--red);font-weight:700}
.car p{font-size:.95rem}

/* 2027 */
.finale .hero-img{max-width:1280px;margin:0 auto clamp(36px,5vw,64px);padding-left:var(--gut-l);padding-right:var(--gut-r)}
.finale .hero-img img{width:100%;aspect-ratio:21/9;object-fit:cover}
.countdown{display:flex;flex-wrap:wrap;gap:0;margin-block:24px;border-top:1px solid var(--ink)}
.countdown div{padding:12px 28px 0 0;display:grid;min-width:110px}
.countdown b{font-size:clamp(3rem,7vw,5rem);font-weight:700;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--red)}
.countdown span{font-size:.8rem;color:var(--muted)}
.itin{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.itin li{display:grid;grid-template-columns:6.5em 2em minmax(0,1fr);gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.itin li .d{font-weight:700;color:var(--red);font-variant-numeric:tabular-nums}
.itin li .ic{color:var(--muted)}

/* Interactive stage atlas: route sheet and a contrasting explanatory margin. */
.daybox{border:1px solid var(--ink);overflow-wrap:anywhere;hyphens:auto}
.day-heading{padding:24px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.day-heading h3{font-size:clamp(1.8rem,3.1vw,2.8rem);line-height:1.05;margin-top:10px}
.day-heading>p{max-width:27ch;font-size:.85rem;color:var(--muted)}
.day-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--ink)}
.day-tab{appearance:none;border:0;border-right:1px solid var(--line);border-bottom:3px solid transparent;background:var(--paper);color:var(--muted);padding:17px 20px 14px;text-align:left;cursor:pointer;font-family:var(--f-body);display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 10px;transition:background .2s,border-color .2s}
.day-tab:last-child{border-right:0}
.day-tab .index{font-size:.7rem;font-variant-numeric:tabular-nums;padding-top:3px;color:var(--muted)}
.day-tab .title{font-size:1rem;font-weight:700;color:var(--ink)}
.day-tab .sub{grid-column:2;font-size:.72rem;color:var(--muted);margin-top:3px}
.day-tab:hover{background:var(--paper-2)}
.day-tab[aria-pressed="true"]{border-bottom-color:var(--red);background:#f8f8f6}
.day-tab[aria-pressed="true"] .index{color:var(--red);font-weight:700}
.day-workspace{background:#f7f7f4;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr)}
.day-map{position:relative;align-self:center;aspect-ratio:900/650;background:#f7f7f4;min-width:0;isolation:isolate;overflow:hidden}
.day-terrain{display:block;width:100%;height:100%;position:absolute;inset:0}
.day-terrain .seg{cursor:pointer}
.day-terrain .contour{fill:none;stroke:#d6d6cd;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.7}
.day-terrain .contour.major{stroke:#c7c7bd}
.day-terrain .route-base{fill:none;stroke:#fff;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
.day-terrain .route-road{fill:none;stroke:#777771;stroke-width:3;stroke-dasharray:7 7;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}
.day-terrain .route-special{fill:none;stroke:var(--red);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;transition:stroke-width .3s}
.daybox[data-active="enlace"] .route-road{stroke:var(--ink);stroke-width:5}
.daybox[data-active="especial"] .route-special{stroke-width:7}
.day-terrain .waypoint{fill:#fff;stroke:var(--ink);stroke-width:2.5;transition:fill .3s,stroke .3s}
.daybox[data-active="puntos"] .waypoint{fill:var(--red);stroke:var(--red)}
.day-terrain .boundary{stroke:var(--ink);stroke-width:2;fill:#fff}
.day-rider{pointer-events:none}
.day-rider circle{fill:var(--ink);stroke:#fff;stroke-width:3}
.day-rider text{font-family:"Dakar Pictograms";font-size:28px;fill:white;text-anchor:middle;dominant-baseline:central}
/* terreno, vivacs y rastro */
.day-terrain .sand{fill:#efe4cc;opacity:.55}
.day-terrain .tf{fill:none;stroke:#c9b386;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.day-terrain .tf.rocks{fill:#ddd0b2}
.day-terrain .tf.oued{stroke:#b8c3c9;stroke-width:2;stroke-dasharray:1 5}
.day-terrain .tf-label{font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;fill:#ad9564}
.day-terrain .tent{fill:#fff;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;transition:fill .3s,stroke .3s}
.day-terrain .tents{cursor:pointer}
.daybox[data-active="vivac"] .tent{fill:var(--red);stroke:var(--red)}
.day-terrain .seg,.day-terrain .tf,.day-terrain .tf-label,.day-terrain .sand{transition:opacity .4s}
.daybox[data-active="enlace"] .seg:not([data-k="enlace"]),.daybox[data-active="vivac"] .seg{opacity:.35}
.daybox[data-active="enlace"] .tf,.daybox[data-active="enlace"] .tf-label,.daybox[data-active="enlace"] .sand,
.daybox[data-active="vivac"] .tf,.daybox[data-active="vivac"] .tf-label,.daybox[data-active="vivac"] .sand{opacity:.35}
.daybox[data-active="puntos"] .seg[data-k="especial"]{opacity:.55}
.day-terrain .route-flow{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1 13;opacity:0;transition:opacity .3s}
.daybox[data-active="especial"] .route-flow{opacity:.95;animation:day-flow .9s linear infinite}
@keyframes day-flow{to{stroke-dashoffset:-14}}
.day-terrain .route-trail{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.day-terrain .wp-ring{fill:none;stroke:var(--red);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.daybox[data-active="puntos"] .wp-ring{animation:day-ping 1.6s ease-out infinite}
.daybox[data-active="puntos"] rect.wp-ring{animation-delay:.5s}
@keyframes day-ping{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.day-rider circle{transition:fill .3s}
.daybox[data-active="especial"] .day-rider circle,.daybox[data-active="puntos"] .day-rider circle{fill:var(--red)}
.daybox.is-riding .day-rider{animation:day-bump .22s ease-in-out infinite alternate}
@keyframes day-bump{to{translate:0 -2px}}
/* marcador: crono y kilómetros */
.day-hud{position:absolute;left:4%;top:5%;display:flex;gap:6px;pointer-events:none;z-index:2}
.day-hud>div{background:var(--ink);color:#fff;padding:7px 11px 6px;display:grid;gap:1px;min-width:86px}
.day-hud span{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#bdbdb8}
.day-hud b{font-family:var(--f-mono);font-size:1.15rem;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:0}
.day-hud i{font-style:normal;font-size:.6rem;color:#bdbdb8;letter-spacing:.04em}
.day-hud[data-phase="run"] .clock{background:var(--red)}
.day-hud[data-phase="run"] .clock i,.day-hud[data-phase="run"] .clock span{color:#ffe1dc}
.day-hud[data-phase="stop"] .clock b{color:#ffb4ad}
@media (prefers-reduced-motion:reduce){.daybox .route-flow,.daybox .wp-ring,.daybox.is-riding .day-rider{animation:none}}
.day-map-foot{position:absolute;left:5%;right:5%;bottom:5%;display:flex;justify-content:space-between;gap:12px;font-size:.66rem;color:var(--muted)}
.day-map-foot span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.day-spot{position:absolute;transform:translate(-50%,-50%);border:0;padding:0;background:none;color:var(--ink);font-family:var(--f-body);cursor:pointer;display:grid;justify-items:center;gap:6px;min-width:44px;min-height:44px}
.day-spot .pin{display:grid;place-items:center;min-width:34px;height:34px;padding:0 7px;border:1px solid var(--ink);background:#fff;border-radius:50%;font-size:.7rem;font-weight:700;transition:background .25s,color .25s,box-shadow .25s}
.day-spot .name{font-size:.75rem;font-weight:700;background:#f7f7f4;padding:1px 4px;max-width:12ch;line-height:1.2;text-align:center}
.day-spot[aria-pressed="true"] .pin{color:#fff;background:var(--ink);box-shadow:0 0 0 5px #1111110c}
.day-spot[data-k="especial"] .pin{border-color:var(--red);color:var(--red)}
.day-spot[data-k="especial"][aria-pressed="true"] .pin,.day-spot[data-k="puntos"][aria-pressed="true"] .pin{border-color:var(--red);background:var(--red);color:#fff}
.day-spot:hover .pin{box-shadow:0 0 0 6px #11111112}
.day-boundary{position:absolute;transform:translate(-50%,-50%);background:#f7f7f4;padding:2px 5px;font-size:.62rem;font-weight:700;letter-spacing:.06em;pointer-events:none}
.day-note{background:var(--ink);color:#fff;padding:30px;display:flex;flex-direction:column;gap:22px;min-width:0}
.day-note-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.day-note-top .label{font-size:.64rem;color:#bdbdb8;letter-spacing:.1em}
.day-note-index{font-size:2.4rem;font-weight:700;line-height:1;color:#ff756a;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.day-note h4{font-size:clamp(1.8rem,2.7vw,2.6rem);font-weight:700;letter-spacing:-.035em;line-height:1.03;margin:0;text-wrap:balance}
.day-note p{font-size:.95rem;line-height:1.5;color:#deded9}
.day-facts{display:grid;margin:0;gap:0}
.day-facts>div{display:grid;gap:5px;border-top:1px solid #ffffff30;padding-block:13px}
.day-facts dt{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:#bdbdb8}
.day-facts dd{font-size:.88rem;font-weight:500;line-height:1.35;margin:0}
.day-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;border-top:1px solid #ffffff30;padding-top:18px}
.day-control{appearance:none;border:0;background:none;color:#fff;font-family:var(--f-body);font-size:.75rem;padding:8px 0;cursor:pointer}
.day-control:hover{text-decoration:underline;text-underline-offset:4px}
.day-controls .count{font-size:.65rem;color:#bdbdb8;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.day-workspace{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}.day-note{padding:24px;gap:18px}.day-tab{padding-inline:14px;grid-template-columns:20px minmax(0,1fr);gap:0 7px}}
@media(max-width:760px){.day-heading{padding:22px;display:grid;gap:12px}.day-heading>p{max-width:45ch}.day-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.day-tab:nth-child(2){border-right:0}.day-tab:nth-child(-n+2){border-top:0;border-bottom-color:var(--line)}.day-tab[aria-pressed="true"]{border-bottom-color:var(--red)}.day-workspace{grid-template-columns:minmax(0,1fr)}.day-map{aspect-ratio:900/650}.day-note{padding:24px;gap:18px}.day-note h4{font-size:2.1rem}.day-spot .pin{min-width:28px;height:28px;font-size:.62rem}.day-spot .name{font-size:.65rem}.day-map-foot{font-size:.56rem}.day-hud>div{min-width:0;padding:5px 7px 4px}.day-hud b{font-size:.85rem}.day-hud i{display:none}.day-boundary{font-size:.55rem}.day-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.day-note-index{font-size:2rem}}
.ratio{margin-top:clamp(36px,5vw,56px);display:grid;gap:10px}
.ratio-bar{display:flex;height:56px}
.ratio-bar div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-inline:14px;min-width:0;white-space:nowrap;overflow:hidden}
.ratio-bar b{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ratio-bar span{font-size:.78rem}
.ratio-bar .a{background:var(--red);color:#fff}
.ratio-bar .b{background:var(--paper-2);color:var(--ink)}
.sub-h{font-size:clamp(1.9rem,3.6vw,3rem);margin:clamp(56px,8vw,96px) 0 20px}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:0 24px}
.cat{border-top:1px solid var(--ink);padding:16px 0 20px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:6px}
.cat svg{width:76px;height:44px;color:var(--ink)}
.cat .code{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red);font-weight:700}
.cat h3{font-size:1.5rem}
.cat p{font-size:.95rem}
.cat .k{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.cat .k b{color:var(--ink)}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px}
.rule{display:grid;gap:8px;align-content:start;border-top:1px solid var(--ink);padding-top:12px}
.rule .tag{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red);font-weight:700}
.rule h3{font-size:1.5rem}
.rule p{font-size:.95rem}

/* atlas */
.atlas-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.map-box{background:var(--paper-2);position:relative;overflow:hidden}
.map-box svg{width:100%;height:auto;display:block}
.map-box .land path{fill:#dededa;stroke:var(--paper-2);stroke-width:.8;vector-effect:non-scaling-stroke}
.map-box .land path.hit{fill:#9d9d98}
.map-box .grid line{stroke:#11111110;stroke-width:1;vector-effect:non-scaling-stroke}
.map-box .route{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.map-box .route-shadow{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.map-box .pt{fill:var(--ink);stroke:#fff;stroke-width:2}
.map-box .pt.end{fill:var(--red)}
.map-box .lbl{font-family:var(--f-body);font-size:15px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:4px}
.map-box .cont{font-family:var(--f-body);font-weight:700;font-size:30px;letter-spacing:.2em;fill:#11111114}
.map-box .rcar{fill:var(--red);stroke:#fff}
.map-legend{position:absolute;left:12px;bottom:10px;font-size:.7rem;color:var(--muted)}
.eras{display:grid;gap:0;border-top:1px solid var(--ink)}
.era-btn{all:unset;cursor:pointer;display:grid;grid-template-columns:3.6em minmax(0,1fr);gap:10px;align-items:baseline;padding:9px 8px;border-bottom:1px solid var(--line);transition:background .2s}
.era-btn:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.era-btn b{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}
.era-btn span{font-size:.85rem;color:var(--muted)}
.era-btn:hover{background:var(--paper-2)}
.era-btn[aria-pressed="true"]{background:var(--ink);color:#fff}
.era-btn[aria-pressed="true"] span{color:#ffffffbb}
.era-tour{all:unset;cursor:pointer;display:block;text-align:center;margin-top:12px;padding:11px 12px;font-size:.9rem;font-weight:700;background:var(--red);color:#fff}
.era-tour:hover{background:var(--ink)}
.era-tour[aria-pressed="true"]{background:var(--ink)}
.era-tour:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.era-note{font-size:.95rem;margin-top:14px;min-height:3.5em}

/* palmarés */
.tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:22px;border-bottom:1px solid var(--ink)}
.tab{all:unset;cursor:pointer;font-size:1rem;font-weight:700;padding:10px 18px;margin-bottom:-1px;border-bottom:3px solid transparent;color:var(--muted)}
.tab:focus-visible{outline:2px solid var(--red)}
.tab[aria-selected="true"]{color:var(--ink);border-color:var(--red)}
.years{display:grid;grid-template-columns:repeat(48,minmax(0,1fr));gap:2px;height:150px;border-bottom:1px solid var(--ink);margin-bottom:6px}
.ybar{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;align-items:flex-end;justify-content:center;padding:6px 0;background:var(--c,var(--muted));color:#fff;transition:transform .2s,opacity .2s,background .2s;min-width:0}
.ybar.era-af{--c:var(--ink)}.ybar.era-sa{--c:#8d8d88}.ybar.era-sau{--c:var(--red)}
.ybar .yn{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;line-height:1}
.years:hover .ybar{opacity:.5}
.years .ybar:hover,.ybar[aria-current="true"]{opacity:1;transform:translateY(-6px)}
.ybar[aria-current="true"]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--red)}
.ybar:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.ybar.none{background:repeating-linear-gradient(45deg,var(--line) 0 2px,transparent 2px 6px);color:var(--muted)}
.years-axis{position:relative;height:1.3em;font-size:.74rem;color:var(--muted);margin-bottom:10px;font-variant-numeric:tabular-nums}
.years-axis span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.years-axis span:first-child{transform:none}.years-axis span:last-child{transform:translateX(-100%)}
.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem;color:var(--muted);margin-bottom:28px}
.legend i{display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:-1px}
.pal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.ticket{border:1px solid var(--ink);display:grid}
.ticket .top{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;gap:10px}
.ticket .top b{font-size:2.8rem;font-weight:700;letter-spacing:-.05em;line-height:.85;color:#fff;font-variant-numeric:tabular-nums}
.ticket .top span{font-size:.8rem;text-align:right;color:#ffffffbb}
.trow{display:grid;grid-template-columns:6em minmax(0,1fr);gap:12px;padding:12px 16px;border-top:1px solid var(--line)}
.trow:first-child{border-top:0}
.trow .k{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:4px}
.trow .v b{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.05;display:block}
.trow .v span{font-size:.85rem;color:var(--muted)}
.trow.sel{background:var(--sun-soft)}
.nat{display:inline-block;font-size:.65rem;font-weight:700;border:1px solid currentColor;padding:0 4px;margin-left:6px;vertical-align:4px;letter-spacing:.04em}
.lead h3{font-size:1.5rem;margin-bottom:12px}
.lead ol{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.lead li{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr) 2.2em;gap:10px;align-items:center;font-size:.9rem}
.lead li .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead li .b{height:12px;background:var(--ink);width:calc(var(--w) * 1%);min-width:4px}
.lead li:first-child .b{background:var(--red)}
.lead li .n{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.streaks-box{margin-top:clamp(56px,8vw,96px)}
.sk-scroll{overflow-x:auto;padding-bottom:6px}
.sk{min-width:760px;display:grid;grid-template-columns:8.5em repeat(48,minmax(0,1fr)) 2.6em;grid-auto-rows:26px;row-gap:4px;align-items:center}
.sk .bm-era{grid-row:1;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--ink);padding-bottom:4px;align-self:end;white-space:nowrap;overflow:hidden}
.sk .bm-era.x{border-bottom-style:dashed;border-bottom-color:var(--red)}
.sk .bm-name{grid-column:1;font-size:.86rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}
.sk .bm-track{grid-column:2/50;height:1px;background:var(--line)}
.sk .bm-x{grid-column:31/32;height:100%;background:repeating-linear-gradient(45deg,#c4390e33 0 2px,transparent 2px 5px)}
.sk .bm-run{height:18px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:700;margin-inline:1px;cursor:default;transition:transform .2s}
.sk .bm-run.one{height:12px;width:12px;justify-self:center;margin:0;border-radius:50%}
.sk .bm-run.best{background:var(--red)}
.sk .bm-run:hover{transform:scaleY(1.25)}
.sk .bm-tot{grid-column:50;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;font-size:.9rem}
.sk .bm-ax{grid-column:2/50;position:relative;height:1.3em;font-size:.72rem;color:var(--muted);align-self:start}
.sk .bm-ax span{position:absolute;transform:translateX(-50%)}
.sk-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px 28px;margin-top:22px}
.sk-sum div{border-top:1px solid var(--ink);padding-top:10px;display:grid;gap:4px}
.sk-sum .k{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sk-sum b{font-size:1.3rem;letter-spacing:-.02em}
.sk-sum span{font-size:.85rem;color:var(--muted)}

/* cine */
.screen{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.reel{position:relative;display:block;text-decoration:none;background:#111;overflow:hidden;aspect-ratio:16/9}
.reel img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.6);transition:filter .5s,transform 1.2s}
.reel:hover img{filter:grayscale(.2) brightness(.7);transform:scale(1.03)}
.reel .sprockets{display:none}
.reel .play{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;color:#fff;text-align:center}
.reel .play i{width:78px;height:78px;border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .3s}
.reel:hover .play i{transform:scale(1.08)}
.reel .play i::before{content:"";border-left:22px solid var(--red);border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}
.reel .tc{font-size:.85rem;font-weight:700}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:1rem;padding:12px 18px;transition:background .2s}
.btn:hover{background:var(--red)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn-alt:hover{background:var(--ink);color:#fff}
.btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.btn-hint{font-size:.85rem;color:var(--muted);max-width:52ch}

/* créditos */
.credits{font-size:.8rem;line-height:1.5;color:var(--muted)}
.credits h2{color:var(--ink);font-size:2rem;margin-bottom:16px}
.credits .stripes{display:none}
.credits .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:6px 28px}
.credits a{color:var(--ink)}
.credits .src{display:grid;gap:6px;margin-top:28px}
.credits .disc{margin-top:28px;color:var(--ink);max-width:80ch}

@media (max-width:900px){
  .hero-grid,.split,.atlas-grid,.pal-grid,.screen{grid-template-columns:minmax(0,1fr)}
  .hero-fig .ph{aspect-ratio:4/3}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts div:nth-child(3){padding-left:0;border-left:0}
  .facts div:nth-child(n+3){margin-top:14px}
  .chap-head{grid-template-columns:minmax(0,1fr)}
  .doc{grid-template-columns:minmax(0,1fr);gap:0}
  .doc-frame{order:-1;top:calc(var(--top) + env(safe-area-inset-top,0px));z-index:5;background:var(--paper);padding-block:10px 6px}

  .frame-cap{min-height:0}
  .doc-step{min-height:62vh;min-height:62svh;opacity:.25}
  .doc-step p{font-size:1.05rem}
  .years{height:130px}
}
@media (max-width:560px){
  .lead li{grid-template-columns:minmax(0,9em) minmax(0,1fr) 2em;font-size:.82rem}
  .itin li{grid-template-columns:6em minmax(0,1fr)}
  .itin li .ic{display:none}
  .brand span{display:none}
  .ratio-bar span{display:none}
  .trip .read small{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Archivo íntegro: cada fotografía conserva todo su encuadre. */
.ph img,.reel img,.finale .hero-img img{object-fit:contain;object-position:center!important;transform:none!important}
.ph:hover img,.reel:hover img{transform:none}
.hero-fig .ph{aspect-ratio:3/2}

.finale .hero-img{height:auto;aspect-ratio:3/1;background:var(--paper-2)}
.finale .hero-img img{height:100%;width:100%}
.skip-link{position:fixed;z-index:100;top:8px;left:16px;padding:10px 16px;background:#fff;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.languages{display:flex;flex:none;gap:2px;border-left:1px solid var(--line);padding-left:12px}
.languages button{font:500 .7rem var(--f-body);padding:8px 5px;border:0;background:none;color:var(--muted);cursor:pointer;min-height:36px}
.languages button[aria-pressed="true"]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--red)}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.archive-grid .ph{aspect-ratio:3/2}
.archive-grid figcaption{display:grid;gap:4px}
.archive-grid .photo-source{font-size:.7rem;text-underline-offset:3px;justify-self:start}
.archive-more{margin-top:28px}
.archive-grid figure[hidden]{display:none}
.stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
.story{border-top:1px solid var(--ink);padding-top:12px;display:grid;gap:12px;align-content:start}
.story .dates{font-size:.85rem}
.story h3{font-size:clamp(1.6rem,2.5vw,2.1rem);line-height:1.05}
.story p{font-size:1rem;max-width:55ch}
.story a,.chapter-source{font-size:.75rem;color:var(--muted);text-underline-offset:3px}
.chapter-source{display:block;margin-top:20px}
.sources-list{padding-left:18px;display:grid;gap:8px;max-width:90ch}
.edition-note{padding:10px 16px;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:900px){.topbar .wrap{gap:10px;flex-wrap:wrap;height:auto;min-height:var(--top);padding-block:8px}.brand{order:0}.languages{order:1;margin-left:auto}.chapters{order:2;flex-basis:100%;margin-left:0}.topbar{--top:88px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finale .hero-img{aspect-ratio:2/1}}
@media(max-width:560px){.stories,.archive-grid{grid-template-columns:minmax(0,1fr)}.archive-grid{gap:28px}.languages{padding-left:8px}.frame-cap{font-size:.72rem;gap:10px}.doc-frame{top:88px}.hero h1{font-size:clamp(3.6rem,17vw,6rem)}}


html{scroll-padding-top:calc(var(--header-height,var(--top)) + 16px)}
.doc-step{opacity:.65}.doc-step.on{opacity:1}
.doc-frame{min-width:0;grid-template-columns:minmax(0,1fr);top:calc(var(--header-height,var(--top)) + max(24px,8vh))}
.lb p>*{margin-right:.3em}
@media(max-width:900px){.doc-frame{top:var(--header-height,94px)}.doc-step{opacity:.65}.doc-step.on{opacity:1}}
.years-scroll{overflow-x:auto;padding:10px 3px 8px}.years,.years-axis{min-width:720px}
/* Reserve reading space below the sticky photo on small screens. */
@media(max-width:900px){.doc-step{padding-top:calc(var(--photo-reserve,38svh) + 60px);padding-bottom:24px}}
@media(max-width:560px){.doc-step{padding-top:calc(var(--photo-reserve,32svh) + 60px)}}
@media(max-height:540px) and (orientation:landscape){.doc-frame{position:relative;top:auto}.doc-step,.doc-step:last-child{min-height:0;padding-block:32px}}

/* Opening title: white, the original Dakar mark, and a single red route. */
/* Intro: las 48 ediciones en unos segundos (arrival.js) */
.arrival{position:fixed;inset:0;z-index:120;background:#0b0b0b;color:#fff;pointer-events:none;overflow:hidden;font-family:var(--f-display)}
.arrival[hidden]{display:none!important}
.arrival .intro-top,.arrival .intro-core,.arrival .intro-bottom{opacity:0}
.intro-photo{position:fixed;left:0;top:0;width:100vw;height:100vh;overflow:hidden;background:#0b0b0b}
.intro-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.intro-photo .ip-frame{opacity:.7;transform-origin:50% 55%}
.intro-photo .ip-final,.intro-photo .ip-hero{opacity:0}
.intro-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 55%,#0b0b0b00 0,#0b0b0b66 55%,#0b0b0bcc 100%),linear-gradient(90deg,#0b0b0bb3 0,#0b0b0b33 55%,#0b0b0b00 100%);pointer-events:none}
.intro-shade::after{content:"";position:absolute;inset:-50%;opacity:.12;background-image:url("../assets/brand/grain.png");background-size:128px 128px;animation:intro-grain .5s steps(4) infinite}
@keyframes intro-grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}
.intro-top{position:absolute;left:var(--gut-l);right:var(--gut-r);top:max(22px,env(safe-area-inset-top,0px));display:flex;align-items:center;gap:14px;padding-inline:clamp(0px,3vw,40px)}
.intro-mark{width:30px;height:auto;filter:invert(1)}
.intro-kicker{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#d6d6d3}
.intro-core{position:absolute;left:var(--gut-l);right:var(--gut-r);top:50%;transform:translateY(-54%);padding-inline:clamp(0px,3vw,40px);display:grid;justify-items:start;gap:clamp(8px,1.6vw,18px)}
.intro-era{font-size:clamp(.72rem,1.2vw,.95rem);font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--red);min-height:1.2em}
.intro-yearbox{display:block;overflow:hidden;padding-bottom:.04em}
.intro-year{display:block;font-size:clamp(7rem,27vw,25rem);font-weight:700;line-height:.8;letter-spacing:-.07em;font-variant-numeric:tabular-nums;margin-left:-.06em}
.intro-year.next{color:var(--red)}
.intro-route{font-size:clamp(1rem,2.4vw,1.9rem);font-weight:500;letter-spacing:-.01em;color:#f2f2f0;min-height:1.3em}
.intro-bottom{position:absolute;left:var(--gut-l);right:var(--gut-r);bottom:max(26px,env(safe-area-inset-bottom,0px));padding-inline:clamp(0px,3vw,40px);display:grid;gap:10px}
.intro-skip{justify-self:end;opacity:.8;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#bdbdb8}
@media (max-width:700px){.intro-core{transform:translateY(-62%)}.intro-skip{justify-self:start}}
.arrival-pending .topbar,.arrival-pending .hero h1>span,.arrival-pending .hero .label,.arrival-pending .hero .lead,.arrival-pending .hero .motto,.arrival-pending .hero .cue,.arrival-pending .hero .doc-play,.arrival-pending .hero-fig,.arrival-pending .hero .facts{opacity:0}
.credits h2{display:flex;align-items:center;gap:18px}.credits-mark{width:34px;height:auto;flex:none}
/* pie de página: oscuro, con navegación y la bibliografía plegada */
.site-foot{background:#111;color:#fff;padding-top:clamp(48px,6vw,80px);position:relative;overflow:hidden;--f-line:#ffffff26;--f-mute:#a9a9a5}
.site-foot a{color:#fff;text-decoration:none}
.site-foot a:focus-visible,.site-foot button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.foot-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.4fr);gap:clamp(28px,4vw,56px);padding-bottom:clamp(40px,5vw,64px)}
.foot-logo{width:30px;height:auto;filter:invert(1);mix-blend-mode:screen;margin-bottom:18px}
.foot-name{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;line-height:1}
.foot-tag{margin-top:12px;font-size:.92rem;line-height:1.5;color:var(--f-mute);max-width:30ch}
.foot-top{display:inline-flex;gap:8px;align-items:center;margin-top:22px;font-size:.82rem;font-weight:700;border-bottom:2px solid var(--red);padding-bottom:3px}
.foot-top i{font-style:normal;transition:transform .2s}
.foot-top:hover i{transform:translateY(-3px)}
.foot-col h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--f-mute);font-weight:500;margin-bottom:14px;line-height:1.2}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot-col li a{font-size:.92rem;display:inline-flex;gap:10px;align-items:baseline;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.foot-col li a:hover{border-color:var(--red)}
.foot-chapters li a b{min-width:5.2em;font-variant-numeric:tabular-nums;font-weight:700;color:#fff}
.foot-chapters li a span{color:var(--f-mute)}
.foot-chapters li a:hover span{color:#fff}
.foot-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.foot-facts div{display:grid;gap:4px;align-content:start}
.foot-facts b{font-size:1.9rem;font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.foot-facts span{font-size:.74rem;line-height:1.35;color:var(--f-mute)}

.foot-toggle{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:20px 0;border-top:1px solid var(--f-line);border-bottom:1px solid var(--f-line)}
.foot-toggle .ft-text{display:grid;gap:3px;min-width:0}
.foot-toggle strong{font-size:1.15rem;letter-spacing:-.02em}
.foot-toggle small{font-size:.8rem;color:var(--f-mute)}
.foot-toggle .ft-act{display:inline-flex;align-items:center;gap:14px;font-size:.82rem;font-weight:700;flex:none}
.foot-toggle .ft-close{display:none}
.foot-toggle[aria-expanded="true"] .ft-open{display:none}
.foot-toggle[aria-expanded="true"] .ft-close{display:inline}
.foot-toggle i{position:relative;width:34px;height:34px;border:1px solid #ffffff66;border-radius:50%;transition:background .2s,border-color .2s}
.foot-toggle i::before,.foot-toggle i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .3s}
.foot-toggle i::after{transform:translate(-50%,-50%) rotate(90deg)}
.foot-toggle[aria-expanded="true"] i::after{transform:translate(-50%,-50%) rotate(0)}
.foot-toggle:hover i{background:var(--red);border-color:var(--red)}
.foot-toggle:hover strong{text-decoration:underline;text-underline-offset:4px}

.foot-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .5s cubic-bezier(.3,.7,.2,1),visibility 0s .5s}
.foot-panel.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .5s cubic-bezier(.3,.7,.2,1)}
.foot-panel-in{min-height:0;overflow:hidden;display:grid;gap:14px;font-size:.8rem;line-height:1.55;color:var(--f-mute)}
.foot-panel.open .foot-panel-in{padding-block:26px 8px}
.foot-panel-in h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:10px 0 4px;line-height:1.2;font-weight:700}
.foot-panel-in a{color:#fff;text-decoration:underline;text-decoration-color:#ffffff55;text-underline-offset:3px}
.foot-panel-in a:hover{text-decoration-color:var(--red)}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:8px 48px}
.foot-panel-in .sources-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot-panel-in .story-sources li{display:grid;grid-template-columns:5.4em minmax(0,1fr);gap:8px}
.foot-panel-in .sources-list .y{font-variant-numeric:tabular-nums}
.foot-extra{margin-top:10px}
.foot-panel-in .disc{max-width:80ch;margin-top:6px}
.foot-panel-in .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:6px 28px}

.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-block:20px 18px;font-size:.78rem;color:var(--f-mute)}
.foot-word{margin:0;font-size:clamp(3.4rem,15.5vw,14rem);font-weight:700;letter-spacing:-.06em;line-height:.74;white-space:nowrap;color:#ffffff12;text-align:center;user-select:none;padding-bottom:clamp(8px,2vw,28px);transform:translateY(.06em)}
.trip{transition:opacity .25s}
body.at-foot .trip{opacity:0;pointer-events:none}
/* desplazamiento suave (Lenis): sustituye al scroll-behavior nativo */
html.lenis,html.lenis body{height:auto}
html.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
/* modo documental */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.doc-play{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;padding:10px 20px 10px 10px;transition:background .2s}
.doc-play:hover{background:#000}
.doc-play:hover .dp-ico{background:var(--red);transform:scale(1.06)}
.doc-play:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.dp-ico{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;transition:background .2s,transform .2s,color .2s;flex:none}
.doc-play:hover .dp-ico{color:#fff}
.dp-ico svg{width:20px;height:20px;margin-left:3px}
.dp-txt{display:grid;gap:2px;text-align:left}
.dp-txt strong{font-size:1rem;letter-spacing:-.01em}
.dp-txt small{font-size:.76rem;color:#ffffffaa}
.docbar{position:fixed;z-index:80;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(760px,calc(100% - 2 * var(--gut-l)));background:#111;color:#fff;display:flex;align-items:center;gap:4px;padding:10px;box-shadow:0 12px 32px #00000040;animation:db-in .35s cubic-bezier(.2,.7,.2,1)}
.docbar[hidden],.docpill[hidden]{display:none}
@keyframes db-in{from{opacity:0;transform:translate(-50%,14px)}}
.db-track{position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff26;overflow:hidden}
.db-done{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--red)}
.db-now{display:none}
.db-btn{all:unset;box-sizing:border-box;cursor:pointer;width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;color:#fff;transition:background .2s,color .2s}
.db-btn svg{width:20px;height:20px}
.db-btn:hover{background:#ffffff1f}
.db-play{background:#fff;color:#111}
.db-play:hover{background:var(--red);color:#fff}
.db-play svg{width:22px;height:22px}
.db-btn:focus-visible,.db-speed:focus-visible,.docpill:focus-visible{outline:2px solid #fff;outline-offset:2px}
.db-info{flex:1;min-width:0;display:grid;gap:2px;padding-inline:10px}
.db-kicker{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#a9a9a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.db-title{font-size:.92rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docbar.ended .db-title{color:var(--red)}
.db-speed{all:unset;box-sizing:border-box;cursor:pointer;flex:none;font-size:.78rem;font-weight:700;padding:6px 9px;margin-inline:4px;border:1px solid #ffffff44;font-variant-numeric:tabular-nums;min-width:2.8em;text-align:center}
.db-speed:hover{border-color:#fff}
.docpill{all:unset;box-sizing:border-box;cursor:pointer;position:fixed;z-index:79;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;background:#111;color:#fff;padding:8px 16px 8px 8px;font-size:.82rem;font-weight:700;box-shadow:0 8px 24px #00000033;animation:db-in .35s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.docpill svg{width:28px;height:28px;padding:6px 5px 6px 7px;border-radius:50%;background:var(--red);color:#fff;box-sizing:border-box}
.docpill:hover svg{transform:scale(1.08)}
body.doc-on .trip{opacity:0;pointer-events:none}
@media (max-width:560px){.db-prev,.db-speed{display:none}.docbar{gap:2px;padding:8px}}

@media (max-width:900px){.foot-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot-brand{grid-column:1/-1}}
@media (max-width:560px){.foot-main{grid-template-columns:minmax(0,1fr)}.foot-toggle .ft-open,.foot-toggle .ft-close{display:none!important}.foot-bottom{flex-direction:column}}

@media(prefers-reduced-motion:reduce){.arrival{display:none!important}}
