/* Formule 1 × Overtake */
/* bande des Grands Prix (hero) */
.gpstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);max-width:1080px;margin:clamp(28px,4vw,48px) auto 0}
.gpstrip a{display:block;color:inherit;text-decoration:none;min-width:0}
.gpstrip .im{display:block;position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--sunk);box-shadow:0 1px 2px rgba(22,19,15,.06)}
.gpstrip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 900ms var(--ease)}
.gpstrip a:hover img{transform:scale(1.04)}
.gpstrip b{display:block;margin-top:10px;font-size:14px;font-weight:600;letter-spacing:-.01em}
.gpstrip i{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:2px}
@media(max-width:860px){.gpstrip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-left:calc(var(--pad,20px)*-1);margin-right:calc(var(--pad,20px)*-1);padding-left:var(--pad,20px);padding-right:var(--pad,20px)}.gpstrip a{flex:0 0 38%;scroll-snap-align:start}.gpstrip{gap:12px;margin-top:32px;scroll-padding-inline:var(--pad,20px);scrollbar-width:none}.gpstrip::-webkit-scrollbar{display:none}.gpstrip a:focus{outline:none}.gpstrip b{margin-top:8px}}

.f1map{position:relative;margin-top:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden;box-shadow:0 1px 2px rgba(22,19,15,.04)}
.f1map .mp{position:relative;aspect-ratio:16/9;overflow:hidden}
.f1map .route{fill:none;stroke:var(--orange);stroke-linecap:round;stroke-linejoin:round;opacity:0}.f1map .route.on{opacity:.55}
.f1map svg{display:block;width:100%;height:100%}
.f1map .land{fill:#D3CBBD;stroke:#FCFBF8;stroke-width:.9}
.f1map .mk{cursor:pointer;opacity:0;transition:opacity .5s}.f1map .mk.vis{opacity:1}
.f1map .pt{fill:var(--orange);stroke:#FCFBF8;stroke-width:2;transition:fill .2s}
.f1map .halo{fill:none;stroke:var(--orange);stroke-width:1;opacity:.45}
.f1map .mk:hover .pt,.f1map .mk.on .pt{fill:var(--orange-deep)}
.f1map .mk:last-child .halo{animation:f1pulse 2.4s ease-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes f1pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.6);opacity:0}}
.f1map .lab{font-size:11px;font-weight:600;letter-spacing:.04em;fill:var(--ink);pointer-events:none;paint-order:stroke;stroke:#FCFBF8;stroke-width:3px;stroke-linejoin:round}
.f1map .lab2{font-size:8.5px;font-weight:500;letter-spacing:.02em;fill:var(--ink3);pointer-events:none;paint-order:stroke;stroke:#FCFBF8;stroke-width:3px;stroke-linejoin:round}
.f1cap{position:absolute;left:clamp(14px,2vw,24px);bottom:clamp(14px,2vw,24px);max-width:min(78%,420px);background:rgba(252,251,248,.94);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:14px 18px 15px;box-shadow:0 10px 30px -14px rgba(22,19,15,.3);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;pointer-events:none;z-index:2}
.f1cap.show{opacity:1;transform:none}
.f1cap span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--orange-deep)}
.f1cap b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,32px);line-height:1.05;letter-spacing:-.015em;margin-top:4px}
.f1cap i{display:block;font-style:normal;font-size:13px;color:var(--ink2);margin-top:6px}
.f1play{position:absolute;right:14px;top:14px;z-index:2;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(252,251,248,.92);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(22,19,15,.08)}
.f1play:hover{background:#fff;border-color:var(--line2)}
.f1map .bar{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;padding:16px clamp(18px,2.4vw,28px);border-top:1px solid var(--line)}
.f1map .yr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.f1map .yr b{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1;color:var(--ink3);margin-right:4px}
.f1map .yr a{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:14px;font-weight:550;text-decoration:none;cursor:pointer;transition:border-color .2s,background .2s}
.f1map .yr a i{font-style:normal;color:var(--ink3);font-weight:400;font-size:12px}
.f1map .yr a:hover,.f1map .yr a.on{border-color:var(--orange);background:rgba(232,90,60,.08);color:var(--ink)}
.f1map .hint{margin-left:auto;font-size:12.5px;color:var(--ink3)}
.f1tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--ink);color:#FCFBF8;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.35);transform:translate(-50%,calc(-100% - 16px));opacity:0;transition:opacity .15s;white-space:nowrap;z-index:2}
.f1tip.show{opacity:1}
.f1tip i{display:block;font-style:normal;color:rgba(252,251,248,.6);font-weight:400;font-size:12px;margin-top:2px}
/* chapitres */
.gp{padding:clamp(40px,5vw,72px) 0 0;scroll-margin-top:100px}
.gp+.gp{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.gp .hd{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);align-items:end;margin-bottom:clamp(20px,3vw,36px)}
.gp .n{font-family:var(--serif);font-size:clamp(44px,6vw,84px);line-height:.9;letter-spacing:-.03em}
.gp .n i{font-style:italic;color:var(--orange-deep);font-size:.5em;vertical-align:top;margin-left:4px}
.gp h2{font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.015em;margin:14px 0 0}
.gp .hd p{font-size:clamp(16px,1.3vw,18px);color:var(--ink2);line-height:1.65;margin:0;max-width:60ch}
.gp .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.gp .meta span{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--line);border-radius:999px;padding:5px 10px;white-space:nowrap}
.gpg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(110px,14vw,220px);gap:12px}
.gpg>div,.gps>div{position:relative;border-radius:14px;overflow:hidden;background:var(--sunk)}
.gpg image-slot,.gps image-slot,.shot .im image-slot,.prepim image-slot,.ocon image-slot,.award3 image-slot,.duo .im image-slot,.fin image-slot,.fin2 image-slot,.pol .ph image-slot,.pimg .fr image-slot{position:absolute;inset:0;width:100%;height:100%}
.gpg .a{grid-column:span 4;grid-row:span 2}.gpg .b,.gpg .c,.gpg .d,.gpg .e,.gpg .f{grid-column:span 2}
.gp.sm .n{font-size:clamp(32px,4vw,56px)}
.gp.sm .hd{align-items:start;margin-bottom:18px}
.gps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gps>div{aspect-ratio:3/2}
/* derrière l'image */
.shot{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);margin-top:12px;padding:clamp(14px,2vw,22px);border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.shot .im{position:relative;aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:var(--sunk)}
.shot .tx{display:flex;flex-direction:column;justify-content:center;padding:8px 4px}
.shot .tx h3{font-size:clamp(22px,2.2vw,30px);line-height:1.1;letter-spacing:-.015em;margin:10px 0 16px}
.shot dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0 0 16px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shot dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3)}
.shot dd{margin:4px 0 0;font-size:16px;font-weight:550;font-variant-numeric:tabular-nums}
.shot p{color:var(--ink2);font-size:15.5px;line-height:1.6;margin:0}
.todo{display:inline-block;font-size:12.5px;color:var(--orange-deep);background:rgba(232,90,60,.07);border:1px dashed rgba(232,90,60,.45);border-radius:8px;padding:5px 9px;margin-top:12px;align-self:flex-start}
/* méthode */
.prep{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(24px,3vw,40px)}
.prep ol{list-style:none;margin:0;padding:0;counter-reset:p;border-top:1px solid var(--line)}
.prep ol li{counter-increment:p;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.prep ol li::before{content:counter(p,decimal-leading-zero);font-family:var(--serif);font-size:22px;color:var(--orange-deep);line-height:1.1;grid-row:1/3}
.prep ol li span{grid-column:2}
.prep ol b{display:block;font-weight:600;font-size:16px;margin-bottom:4px}
.prep ol span{color:var(--ink2);font-size:15px;line-height:1.55}
.prepim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prepim>div{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--sunk)}
.prepim>div:first-child{grid-column:span 2;aspect-ratio:16/9}
.loop{margin-top:clamp(28px,4vw,48px);background:var(--ink);color:#FCFBF8;border-radius:22px;padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.loop .st{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.loop .st b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3vw,42px);letter-spacing:-.01em;white-space:nowrap}
.loop .st i{font-style:normal;color:var(--orange);font-size:clamp(18px,2vw,28px)}
.loop .r{text-align:right}
.loop small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:rgba(252,251,248,.5);margin-bottom:6px}
.loop .ea{font-family:var(--serif);font-size:clamp(18px,1.8vw,24px);color:#FFC9BA;white-space:nowrap}
/* Ocon */
.ocon{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px;margin-top:clamp(24px,3vw,40px)}
.ocon .big{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--sunk)}
.ocon .side{display:grid;gap:12px;grid-template-rows:1fr 1fr}
.ocon .side>div{position:relative;border-radius:18px;overflow:hidden;background:var(--sunk)}
/* awards */
.award{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:end}
.award .big{font-family:var(--serif);font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.02em;margin:0}
.award .big em{font-style:italic;color:var(--orange-deep)}
.award p{font-size:clamp(16px,1.3vw,18px);color:var(--ink2);line-height:1.65;margin:0 0 10px;max-width:52ch}
.award .nx{font-size:14px;color:var(--ink3)}
.award p.eyebrow{font-size:11px;letter-spacing:.22em;line-height:normal;color:var(--ink2);max-width:none}
.award3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(20px,3vw,36px)}
.award3>div{position:relative;aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:var(--sunk)}
.award3 span{position:absolute;left:12px;bottom:12px;background:rgba(252,251,248,.92);color:var(--ink);font-size:12px;font-weight:600;border-radius:999px;padding:5px 10px;z-index:1}
/* presse */
.press{margin-top:clamp(40px,6vw,80px)}.press .sec-head{margin-bottom:clamp(20px,3vw,36px)}
.pressg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pa{display:block;border-radius:14px;overflow:hidden;background:var(--sunk);border:1px solid var(--line);transition:transform .35s ease,box-shadow .35s ease}.pa .tx a{color:inherit;text-decoration:none}.pa .tx a:hover{color:var(--orange-deep)}
.pa:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(0,0,0,.35)}
.pa .im{position:relative;aspect-ratio:4/3;overflow:hidden}.pa .im image-slot{position:absolute;inset:0;width:100%;height:100%}
.pa .tx{display:grid;gap:4px;padding:16px 18px 18px}.pa small{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}
.pa b{font-family:var(--serif);font-weight:500;font-size:clamp(17px,1.4vw,20px);line-height:1.25;letter-spacing:-.01em}
.pa span{font-size:13px;font-weight:600;color:var(--orange-deep);margin-top:6px}
/* Overtake × Day */
.duo{background:var(--ink);color:#FCFBF8;border-radius:26px;padding:clamp(28px,5vw,72px);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:center}
.duo .lgs{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.duo .lgs img{height:30px;width:auto;filter:brightness(0) invert(1)}
.duo .lgs i{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--orange)}
.duo .lgs b{font-size:18px;font-weight:600;letter-spacing:-.01em}
.duo h2{color:#FCFBF8;font-size:clamp(28px,3.4vw,48px);line-height:1.05;letter-spacing:-.02em;margin:0 0 18px}
.duo h2 em{color:#FFC9BA}
.duo p{color:rgba(252,251,248,.75);font-size:16.5px;line-height:1.65;margin:0 0 12px}
.duo .im{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#2B2723}
.duo .ch{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.duo .ch span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(252,251,248,.25);border-radius:999px;padding:6px 11px;white-space:nowrap}
/* finale */
.fin{display:grid;gap:14px}
.fin>div{position:relative;aspect-ratio:21/9;border-radius:18px;overflow:hidden;background:var(--sunk)}
.fin2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fin2>div{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--sunk)}
.finl{text-align:center;padding:clamp(40px,6vw,80px) 0 clamp(16px,2vw,24px)}
.finl p{font-family:var(--serif);font-size:clamp(26px,3.4vw,48px);line-height:1.15;letter-spacing:-.015em;max-width:24ch;margin:0 auto}
.finl p em{font-style:italic;color:var(--orange-deep)}
.finl small{display:block;margin-top:24px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--ink3)}
@media(max-width:860px){
.f1map .mp{aspect-ratio:4/3}.f1map .lab,.f1map .lab2{display:none}.f1map svg.z2 .lab,.f1map svg.z2 .lab2{display:block}.f1map .pt{r:7}.f1map .hint{display:none}
.gp .hd,.shot,.prep,.award,.duo,.ocon{grid-template-columns:1fr}
.gpg{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(120px,28vw,200px)}.gpg .a{grid-column:span 2}.gpg .b,.gpg .c,.gpg .d,.gpg .e,.gpg .f{grid-column:span 1}
.gps{grid-template-columns:1fr 1fr}.gps>div:last-child{grid-column:span 2}
.loop{grid-template-columns:1fr}.loop .r{text-align:left}
.ocon .big{aspect-ratio:4/5}.ocon .side{grid-template-rows:none;grid-template-columns:1fr 1fr}.ocon .side>div{aspect-ratio:1}
.award3,.pressg{grid-template-columns:1fr}
}

/* Monaco, séance par séance (bloc .mcs) */
.prep{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.prep .mcs{max-width:none}
.mcs{--card:var(--surface);--ink:#16130F;--muted:var(--ink2);--line:#E4E0D5;--dot:rgba(22,19,15,.11);--ghost:#DCD8CF;--accent:var(--orange-deep);--display:var(--serif);--body:var(--sans)}
.mcs *{box-sizing:border-box}
.mcs{color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;max-width:1000px;margin-inline:auto}.mcs .card{background:var(--card);border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh1)}.mcs .stage{position:relative;background:radial-gradient(circle,var(--dot) 1px,transparent 1.3px) 0 0/18px 18px}
.mcs .map{display:block;width:100%;height:auto;max-width:100%}
.mcs .ghost{fill:none;stroke:var(--ghost);stroke-width:11;stroke-linejoin:round;stroke-linecap:round}
.mcs .ink{fill:none;stroke:var(--ink);stroke-width:11;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.mcs .ink.draw{animation:mcs-draw 1.4s cubic-bezier(.6,0,.2,1) both}
@keyframes mcs-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.mcs .mid{fill:none;stroke:var(--card);stroke-width:1.2;opacity:.4}
.mcs .grid-line{fill:none;stroke:var(--card);stroke-width:2.5}
.mcs .turn{font-family:var(--display);font-size:19px;fill:var(--muted);text-anchor:middle}
.mcs .route{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-dasharray:10 8;stroke-linecap:round;stroke-linejoin:round}
.mcs .route.extra{opacity:0;transition:opacity .6s}
.mcs .route.extra.on{opacity:1}
.mcs .old .route{stroke:var(--muted);stroke-width:2.5;opacity:.45}
.mcs .old .stop{stroke:var(--muted);opacity:.6}
.mcs .stop{fill:var(--card);stroke:var(--accent);stroke-width:2.5;opacity:0;transition:opacity .3s}
.mcs .stop.on{opacity:1}
.mcs .sess{position:absolute;left:24px;top:20px;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.mcs .sess span{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.mcs .sess{text-shadow:0 0 10px var(--card),0 0 10px var(--card),0 0 18px var(--card)}
.mcs .sess strong{font-family:var(--display);font-weight:400;font-size:clamp(34px,6.4vw,64px);line-height:.85;letter-spacing:-.01em}
.mcs .tag rect{fill:var(--ink)}
.mcs .tag text{font-family:var(--body);font-size:14px;font-weight:600;fill:var(--card)}
.mcs .ph{opacity:0;transition:opacity .45s}
.mcs .ph.on{opacity:1}
.mcs .ph line{stroke:var(--ink);stroke-width:1.1}
.mcs .ph circle{fill:var(--accent);stroke:var(--card);stroke-width:1.5}
.mcs .ph rect{fill:var(--card);stroke:var(--line);stroke-width:1}
.mcs .ph image{clip-path:inset(0 round 5px)}
.mcs .old .ph{opacity:.9}
.mcs .mapbox{position:relative}
.mcs .shot{position:absolute;margin:0;border:4px solid var(--card);border-radius:14px;overflow:hidden;aspect-ratio:3/2;background:var(--ghost);box-shadow:0 18px 30px -18px rgba(40,25,15,.55);opacity:0;transition:opacity .4s}
.mcs .shot.on{opacity:1}
.mcs .shot.noslot{display:none}
.mcs .shot[hidden]{display:none!important}
.mcs .shot img{display:block;width:100%;height:100%;object-fit:cover}
.mcs .shot figcaption{position:absolute;left:8px;bottom:8px;background:var(--ink);color:var(--card);font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px}
.mcs .me{fill:var(--accent);stroke:var(--card);stroke-width:3}
.mcs .pulse{fill:none;stroke:var(--accent);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:mcs-pulse 1.8s ease-out infinite}
@keyframes mcs-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.mcs .btn{position:absolute;right:24px;top:24px;appearance:none;font:inherit;font-size:13px;font-weight:500;color:var(--card);background:var(--ink);border:0;border-radius:999px;padding:8px 16px;cursor:pointer}
.mcs .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mcs .now{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px 28px 28px;border-top:1px solid var(--line)}
.mcs .pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;max-width:calc(100% - 96px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0}
.mcs .pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.mcs .now-t{font-family:var(--display);font-weight:400;font-size:clamp(32px,5vw,46px);line-height:1;letter-spacing:-.01em;margin:0;text-wrap:balance}
.mcs .now-t em{color:var(--accent)}
.mcs .now-n{color:var(--muted);margin:0;max-width:58ch;font-size:17px}.mcs .plan{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line)}
.mcs .step{position:relative;appearance:none;background:none;border:0;border-right:1px solid var(--line);color:var(--muted);font:inherit;text-align:left;padding:20px 16px 22px;cursor:pointer;min-width:0;display:flex;flex-direction:column;gap:2px}
.mcs .step:last-child{border-right:0}
.mcs .step:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.mcs .step .num{font-family:var(--display);font-size:30px;line-height:1;color:var(--accent);opacity:.45;margin-bottom:10px;transition:opacity .3s}
.mcs .step.on .num,.mcs .step.past .num,.mcs .step:hover .num{opacity:1}
.mcs .step .s{font-size:17px;font-weight:600;color:var(--ink);line-height:1.25}
.mcs .step .p{font-size:14px;line-height:1.4}
.mcs .step .bar{position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--accent)}
.mcs .step.past .bar{width:100%;background:var(--ink)}
.mcs .step.on .bar{width:100%}
.mcs .step.on.run .bar{animation:mcs-fill var(--dur,5s) linear both}
@keyframes mcs-fill{from{width:0}to{width:100%}}@media (max-width:760px){.mcs .plan{grid-template-columns:minmax(0,1fr)}.mcs .step{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:8px;border-right:0;border-bottom:1px solid var(--line);padding:16px 22px}.mcs .step:last-child{border-bottom:0}.mcs .step .num{grid-row:1/3;margin:0}.mcs .step .s,.mcs .step .p{grid-column:2}.mcs .step .bar{top:auto;bottom:-1px}.mcs .now{padding:22px}.mcs .turn{display:none}.mcs .sess{left:16px;top:14px}.mcs .route{stroke-width:5}.mcs .stop{stroke-width:3.5}.mcs .btn{right:18px;top:20px;padding:6px 12px;font-size:12px}.mcs .shot,.mcs .shot.noslot{display:block;position:relative;left:auto!important;top:auto!important;width:auto!important;margin:0 14px 14px}.mcs .shot figcaption{font-size:13px}
}
@media (prefers-reduced-motion:reduce){.mcs .ink.draw,.mcs .pulse,.mcs .step.on.run .bar{animation:none}
}
.mcs .plan,.mcs .step{display:none}
.mcs .shot{display:block;grid-template-columns:none;gap:0;margin-top:0;padding:0;border:4px solid var(--card);border-radius:14px;background:var(--ghost)}
.mcs .shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.mcs .shot,.mcs .shot.noslot{display:block;margin:0 14px 14px}}
.duo.solo{grid-template-columns:1fr}.duo.solo>div{max-width:720px}.duo.solo p:last-of-type{margin-bottom:0}
/* rencontre Hamilton */
.vcards.meet{align-items:center}.vcard.p45 .ph{aspect-ratio:4/5}.vcard image-slot{position:absolute;inset:0}
.vcard .rec{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:99px;background:rgba(22,19,15,.72);color:#F3F1EB;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.vcard .rec::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange,#E85A3C);animation:recb 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.vcard .rec::before{animation:none}}
/* planches repliables */
.planche a[hidden]{display:none!important}
.fold{display:flex;align-items:center;gap:10px;margin:16px auto 0;padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:var(--card,#FCFBF8);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:border-color 300ms var(--ease),background 300ms var(--ease)}
.fold:hover{border-color:var(--ink)}
.fold i{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 300ms var(--ease)}
.fold.on i{transform:translateY(2px) rotate(225deg)}
/* Tissot : chapitres en attente de photos */
.gpstrip.five{grid-template-columns:repeat(5,minmax(0,1fr));max-width:880px}
.gpstrip .im image-slot{position:absolute;inset:0;width:100%;height:100%}
.tslots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(200px,24vw,340px);gap:clamp(8px,1vw,12px)}
.tslots>div{position:relative;border-radius:14px;overflow:hidden;background:var(--sunk)}
.tslots .w{grid-column:span 2}
.tslots image-slot{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:760px){.tslots{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(170px,46vw,280px)}}
/* Tissot : posts Instagram dans les chapitres */
.tpub{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:14px;color:var(--ink2)}.tpub img{width:28px;height:28px;border-radius:50%;flex:none}.tpub b{color:var(--ink);font-weight:600}
.tposts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:start}
.tposts .igpost{max-width:none}
.tposts.one{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,72px)}
.tposts.one .tx h3{font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.015em;margin:0 0 14px}
.tposts.one .tx p{color:var(--ink2);max-width:46ch;margin:0 0 22px}
.igpost.r34 .car{aspect-ratio:3/4}
.igpost .trk video{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;display:block;background:#111}
.igpost .act .pg{max-width:34%;overflow:hidden}
@media (max-width:1000px){.tposts{grid-template-columns:repeat(2,minmax(0,1fr))}.tposts.one{grid-template-columns:minmax(0,1fr)}.tposts.one .igpost{max-width:420px}}
@media (max-width:640px){.tposts{grid-template-columns:minmax(0,1fr)}.tposts .igpost{max-width:420px;justify-self:center}}
.gp .igpost .hd{display:flex;grid-template-columns:none;align-items:center;gap:10px;margin:0;padding:10px 12px}
.gp .igpost .hd>div{display:block;margin:0;padding:0}
.gp .igpost .hd p,.gp .igpost .hd h2{margin:0}
@media (max-width:1000px) and (min-width:641px){.tposts>.igpost:nth-child(3):last-child{grid-column:1/-1;justify-self:center;width:calc(50% - clamp(7px,1vw,14px))}}
.tposts .tlink{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:3px}.tposts .tlink:hover{color:var(--orange);border-color:var(--orange)}
#gp-misano .igwall{margin-top:clamp(14px,2vw,22px)}
.gp .igc .hd{display:flex;align-items:center;gap:9px;margin:0;grid-template-columns:none}
.tslots img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tig .igc .im{position:relative}.tig .ev{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:rgba(22,19,15,.62);backdrop-filter:blur(8px);color:#FCFBF8;font-size:13px;font-weight:600;line-height:1.25}.tig .ev small{font-weight:400;font-size:12px;opacity:.85}
.tig .igc{width:clamp(240px,26vw,300px)}
.igc .hd .vb{width:14px;height:14px;flex:none;margin-left:-5px}
.tposts.one{grid-template-columns:minmax(0,480px) minmax(0,1fr)}
@media (max-width:1000px){.tposts.one .igpost{max-width:480px}}
@media (max-width:640px){.tposts .igpost{max-width:480px}}
.gp .tposts{grid-template-columns:repeat(3,minmax(0,300px));justify-content:center}
.gp .tposts.one{grid-template-columns:minmax(0,340px) minmax(0,1fr)}
@media (max-width:1000px){.gp .tposts{grid-template-columns:repeat(2,minmax(0,300px))}.gp .tposts.one{grid-template-columns:minmax(0,1fr)}.gp .tposts.one .igpost{max-width:340px}.gp .tposts>.igpost:nth-child(3):last-child{width:100%;max-width:300px}}
@media (max-width:640px){.gp .tposts{grid-template-columns:minmax(0,1fr)}.gp .tposts .igpost{max-width:340px}}
.gp .tsub{margin:clamp(36px,5vw,64px) 0 0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.gp .tsub+.planche{margin-top:clamp(14px,2vw,20px)}
.gp .tposts:not(.one){display:flex;flex-wrap:wrap;justify-content:center}
.gp .tposts:not(.one)>.igpost{flex:0 1 300px;width:auto;max-width:300px}
@media (max-width:640px){.gp .tposts:not(.one)>.igpost{flex-basis:340px;max-width:340px}}
@media (max-width:860px){.f1map .bar{padding:14px 0}.f1map .yr{flex-wrap:nowrap;width:100%;overflow-x:auto;padding:2px 18px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}.f1map .yr::-webkit-scrollbar{display:none}.f1map .yr a,.f1map .yr b{flex:none;white-space:nowrap}.f1map .yr a{padding:7px 11px;font-size:13.5px}}
@media (max-width:640px){.gp .tposts>.igpost:nth-child(n):last-child,.gp .tposts:not(.one)>.igpost{flex:0 1 340px;width:100%;max-width:340px}.igpost .act .pg{max-width:68px;gap:3px}.igpost .act .pg i{width:5px;height:5px;flex:none}}
@media (max-width:640px){.gp .n{font-size:40px}.gp h2{font-size:25px;margin-top:10px}.gp .hd{gap:12px;margin-bottom:20px}.gp .hd p{font-size:14.5px;line-height:1.6}.gp .meta{gap:4px 0;margin-top:12px}.gp .meta span{border:0;padding:0;border-radius:0;font-size:10px;letter-spacing:.1em;white-space:normal}.gp .meta{gap:4px 14px}.gp .tposts:not(.one){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.gp .tposts:not(.one)>.igpost,.gp .tposts>.igpost:nth-child(n):last-child{width:100%;max-width:none;flex:none}.gp .tposts:not(.one)>.igpost:nth-child(3):last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}.gp .tposts:not(.one) .igpost{border-radius:12px}.gp .tposts:not(.one) .igpost .hd{gap:6px;padding:7px 8px}.gp .tposts:not(.one) .igpost .hd img{width:22px;height:22px}.gp .tposts:not(.one) .igpost .hd b{font-size:10.5px;gap:3px}.gp .tposts:not(.one) .igpost .hd b svg{width:10px;height:10px}.gp .tposts:not(.one) .igpost .hd small{font-size:9.5px}.gp .tposts:not(.one) .igpost .hd .mn{display:none}.gp .tposts:not(.one) .igpost .act{gap:9px;padding:7px 8px 6px}.gp .tposts:not(.one) .igpost .act>svg,.gp .tposts:not(.one) .igpost .act .sv svg{width:17px;height:17px}.gp .tposts:not(.one) .igpost .act .pg,.gp .tposts:not(.one) .igpost .cap{display:none}.gp .tposts:not(.one) .igpost .cnt{top:7px;right:7px;font-size:10px;padding:3px 7px}.gp .tposts:not(.one) .igpost .nav{width:22px;height:22px}.gp .tposts:not(.one) .igpost .nav.prev{left:6px}.gp .tposts:not(.one) .igpost .nav.next{right:6px}.gp .tposts:not(.one) .igpost .nav svg{width:11px;height:11px}.gp .tposts.one .igpost{max-width:300px}}
@media (max-width:820px){.prep{grid-template-columns:minmax(0,1fr);gap:28px}.prep ol li{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 0}.prep ol li::before{font-size:20px}.prep ol b{font-size:15px}.prep ol span{font-size:14px}}
@media (max-width:640px){.gp .hd p:not(.igpost p){display:none}.gp .meta{margin-top:10px}}
@media (max-width:600px){.award p.eyebrow{font-size:10px;letter-spacing:.16em}}
