
main{display:block}
.sec{padding:44px 0 10px}
.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.sec-titre{font-family:var(--display);font-size:clamp(25px,3vw,36px);line-height:1;letter-spacing:.005em;text-transform:uppercase;color:var(--noir);text-wrap:balance;margin:0}
.sec-link{margin-left:auto;min-height:44px;padding:8px 0;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rouge);display:inline-flex;align-items:center;gap:7px;align-self:center}
.sec-link svg{width:15px;height:15px}
.sec-link:hover{color:var(--rouge-fonce)}
.grid2{display:grid;grid-template-columns:1fr 1.05fr;gap:26px;align-items:start}

.card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}
.moment-grid{display:grid;grid-template-columns:1.05fr 1.25fr;gap:26px;align-items:start}
.cd-card{background:var(--noir);border-radius:var(--radius);padding:26px 28px;display:grid;grid-template-columns:1fr 44%;gap:18px;align-items:center;color:#fff;overflow:hidden;position:relative}
.cd-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--rouge) 0 50%,var(--vert) 50% 100%)}
.cd-tag{display:inline-block;font-family:var(--display);font-size:22px;text-transform:uppercase;color:var(--rouge);letter-spacing:.01em}
.cd-lead{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.62);margin:10px 0 12px}
.cd-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.cd-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;text-align:center;padding:10px 4px}
.cd-box b{display:block;font-family:var(--display);font-size:28px;color:var(--rouge);line-height:1;font-variant-numeric:tabular-nums}
.cd-box span{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6);display:block;margin-top:5px}
.cd-live{font-size:13px;font-weight:700;color:#fff;margin-bottom:16px}
.cd-live a{color:var(--rouge);text-decoration:underline}
.cd-desc{font-size:12px;color:rgba(255,255,255,.72);line-height:1.6;margin-bottom:16px}
.cd-btns{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:15px}
.cd-btn{display:inline-flex;align-items:center;gap:5px;background:none;color:#fff;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:10px 4px;min-height:44px;white-space:nowrap;transition:color .15s ease}
.cd-btn:hover{color:var(--rouge)}
.cd-btn svg{width:11px;height:11px;color:var(--rouge)}
@media(max-width:1200px){.cd-btns{flex-wrap:wrap;gap:9px 16px;justify-content:flex-start}.cd-btn{font-size:10.5px}}
.cd-map svg{width:100%;height:auto;display:block}
.actus-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1023px){.moment-grid{grid-template-columns:1fr}.cd-card{grid-template-columns:1.3fr 1fr}}
@media(max-width:767px){.actus-3{grid-template-columns:1fr}.cd-card{grid-template-columns:1fr}.cd-map{max-width:280px}}
.actus{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.actu{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease}
.actu:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(14,14,14,.12)}
.actu .im{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative}
.actu-pill{position:absolute;left:10px;bottom:10px;color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:5px;padding:4px 9px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.actu-vert{background:var(--vert)}.actu-rouge{background:var(--rouge)}
.actu .tx{padding:15px 16px 17px}
.actu b{font-size:14.5px;font-weight:800;line-height:1.3;display:block;margin-bottom:7px}
.actu p{font-size:12.5px;color:var(--gris);line-height:1.5;margin-bottom:10px}
.actu time{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:#9a9a96;text-transform:uppercase}
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cat{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease}
.cat:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(14,14,14,.12)}
.cat .im{aspect-ratio:4/3.1;background-size:cover;background-position:center}
.cat .badge{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin:-21px 0 0 14px;position:relative;border:3px solid #fff}
.cat .badge svg{width:20px;height:20px}
.cat:nth-child(odd) .badge{background:var(--rouge)}
.cat:nth-child(even) .badge{background:var(--vert)}
.cat .tx{padding:8px 14px 16px}
.cat b{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;display:block;margin-bottom:5px}
.cat p{font-size:11.5px;color:var(--gris);line-height:1.45}
.mosaic{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:repeat(2,150px);gap:12px}
.mosaic a{border-radius:var(--radius);background-size:cover;background-position:center;display:block;transition:filter .18s ease}
.mosaic a:hover{filter:brightness(1.08)}
.mosaic a:first-child{grid-row:span 2}

.classement{padding:22px 24px}
.classement h3{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.classement table{width:100%;border-collapse:collapse;position:relative;z-index:2}
.classement th{font-size:10px;font-weight:700;color:#9a9a96;text-transform:uppercase;letter-spacing:.1em;text-align:left;padding:6px 4px;border-bottom:1px solid var(--bord)}
.classement th:last-child{text-align:right}
.classement td{padding:10px 4px;border-bottom:1px solid #F0F0ED;font-size:13.5px;font-weight:600}
.classement td.rk{font-family:var(--display);font-size:16px;width:34px;color:var(--noir)}
.classement tbody tr:first-child td.rk{color:var(--rouge)}
.classement td.pts{text-align:right;font-weight:800;font-size:12.5px}
.classement td.gap{text-align:right;font-weight:700;font-size:12px;color:var(--gris);width:64px}
.classement th:nth-child(2){text-align:right}
.classement-scroll{max-height:330px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}
.classement-scroll::-webkit-scrollbar{width:4px}
.classement-scroll::-webkit-scrollbar-track{background:transparent}
.classement-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:4px}
.classement-scroll::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28)}
.classement-scroll thead th{position:sticky;top:0;background:var(--noir);z-index:3}
.classement td.pts small{color:#9a9a96;font-weight:700;font-size:10px;margin-left:3px}
.classement{position:relative;overflow:hidden}
.classement .wm{position:absolute;right:-16px;bottom:-10px;width:150px;height:150px;color:#000;opacity:.055;z-index:1}
.attente{border:1.5px dashed #CFCFC9;border-radius:var(--radius);padding:26px 22px;text-align:center;color:var(--gris);font-size:13.5px;background:#FBFBFA}
.attente b{display:block;color:var(--noir);font-size:14px;margin-bottom:6px}

.news-band{position:relative;background:var(--rouge);overflow:hidden;margin-top:52px}
.news-band .in{display:flex;align-items:center;gap:26px;min-height:96px;position:relative;z-index:2;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.news-band::before{content:'';position:absolute;left:0;top:0;bottom:0;width:40%;background:var(--noir);clip-path:polygon(0 0,100% 0,89% 100%,0 100%)}
.news-band::after{content:'';position:absolute;right:0;top:0;bottom:0;width:11%;background:var(--vert);clip-path:polygon(32% 0,100% 0,100% 100%,0 100%)}
.news-ic{width:46px;height:46px;border:2px solid rgba(255,255,255,.85);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.news-ic svg{width:24px;height:24px}
.news-tx b{display:block;color:#fff;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.news-tx span{color:rgba(255,255,255,.92);font-size:12.5px}
.news-honnete{margin-left:auto;margin-right:9%;color:#fff;font-size:13.5px;font-weight:600;max-width:420px}
.news-honnete a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.news-form{margin-left:auto;margin-right:9%;display:flex;background:#fff;border-radius:10px;padding:5px;gap:5px;min-width:380px}
.news-form input{border:0;outline:0;flex:1;padding:9px 16px;font-family:var(--body);font-size:13px;background:none}
.news-form button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.news-form button svg{width:14px;height:14px}
.news-msg{flex:0 0 100%;text-align:right;margin-right:9%;margin-top:-6px;font-size:12.5px;font-weight:700;color:#fff}
.news-msg.err{color:#ffdede}
.news-note{position:absolute;right:12%;bottom:4px;color:#fff;font-size:11px;z-index:3;font-weight:600}

footer{background:#fff;border-top:1px solid var(--bord);margin-top:0}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.5fr;gap:30px;padding:44px 0 34px}
.foot .fcol-h{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.foot nav a{display:block;font-size:13px;color:var(--gris);padding:3.5px 0}
.foot nav a:hover{color:var(--rouge)}
.foot nav a.on{color:var(--rouge);font-weight:700}
.foot p{font-size:12.5px;color:var(--gris);line-height:1.65}
.fbrand p{margin-top:14px;max-width:230px}
.fsocial{display:flex;gap:9px;margin-top:16px}
.fsocial a{width:32px;height:32px;border-radius:50%;background:var(--noir);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s ease}
.fsocial a svg{width:16px;height:16px}
.fsocial a:hover{background:var(--rouge)}
.fbar{border-top:1px solid var(--bord);padding:14px 0;font-size:11.5px;color:#9a9a96;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fbar a{color:#9a9a96}.fbar a:hover{color:var(--rouge)}

.page-hero{position:relative;min-height:330px;display:flex;align-items:flex-end;background:var(--noir);overflow:hidden}
.page-hero .hero-bg::after{background:linear-gradient(0deg,rgba(10,12,16,.72) 0%,rgba(10,12,16,.25) 55%,rgba(10,12,16,.15) 100%)}
.page-hero .in{position:relative;z-index:2;width:100%;padding-bottom:40px;padding-top:70px}
.page-hero h1{font-family:var(--display);text-transform:uppercase;color:#fff;font-size:clamp(34px,4.4vw,54px);line-height:1;letter-spacing:.01em}
.page-hero h1 em{font-style:normal;color:var(--rouge);text-shadow:1px 1px 0 rgba(255,255,255,.9)}
.page-hero p{color:rgba(255,255,255,.94);max-width:520px;font-size:15px;margin-top:12px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.ariane{font-size:11px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.09em;font-weight:700;margin-bottom:14px}
/* Hover neutre: lisible aussi bien sur fond clair que sombre. */
.ariane a:hover{color:inherit;text-decoration:underline;text-underline-offset:3px}
.hero-sombre .ariane a:hover,.hero-etapes .ariane a:hover,.ed-hero .ariane a:hover{color:#fff}
.err-wrap{max-width:520px;margin:80px auto 100px;text-align:center;padding:0 24px}
.err-code{font-family:var(--display);font-size:110px;line-height:1;color:var(--rouge)}
.err-wrap h1{font-family:var(--display);text-transform:uppercase;font-size:26px;margin:8px 0 10px}
.err-wrap p{color:var(--gris);margin-bottom:24px}
.err-wrap .btn{margin:0 6px}
.corps{max-width:760px;margin:0 auto;padding:40px 24px 60px}
.corps h2{font-family:var(--display);text-transform:uppercase;font-size:24px;margin:28px 0 12px}
.corps p{margin:0 0 14px;color:#2c2c2a}
.corps a{color:var(--rouge);font-weight:600}
.corps ul{margin:0 0 14px 20px}
.hub-hero-note{align-self:end;margin-bottom:8px;padding:22px 20px;background:rgba(5,15,13,.78);border:1px solid rgba(255,255,255,.2);color:#fff}
.hub-hero-note span,.hub-date{display:block;color:#75d19e;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hub-hero-note strong{display:block;margin:7px 0;font-family:var(--display);font-size:25px;line-height:1;text-transform:uppercase}
.hub-hero-note p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.78)}
.hub-section-intro{max-width:720px;margin-bottom:28px}
.hub-section-intro .sur{display:block;color:var(--rouge);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.hub-section-intro h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(27px,3vw,42px);line-height:1.02;margin-bottom:12px}
.hub-section-intro p{max-width:650px;color:var(--gris);line-height:1.7}
.hub-story-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px}
.hub-story{display:flex;flex-direction:column;min-height:210px;padding:24px;background:#fff;border:1px solid var(--bord);transition:transform .18s var(--ease-out),box-shadow .18s ease,border-color .18s ease}
.hub-story:hover{transform:translateY(-3px);border-color:#d1d1cc;box-shadow:0 8px 20px rgba(14,14,14,.08)}
.hub-story-main{background:var(--noir);color:#fff;border-color:var(--noir)}
.hub-story .ic{width:30px;height:30px;color:var(--rouge);margin-bottom:20px}
.hub-story b{font-size:17px;line-height:1.15;margin-bottom:8px}
.hub-story p{font-size:13px;line-height:1.55;color:var(--gris);margin-bottom:18px}
.hub-story-main p{color:rgba(255,255,255,.75)}
.hub-more{display:flex;align-items:center;gap:6px;margin-top:auto;color:var(--rouge);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hub-more svg{width:15px;height:15px}
.hub-story-main .hub-more{color:#fff}
.theme-bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:196px;gap:12px}
.theme-tile{position:relative;overflow:hidden;border-radius:14px;display:flex;align-items:flex-end;padding:20px;color:#fff;text-decoration:none;box-shadow:0 4px 16px rgba(14,14,14,.08);transition:box-shadow .25s ease}
.theme-tile:hover{box-shadow:0 16px 36px rgba(8,10,10,.24)}
.theme-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .55s var(--ease-out)}
.theme-tile:hover .theme-img{transform:scale(1.06)}
.theme-feat{grid-column:span 2;grid-row:span 2}
.theme-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(8,10,10,.86),rgba(8,10,10,.32) 46%,rgba(8,10,10,.05));pointer-events:none}
.theme-tx{position:relative;z-index:2;width:100%}
.theme-ic{display:inline-flex;width:31px;height:31px;color:#fff;margin-bottom:11px}
.theme-ic svg{width:100%;height:100%}
.theme-tile b{display:block;font-family:var(--display);text-transform:uppercase;font-size:clamp(19px,2.1vw,23px);line-height:1;letter-spacing:.01em;text-shadow:0 2px 14px rgba(8,10,10,.55)}
.theme-feat .theme-ic{width:38px;height:38px}
.theme-feat b{font-size:clamp(30px,4vw,46px)}
.theme-tile p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.86);margin-top:11px;max-width:44ch;min-height:42px}
.theme-quad .theme-tx,.theme-trio .theme-tx{display:flex;flex-direction:column;justify-content:flex-end}
.theme-more{display:inline-flex;align-items:center;gap:7px;margin-top:13px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:.86}
.theme-more svg{width:14px;height:14px;transition:transform .2s ease}
.theme-tile:hover .theme-more{opacity:1}
.theme-tile:hover .theme-more svg{transform:translateX(4px)}
.theme-tile:focus-visible{outline:3px solid var(--rouge);outline-offset:3px}
@media(max-width:900px){.theme-bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:172px}.theme-feat{grid-column:span 2;grid-row:span 1;min-height:260px}.theme-feat b{font-size:clamp(28px,6vw,40px)}}
@media(max-width:560px){.theme-bento{grid-template-columns:1fr;grid-auto-rows:158px}.theme-feat{grid-column:span 1;min-height:220px}}
@media(prefers-reduced-motion:reduce){.theme-tile,.theme-img,.theme-more svg{transition:none}}
.theme-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-rows:242px}
@media(max-width:820px){.theme-trio{grid-template-columns:1fr;grid-auto-rows:196px}}
.theme-quad{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;grid-auto-rows:232px}
@media(max-width:900px){.theme-quad{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.theme-quad{grid-template-columns:1fr;grid-auto-rows:196px}}
.tour-anniv-mark{display:flex;flex-direction:column}
.anniv-badge{display:flex;align-items:center;gap:16px;margin:24px 0 0}
.anniv-n{font-family:var(--display);font-size:clamp(72px,10vw,118px);line-height:.8;color:var(--rouge)}
.anniv-n sup{font-size:.38em;vertical-align:super}
.anniv-lbl{font-family:var(--display);text-transform:uppercase;font-size:clamp(18px,2.4vw,26px);line-height:1.02;color:var(--noir)}
.anniv-dates{display:flex;align-items:center;gap:9px;margin:22px 0 0;font-weight:800;font-size:14px;color:var(--noir)}
.anniv-dates .ic{display:inline-flex;color:var(--vert)}
.anniv-dates .ic svg{width:17px;height:17px}
.route-cta{align-self:flex-start;margin-top:24px}
.mq-intro{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,4vw,56px);align-items:center}
.mq-intro-tx p:not(.src-note){color:#26262b;font-size:16.5px;line-height:1.72;margin:0 0 14px;max-width:60ch}
.mq-intro-tx .src-note{margin-top:20px}
.mq-intro-map{margin:0;display:flex;flex-direction:column;align-items:center}
.mq-intro-map svg{width:100%;max-width:340px;height:auto}
.mq-intro-map figcaption{margin-top:14px;font-size:12.5px;color:var(--gris);text-align:center;max-width:320px;line-height:1.45}
@media(max-width:860px){.mq-intro{grid-template-columns:1fr;gap:26px}}
.news-live{margin-top:30px;display:grid;grid-template-columns:1.6fr auto;gap:32px;align-items:center;background:var(--noir);color:#fff;border-radius:18px;padding:38px 40px;position:relative;overflow:hidden}
.news-live::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--rouge),var(--vert))}
.news-live-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.1);padding:7px 13px;border-radius:999px;margin-bottom:16px}
.news-live-tag svg{width:15px;height:15px;color:var(--vert)}
.news-live h2{font-family:var(--display);font-size:clamp(24px,3vw,34px);text-transform:uppercase;line-height:1.05;margin-bottom:12px}
.news-live h2 em{font-style:normal;color:var(--vert)}
.news-live p{font-size:14.5px;line-height:1.62;color:rgba(255,255,255,.82);max-width:58ch;margin:0}
.news-live-cta{display:flex;flex-direction:column;gap:11px;white-space:nowrap}
@media(max-width:760px){.news-live{grid-template-columns:1fr;gap:22px;padding:30px 24px}.news-live-cta{flex-direction:row;flex-wrap:wrap}}
.hub-source{margin-top:22px;color:#8b8b86;font-size:11px;line-height:1.6}
.hub-source a{color:var(--vert-fonce);font-weight:700}
.hub-edition-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.hub-ed{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--bord);border-radius:14px;padding:26px 24px 22px;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .18s var(--ease-out),box-shadow .18s ease}
.hub-ed::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--ed-accent)}
.hub-ed:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(14,14,14,.11)}
.hub-ed-year{font-family:var(--display);text-transform:uppercase;font-size:clamp(30px,4vw,40px);line-height:1;color:var(--ed-accent)}
.hub-ed b{margin-top:12px;font-size:16px}
.hub-ed small{color:var(--gris);font-size:13px;margin-top:4px}
.hub-ed-go{margin-top:18px;display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ed-accent)}
.hub-ed-go svg{width:14px;height:14px;transition:transform .2s var(--ease-out)}
.hub-ed:hover .hub-ed-go svg{transform:translateX(4px)}
.hub-route-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.hub-route-card{display:flex;align-items:center;gap:16px;padding:17px 18px;border:1px solid var(--bord);background:#fff}
.hub-route-card:hover{border-color:var(--rouge);transform:translateY(-2px)}
.hub-route-n{font-family:var(--display);font-size:27px;color:var(--rouge);line-height:1}
.hub-route-card b{display:block;font-size:14px}
.hub-route-card b i{display:inline-flex;width:16px;color:var(--vert);font-style:normal}
.hub-route-card b svg{width:15px;height:15px;vertical-align:middle}
.hub-route-card small{display:block;color:var(--gris);font-size:11px;margin-top:4px}

.btn-line{background:none;border:1.5px solid var(--vert);color:var(--vert)}
.btn-line:hover{background:var(--vert);color:#fff}
.btn-line-rouge{background:none;border:1.5px solid var(--rouge);color:var(--rouge)}
.btn-line-rouge:hover{background:var(--rouge);color:#fff}
.tour-hero{position:relative;min-height:590px;display:flex;align-items:center;background:var(--noir);overflow:hidden}
.tour-hero .hero-bg{position:absolute;inset:0;background-size:cover}
.tour-hero .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.9) 0%,rgba(7,9,10,.67) 44%,rgba(7,9,10,.18) 76%),linear-gradient(0deg,rgba(7,9,10,.58),transparent 45%)}
.tour-hero .in{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:70px;padding-top:100px;padding-bottom:116px}
.tour-hero-solo .in{grid-template-columns:minmax(0,720px)}
.tour-hero-copy{max-width:660px}
.tour-kicker{display:inline-flex;align-items:stretch;gap:0;margin-bottom:22px;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:rgba(14,14,14,.48);color:#fff;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.tour-kicker b{display:flex;align-items:center;padding:9px 14px;background:var(--rouge);color:#fff;font-weight:900}
.tour-kicker>span{display:flex;align-items:center;padding:9px 14px;color:rgba(255,255,255,.9);white-space:nowrap}
.tour-hero h1{font-family:var(--display);font-size:clamp(62px,8vw,106px);font-weight:400;line-height:.84;text-transform:uppercase;letter-spacing:-.02em}
.tour-hero h1 span{display:block;color:#fff}
.tour-hero h1 .l2{color:#fff;margin-top:10px}.tour-hero h1 .l2 em{color:var(--vert);font-style:normal}
.tour-brush{display:flex;gap:5px;width:145px;margin:22px 0 20px;transform:rotate(-1deg)}
.tour-brush i{height:5px;transform:skewX(-24deg)}
.tour-brush i:first-child{width:84px;background:var(--rouge)}
.tour-brush i:last-child{width:50px;background:var(--vert)}
.tour-hero .sur{color:#fff;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:13px}
.tour-hero p.lead{max-width:500px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.65;margin-bottom:28px}
.tour-hero .ctas{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.tour-hero .ctas .btn{min-height:46px;border-radius:999px;padding:14px 20px;font-size:13px}
.tour-hero .btn-line{border-color:rgba(255,255,255,.45);color:#fff}
.tour-hero .btn-line:hover{border-color:#fff;background:#fff;color:var(--noir)}
.tour-wake{position:absolute;z-index:1;right:-3%;bottom:34px;width:min(60vw,760px);fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 11;opacity:.14}
.tour-hero .side-card{padding:9px 19px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);background:rgba(13,16,16,.48);backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(0,0,0,.2)}
.tour-hero .side-card .row{padding:16px 1px}
.tour-hero .side-card .row .ic{width:29px;height:29px;color:var(--rouge)}
.tour-hero .side-card .row:nth-child(even) .ic{color:var(--vert)}
.tour-hero .side-card b{font-size:10px;letter-spacing:.09em}
.tour-hero .side-card span{font-size:10px}
.tour-statbar{margin-top:-58px}
.tour-statbar .statbar{max-width:1100px;border-radius:var(--radius-card);box-shadow:var(--shadow-bar)}
.tour-statbar .stat{position:relative;padding:23px 26px;border-left:0;gap:16px}
.tour-statbar .stat:not(:first-child)::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--bord)}
.tour-statbar .sic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:9px;border-radius:14px 14px 14px 4px;background:#f7f7f4}
.tour-statbar .stat:nth-child(odd) .sic{background:#fff0f1}
.tour-statbar .stat:nth-child(even) .sic{background:#eaf6ef}
.tour-statbar .stat b{font-size:18px!important}
.tour-statbar .stat span span{font-size:9px;font-weight:800;color:var(--gris);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.tour-parcours{position:relative;isolation:isolate;margin-top:0;padding:56px 0 70px;background:#fff}
.tour-parcours::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#fff}
.tour-parcours,.tour-details{scroll-margin-top:90px}
.tour-parcours .parcours-3{align-items:stretch}
.tour-parcours .parcours-3>div{min-width:0}
.tour-parcours .parcours-map{display:flex;align-items:center;padding:24px;border:1px solid var(--bord);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}
.tour-parcours .legend{padding:16px;border-radius:var(--radius);background:#fff;border:1px solid var(--bord)}
.tour-parcours .legend span{font-size:9px;line-height:1.45}
.tour-parcours .chiffres{padding:5px 18px;border-radius:var(--radius-card);background:var(--noir);color:#fff}
.tour-parcours .chiffre{padding:13px 0;border-color:rgba(255,255,255,.1)}
.tour-parcours .chiffre b{min-width:72px;font-size:28px}
.tour-parcours .chiffre span{color:rgba(255,255,255,.68);font-size:11px}
.tour-parcours .media-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.tour-route-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(360px,1.08fr);gap:clamp(42px,7vw,88px);align-items:center}
.tour-route-layout .parcours-map{min-height:500px}
.official-route-poster{position:relative;width:min(100%,560px);margin:0 auto;border-radius:var(--radius-card);background:#fff;overflow:hidden;box-shadow:0 22px 50px rgba(14,14,14,.16)}
.official-route-poster>a{display:block;cursor:zoom-in}
.official-route-poster img{display:block;width:100%;height:auto}
.official-route-poster figcaption{display:flex;justify-content:space-between;gap:16px;padding:14px 17px;background:#fff;border-top:1px solid var(--bord);color:#676762;font-size:12px;line-height:1.45}
.official-route-poster figcaption a{color:var(--vert-fonce);font-weight:800}
.tour-route-copy{display:flex;flex-direction:column;justify-content:center;padding:28px 0}
.tour-route-copy>p{max-width:58ch;color:#4e4e4a;font-size:16px;line-height:1.7}
.tour-route-copy .legend{margin:25px 0 0}
.tour-route-copy .route-source{margin-top:20px;font-size:12px;color:#6f6f6a}
.tour-route-osm{margin-top:clamp(30px,4vw,46px)}
.route-steps{list-style:none;margin:22px 0 0;padding:0}
.route-steps a{display:flex;align-items:center;gap:12px;padding:11px 4px;border-top:1px solid var(--bord);text-decoration:none;color:var(--noir);transition:background .15s}
.route-steps li:last-child a{border-bottom:1px solid var(--bord)}
.route-steps a:hover{background:linear-gradient(90deg,rgba(227,6,19,.04),transparent)}
.route-steps a:hover .rs-go svg{transform:translateX(3px)}
.route-steps .rs-n{flex:0 0 auto;width:27px;height:27px;border-radius:7px;color:#fff;font-family:var(--display);font-size:13px;display:grid;place-items:center}
.route-steps .rs-tx{flex:1;min-width:0}
.route-steps .rs-tx b{display:flex;align-items:center;gap:5px;font-size:14px;color:var(--noir)}
.route-steps .rs-tx b svg{width:13px;height:13px;color:var(--gris)}
.route-steps .rs-tx small{font-size:12px;color:var(--gris)}
.route-steps .rs-go{flex:0 0 auto;color:var(--rouge)}
.route-steps .rs-go svg{width:16px;height:16px;transition:transform .18s ease}
.tour-route-copy .route-source a{color:var(--vert-fonce);font-weight:700}
.tour-human{padding:0;background:#fff}
.tour-human .in{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);min-height:560px;padding-left:0;padding-right:0;max-width:1200px;background:var(--noir);color:#fff;overflow:hidden;border-radius:var(--radius-card)}
.tour-human-photo{position:relative;min-height:560px;overflow:hidden}
.tour-human-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,rgba(14,14,14,.75) 100%)}
.tour-human-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.tour-human-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:58px 58px 58px 44px}
.tour-human-copy::before{content:'';position:absolute;left:44px;top:0;width:78px;height:4px;background:linear-gradient(90deg,var(--rouge) 0 55%,var(--vert) 55%)}
.tour-human-copy>span{margin-bottom:15px;color:var(--rouge-clair);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.tour-human-copy h2{font-family:var(--display);font-size:clamp(36px,4vw,54px);font-weight:400;line-height:.96;text-transform:uppercase}
.tour-human-copy p{max-width:60ch;margin-top:20px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.68}
.tour-human-copy a{display:flex;align-items:center;gap:8px;margin-top:28px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.tour-human-copy a svg{width:16px;height:16px;color:var(--rouge);transition:transform .16s ease}.tour-human-copy a:hover svg{transform:translateX(4px)}
.tour-anniversary-grid{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(40px,8vw,110px);align-items:start}.tour-anniversary .sec-head{margin:0;align-items:flex-start}.tour-anniversary .sec-titre{max-width:300px;font-family:var(--display);font-size:clamp(26px,3.2vw,42px);line-height:1.02;letter-spacing:0}.tour-anniversary .prose{max-width:760px}.tour-anniversary .prose p:first-child{margin-top:0}
.tour-details{padding-top:82px;padding-bottom:32px}
.tour-details .stages-list{border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.tour-details .strow{padding:12px 14px;transition:background .16s ease,transform .16s var(--ease-out)}
.tour-details .strow:hover{background:#f7f7f4;transform:translateX(3px)}
.tour-details .strow .n{border-radius:10px 10px 10px 3px}
.tour-details .classement{border-radius:var(--radius-card)}
.tour-stage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:27px}
.tour-stage-heading .sec-head{margin-bottom:10px}
.tour-stage-heading p{color:#575752;font-size:15px;line-height:1.55}
.tour-stage-heading>.btn{flex-shrink:0}
.tour-stage-more{display:flex;justify-content:flex-end;margin-top:24px}
.tour-stage-more a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;color:var(--vert-fonce);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.tour-stage-more a svg{width:16px;height:16px;transition:transform .16s ease}.tour-stage-more a:hover svg{transform:translateX(4px)}
.tour-stage-wide .stages-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:none;border-radius:0;box-shadow:none}
.tour-stage-wide .strow{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:156px;padding:0;border:1px solid var(--bord);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(14,14,14,.06);overflow:hidden}
.tour-stage-wide .strow:hover{border-color:rgba(0,104,55,.3);background:#fff;transform:translateY(-2px)}
.tour-stage-wide .stage-thumb{position:relative;align-self:stretch;height:100%;min-height:156px;overflow:hidden;background:#e9e9e5}
.tour-stage-wide .stage-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s var(--ease-out)}
.tour-stage-wide .stage-thumb::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,18,15,.78))}
.tour-stage-wide .stage-coast{position:absolute;z-index:1;left:13px;bottom:12px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.tour-stage-wide .strow:hover .stage-thumb img{transform:scale(1.06)}
.tour-stage-wide .stage-card-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:22px 22px 19px}
.tour-stage-wide .stage-topline{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.tour-stage-wide .strow .n{width:34px;height:34px;flex:none;font-size:15px}
.tour-stage-wide .strow time{color:#676762;font-size:11px;font-weight:800;line-height:1.4;text-transform:uppercase;letter-spacing:.045em}
.tour-stage-wide .strow .tr{display:flex;align-items:center;gap:9px;font-size:17px;line-height:1.25}
.tour-stage-wide .strow .tr .fl{display:inline-flex;color:#b8b8b2}.tour-stage-wide .strow .tr .fl svg{width:17px;height:17px}
.tour-stage-wide .stage-link{display:flex;align-items:center;gap:7px;margin-top:15px;color:var(--vert-fonce);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.065em}
.tour-stage-wide .stage-link svg{width:14px;height:14px;transition:transform .16s ease}.tour-stage-wide .strow:hover .stage-link svg{transform:translateX(4px)}
.tour-stage-wide a.strow:focus-visible{outline:3px solid var(--rouge);outline-offset:3px}
.tour-live-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;margin-top:72px;padding-top:66px;border-top:1px solid var(--bord)}
.tour-live-grid>div{display:flex;min-width:0;flex-direction:column}
.tour-live-grid .classement,.tour-live-grid .mini-actus,.tour-live-grid .attente{flex:1}
.tour-live-grid .classement{min-height:350px;padding:28px}
.tour-live-grid .mini-actus{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.tour-live-grid .mini-actu{display:flex;flex-direction:column;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;background:#fff}
.tour-live-grid .mini-actu .im{width:100%;height:145px;flex:none}
.tour-live-grid .mini-actu .tx{padding:16px}
.tour-live-grid .mini-actu .tx b{font-size:13px;line-height:1.35}
.tour-features{padding:48px 0;background:transparent}
.tour-features .feature{position:relative;padding:12px 28px 12px 0;color:#fff}
.tour-features .feature:not(:first-child)::before{content:'';position:absolute;left:-15px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.1)}
.tour-features .feature .ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:10px;border-radius:14px 14px 14px 4px;background:rgba(255,255,255,.08);color:var(--rouge)}
.tour-features .feature:nth-child(even) .ic{color:var(--vert)}
.tour-features .feature b{font-size:14px}
.tour-features .feature p{color:rgba(255,255,255,.62);font-size:12px;line-height:1.55}
.tour-features .feature a{color:#fff}
.tour-features .feature a svg{color:var(--rouge)}
.hero-clair{position:relative;background:#fff;overflow:hidden}
.hero-clair .hc-bg{position:absolute;inset:0;background-size:cover;background-position:72% center}
.hero-clair .hc-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 26%,rgba(255,255,255,.86) 38%,rgba(255,255,255,0) 60%)}
.hero-clair .in{position:relative;z-index:2;display:grid;grid-template-columns:1fr minmax(230px,270px);gap:30px;padding-top:52px;padding-bottom:64px;align-items:start}
.hero-clair h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(38px,4.6vw,58px);line-height:1.02}
.hero-clair h1 .l1{color:var(--noir);display:block}
.hero-clair h1 .l2{color:var(--vert);display:block}
.hero-clair .sur{font-size:13px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;margin:10px 0 18px}
.hero-clair p.lead{max-width:330px;font-size:14.5px;line-height:1.65;color:#2c2c2a;margin-bottom:24px;font-weight:500}
.hero-clair .ctas{display:flex;gap:12px;flex-wrap:wrap}
.side-card{background:rgba(14,14,14,.94);border-radius:var(--radius);padding:10px 18px;color:#fff;box-shadow:var(--shadow-bar)}
.side-card .row{display:flex;gap:13px;align-items:center;padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.14)}
.side-card .row:last-child{border-bottom:0}
.side-card .row .ic{width:26px;height:26px;color:#fff;flex-shrink:0}
.side-card b{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.side-card span{font-size:11px;color:rgba(255,255,255,.72)}
.statbar-6{grid-template-columns:repeat(6,1fr);max-width:none}
.statbar-6 .stat{padding:22px 16px;gap:10px;min-height:92px}
.statbar-6 .stat .sic{width:28px;height:28px}
.statbar-6 .stat b{font-size:12px;line-height:1.2;font-family:var(--body);font-weight:800;color:var(--noir)!important;text-transform:uppercase;letter-spacing:.04em}
.statbar-6 .stat span span{font-size:11px;font-weight:600;color:var(--gris);text-transform:none;letter-spacing:0;margin-top:3px}
.legend{display:grid;gap:9px;margin:18px 0 22px}
.legend span{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.legend i{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.parcours-3{display:grid;grid-template-columns:.95fr 1.45fr 1.05fr;gap:28px;align-items:start}
.parcours-3 .parcours-map{padding-top:34px}
.parcours-3 .parcours-map svg{width:100%;height:auto}
.hc-flore{position:absolute;z-index:3;left:-56px;bottom:-44px;width:250px;pointer-events:none;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
@media(max-width:1023px){.parcours-3{grid-template-columns:1fr}.parcours-3 .parcours-map{max-width:480px;margin:0 auto;padding-top:0}.hc-flore{display:none}}
@media(max-width:1023px){.tour-route-layout{grid-template-columns:1fr}.tour-route-layout .parcours-map{min-height:420px}.tour-route-copy{padding:0}}
.chiffres{display:grid;gap:0;padding:0 4px}
.chiffre{display:flex;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid #F0F0ED}
.chiffre:last-child{border-bottom:0}
.chiffre b{font-family:var(--display);font-size:26px;color:var(--rouge);min-width:86px}
.chiffre span{font-size:13px;font-weight:600;color:#2c2c2a}
.media-card{position:relative;border-radius:var(--radius);overflow:hidden;display:block;min-height:210px;background-size:cover;background-position:center;margin-top:18px}
.media-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.12))}
.media-card .pl{position:absolute;top:calc(50% - 26px);left:calc(50% - 26px);width:52px;height:52px;border-radius:50%;background:#fff;color:var(--noir);display:flex;align-items:center;justify-content:center;z-index:2;transition:transform .18s ease}
.media-card .pl svg{width:22px;height:22px;margin-left:2px}
.media-card:hover .pl{transform:scale(1.08)}
.media-card b{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;z-index:2}
.direct{background:var(--noir);border-radius:var(--radius);color:#fff;padding:26px 30px;display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;margin-top:34px}
.direct h3{font-family:var(--display);font-size:23px;text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:center;gap:12px}
.direct h3 .ic{width:26px;height:26px;color:var(--rouge)}
.direct p{color:rgba(255,255,255,.75);font-size:13px;margin:8px 0 16px;max-width:300px}
.direct ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:11px 18px}
.direct li{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:600}
.direct li .ic{width:18px;height:18px;color:var(--vert)}
.stages-list{border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-card)}
.strow{display:grid;grid-template-columns:34px 78px 1fr auto;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid #F0F0ED;transition:background .15s ease}
.strow:hover{background:#FAFAF8}
.strow:last-child{border-bottom:0}
.strow .n{width:30px;height:30px;border-radius:7px;background:var(--rouge);color:#fff;font-family:var(--display);font-size:15px;display:flex;align-items:center;justify-content:center}
.strow:nth-child(even) .n{background:var(--vert)}
.strow time{font-size:9.8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);white-space:nowrap}
.strow .tr{font-size:11.5px;font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0;overflow:hidden}
.strow .tr .fl{color:#B9B9B4;font-weight:400;display:inline-flex}
.strow .tr .fl svg{width:14px;height:14px}
.strow .det{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rouge);border:1.2px solid var(--rouge);border-radius:5px;padding:4px 9px}
.strow:hover .det{background:var(--rouge);color:#fff}
.chip{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;padding:3px 7px;color:#fff}
.chip-inaugurale{background:var(--vert)}.chip-finale{background:var(--rouge)}
.mini-actus{display:grid;gap:14px}
.mini-actu{display:grid;grid-template-columns:104px 1fr;gap:13px;background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}
.mini-actu .im{background-size:cover;background-position:center;min-height:86px}
.mini-actu .tx{padding:10px 12px 12px}
.mini-actu .tag{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--rouge)}
.mini-actu b{display:block;font-size:12.5px;line-height:1.35;margin:3px 0 4px}
.mini-actu p{font-size:11px;color:var(--gris);line-height:1.45}
.mini-actu time{font-size:9.5px;color:#9a9a96;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.features{background:var(--gris-bg);margin-top:52px;padding:36px 0}
.features+.news-band{margin-top:0}
.features .in{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.feature .ic{width:34px;height:34px;color:var(--noir);margin-bottom:12px}
.feature b{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}
.feature p{font-size:12.5px;color:var(--gris);line-height:1.55;margin-bottom:10px}
.feature a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rouge);display:inline-flex;align-items:center;gap:6px}
.feature a svg{width:14px;height:14px}
.features.tour-features{position:relative;margin-top:0;padding:0;background:linear-gradient(115deg,#090c0b 0%,#111714 58%,#09100c 100%);overflow:hidden}
.features.tour-features+.news-band{margin-top:0}
.features.tour-features::after{content:'';position:absolute;right:-110px;top:-135px;width:440px;height:300px;border:1px dashed rgba(255,255,255,.08);border-radius:50%;transform:rotate(-12deg);pointer-events:none}
.tour-features .in{position:relative;z-index:1;gap:0}
.tour-features .feature{min-height:250px;padding:42px 32px 38px;color:#fff}
.tour-features .feature:not(:first-child)::before{left:0;top:34px;bottom:34px;background:rgba(255,255,255,.12)}
.tour-features .feature .ic{width:52px;height:52px;margin-bottom:25px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:16px 16px 16px 5px;background:rgba(255,255,255,.06)}
.tour-features .feature b{margin-bottom:11px;color:#fff;font-size:15px;letter-spacing:.07em}
.tour-features .feature p{max-width:230px;margin-bottom:20px;color:rgba(255,255,255,.74);font-size:14px;line-height:1.62}
.tour-features .feature a{min-height:32px;color:#fff;font-size:12px;letter-spacing:.07em}
.tour-features .feature a svg{width:15px;height:15px;color:var(--rouge);transition:transform .16s ease}
.tour-features .feature a:hover svg{transform:translateX(4px)}
@media(max-width:1023px){
.tour-hero .in{grid-template-columns:1fr;gap:32px;padding-top:84px;padding-bottom:110px}
.tour-hero .side-card{display:grid;grid-template-columns:repeat(3,1fr);max-width:none}
.tour-hero .side-card .row{border-bottom:0;border-left:1px solid rgba(255,255,255,.14);padding:12px 16px}
.tour-hero .side-card .row:first-child{border-left:0}
.tour-statbar .statbar{grid-template-columns:repeat(2,1fr)}
.tour-statbar .stat:nth-child(3)::before{display:none}
.tour-statbar .stat:nth-child(n+3){border-top:1px solid var(--bord)}
.hero-clair .in{grid-template-columns:1fr}
.side-card{max-width:420px}
.statbar-6{grid-template-columns:repeat(3,1fr)}
.statbar-6 .stat:nth-child(4){border-left:0}
.statbar-6 .stat:nth-child(n+4){border-top:1px solid var(--bord)}
.direct{grid-template-columns:1fr}
.features .in{grid-template-columns:1fr 1fr;gap:22px}
.tour-human .in{grid-template-columns:1fr}
.tour-human-photo{min-height:430px}
.tour-human-photo::after{background:linear-gradient(0deg,rgba(14,14,14,.75),transparent 48%)}
.tour-human-copy{padding:52px 48px 58px}
.tour-human-copy::before{left:48px}
.tour-features .in{gap:0}
.tour-features .feature{min-height:225px}
.tour-features .feature:nth-child(3)::before{display:none}
.tour-features .feature:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
.tour-stage-wide .stages-list{grid-template-columns:1fr}
.tour-live-grid{grid-template-columns:1fr;gap:48px}
.tour-anniversary-grid{grid-template-columns:1fr;gap:24px}
.tour-anniversary .sec-titre{max-width:none}
}
@media(max-width:600px){
.tour-hero{min-height:650px;align-items:flex-end}
.tour-hero .hero-bg{background-position:58% center!important}
.tour-hero .hero-bg::after{background:linear-gradient(90deg,rgba(7,9,10,.83),rgba(7,9,10,.25)),linear-gradient(0deg,rgba(7,9,10,.82),transparent 66%)}
.tour-hero .in{padding-top:86px;padding-bottom:92px}
.tour-hero h1{font-size:clamp(58px,19vw,78px)}
.tour-hero .side-card{display:none}
.tour-statbar{margin-top:-42px}
.tour-statbar .stat{padding:21px 22px;gap:14px}
.tour-statbar .sic{width:44px;height:44px;padding:9px}
.tour-statbar .stat b{font-size:14px!important}
.tour-parcours{padding-top:66px}
.tour-details{padding-top:62px;padding-bottom:26px}
.tour-human-photo{min-height:310px}
.tour-human-copy{padding:45px 24px 48px}
.tour-human-copy::before{left:24px}
.tour-human-copy h2{font-size:34px}
.tour-human-copy p{font-size:15px;line-height:1.65}
.tour-stage-heading{align-items:flex-start;flex-direction:column;gap:18px}
.tour-stage-wide .strow{grid-template-columns:112px minmax(0,1fr);min-height:142px}
.tour-stage-wide .stage-thumb{min-height:142px}
.tour-stage-wide .stage-card-copy{padding:17px 14px}
.tour-stage-wide .stage-topline{gap:9px;margin-bottom:10px}
.tour-stage-wide .strow .n{width:30px;height:30px;font-size:13px}
.tour-stage-wide .strow time{font-size:10px}
.tour-stage-wide .strow .tr{align-items:flex-start;flex-direction:column;gap:2px;font-size:14px;white-space:normal}
.tour-stage-wide .strow .tr .fl{display:none}
.tour-stage-wide .stage-link{margin-top:10px;font-size:9px}
.tour-live-grid{margin-top:54px;padding-top:50px}
.tour-live-grid .mini-actus{grid-template-columns:1fr}
.tour-live-grid .mini-actu{display:grid;grid-template-columns:110px minmax(0,1fr)}
.tour-live-grid .mini-actu .im{width:110px;height:100%}
.tour-features .feature:not(:first-child)::before{display:none}
.statbar-6{grid-template-columns:1fr 1fr}
.statbar-6 .stat:nth-child(odd){border-left:0}
.statbar-6 .stat:nth-child(n+3){border-top:1px solid var(--bord)}
.strow{grid-template-columns:34px 1fr auto;row-gap:2px}
.strow time{grid-column:2/4}
.features .in{grid-template-columns:1fr}
.tour-features .feature{min-height:0;padding:34px 24px}
.tour-features .feature:nth-child(n+2){border-top:1px solid rgba(255,255,255,.1)}
}

.badge-pill{display:inline-flex;gap:7px;background:var(--noir);color:#fff;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:16px;padding:7px 14px;margin-bottom:16px}
.badge-pill b{color:#fff;background:var(--rouge);border-radius:9px;padding:0 7px}
.pills-bar{display:block;margin-top:-28px;position:relative;z-index:5}
.pills{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:16px;box-shadow:var(--shadow-bar);overflow:hidden}
.pill{text-align:left;padding:16px 18px;border-left:1px solid var(--bord);border-top:1px solid var(--bord);transition:background .15s ease;min-height:105px;position:relative}
.pill:first-child{border-left:0}
.pill:nth-child(-n+4){border-top:0}.pill:nth-child(4n+1){border-left:0}
.pill-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.pill b{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--rouge)}
.pill time{font-size:10px;color:var(--gris);white-space:nowrap}.pill-route{display:flex;align-items:center;gap:7px;margin-top:13px;color:var(--noir);font-size:13px;line-height:1.25}.pill-route strong{font-weight:800}.pill-route i{width:14px;height:14px;color:var(--vert);display:inline-flex;flex:0 0 auto}.pill-route i svg{width:100%;height:100%}
.pill:hover{background:#FAFAF8}
.pill.p1{box-shadow:inset 4px 0 0 var(--rouge);background:#fff8f8}
.carte-cta{background:var(--rouge);color:#fff;border-radius:var(--radius);display:flex;align-items:center;gap:12px;padding:0 22px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-bar);max-width:210px;line-height:1.4}
.carte-cta:hover{background:var(--rouge-fonce)}
.carte-cta .ic{width:26px;height:26px;flex-shrink:0}
.stage-big{display:grid;grid-template-columns:64px 172px 1fr 34px;gap:0;background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:16px;align-items:stretch;transition:transform .15s ease,box-shadow .15s ease}
.stage-big:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(14,14,14,.12)}
.stage-big .dt{background:var(--noir);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px 6px}
.stage-big .dt b{font-family:var(--display);font-size:26px;line-height:1}
.stage-big .dt span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.8)}
.stage-big .dt em{font-style:normal;font-size:9.5px;font-weight:800;text-transform:uppercase;color:var(--vert)}
.stage-big:nth-child(odd) .dt em{color:var(--rouge)}
.stage-big .im{background-size:cover;background-position:center;min-height:118px}
.stage-big .tx{padding:15px 18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.stage-big .tt{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14.5px;font-weight:800}
.stage-big .tt .fl{display:inline-flex;color:#B9B9B4}
.stage-big .tt .fl svg{width:15px;height:15px}
.stage-big .tt .chip{font-size:8.5px;border:1.3px solid var(--rouge);color:var(--rouge);background:none;padding:2.5px 7px}
.stage-big .tt .chip.chip-finale{border-color:var(--vert);color:var(--vert)}
.stage-big .tt .chip.chip-done{border-color:var(--noir);color:var(--noir)}
.stage-big .tt .chip.chip-live{border-color:var(--vert);color:#fff;background:var(--vert)}
.stage-big p{font-size:12.5px;color:var(--gris);line-height:1.5;margin:0}
.stage-big .meta{display:flex;gap:16px;font-size:11px;color:var(--gris);font-weight:600;margin-top:auto;flex-wrap:wrap}
.stage-big .meta span{display:inline-flex;align-items:center;gap:6px}
.stage-big .meta .ic{width:14px;height:14px;color:var(--rouge)}
.stage-big .go{display:flex;align-items:center;justify-content:center;color:#C9C9C4}
.stage-big .go svg{width:18px;height:18px}
.stage-big:hover .go{color:var(--rouge)}
.parcours-card{background:var(--gris-bg);border-radius:var(--radius);padding:20px;position:relative}
.parcours-card .legende{background:#fff;border-radius:8px;padding:12px 14px;display:grid;gap:7px;margin-top:14px}
.parcours-card .legende span{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700}
.parcours-card .legende i{width:10px;height:10px;border-radius:50%}
.parcours-card .btn{width:100%;justify-content:center;margin-top:14px}
.infos-cles{background:var(--noir);border-radius:var(--radius);padding:20px;color:#fff;margin-top:22px}
.infos-cles h4,.infos-cles .ic-h{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.infos-cles .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.infos-cles .tile{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;text-align:center;padding:13px 6px}
.infos-cles .tile .ic{width:22px;height:22px;color:#fff;margin:0 auto 7px}
.infos-cles .tile b{display:block;font-family:var(--display);font-size:17px}
.infos-cles .tile span{font-size:9.5px;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.infos-cles .ic-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.infos-cles .ic-row{display:flex;align-items:baseline;gap:10px;padding:14px 2px;border-top:1px solid rgba(255,255,255,.13)}
.infos-cles .ic-row:nth-child(-n+2){border-top:0;padding-top:4px}
.infos-cles .ic-row b{font-family:var(--display);font-size:clamp(28px,4vw,36px);line-height:.82;letter-spacing:.01em}
.infos-cles .ic-row:nth-child(odd) b{color:var(--rouge)}
.infos-cles .ic-row:nth-child(even) b{color:var(--vert)}
.infos-cles .ic-row span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.78);font-weight:700;line-height:1.2}
.cta-card{display:block;position:relative;border-radius:var(--radius);overflow:hidden;margin-top:22px;background-size:cover;background-position:center;padding:120px 22px 22px}
.cta-card::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82) 22%,rgba(0,0,0,.1))}
.cta-card>*{position:relative;z-index:2}
.cta-card b{display:block;color:#fff;font-family:var(--display);font-size:21px;text-transform:uppercase;letter-spacing:.02em}
.cta-card p{color:rgba(255,255,255,.85);font-size:12.5px;margin:7px 0 14px}
.hero-etapes{min-height:560px;color:#fff}.hero-etapes .hc-bg::after{background:linear-gradient(90deg,rgba(4,17,14,.93) 0%,rgba(4,17,14,.7) 48%,rgba(4,17,14,.2) 78%),linear-gradient(0deg,rgba(4,17,14,.5),transparent 55%)}
.hero-etapes .in{grid-template-columns:minmax(0,680px) 310px;align-items:end}.hero-etapes h1{font-family:var(--display);font-size:clamp(42px,5.4vw,68px);line-height:.96;text-transform:uppercase}.hero-etapes h1 .l1{display:block;color:#fff}.hero-etapes h1 .l2{display:block;color:var(--vert);font-size:.58em;margin-top:8px}.hero-etapes p.lead{max-width:590px;font-size:17px;line-height:1.6;color:#fff;margin:17px 0 24px;font-weight:600;text-shadow:0 2px 12px rgba(0,0,0,.75)}.hero-etapes .ariane{color:rgba(255,255,255,.82);margin-bottom:18px}.hero-etapes .side-card{background:rgba(5,20,17,.84);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}.hero-etapes .side-card .row{border-color:rgba(255,255,255,.12)}.hero-etapes .side-card b{color:#fff}.hero-etapes .side-card span span{color:rgba(255,255,255,.72)}
.etapes-programme{padding-top:58px}.etapes-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;border-bottom:1px solid var(--bord);padding-bottom:22px;margin-bottom:30px}.etapes-heading .sec-head{margin-bottom:7px}.etapes-heading p{max-width:540px;color:var(--gris);font-size:14px;line-height:1.55;margin:0}.etapes-jump{display:flex;align-items:center;gap:7px;flex:0 0 auto}.etapes-jump>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--gris);margin-right:4px}.etapes-jump a{width:34px;height:34px;border:1px solid var(--bord);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--noir);font-size:12px;font-weight:800;transition:background .16s ease,color .16s ease,border-color .16s ease}.etapes-jump a:hover,.etapes-jump a:focus-visible{background:var(--rouge);border-color:var(--rouge);color:#fff}.grid-der{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.82fr);gap:32px;align-items:start}.etapes-side{position:sticky;top:90px}.etapes-side-title span{font-size:10px;color:var(--rouge);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.etapes-side-title h2{font-family:var(--display);font-size:25px;margin:5px 0 14px}
.stage-big{grid-template-columns:72px 190px 1fr 44px;border-radius:15px;margin-bottom:18px;box-shadow:0 7px 24px rgba(12,31,25,.06)}.stage-big .im{min-height:156px}.stage-big .dt b{font-size:31px}.stage-big .dt span,.stage-big .dt em{font-size:10px}.stage-big .tx{padding:20px 21px;gap:7px}.stage-kicker{font-size:10px;color:var(--rouge);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stage-big .tt{font-family:var(--display);font-size:20px;line-height:1.2;margin:0}.stage-big p{font-size:13.5px;line-height:1.55}.stage-big .meta{font-size:12px;margin-top:5px}.stage-big .meta a{color:var(--vert-fonce);font-weight:800}.stage-big .go{min-width:44px}.stage-big .go:focus-visible{outline:3px solid var(--rouge);outline-offset:-4px}
.parcours-officiel{padding:0;background:#fff;overflow:hidden;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.parcours-officiel>a{display:block;cursor:zoom-in}.parcours-officiel img{display:block;width:100%;height:auto}.parcours-officiel figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;color:var(--gris);font-size:12px;border-top:1px solid var(--bord)}.parcours-officiel figcaption>.ic{width:28px;height:28px;border-radius:50%;padding:7px;background:var(--vert);color:#fff}.parcours-officiel figcaption b{font-size:12.5px;display:block}.parcours-officiel figcaption small{font-size:10.5px;color:var(--gris);display:block;margin-top:2px}.parcours-officiel figcaption>a{font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--vert-fonce)}
.etapes-side .infos-cles{margin-top:18px;padding:24px;border-radius:16px;background:#071b17}.etapes-side .infos-cles h4{font-size:14px;margin-bottom:17px}.etapes-side .infos-cles .tiles{grid-template-columns:1fr 1fr;gap:10px}.etapes-side .infos-cles .tile{min-height:124px;padding:17px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.16)}.etapes-side .infos-cles .tile .ic{width:27px;height:27px;margin-bottom:10px;color:var(--vert)}.etapes-side .infos-cles .tile:nth-child(2n) .ic{color:var(--rouge-clair)}.etapes-side .infos-cles .tile b{font-size:25px;line-height:1}.etapes-side .infos-cles .tile span{font-size:10px;line-height:1.4;margin-top:8px;color:rgba(255,255,255,.78)}.etapes-side .cta-card{margin-top:18px;min-height:300px;padding:150px 24px 24px;border-radius:16px;background-position:center}.etapes-side .cta-card::before{background:linear-gradient(0deg,rgba(3,14,12,.96) 0%,rgba(3,14,12,.78) 48%,rgba(3,14,12,.08) 100%)}.etapes-side .cta-card b{font-size:26px;line-height:1.05;max-width:250px}.etapes-side .cta-card p{font-size:14px;line-height:1.5;max-width:280px;margin:10px 0 17px}.etapes-side .cta-card .btn{min-height:44px;padding:11px 18px}
@media(max-width:1023px){
.hero-etapes .in{grid-template-columns:1fr}.hero-etapes .side-card{display:none}.etapes-heading{align-items:flex-start;flex-direction:column}.grid-der{grid-template-columns:1fr}.etapes-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}.etapes-side-title{grid-column:1/-1}.etapes-side .infos-cles,.etapes-side .cta-card{margin-top:0}
.pills-bar{grid-template-columns:1fr}
.pills{grid-template-columns:repeat(2,1fr)}
.pill:nth-child(n){border-top:1px solid var(--bord)}.pill:nth-child(-n+2){border-top:0}.pill:nth-child(odd){border-left:0}.pill:nth-child(even){border-left:1px solid var(--bord)}
.carte-cta{max-width:none;padding:14px 22px}
}
@media(max-width:700px){
.hero-etapes{min-height:520px}.hero-etapes p.lead{font-size:16px}.etapes-programme{padding-top:42px}.etapes-heading{display:block}.etapes-heading p{margin-top:10px}.etapes-jump{margin-top:18px;gap:5px;flex-wrap:wrap}.etapes-jump>span{width:100%;margin-bottom:3px}.etapes-jump a{width:32px;height:32px}.stage-big{grid-template-columns:58px 1fr 38px}.stage-big .im{display:none}.stage-big .tx{padding:17px 14px}.stage-big .tt{font-size:18px}.stage-big p{font-size:13px}.stage-big .meta>span:first-child{display:none}.etapes-side{grid-template-columns:1fr}
.pills{grid-template-columns:repeat(2,1fr)}
.pill:nth-child(n+3){border-top:1px solid var(--bord)}
.pill:nth-child(odd){border-left:0}
.infos-cles .tiles{grid-template-columns:1fr 1fr}
}

.hero-sombre{position:relative;min-height:480px;display:flex;align-items:center;background:var(--noir);overflow:hidden}
.hero-sombre .hero-bg::after{background:linear-gradient(90deg,rgba(8,10,14,.72) 0%,rgba(8,10,14,.3) 55%,rgba(8,10,14,.12) 100%)}
.hero-sombre .in{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1fr minmax(230px,264px);gap:30px;padding-top:48px;padding-bottom:64px;align-items:center}
.hero-sombre h1{font-family:var(--display);text-transform:uppercase;line-height:.99;font-size:clamp(40px,5vw,62px)}
.hero-sombre h1 .l1{color:#fff;display:block}
.hero-sombre h1 .l2{color:var(--vert);display:block}
.hero-sombre .accent{font-family:var(--accent);font-style:italic;color:var(--rouge);font-size:clamp(24px,2.6vw,34px);display:block;margin:8px 0 14px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-sombre p.lead{color:rgba(255,255,255,.94);max-width:330px;font-size:14.5px;line-height:1.65;margin-bottom:22px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero-sombre .ariane{margin-bottom:18px}
.btn-line-blanc{background:none;border:1.5px solid rgba(255,255,255,.85);color:#fff}
.btn-line-blanc:hover{background:#fff;color:var(--noir)}
.ancres{background:rgba(14,14,14,.92);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow-bar)}
.ancres a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:700;transition:background .15s ease}
.ancres a:last-child{border-bottom:0}
.ancres a:hover{background:rgba(255,255,255,.08);border-radius:7px}
.ancres .ic{width:19px;height:19px;color:var(--rouge);flex-shrink:0}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.spec{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);text-align:center;padding:26px 16px}
.spec .ic{width:30px;height:30px;color:var(--rouge);margin:0 auto 12px}
.spec:nth-child(even) .ic{color:var(--vert)}
.spec b{display:block;font-family:var(--display);font-size:21px;color:var(--rouge);line-height:1.15;text-transform:uppercase}
.spec:nth-child(even) b{color:var(--vert)}
.spec span{font-size:11.5px;color:var(--gris);font-weight:600;display:block;margin-top:6px;line-height:1.45}
.constr-lead{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:center;margin:-4px 0 22px}
.constr-lead .im{aspect-ratio:16/10;border-radius:var(--radius);background-size:cover;background-position:center;box-shadow:var(--shadow-card)}
.constr-lead .tx{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
@media(max-width:767px){.constr-lead{grid-template-columns:1fr}}
.constr{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.constr-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 15px 16px;position:relative}
.constr-card .num{width:30px;height:30px;border-radius:50%;background:var(--rouge);color:#fff;font-family:var(--display);font-size:14px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.constr-card:nth-child(even) .num{background:var(--vert)}
.constr-card .ic{position:absolute;top:16px;right:14px;width:20px;height:20px;color:#D8D8D3}
.constr-card b{font-size:13px;font-weight:800;display:block;margin-bottom:6px}
.constr-card p{font-size:11.5px;color:var(--gris);line-height:1.5}
.voiles-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:16px}
.voiles-photo img{width:100%;height:auto;display:block}
.voiles-list{list-style:none;display:grid;gap:8px;margin:14px 0 18px}
.voiles-list li{display:flex;gap:10px;font-size:13px;align-items:baseline}
.voiles-list i{width:9px;height:9px;border-radius:50%;flex-shrink:0;transform:translateY(1px)}
.voiles-list li:nth-child(1) i{background:var(--vert)}
.voiles-list li:nth-child(2) i{background:var(--rouge)}
.voiles-list li:nth-child(3) i{background:var(--noir)}
.vocab{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);display:grid;grid-template-columns:1fr 1fr}
.vocab .vitem{display:flex;gap:11px;padding:15px 16px;border-bottom:1px solid #F0F0ED}
.vocab .vitem:nth-child(odd){border-right:1px solid #F0F0ED}
.vocab .vitem:nth-last-child(-n+2){border-bottom:0}
.vocab .ic{width:20px;height:20px;color:var(--vert);flex-shrink:0}
.vocab .vitem:nth-child(4n+3) .ic,.vocab .vitem:nth-child(4n+4) .ic{color:var(--rouge)}
.vocab b{font-size:12.5px;font-weight:800;display:block}
.vocab span{font-size:11.5px;color:var(--gris);line-height:1.45}
.bande-noire{background:var(--noir);color:#fff;margin-top:52px;padding:34px 0;position:relative;overflow:hidden}
.bande-noire .bg{position:absolute;right:0;top:0;bottom:0;width:34%;background-size:cover;background-position:center;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent,#000 55%);mask-image:linear-gradient(90deg,transparent,#000 55%)}
.bande-noire .in{position:relative;z-index:2;display:grid;grid-template-columns:250px 1fr;gap:34px;align-items:center}
.bande-noire h3{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.bande-noire h3::after{content:'';display:block;width:44px;height:3px;margin-top:7px;background:linear-gradient(90deg,var(--rouge) 50%,var(--vert) 50%)}
.bande-noire>.in>div>p{font-size:12.5px;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:14px}
.bande-items{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.bande-item{border-left:1px solid rgba(255,255,255,.18);padding-left:18px}
.bande-item .ic{width:26px;height:26px;color:#fff;margin-bottom:9px}
.bande-item b{display:block;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.bande-item p{font-size:11.5px;color:rgba(255,255,255,.7);line-height:1.5}
.hero-yoles{min-height:570px}.hero-yoles .hero-bg::after{background:linear-gradient(90deg,rgba(4,17,14,.92) 0%,rgba(4,17,14,.67) 44%,rgba(4,17,14,.12) 75%)}
.hero-yoles h1 .l2{font-size:.6em;color:var(--vert);margin-top:7px}.hero-yoles p.lead{max-width:560px;font-size:17px;line-height:1.62}
.hero-yoles .ancres{border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px)}
.ly-intro .grid2{grid-template-columns:.85fr 1.15fr;align-items:start}.ly-lead{font-size:19px;line-height:1.55;color:var(--noir);max-width:540px}.ly-copy{font-size:16px;line-height:1.7;color:#343432;max-width:620px;margin-top:14px}
.ly-source{display:flex;gap:12px;background:#eef8f1;border:1px solid #d1ead9;border-radius:12px;padding:15px 16px;margin-top:22px;max-width:570px}.ly-source .ic{width:24px;height:24px;color:var(--vert);flex:0 0 auto}.ly-source b{display:block;font-size:14px}.ly-source small{display:block;font-size:12px;line-height:1.5;color:#4b6253;margin-top:3px}
.ly-intro .specs{grid-template-columns:1fr 1fr}.ly-intro .spec{text-align:left;padding:24px;min-height:190px;box-shadow:0 8px 28px rgba(12,31,25,.06)}.ly-intro .spec .ic{margin:0 0 20px}.ly-intro .spec span{font-size:13px;line-height:1.5}
.ly-construction{background:#f4f5f2}.ly-construction .constr-lead{grid-template-columns:1.2fr 1fr;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px rgba(12,31,25,.08);gap:0;margin-bottom:24px}.ly-construction .constr-lead .im{height:100%;min-height:390px;border-radius:0;box-shadow:none}.ly-construction .constr-lead .tx{padding:38px}.ly-construction .constr-lead .sur,.ly-crew .sur{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--rouge)}.ly-construction .constr-lead h3{font-family:var(--display);font-size:30px;line-height:1.08;margin:7px 0 12px}.ly-construction .constr-lead p{font-size:16px;line-height:1.65;color:#3d3d39}
.ly-construction .constr-card{border-radius:14px;padding:22px 18px;box-shadow:none}.ly-construction .constr-card b{font-size:15px}.ly-construction .constr-card p{font-size:13px;line-height:1.55}
.ly-navigation{padding-bottom:34px}.ly-chapter{display:grid;grid-template-columns:170px 1fr 1fr;align-items:end;gap:26px;border-bottom:1px solid var(--bord);padding-bottom:24px;margin-bottom:30px}.ly-chapter>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--rouge)}.ly-chapter h2{font-family:var(--display);font-size:38px;line-height:1;margin:0}.ly-chapter p{font-size:14px;line-height:1.55;color:var(--gris);margin:0}.ly-navigation .grid2{grid-template-columns:.95fr 1.05fr;gap:30px;align-items:start}.ly-navigation .voiles-photo{border-radius:16px;box-shadow:none}.ly-navigation .voiles-photo img{aspect-ratio:1.45/1;object-fit:cover}.ly-navigation .voiles-list{border-top:1px solid var(--bord);padding-top:10px}.ly-navigation .voiles-list li{font-size:15px;padding:8px 0}.ly-vocab-intro{font-size:15px;color:var(--gris);line-height:1.6;margin-bottom:16px}.ly-navigation .vocab{border-radius:16px;box-shadow:0 8px 28px rgba(12,31,25,.06);overflow:hidden}.ly-navigation .vocab .vitem{padding:20px 18px;min-height:118px;transition:background .18s ease}.ly-navigation .vocab .vitem:hover{background:#f7faf8}.ly-navigation .vocab .ic{width:23px;height:23px}.ly-navigation .vocab b{font-size:14px;color:var(--noir);margin-bottom:5px}.ly-navigation .vocab span{font-size:13px;line-height:1.55}
.ly-rules{padding:18px 0 64px}.ly-rules-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:24px;align-items:stretch}.ly-rules .savoir{border-radius:18px;min-height:390px;grid-template-columns:.9fr 1.1fr}.ly-rules .savoir .tx{padding:36px 30px}.ly-rules .savoir .sur{display:block;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#76d29e;margin-bottom:8px}.ly-rules .savoir h3{font-size:30px;line-height:1.05}.ly-rules .savoir p{font-size:14px;line-height:1.65}.ly-rules .valeurs{border-radius:18px;padding:25px 26px;background:#f4f5f2;display:flex;flex-direction:column;justify-content:center}.ly-rules-head{display:flex;gap:12px;align-items:center;border-bottom:1px solid #dedfd9;padding-bottom:16px;margin-bottom:3px}.ly-rules-head>.ic{width:34px;height:34px;border-radius:50%;background:var(--vert);color:#fff;padding:8px;flex:0 0 auto}.ly-rules-head h4{font-size:14px;margin:0}.ly-rules-head p{font-size:12px;color:var(--gris);margin:3px 0 0}.ly-rules .valeur{padding:15px 0}.ly-rules .valeur b{font-size:13px}.ly-rules .valeur p{font-size:12px;margin-top:3px}
.ly-crew{margin-top:18px;padding:58px 0}.ly-crew .bg{width:46%;opacity:.45}.ly-crew .in{grid-template-columns:290px 1fr;gap:46px}.ly-crew h3{font-family:var(--display);font-size:34px;text-transform:none;letter-spacing:0;margin-top:5px}.ly-crew>.in>div>p{font-size:15px}.ly-crew .bande-item{padding:4px 0 4px 18px}.ly-crew .bande-item b{font-size:14px}.ly-crew .bande-item p{font-size:12.5px}
@media(max-width:1023px){
.hero-sombre .in{grid-template-columns:1fr}
.ancres{max-width:380px}
.specs{grid-template-columns:1fr 1fr}
.constr{grid-template-columns:repeat(3,1fr)}
.bande-noire .in{grid-template-columns:1fr}
.bande-items{grid-template-columns:1fr 1fr}
.ly-intro .grid2{grid-template-columns:1fr}.ly-crew .in{grid-template-columns:1fr}.ly-chapter{grid-template-columns:120px 1fr}.ly-chapter p{grid-column:2}.ly-rules-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
.constr{grid-template-columns:1fr 1fr}
.vocab{grid-template-columns:1fr}
.vocab .vitem:nth-child(odd){border-right:0}
.bande-items{grid-template-columns:1fr}
.specs{grid-template-columns:1fr 1fr}
.hero-yoles{min-height:520px}.hero-yoles p.lead{font-size:16px}.hero-yoles .ancres{display:none}.ly-intro .specs{grid-template-columns:1fr}.ly-intro .spec{min-height:0}.ly-construction .constr-lead{grid-template-columns:1fr}.ly-construction .constr-lead .im{min-height:250px}.ly-construction .constr-lead .tx{padding:26px 20px}.ly-construction .constr{grid-template-columns:1fr}.ly-chapter{display:block}.ly-chapter>span{display:block;margin-bottom:8px}.ly-chapter h2{font-size:31px}.ly-chapter p{margin-top:10px}.ly-navigation .grid2{grid-template-columns:1fr}.ly-navigation .vocab{grid-template-columns:1fr}.ly-navigation .vocab .vitem{min-height:0;border-right:0}.ly-rules .savoir{grid-template-columns:1fr;min-height:0}.ly-rules .savoir .tx{padding:28px 22px}.ly-rules .savoir .im{min-height:240px}.ly-rules .valeurs{padding:22px 18px}.ly-crew{padding:42px 0}.ly-crew .bg{width:100%;opacity:.2}.ly-crew h3{font-size:30px}
}

.tuiles-h{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--bord);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-card)}
.tuile-h{text-align:center;padding:28px 18px;border-left:1px solid var(--bord)}
.tuile-h:first-child{border-left:0}
.tuile-h .ic{width:34px;height:34px;margin:0 auto 12px;color:var(--vert)}
.tuile-h:nth-child(odd) .ic{color:var(--rouge)}
.tuile-h b{display:block;font-family:var(--display);font-size:26px;color:var(--noir);text-transform:uppercase}
.tuile-h:nth-child(odd) b{color:var(--rouge)}
.tuile-h:nth-child(even) b{color:var(--vert)}
.tuile-h span{font-size:11.5px;color:var(--gris);font-weight:600;display:block;margin-top:6px;line-height:1.45}
.timeline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:8px}
.timeline::before{content:'';position:absolute;left:0;right:0;top:5px;height:2px;background:#DADAD5}
.jalon{position:relative;padding-top:22px}
.jalon::before{content:'';position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--vert);border:2.5px solid #fff;box-shadow:0 0 0 2px var(--vert)}
.jalon:nth-child(odd)::before{background:var(--rouge);box-shadow:0 0 0 2px var(--rouge)}
.jalon .ep{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--vert)}
.jalon:nth-child(odd) .ep{color:var(--rouge)}
.jalon b{display:block;font-size:12.5px;font-weight:800;margin:3px 0 5px}
.jalon p{font-size:11px;color:var(--gris);line-height:1.5}
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:22px}
.strip .ph{aspect-ratio:4/3;border-radius:8px;background-size:cover;background-position:center;box-shadow:var(--shadow-card)}
.strip .ph.nb{filter:grayscale(1) contrast(1.05)}
.savoir{background:var(--noir);border-radius:var(--radius);color:#fff;display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden;min-height:280px}
.savoir .tx{padding:30px 28px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.savoir h3{font-family:var(--display);font-size:23px;text-transform:uppercase;line-height:1.12;margin-bottom:12px}
.savoir h3 em{font-style:normal;color:var(--vert)}
.savoir p{font-size:12.5px;color:rgba(255,255,255,.78);line-height:1.65;margin-bottom:18px}
.savoir .im{background-size:cover;background-position:center}
.valeurs{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px 24px}
.valeurs h4{font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.valeurs h4::after{content:'';display:block;width:44px;height:3px;margin-top:7px;background:linear-gradient(90deg,var(--rouge) 50%,var(--vert) 50%)}
.valeur{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid #F0F0ED}
.valeur:last-child{border-bottom:0}
.valeur .ic{width:24px;height:24px;color:var(--vert);flex-shrink:0}
.valeur:nth-child(odd) .ic{color:var(--rouge)}
.valeur b{font-size:12.5px;font-weight:800;display:block}
.valeur p{font-size:11.5px;color:var(--gris);line-height:1.5;margin:2px 0 0}
.galerie-h{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gph{display:block;border:0;padding:0;background:none;cursor:pointer;text-align:left}
.gph .ph{display:block;position:relative;aspect-ratio:16/10;border-radius:14px;background-size:cover;background-position:center;box-shadow:var(--shadow-card);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.gph:hover .ph{transform:translateY(-3px);box-shadow:0 12px 26px rgba(14,14,14,.18)}
.gph .ph.nb{filter:grayscale(1) contrast(1.05)}
.gph .ph .tl-zoom{opacity:0}
.gph b{display:block;font-size:15px;font-weight:800;margin-top:11px}.gph .cap{font-size:13px;color:var(--gris);line-height:1.5;display:block;margin-top:3px}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,12,16,.92);display:flex;align-items:center;justify-content:center;padding:34px;animation:lbin .18s ease}
.lightbox[hidden]{display:none}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lightbox figure{margin:0;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox img{max-width:100%;max-height:82vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);object-fit:contain}
.lightbox figcaption{color:rgba(255,255,255,.85);font-size:12.5px;font-weight:600;text-align:center}
.lb-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .15s ease}
.lb-close:hover{background:var(--rouge)}
.bande-rouge{background:var(--rouge);color:#fff;margin-top:52px;position:relative;overflow:hidden}
.bande-rouge::before{content:'';position:absolute;left:0;top:0;bottom:0;width:22%;background:var(--noir);clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}
.bande-rouge::after{content:'';position:absolute;right:0;top:0;bottom:0;width:14%;background:var(--vert);clip-path:polygon(38% 0,100% 0,100% 100%,0 100%)}
.bande-rouge .in{position:relative;z-index:2;display:flex;align-items:center;gap:22px;min-height:92px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.bande-rouge .ic{width:44px;height:44px;border:2px solid rgba(255,255,255,.85);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:9px;flex-shrink:0}
.bande-rouge b{display:block;font-size:15.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.bande-rouge b em{font-style:normal;color:#FFD9DB}
.bande-rouge span{font-size:12.5px;color:rgba(255,255,255,.92)}
.bande-rouge .btn{margin-left:auto;margin-right:10%}
@media(max-width:1023px){
.hist-origin .grid2{grid-template-columns:1fr}.hero-histoire .side-card{display:none}
.tuiles-h{grid-template-columns:1fr 1fr}
.tuile-h:nth-child(3){border-left:0}
.tuile-h:nth-child(n+3){border-top:1px solid var(--bord)}
.timeline{grid-template-columns:repeat(3,1fr)}
.timeline::before{display:none}
.strip{grid-template-columns:repeat(3,1fr)}
.savoir{grid-template-columns:1fr}
.savoir .im{min-height:190px}
.galerie-h{grid-template-columns:repeat(3,1fr)}
.bande-rouge .btn{margin-right:0}
}
@media(max-width:600px){
.timeline,.strip,.galerie-h{grid-template-columns:1fr 1fr}
.tuiles-h{grid-template-columns:1fr 1fr}
.galerie-h{grid-template-columns:1fr}.hist-origin .tuiles-h{grid-template-columns:1fr}.hist-origin .tuile-h{border-left:0;min-height:0}.hist-origin .tuile-h:nth-child(n+2){border-top:1px solid var(--bord)}.hero-histoire p.lead{font-size:16px}
}

.sec-air{padding:56px 0 16px}
.hist-intro{font-size:17px;color:#3d3d39;max-width:720px;margin:-6px 0 30px;line-height:1.65}
.hist-src{font-size:10.5px;color:#b4b4af;margin-top:22px}
.hist-src a{color:#b4b4af;text-decoration:underline}
.hist-src a:hover{color:var(--rouge)}
.hero-histoire{min-height:570px}.hero-histoire .hero-bg{filter:grayscale(.8)}.hero-histoire .hero-bg::after{background:linear-gradient(90deg,rgba(4,17,14,.94),rgba(4,17,14,.68) 48%,rgba(4,17,14,.2) 78%)}.hero-histoire h1 .l2{font-size:.58em;color:var(--vert);margin-top:8px}.hero-histoire p.lead{max-width:570px;font-size:17px;line-height:1.65}.hero-histoire .side-card{background:rgba(5,20,17,.84);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px)}.hero-histoire .side-card .row{border-color:rgba(255,255,255,.12)}.hero-histoire .side-card b{color:#fff}.hero-histoire .side-card span span{color:rgba(255,255,255,.67)}
.hist-origin .grid2{grid-template-columns:.9fr 1.1fr;align-items:start;gap:46px}.hist-lead{font-size:19px;line-height:1.6;color:var(--noir)}.hist-copy{font-size:16px;line-height:1.72;color:#3b3b38;margin-top:16px}.hist-origin .tuiles-h{grid-template-columns:1fr 1fr;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(12,31,25,.06)}.hist-origin .tuile-h{min-height:175px;text-align:left;padding:25px}.hist-origin .tuile-h:nth-child(3){border-left:0}.hist-origin .tuile-h:nth-child(n+3){border-top:1px solid var(--bord)}.hist-origin .tuile-h .ic{margin:0 0 16px}.hist-origin .tuile-h span{font-size:13px}
.hist-timeline{padding:52px 0}.hist-timeline .in{max-width:900px}.hist-timeline .hist-src{font-size:11.5px;color:#777771;margin-top:24px}
.tl-zoom{position:absolute;top:9px;right:9px;width:26px;height:26px;border-radius:50%;background:rgba(14,14,14,.62);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s ease}
.tl-zoom svg{width:13px;height:13px}
.gph:hover .tl-zoom{opacity:1}

.eq-layout{display:grid;grid-template-columns:270px 1fr;gap:30px;align-items:start}
.filtres{background:var(--gris-bg);border-radius:var(--radius);padding:20px}
.filtres .filtres-h{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}
.filtres label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gris);margin:17px 0 7px}
.filtres input[type=text],.filtres select{width:100%;min-height:44px;border:1px solid var(--bord);border-radius:9px;background:#fff;padding:10px 13px;font-family:var(--body);font-size:16px;color:var(--noir)}
.filtres .chk{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:5px 0;color:var(--gris)}
.filtres .chk input{accent-color:var(--rouge)}
.filtres .note{font-size:12px;color:var(--gris);line-height:1.55;margin-top:16px;padding-top:15px;border-top:1px solid var(--bord)}
.filtres .note strong{display:block;color:var(--noir);margin-bottom:3px}
.filtres .btn{width:100%;justify-content:center;margin-top:16px;padding:10px 12px;font-size:11px}
.eq-meta{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.eq-meta span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gris)}
.eq-meta .tri{margin-left:auto;font-size:11.5px;border:1px solid var(--bord);border-radius:7px;padding:7px 12px;color:var(--gris);background:#fff}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.eq-card{background:#fff;border:1px solid var(--bord);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(12,31,25,.07)}
.eq-card .im{aspect-ratio:16/10;position:relative;background-color:#EFEFEC;overflow:hidden}
.eq-card .im img{width:100%;height:100%;object-fit:cover;display:block}
.eq-card .im.ph-empty{display:flex;align-items:center;justify-content:center;color:#C6C6C0}
.eq-card .im.ph-empty svg{width:54px;height:54px}
.eq-card .tx{padding:18px 18px 20px}
.eq-card h3{font-size:17px;line-height:1.22;margin:5px 0 7px;min-height:41px}
.eq-card[hidden]{display:none}
.eq-card .im{position:relative}
.eq-tenant{position:absolute;top:10px;left:10px;background:var(--rouge);color:#fff;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:4px 8px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.eq-card .com{font-size:13px;color:var(--gris);display:flex;align-items:center;gap:5px;margin:3px 0 14px}
.eq-card .com .ic{width:13px;height:13px;color:var(--rouge)}
.eq-card .pat{display:block;font-size:11.5px;font-weight:700;color:var(--noir)}
.eq-card .asso{display:block;font-size:10.5px;color:#9a9a96;margin-top:2px}
.eq-card .cat{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--rouge)}
.eq-card .profil{display:block;margin-top:9px;padding-top:9px;border-top:1px solid #F0F0ED;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#B9B9B4}
.hero-equipes .in{grid-template-columns:minmax(0,680px) 300px;align-items:end}
.hero-equipes .l2{font-size:.62em;color:#fff}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.eq-hero-note{background:rgba(5,20,17,.82);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:22px;color:#fff;backdrop-filter:blur(8px)}
.eq-hero-note>span{display:block;color:#7fdaa9;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.eq-hero-note strong{display:block;font-family:var(--display);font-size:25px;line-height:1.1;margin:6px 0 10px}
.eq-hero-note p{font-size:13px;line-height:1.5;color:rgba(255,255,255,.78);margin:0 0 14px}
.eq-hero-note small{font-size:11px;color:rgba(255,255,255,.55)}
.eq-status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#eef8f1;border:1px solid #cfe8d7;border-radius:12px;padding:14px 17px;margin:-5px 0 22px}
.eq-status .ic{width:30px;height:30px;border-radius:50%;background:var(--vert);color:#fff;display:grid;place-items:center;padding:7px}
.eq-status strong{font-size:14px}.eq-status p{font-size:12.5px;color:#45604d;margin:2px 0 0}
.eq-status a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--vert);white-space:nowrap}
.eq-filtres{position:sticky;top:92px}
.eq-num{font-size:10px;color:var(--rouge);font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.eq-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--bord);padding-top:13px}
.eq-details span{min-width:0}.eq-details small{font-size:9.5px;color:#878781;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:4px}
.eq-details b{font-size:12px;line-height:1.3;display:block}
.eq-card .im.ph-team{display:flex;align-items:center;justify-content:center;color:#fff!important;background:var(--team-accent,var(--noir));position:relative;overflow:hidden}
.ph-team::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 88% at 82% 10%,rgba(255,255,255,.13),transparent 55%),repeating-linear-gradient(122deg,transparent 0 26px,rgba(255,255,255,.05) 27px 29px);pointer-events:none}
.ph-team::before{content:'';position:absolute;left:0;right:0;bottom:0;height:54%;background:linear-gradient(0deg,rgba(8,10,10,.5),transparent);pointer-events:none}
.ph-mono{position:relative;z-index:1;font-family:var(--display);font-size:clamp(44px,7vw,58px);line-height:.86;letter-spacing:.02em;color:#fff;text-shadow:0 2px 12px rgba(8,10,10,.28)}
.ph-wm{position:absolute;left:16px;bottom:13px;z-index:2;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.92)}
.eq-human{background:#f4f5f2}.eq-human-card{display:grid;grid-template-columns:1.05fr 1fr;background:#071b17;color:#fff;border-radius:20px;overflow:hidden}
.eq-human-card>.im{min-height:430px}.eq-human-card>.im img{width:100%;height:100%;object-fit:cover;display:block}
.eq-human-card>.tx{padding:48px}.eq-human-card .sur{font-size:11px;font-weight:800;color:#74d09e;text-transform:uppercase;letter-spacing:.12em}
.eq-human-card h2{font-size:38px;line-height:1.05;margin:8px 0 16px}.eq-human-card p{font-size:16px;color:rgba(255,255,255,.76);line-height:1.65}
.eq-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
.eq-role-grid span{border-top:2px solid var(--rouge);padding-top:10px}.eq-role-grid b{font-size:13px;display:block}.eq-role-grid small{font-size:11px;color:rgba(255,255,255,.55);line-height:1.35;display:block;margin-top:3px}
.yole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.yole-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease}
.yole-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(14,14,14,.13)}
.yole-card .im{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:#EFEFEC}
.yole-card .tx{padding:14px 16px 16px}
.yole-card b{font-size:15px;font-weight:800;display:block}
.yole-card .ycat{font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--rouge);display:block;margin:3px 0 8px}
.yole-card .cr{font-size:10px;color:#9a9a96;display:block}
@media(max-width:900px){.yole-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.yole-grid{grid-template-columns:1fr}}
.categories-card{background:var(--gris-bg);border-radius:var(--radius);padding:20px 22px;margin-top:22px}
.categories-card h4{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
@media(max-width:1023px){.hero-equipes .in{grid-template-columns:1fr}.eq-hero-note{display:none}.eq-layout{grid-template-columns:1fr}.eq-filtres{position:static}.eq-grid{grid-template-columns:repeat(2,1fr)}.eq-human-card{grid-template-columns:1fr}.eq-human-card>.im{min-height:340px}}
@media(max-width:600px){.eq-grid{grid-template-columns:1fr}.eq-status{grid-template-columns:auto 1fr}.eq-status a{grid-column:2}.eq-details{grid-template-columns:1fr 1fr}.eq-human-card>.tx{padding:30px 22px}.eq-human-card h2{font-size:31px}.eq-role-grid{grid-template-columns:1fr}.eq-human-card>.im{min-height:280px}}

.acces{background:#fff;border-radius:var(--radius);display:grid;grid-template-columns:auto repeat(7,1fr);align-items:stretch;margin-top:-30px;position:relative;z-index:5;box-shadow:var(--shadow-bar);overflow:hidden}
.acces .lbl{background:var(--noir);color:#fff;display:flex;align-items:center;gap:10px;padding:15px 20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.acces .lbl svg{width:15px;height:15px;color:var(--rouge)}
.acces a{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--noir);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:13px 8px;border-left:1px solid var(--bord);text-align:center;transition:background .15s ease}
.acces a:hover{background:var(--gris-bg);color:var(--rouge)}
.acces a .ic{width:16px;height:16px;flex-shrink:0;color:var(--rouge)}
.acces a:nth-child(odd) .ic{color:var(--vert)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:26px 22px;text-align:center;display:flex;flex-direction:column;align-items:center}
.contact-card .ic{width:46px;height:46px;border-radius:50%;background:var(--vert-pale);color:var(--rouge);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.contact-card:nth-child(even) .ic{color:var(--vert)}
.contact-card .ic svg{width:22px;height:22px}
.contact-card b{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px}
.contact-card p{font-size:12.5px;color:var(--gris);line-height:1.55;margin-bottom:14px;flex:1}
.contact-card .mail{color:var(--rouge);font-weight:700;font-size:12.5px;word-break:break-word}
@media(max-width:767px){.contact-grid{grid-template-columns:1fr}}
.infos-band{background:#fff;padding:24px 0 46px}
.info-card{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px 22px 22px;display:flex;flex-direction:column;height:100%}
.info-card .info-body{flex:1}
.info-card>.btn{align-self:flex-start;margin-top:18px}
.grid3-info>.info-card,.grid4-info>.info-card{height:auto}
.info-card h3{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:18px}
.info-card h3 .ic{flex-shrink:0;width:40px;height:40px;padding:10px;border-radius:12px 12px 12px 4px;background:rgba(227,6,19,.09);color:var(--rouge)}
.grid3-info>.info-card:nth-child(2) h3 .ic,.grid4-info>.info-card:nth-child(2) h3 .ic,.grid4-info>.info-card:nth-child(4) h3 .ic{background:rgba(0,154,68,.1);color:var(--vert)}
.ic-lead{font-size:12.5px;color:var(--gris);line-height:1.6;margin-bottom:12px}
.check-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:2px 0 6px}
.info-bloc{display:flex;gap:13px;margin-bottom:16px}
.info-bloc .ic{width:26px;height:26px;color:var(--vert);flex-shrink:0}
.info-bloc b{font-size:12.5px;font-weight:800;display:block;margin-bottom:4px}
.info-bloc p{font-size:12px;color:var(--gris);line-height:1.55}
.venir-row{display:grid;grid-template-columns:1fr 108px;gap:12px;align-items:start}
.venir-ph{border-radius:8px;background-size:cover;background-position:center;height:82px;box-shadow:var(--shadow-card)}
.assister-map{max-width:320px;margin:6px auto 0;width:100%}
.assister-map svg{width:100%;height:auto;display:block}
.conseil{background:var(--gris-bg);border:1px solid var(--bord);border-radius:10px;padding:13px 15px;margin:0 0 14px}
.conseil b{color:var(--rouge);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px;margin-bottom:4px}
.conseil p{font-size:12px;color:#2c2c2a;line-height:1.5}
.check-list{list-style:none;display:grid;gap:8px;margin:8px 0 0}
.check-list li{display:flex;align-items:center;gap:9px;font-size:12.5px}
.check-list .ic{width:16px;height:16px;color:var(--vert);flex-shrink:0}
.grid3-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:stretch}
.grid4-info{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px;align-items:stretch}
.date-rouge{color:var(--rouge);font-weight:800;font-size:14px;margin-bottom:6px}
.hero-infos{min-height:520px}.hero-infos .hero-bg::after{background:linear-gradient(90deg,rgba(4,17,14,.94),rgba(4,17,14,.66) 50%,rgba(4,17,14,.15) 80%)}.hero-infos h1 .l2{font-size:.58em;color:var(--vert);margin-top:7px}.hero-infos p.lead{max-width:570px;font-size:17px;line-height:1.65}.hero-infos .in{padding-bottom:76px}
.info-essential{padding:32px 0 10px}.info-essential .in{display:grid;grid-template-columns:repeat(4,1fr);background:#071b17;color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(12,31,25,.12)}.info-essential .in>div{display:flex;align-items:center;gap:13px;padding:20px;border-left:1px solid rgba(255,255,255,.12)}.info-essential .in>div:first-child{border-left:0}.info-essential .ic{width:30px;height:30px;color:var(--vert);flex:0 0 auto}.info-essential .in>div:nth-child(even) .ic{color:var(--rouge-clair)}.info-essential b{display:block;font-size:14px}.info-essential small{display:block;font-size:11px;color:rgba(255,255,255,.62);margin-top:3px}
.infos-band{background:#fff;padding:24px 0 46px}.info-section-head{display:grid;grid-template-columns:170px 1fr 1fr;gap:24px;align-items:end;margin-bottom:24px}.info-section-head>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--rouge)}.info-section-head h2{font-family:var(--display);font-size:32px;line-height:1.05}.info-section-head p{font-size:14px;color:var(--gris);line-height:1.55}.info-section-secondary{grid-template-columns:170px 1fr;margin-top:52px;padding-top:34px;border-top:1px solid var(--bord)}
.info-card{border-radius:16px;padding:26px;box-shadow:0 7px 24px rgba(12,31,25,.06)}.info-card h3{font-size:15px;margin-bottom:18px}.ic-lead{font-size:14px;line-height:1.65}.info-card>.btn{min-height:44px}.info-priority{grid-template-columns:1.35fr .8fr .85fr}.info-priority>#assister{grid-row:span 1}.info-stage-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.info-stage-links a{border:1px solid var(--bord);border-radius:9px;padding:10px 11px;min-height:44px;transition:border-color .16s ease,background .16s ease}.info-stage-links a:hover{border-color:var(--vert);background:#f3faf6}.info-stage-links time{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rouge)}.info-stage-links b{display:block;font-size:11.5px;line-height:1.35;margin-top:4px}.info-stage-links b span{color:var(--vert)}
.info-secondary{grid-template-columns:repeat(2,1fr);gap:18px}.info-secondary .info-card{min-height:300px}.info-secondary .info-bloc b{font-size:14px}.info-secondary .info-bloc p,.info-secondary .check-list li{font-size:13px}.serenite{margin-top:0}.serenite .bg{width:38%;opacity:.42}.serenite .in{padding-top:42px;padding-bottom:42px}
.serenite{background:var(--noir);color:#fff;margin-top:52px;position:relative;overflow:hidden}
.serenite .bg{position:absolute;left:0;top:0;bottom:0;width:26%;background-size:cover;background-position:center;opacity:.55;-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent);mask-image:linear-gradient(90deg,#000 45%,transparent)}
.serenite .in{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:24px;align-items:center;padding-top:30px;padding-bottom:30px}
.serenite h2{font-family:var(--display);font-size:22px;text-transform:uppercase;line-height:1.1}
.serenite h2 em{font-style:normal;color:var(--vert)}
.serenite>.in>div:first-child p{font-size:12px;color:rgba(255,255,255,.75);margin-top:8px;line-height:1.55}
.ser-item{border-left:1px solid rgba(255,255,255,.18);padding-left:18px;text-align:left}
.ser-item .ic{width:26px;height:26px;color:#fff;margin-bottom:8px}
.ser-item b{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;line-height:1.4;display:block}
.faq-wrap{display:grid;grid-template-columns:2.1fr 1fr;gap:24px;align-items:start}
.hvals{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px)}
@media(max-width:820px){.hvals{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.hvals{grid-template-columns:1fr}}
.hval{border-top:2px solid var(--noir);padding:16px 0 0}
.hval:nth-child(1){border-top-color:var(--rouge)}.hval:nth-child(2){border-top-color:var(--vert)}
.hval:nth-child(3){border-top-color:var(--rouge)}.hval:nth-child(4){border-top-color:var(--vert)}
.hval b{display:block;font-family:var(--display);font-size:19px;text-transform:uppercase;color:var(--noir);margin:0 0 7px}
.hval p{font-size:14.5px;line-height:1.55;color:#3a3a3f;margin:0}
.hist-origin .grid2{align-items:stretch}
.hist-fig{margin:0;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(12,31,25,.16)}
.hist-fig img{width:100%;height:100%;object-fit:cover;display:block;min-height:340px}
.hist-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 15px;background:linear-gradient(transparent,rgba(8,10,14,.82));color:#fff;font-size:13px;line-height:1.4}
@media(max-width:900px){.hist-fig img{min-height:240px}}
.ly-figure{margin:0 0 4px;border-radius:14px;overflow:hidden;border:1px solid var(--bord)}
.ly-figure img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/10}
.ly-figure figcaption{font-size:12px;color:var(--gris);padding:9px 14px;background:var(--gris-bg)}
.aide-card{background:var(--gris-bg);border-radius:var(--radius);padding:24px}
.aide-card h4{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:800;text-transform:uppercase;margin-bottom:8px}
.aide-card h4 .ic{width:20px;height:20px;color:var(--rouge)}
.aide-card p{font-size:12.5px;color:var(--gris);margin-bottom:14px;line-height:1.6}
.aide-card a.mail{display:inline-flex;align-items:center;gap:9px;color:var(--rouge);font-weight:700;font-size:13px}
.aide-card a.mail .ic{width:17px;height:17px}
.aide-card .btn{display:inline-flex}
@media(max-width:1123px){
.acces{grid-template-columns:1fr 1fr 1fr 1fr}
.acces .lbl{grid-column:1/-1}
.acces a{border-top:1px solid rgba(255,255,255,.12)}
}
@media(max-width:1023px){
.info-essential .in{grid-template-columns:1fr 1fr}.info-essential .in>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.12)}.info-essential .in>div:nth-child(4){border-top:1px solid rgba(255,255,255,.12)}.info-section-head{grid-template-columns:1fr}.info-priority{grid-template-columns:1fr 1fr}.info-priority>#assister{grid-column:1/-1}.info-secondary{grid-template-columns:1fr 1fr}
.grid3-info{grid-template-columns:1fr}
.grid4-info{grid-template-columns:1fr 1fr}
.serenite .in{grid-template-columns:1fr 1fr}
.faq-wrap{grid-template-columns:1fr}
}
@media(max-width:600px){
.hero-infos{min-height:480px}.hero-infos p.lead{font-size:16px}.info-essential .in{grid-template-columns:1fr}.info-essential .in>div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.info-essential .in>div:first-child{border-top:0}.info-section-head{display:block}.info-section-head h2{font-size:28px;margin-top:7px}.info-section-head p{margin-top:10px}.info-priority,.info-secondary{grid-template-columns:1fr}.info-priority>#assister{grid-column:auto}.info-stage-links{grid-template-columns:1fr}.info-secondary .info-card{min-height:0}
.acces{grid-template-columns:1fr 1fr}
.grid4-info{grid-template-columns:1fr}
.serenite .in{grid-template-columns:1fr}
.ser-item{border-left:0;padding-left:0}
}

.gal-layout{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start}
.hero-galerie{min-height:530px}.hero-galerie .hero-bg::after{background:linear-gradient(90deg,rgba(4,17,14,.92),rgba(4,17,14,.56) 50%,rgba(4,17,14,.12) 80%)}.hero-galerie h1 .l2{font-size:.62em;color:var(--vert);margin-top:7px}.hero-galerie p.lead{max-width:560px;font-size:17px;line-height:1.65}.hero-galerie .in{padding-bottom:76px}
.gal-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--bord);padding-bottom:18px;margin-bottom:25px}.gal-heading>div>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--rouge)}.gal-heading h2{font-family:var(--display);font-size:34px;line-height:1;margin-top:5px}.gal-heading>span{font-size:12px;font-weight:800;color:var(--vert-fonce);background:#eef8f1;border-radius:18px;padding:7px 12px}
.gal-layout>.filtres{position:sticky;top:90px;border:1px solid var(--bord);background:#f5f6f3}.gal-layout>.filtres .filtres-h{font-size:14px}.gal-layout .g-search input{min-height:44px;font-size:16px;border-radius:9px}.gal-layout .g-search .ic{top:13px}.gal-layout .filtres select{min-height:44px;font-size:14px;border-radius:9px}.gal-cats button{min-height:44px;padding:9px;font-size:13px}.gal-cats button.on{box-shadow:0 3px 12px rgba(12,31,25,.06)}
.g-search{position:relative}
.g-search input{width:100%;border:1px solid var(--bord);border-radius:7px;background:#fff;padding:9px 34px 9px 12px;font-family:var(--body);font-size:12.5px}
.g-search .ic{position:absolute;right:10px;top:9px;width:16px;height:16px;color:var(--gris);pointer-events:none}
.filtres select{width:100%;border:1px solid var(--bord);border-radius:7px;background:#fff;padding:9px 12px;font-family:var(--body);font-size:12.5px;color:var(--noir)}
.gal-cats{list-style:none;display:grid;gap:2px;margin-top:4px}
.gal-cats button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:var(--body);font-size:12.5px;font-weight:600;color:var(--gris);padding:7px 8px;border-radius:6px}
.gal-cats button:hover{background:#fff}
.gal-cats button.on{color:var(--rouge);font-weight:800;background:#fff}
.gal-cats .ic{width:16px;height:16px}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:16px}.gal-item{appearance:none;border:0;padding:0;text-align:left;border-radius:16px;overflow:hidden;position:relative;background-size:cover;background-position:center;box-shadow:0 7px 24px rgba(12,31,25,.08);transition:transform .22s var(--ease-out),box-shadow .22s ease}
.gal-item.w2{grid-column:span 2;grid-row:span 2}
.gal-item.h2{grid-row:span 2}
.gal-item::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,14,12,.88) 0%,rgba(3,14,12,.18) 48%,transparent 70%);transition:opacity .2s ease}.gal-item:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(12,31,25,.16)}.gal-item:focus-visible{outline:3px solid var(--rouge);outline-offset:3px}.gal-item .cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:40px 15px 14px;color:#fff}.gal-item .cap b{font-size:13px;line-height:1.3;display:block}.gal-item .cap small{font-size:9.5px;color:rgba(255,255,255,.68);line-height:1.35;display:block;margin-top:4px}
.gal-item .chip-cat{position:absolute;z-index:3;left:12px;top:12px;background:rgba(227,6,19,.92);color:#fff;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:6px;padding:5px 9px;display:inline-flex;align-items:center;gap:5px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.gal-item .chip-cat .ic{width:11px;height:11px}
.gal-item[hidden]{display:none}
.partagez{background:var(--noir);color:#fff;border-radius:var(--radius);margin-top:52px;padding:34px 38px;display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.partagez::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--rouge) 0 50%,var(--vert) 50% 100%)}
.partagez h2{font-family:var(--display);font-size:25px;text-transform:uppercase;line-height:1.1;margin-bottom:10px}
.partagez h2 em{font-style:normal;color:#FF5A63}
.partagez p{font-size:13px;color:rgba(255,255,255,.78);line-height:1.6;margin-bottom:18px}
.polaroids{display:flex;gap:14px;justify-content:center;position:relative;z-index:2}
.polaroid{background:#fff;padding:8px 8px 22px;border-radius:4px;box-shadow:0 10px 26px rgba(0,0,0,.34);width:130px;flex-shrink:0}
.polaroid .ph{aspect-ratio:1/1.1;background-size:cover;background-position:center;border-radius:2px}
.polaroid:nth-child(1){transform:rotate(-5deg)}
.polaroid:nth-child(2){transform:rotate(3deg) translateY(-8px)}
.polaroid:nth-child(3){transform:rotate(-2deg)}
.polaroid:nth-child(4){transform:rotate(6deg) translateY(-5px)}
@media(max-width:1023px){
.gal-layout{grid-template-columns:1fr}.gal-layout>.filtres{position:static}.gal-cats{grid-template-columns:1fr 1fr}
.partagez{grid-template-columns:1fr}
.polaroid:nth-child(4){display:none}
}
@media(max-width:600px){
.hero-galerie{min-height:480px}.hero-galerie p.lead{font-size:16px}.gal-cats{grid-template-columns:1fr}.gal-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gal-item.w2,.gal-item.h2{grid-column:auto;grid-row:auto}.gal-heading h2{font-size:29px}
.polaroid{width:100px}
}

.ed-hero{position:relative;min-height:460px;display:flex;align-items:flex-end;background:var(--noir);overflow:hidden}
.ed-hero .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.ed-hero .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,14,.94) 0%,rgba(8,10,14,.7) 44%,rgba(8,10,14,.24) 78%),linear-gradient(0deg,rgba(8,10,14,.9) 0%,rgba(8,10,14,.2) 40%,rgba(8,10,14,0) 62%)}
.ed-hero .in{position:relative;z-index:2;width:100%;padding-top:70px;padding-bottom:70px}
.ed-hero .lead,.ed-hero .ariane{text-shadow:0 1px 14px rgba(8,10,14,.7)}
.ed-hero .lead{max-width:640px;color:#fff}
.ed-hero .ariane{color:rgba(255,255,255,.72)}
.ed-hero .ariane a:hover{color:#fff}
.ed-hero .badge-pill{color:#fff}
.ed-hero h1{font-family:var(--display);text-transform:uppercase;color:#fff;line-height:.94;font-size:clamp(38px,5.4vw,66px);margin:2px 0 10px}
.ed-hero h1 .l1{display:block;color:#fff}
.ed-hero h1 .l2{display:flex;align-items:center;gap:12px;color:var(--rouge);text-shadow:1px 1px 0 rgba(255,255,255,.16)}
.ed-hero .arr-arrow{display:inline-flex;color:var(--rouge)}
.ed-hero .arr-arrow svg{width:.85em;height:.85em}
.ed-date{color:#fff;font-family:var(--body);font-weight:800;font-size:13.5px;letter-spacing:.06em;display:flex;align-items:center;gap:12px;margin-bottom:22px}
.ed-chip{background:var(--vert);color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.06em;border-radius:5px;padding:4px 9px}
.ed-chip-fin{background:var(--rouge)}
.ed-statstrip{display:grid;grid-template-columns:repeat(4,auto);gap:38px;padding-top:6px;flex-wrap:wrap}
.ed-stat{display:flex;align-items:center;gap:11px}
.ed-stat .ic{width:26px;height:26px;color:#fff;opacity:.85;flex-shrink:0}
.ed-stat em{display:block;font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.66)}
.ed-stat b{display:block;font-family:var(--display);font-size:16px;color:#fff;text-transform:uppercase;letter-spacing:.01em;margin-top:2px}
.enbref{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px 26px}
.enbref-h{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px}
.enbref-h .bar{width:4px;height:16px;background:var(--vert);border-radius:2px}
.enbref-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.enbref-cell{display:flex;align-items:center;gap:12px;padding:4px 22px;border-left:1px solid var(--bord)}
.enbref-cell:first-child{border-left:0;padding-left:0}
.enbref-cell .ic{width:30px;height:30px;flex-shrink:0}
.enbref-cell:nth-child(odd) .ic{color:var(--rouge)}
.enbref-cell:nth-child(even) .ic{color:var(--vert)}
.enbref-cell em{display:block;font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gris)}
.enbref-cell b{display:block;font-size:13.5px;font-weight:800;margin-top:3px;line-height:1.25}
.enbref-link:hover b{color:var(--rouge)}
.ed-3col{display:grid;grid-template-columns:1fr 1.28fr 1fr;gap:18px;align-items:start}
.ed-parcours-layout{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(20px,3vw,32px);align-items:stretch}
.ed-places{display:grid;gap:16px;grid-template-rows:1fr 1fr}
@media(max-width:900px){.ed-parcours-layout{grid-template-columns:1fr}}
.ed-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
.ed-nav-a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--bord);border-radius:12px;padding:13px 16px;text-decoration:none;color:var(--noir);box-shadow:var(--shadow-card);transition:border-color .15s,transform .15s}
.ed-nav-a:hover{border-color:var(--rouge);transform:translateY(-2px)}
.ed-nav-empty{visibility:hidden;box-shadow:none;border:0}
.ed-nav-next{flex-direction:row-reverse;text-align:right}
.ed-nav .na{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:var(--gris-bg);display:grid;place-items:center;color:var(--rouge)}
.ed-nav .na svg{width:17px;height:17px}
.ed-nav-prev .na svg{transform:rotate(180deg)}
.ed-nav .nt em{display:block;font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);font-weight:700}
.ed-nav .nt b{display:flex;align-items:center;gap:5px;font-size:14px}
.ed-nav-next .nt b{justify-content:flex-end}
.ed-nav .nt b svg{width:12px;height:12px;color:var(--gris)}
.ed-nav-all{display:flex;align-items:center;gap:7px;background:var(--noir);color:#fff;border-radius:12px;padding:0 18px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;white-space:nowrap}
.ed-nav-all svg{width:15px;height:15px;color:var(--rouge)}
@media(max-width:700px){.ed-nav{grid-template-columns:1fr 1fr}.ed-nav-all{grid-column:1/-1;order:3;justify-content:center;padding:12px}}
.ed-place,.ed-parcours{background:#fff;border:1px solid var(--bord);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;position:relative;display:flex;flex-direction:column}
.ed-place-tag{position:absolute;top:14px;left:14px;z-index:2;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:6px 12px;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.ed-place-im{height:auto;flex:1 1 auto;min-height:190px;background-size:cover;background-position:center;position:relative}
.ed-place-tx{padding:16px 18px 18px;display:flex;flex-direction:column;flex:0 0 auto}
.ed-place-tx b{font-family:var(--display);font-size:21px;text-transform:uppercase;letter-spacing:.01em;line-height:1;margin-bottom:8px}
.ed-place-info{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--noir);margin:0 0 11px}
.ed-place-info .ic{width:15px;height:15px;color:var(--rouge);flex:0 0 auto}
.ed-place-tx p{font-size:12.5px;color:var(--gris);line-height:1.55;margin-bottom:12px}
.ed-place-tx a{margin-top:auto;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--rouge);display:inline-flex;align-items:center;gap:7px}
.ed-place-tx a svg{width:14px;height:14px}
.ed-parcours{padding:0}
.ed-parcours .ed-map{padding:44px 16px 6px}
.ed-parcours .ed-map a{display:block}.ed-parcours .ed-official-map{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 4px 14px rgba(14,14,14,.1)}
.ed-map-btn{display:block;position:relative;width:100%;border:0;padding:0;background:none;cursor:zoom-in}
.ed-map-zoom{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.94);border-radius:50%;color:var(--noir);opacity:0;transition:opacity .2s;box-shadow:0 3px 10px rgba(8,10,10,.25)}
.ed-map-btn:hover .ed-map-zoom{opacity:1}
.ed-map-zoom svg{width:16px;height:16px}
.ed-map-credit{display:block;padding:6px 20px 0;font-size:10px;color:#85857f;line-height:1.4}.ed-map-credit a{color:var(--vert-fonce);font-weight:700}
.ed-parcours>p{padding:6px 20px 20px;font-size:12.5px;color:var(--gris);line-height:1.55;margin:0}
.ed-points{background:var(--noir);border-radius:var(--radius);padding:20px 24px;color:#fff}
.ed-points-h{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}
.ed-points-h .ic{width:20px;height:20px;color:var(--rouge)}
.ed-points-list{display:flex;flex-wrap:wrap;gap:10px}
.ed-pt{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:9px 14px;font-size:12.5px;font-weight:700}
.ed-pt .ic{width:15px;height:15px;color:var(--vert);flex-shrink:0}
.ed-pt em{font-style:normal;font-size:10px;color:rgba(255,255,255,.5);font-weight:600}
.ed-prog{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;margin-top:4px}
.ed-prog::before{content:'';position:absolute;left:8%;right:8%;top:19px;height:2px;background:#E2E2DE}
.ed-prog-step{text-align:center;position:relative;padding:0 6px}
.ed-prog-step .ic{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #DADAD5;color:var(--gris);display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:2;margin-bottom:11px}
.ed-prog-step .ic svg{width:19px;height:19px}
.ed-prog-step.on .ic{background:var(--rouge);border-color:var(--rouge);color:#fff}
.ed-prog-step b{display:block;font-family:var(--display);font-size:15px;letter-spacing:.01em}
.ed-prog-step.on b{color:var(--rouge)}
.ed-prog-step>span{display:block;font-size:11px;color:var(--gris);line-height:1.35;margin-top:3px}
.ed-prog-note{font-size:11px;color:#9a9a96;margin-top:18px;font-style:italic}
.ed-allstages{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.ed-mini{background:#fff;border:1px solid var(--bord);border-radius:12px;box-shadow:var(--shadow-card);padding:0;overflow:hidden;text-align:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.ed-mini:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(14,14,14,.14)}
.ed-mini:hover .ed-mini-ph{transform:scale(1.05)}
.ed-mini.on{border-color:var(--rouge);box-shadow:0 0 0 1.5px var(--rouge)}
.ed-mini-ph{display:block;position:relative;aspect-ratio:1/1;background-size:cover;background-position:center;transition:transform .4s var(--ease-out)}
.ed-mini-ph::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,10,.3),transparent 55%)}
.ed-mini .ed-mini-ph .ed-mini-n{position:absolute;left:7px;bottom:7px;z-index:1;width:27px;height:27px;border-radius:7px;margin:0;font-size:14px;box-shadow:0 2px 7px rgba(8,10,10,.32)}
.ed-mini-n{width:26px;height:26px;border-radius:50%;color:#fff;font-family:var(--display);font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.ed-mini time{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gris);margin-bottom:7px}
.ed-mini b{display:block;padding:9px 5px 11px;font-size:11.5px;font-weight:800;line-height:1.2}
.ed-mini b svg{width:11px;height:11px;color:var(--gris);vertical-align:middle;margin:0 1px}
.ed-mini .fl{display:inline-flex;color:#C9C9C4;margin:2px 0}
.ed-mini .fl svg{width:13px;height:13px}
.ed-hommage{background:var(--noir);color:#fff;border-radius:16px;padding:22px 26px;display:flex;align-items:flex-start;gap:16px;position:relative;overflow:hidden}
.ed-hommage::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rouge),var(--vert))}
.ed-hommage .ic{width:26px;height:26px;color:var(--rouge);flex-shrink:0;margin-top:3px}
.ed-hommage-l{display:block;font-family:var(--display);text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.55);margin-bottom:6px}
.ed-hommage p{font-family:var(--accent);font-style:italic;font-size:16.5px;line-height:1.55;color:#fff;margin:0;max-width:70ch}
/* Encart parcours modifié: même langage que le bloc hommage (carte noire,
   filet dégradé rouge/vert), pour une info de course qui doit trancher avec
   le blanc de la page sans ressembler à une alerte générique. */
.ed-alert{background:var(--noir);color:#fff;border-radius:16px;padding:24px 28px;display:flex;align-items:flex-start;gap:18px;position:relative;overflow:hidden}
.ed-alert::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rouge),var(--vert))}
.ed-alert-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);text-transform:uppercase;font-size:15px;letter-spacing:.07em;color:var(--rouge);white-space:nowrap;flex-shrink:0;margin-top:2px}
.ed-alert-badge svg{width:17px;height:17px}
.ed-alert p{margin:0;font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.88);max-width:75ch}
@media(max-width:720px){.ed-alert{flex-direction:column;gap:10px;padding:20px 22px}}
@media(max-width:1023px){
.enbref-grid{grid-template-columns:1fr 1fr 1fr}
.enbref-cell{padding:10px 16px}
.enbref-cell:nth-child(4){border-left:0;padding-left:16px}
.enbref-cell:nth-child(n+4){border-top:1px solid var(--bord)}
.ed-3col{grid-template-columns:1fr}
.ed-parcours{order:-1}
.ed-allstages{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:767px){
.ed-statstrip{grid-template-columns:1fr 1fr;gap:16px 24px}
.enbref-grid{grid-template-columns:1fr 1fr}
.enbref-cell:nth-child(odd){border-left:0;padding-left:0}
.enbref-cell:nth-child(n+3){border-top:1px solid var(--bord);padding-top:12px}
.ed-prog{grid-template-columns:1fr 1fr 1fr;gap:20px 0}
.ed-prog::before{display:none}
.ed-allstages{grid-template-columns:1fr 1fr}
}

/* Accueil: traitement éditorial contemporain, sans modifier les pages intérieures. */
.hdr{background:rgba(255,255,255,.94);position:sticky;top:0;box-shadow:0 1px 0 rgba(14,14,14,.08)}
.hdr .in{height:72px;gap:30px}
.logo .mark{height:52px}
.nav{gap:24px}
.nav a{font-size:11.5px;letter-spacing:.065em;transition:color .16s ease}
.nav a.on::after{left:18%;right:18%;bottom:-7px;height:3px;background:linear-gradient(90deg,var(--rouge) 0 58%,var(--vert) 58%);border-radius:99px}
.nav a:hover::after{content:'';position:absolute;left:18%;right:18%;bottom:-7px;height:3px;background:linear-gradient(90deg,var(--rouge) 0 58%,var(--vert) 58%);border-radius:99px;transform-origin:center;animation:nav-underline-in .2s var(--ease-out) both}
@keyframes nav-underline-in{from{transform:scaleX(.35);opacity:.35}to{transform:scaleX(1);opacity:1}}
.hdr-search{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:0;padding:9px;border-radius:50%;background:#f5f5f2;transition:color .16s ease,background .16s ease,transform .16s var(--ease-out)}
.hdr-search:hover{background:#ededE8;transform:translateY(-1px)}
.hdr-mail{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--rouge);border:1px solid rgba(227,6,19,.3);transition:color .16s ease,background .16s ease,transform .16s var(--ease-out)}
.hdr-mail:hover{color:#fff;background:var(--rouge);transform:translateY(-1px)}
.btn,.actu,.cat,.route-stop{transition-timing-function:var(--ease-out)}
.home-hero{min-height:640px;overflow:hidden}
.home-hero .hero-bg{transform:scale(1.015)}
.home-hero .hero-bg::after{background:linear-gradient(90deg,rgba(8,9,9,.88) 0%,rgba(8,9,9,.68) 38%,rgba(8,9,9,.16) 72%),linear-gradient(0deg,rgba(8,9,9,.52),transparent 42%)}
.hero-route-line{position:absolute;z-index:1;right:-4%;bottom:32px;width:min(68vw,900px);height:auto;color:#fff;opacity:.16;pointer-events:none}
.hero-route-line>path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 10}
.hero-route-line g{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.home-hero .in{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding-top:120px;padding-bottom:132px}
.home-hero-copy{max-width:720px}
.hero-kicker{display:flex;align-items:center;gap:0;width:max-content;max-width:100%;margin-bottom:24px;border:1px solid rgba(255,255,255,.28);border-radius:4px;overflow:hidden;background:rgba(14,14,14,.34);backdrop-filter:blur(10px)}
.hero-kicker span{padding:8px 13px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.hero-kicker span:first-child{background:var(--rouge)}
.home-hero h1{margin-top:12px;font-size:clamp(58px,7.6vw,104px);line-height:1;letter-spacing:0}
.home-hero h1 .l1{color:#fff;text-shadow:none;line-height:1.08;white-space:nowrap}
.home-hero h1 .l2{margin-top:8px;color:#fff;font-size:.58em;line-height:1.12;text-shadow:none;white-space:nowrap}
.home-hero h1 .l2 em{color:var(--rouge);font-style:normal}
.home-hero h1 .l2::after{display:none}
.hero-signature{display:flex;align-items:center;gap:7px;width:168px;height:6px;margin-top:19px;transform:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.18))}
.hero-signature i{display:block;height:6px;transform:skewX(-18deg);border-radius:0;background:var(--rouge)}
.hero-signature i:first-child{width:96px}.hero-signature i:last-child{width:52px;background:var(--vert)}
.home-hero p{max-width:540px;margin:28px 0 30px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.65;text-shadow:none}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-actions .btn{padding:15px 21px;border-radius:999px}
.hero-actions .btn>svg{width:17px;height:17px}
.hero-link{color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.55);padding:8px 0;transition:color .15s,border-color .15s}
.hero-link:hover{color:#fff;border-color:var(--rouge)}
.hero-edition{display:flex;align-items:flex-end;gap:12px;color:#fff;border-left:1px solid rgba(255,255,255,.35);padding:0 0 6px 24px;flex-shrink:0}
.hero-edition b{font-family:var(--display);font-weight:400;font-size:76px;line-height:.75}
.hero-edition span{font-size:10px;font-weight:800;line-height:1.45;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.72)}
.home-hero+.statbar-wrap{margin-top:-64px}
.home-hero+.statbar-wrap .statbar{max-width:1152px;border-radius:var(--radius-card);box-shadow:var(--shadow-bar)}
.home-hero+.statbar-wrap .stat{position:relative;padding:21px 22px;gap:14px;border-left:0}
.home-hero+.statbar-wrap .stat:not(:first-child)::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:1px;background:linear-gradient(transparent,var(--bord) 18% 82%,transparent)}
.home-hero+.statbar-wrap .stat .sic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:9px;border-radius:13px 13px 13px 4px;background:#f7f7f4}
.home-hero+.statbar-wrap .stat:nth-child(odd) .sic{background:#fff0f1}
.home-hero+.statbar-wrap .stat:nth-child(even) .sic{background:#eaf6ef}
.home-hero+.statbar-wrap .stat .sic svg{filter:drop-shadow(0 2px 3px rgba(14,14,14,.08))}
.home-hero+.statbar-wrap .stat span{font-size:12px;letter-spacing:.07em}
.home-hero+.statbar-wrap .stat small{font-size:11.5px;line-height:1.4;text-transform:none;letter-spacing:0}
.home-hero~.sec{padding-top:64px}
.home-hero~.sec:nth-of-type(even){background:linear-gradient(180deg,#f7f7f4 0%,#fff 100%)}
.home-hero~.sec .sec-head{margin-bottom:26px}
/* Sommaire éditorial (accueil « Découvrir ») */
.somm{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,4vw,56px)}
.somm-item{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;padding:18px 2px;border-top:1px solid var(--bord)}
.somm-item:hover{background:linear-gradient(90deg,rgba(227,6,19,.03),transparent)}
.somm-thumb{width:92px;height:66px;border-radius:10px;overflow:hidden;background:var(--gris-bg)}
.somm-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-out)}
.somm-item:hover .somm-thumb img{transform:scale(1.06)}
.somm-tx{min-width:0}
.somm-t{font-family:var(--display);font-size:22px;text-transform:uppercase;line-height:1;color:var(--noir);display:block;margin:0 0 5px;transition:color .15s}
.somm-item:hover .somm-t{color:var(--rouge)}
.somm-d{font-size:13.5px;color:#4a4a4d;line-height:1.45;margin:0}
.somm-go{color:var(--rouge);display:flex;align-items:center}.somm-go svg{width:18px;height:18px;transition:transform .18s ease}
.somm-item:hover .somm-go svg{transform:translateX(4px)}
@media(max-width:720px){.somm{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.somm-thumb img,.somm-go svg{transition:none}}
.home-hero~.sec .card,.home-hero~.sec .actu,.home-hero~.sec .cat,.home-hero~.sec .cd-card{border-radius:var(--radius-card)}
.home-hero~.sec .actu,.home-hero~.sec .cat{border-color:rgba(14,14,14,.08);box-shadow:0 1px 2px rgba(14,14,14,.03)}
.home-hero~.sec.home-featured{background:transparent}
.home-hero~.sec.home-results{background:transparent}
.home-hero~.sec .actu:hover,.home-hero~.sec .cat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.home-hero~.sec .actu .im,.home-hero~.sec .cat .im{overflow:hidden}
.home-hero~.sec .actu .im img,.home-hero~.sec .cat .im img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease-out)}
.home-hero~.sec .actu:hover .im img,.home-hero~.sec .cat:hover .im img{transform:scale(1.035)}
.home-hero~.sec .actu .im::after,.home-hero~.sec .cat .im::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.14),transparent 42%);pointer-events:none}
.home-hero~.sec .cat .im{position:relative}
.home-hero~.sec .cat .badge{width:46px;height:46px;border-width:4px;border-radius:14px 14px 14px 4px;box-shadow:0 8px 20px rgba(14,14,14,.18);overflow:hidden;isolation:isolate}
.home-hero~.sec .cat .badge::before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 48%);z-index:-1}
.home-hero~.sec .cat .badge::after{content:'';position:absolute;right:-8px;bottom:-8px;width:22px;height:22px;border:5px solid rgba(255,255,255,.22);border-radius:50%;z-index:-1}
.home-hero~.sec .cat .badge svg{width:23px;height:23px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.14))}
.home-hero~.sec .mosaic a{border-radius:var(--radius-card);overflow:hidden}
.home-capsule{background:#fff;padding:clamp(30px,4vw,46px) 0 0}
.capsule-intro{max-width:840px;font-size:clamp(17px,1.6vw,20px);line-height:1.62;color:#3a3a37;font-weight:500;margin:0}
.bandeau-transparence{font-size:13px;line-height:1.55;color:var(--gris);background:var(--gris-bg);border:1px solid var(--bord);border-radius:12px;padding:16px 20px;margin:0}
.bandeau-transparence a{color:var(--rouge);font-weight:700}
.home-bandeau{padding:clamp(30px,4vw,44px) 0}
.home-bandeau .bandeau-transparence{max-width:900px}
.res-lead-fig{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--bord);box-shadow:var(--shadow-card)}
.res-lead-fig img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.home-hero~.sec .mosaic a img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-out),filter .2s ease}
.home-manifeste{position:relative;padding:54px 0 64px;background:#fff;overflow:hidden}
.home-manifeste .in{display:grid;grid-template-columns:minmax(380px,.95fr) minmax(420px,1.05fr);align-items:center;gap:clamp(34px,6vw,88px);padding:0}
.manifest-photo{height:clamp(270px,31vw,390px);border-radius:14px;overflow:hidden;box-shadow:0 10px 24px rgba(14,14,14,.12)}
.manifest-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s var(--ease-out)}
.manifest-photo:hover img{transform:scale(1.04)}
.manifest-kicker{display:block;margin-bottom:16px;color:var(--vert);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.manifest-copy h2{font-family:var(--display);font-size:clamp(42px,5vw,70px);font-weight:400;line-height:.96;text-transform:uppercase;letter-spacing:-.018em}
.manifest-copy h2 em{color:var(--rouge);font-style:normal}
.manifest-intro{padding:20px 0 0;margin-top:22px;border-top:1px solid var(--bord)}
.manifest-intro p{max-width:58ch;color:#4e4e4a;font-size:15px;line-height:1.68}
.home-manifeste a{position:relative;z-index:1;display:flex;align-items:center;gap:8px;width:max-content;min-height:40px;margin-top:18px;color:var(--vert-fonce);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.home-manifeste a svg{width:16px;height:16px;transition:transform .16s ease}.home-manifeste a:hover svg{transform:translateX(4px)}
.home-results{padding-bottom:58px!important}
.result-grid{align-items:stretch}
.result-grid>div{display:flex;flex-direction:column;min-width:0}
.result-grid .classement,.gallery-panel{min-height:340px;height:100%;flex:1}
.result-grid .classement{display:flex;flex-direction:column;padding:28px 28px 24px;border:0;background:linear-gradient(145deg,#171817,#0b0c0b);color:#fff;box-shadow:0 18px 40px rgba(14,14,14,.14)}
.result-grid .classement h3{display:flex;align-items:center;gap:9px;margin-bottom:22px;color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.1em}
.result-grid .classement h3::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 5px rgba(227,6,19,.13)}
.result-grid .classement th{color:rgba(255,255,255,.38);border-color:rgba(255,255,255,.1)}
.result-grid .classement td{color:#fff;border-color:rgba(255,255,255,.08)}
.result-grid .classement td.rk{color:#fff}
.result-grid .classement tbody tr:first-child td.rk{color:var(--rouge)}
.result-grid .classement .wm{color:#fff;opacity:.045}
.home-wait{display:grid;grid-template-columns:62px 1fr;gap:20px;align-items:start;margin:auto 0;padding:12px 4px;text-align:left}
.wait-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:17px 17px 17px 5px;background:rgba(255,255,255,.07);color:var(--rouge)}
.wait-icon svg{width:29px;height:29px}
.wait-status{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:rgba(255,255,255,.7);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.wait-status i{width:6px;height:6px;border-radius:50%;background:var(--statut)}
.home-wait b{display:block;margin-bottom:8px;font-family:var(--display);font-size:25px;font-weight:400;line-height:1.05;text-transform:uppercase}
.home-wait p{max-width:44ch;color:rgba(255,255,255,.72);font-size:14px;line-height:1.6}
.home-wait a{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin-top:14px;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.home-wait a svg{width:13px;height:13px;color:var(--rouge);transition:transform .16s ease}
.home-wait a:hover svg{transform:translateX(4px)}
.gallery-panel{position:relative;border-radius:var(--radius-card);background:var(--noir);overflow:hidden;box-shadow:var(--shadow-lift)}
.gallery-panel .mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1.18fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:3px}
.gallery-panel .mosaic::after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(0deg,rgba(5,7,7,.86),transparent);pointer-events:none}
.gallery-panel .mosaic a{border-radius:0!important;transition:filter .2s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.gallery-panel .mosaic a:hover img{filter:brightness(1.08);transform:scale(1.025)}
.gallery-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:25px 26px;color:#fff;pointer-events:none}
.gallery-caption span{display:block;margin-bottom:6px;color:rgba(255,255,255,.75);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.gallery-caption b{display:block;font-family:var(--display);font-size:23px;font-weight:400;line-height:1;text-transform:uppercase}
.gallery-caption a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--rouge);color:#fff;pointer-events:auto;flex-shrink:0;transition:transform .16s ease,background .16s ease}
.gallery-caption a:hover{transform:translateX(3px);background:var(--rouge-fonce)}
.gallery-caption a svg{width:18px;height:18px}
.home-route{padding:42px 0 22px;background:#fff;overflow:hidden}
.route-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.route-heading span{display:block;margin-bottom:8px;color:var(--rouge);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.route-heading h2{font-family:var(--display);font-size:clamp(32px,4vw,50px);font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:-.01em}
.route-heading>a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding-bottom:3px;color:var(--vert-fonce);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.route-heading>a svg{width:15px;height:15px;transition:transform .16s ease}
.route-heading>a:hover svg{transform:translateX(4px)}
.route-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:16px}
.route-stop{display:grid;grid-template-columns:44px minmax(0,1fr) 74px;align-items:center;gap:16px;min-width:0;min-height:106px;padding:16px 18px;background:#fff;border:1px solid var(--bord);border-radius:13px;box-shadow:0 7px 20px rgba(12,31,25,.05);transition:transform .18s var(--ease-out),box-shadow .18s ease,border-color .18s ease}
.route-stop:hover{transform:translateY(-2px);border-color:#cfcfca;box-shadow:0 12px 26px rgba(12,31,25,.1)}
.route-n{width:44px;height:44px;border-radius:7px;display:grid;place-items:center;background:var(--noir);color:#fff;font-family:var(--display);font-size:20px;line-height:1}
.route-stop:nth-child(3n+1) .route-n{background:var(--rouge)}.route-stop:nth-child(3n+2) .route-n{background:var(--noir)}.route-stop:nth-child(3n) .route-n{background:var(--vert)}
.route-copy{display:block;min-width:0}.route-meta{display:flex;align-items:center;gap:7px;margin-bottom:6px;min-width:0}.route-copy small{color:#999994;font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.route-tag{display:inline-flex;padding:3px 6px;border-radius:4px;background:var(--rouge);color:#fff;font-size:8px;font-style:normal;font-weight:900;line-height:1;letter-spacing:.04em;text-transform:uppercase}.route-tag-done{background:var(--noir)}
.route-tag-live{background:var(--vert)}
.chip-done{background:var(--noir);color:#fff}
.chip-live{background:var(--vert);color:#fff}
.route-line{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}.route-copy b,.route-copy strong{min-width:0;font-size:15px;font-style:normal;font-weight:800;line-height:1.15;text-transform:none}.route-copy i{display:flex;flex:0 0 auto;color:var(--vert)}.route-copy i svg{width:14px;height:14px}.route-copy strong{color:var(--vert-fonce)}
.route-copy>a{display:inline-flex;align-items:center;gap:4px;margin-top:7px;color:var(--vert-fonce);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.route-copy>a svg{width:13px;height:13px}
.route-map{width:74px;height:74px;border-radius:10px;overflow:hidden;background:var(--vert-pale);display:block}.route-map img{width:100%;height:100%;object-fit:cover;transition:transform .25s var(--ease-out)}.route-map:hover img{transform:scale(1.06)}
.home-route+.sec{padding-top:66px}
.home-hero~.sec .moment-grid{align-items:stretch}
.home-hero~.sec .moment-grid>div{display:flex;flex-direction:column;min-width:0}
.home-featured{padding-top:68px!important;background:transparent}
.home-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;min-height:0;height:auto}
.home-news .actu{position:relative;min-height:0;height:clamp(360px,34vw,500px);border:0!important;background:var(--noir);isolation:isolate;border-radius:12px;box-shadow:0 10px 22px rgba(14,14,14,.12)}
.home-news .actu .im{position:absolute;inset:0;aspect-ratio:auto;background-position:center;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.home-news .actu .im::after{background:linear-gradient(0deg,rgba(5,7,7,.92) 0%,rgba(5,7,7,.28) 58%,rgba(5,7,7,.04) 100%)!important}
.home-news .actu:hover{transform:none!important;box-shadow:0 16px 36px rgba(14,14,14,.18)!important}
.home-news .actu:hover .im img{transform:scale(1.035)}
.home-news .actu .tx{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px 20px 18px;color:#fff}
.home-news .actu b{display:block;max-width:280px;font-size:clamp(20px,2vw,29px);line-height:1.02;margin:0;color:#fff;text-transform:uppercase;letter-spacing:-.01em}
.home-news .actu p{display:none}
.featured-discover{display:inline-flex;align-items:center;gap:6px;margin-top:17px;padding:9px 13px;border-radius:4px;background:var(--rouge);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;transition:background .16s ease,transform .16s ease}
.featured-discover svg{width:13px;height:13px}.home-news .actu:hover .featured-discover{background:var(--rouge-fonce);transform:translateX(2px)}
.home-news .actu-pill{display:block;z-index:3;left:16px;top:15px;bottom:auto;border-radius:4px;padding:5px 10px;box-shadow:none}
.edition-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(230px,.95fr);min-height:440px;height:auto;flex:1;border-radius:var(--radius-card);background:#111;color:#fff;overflow:hidden;box-shadow:var(--shadow-lift)}
.edition-copy{padding:34px 34px 32px;position:relative;z-index:2}
.edition-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:22px;color:rgba(255,255,255,.78);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.edition-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--rouge);box-shadow:0 0 0 5px rgba(227,6,19,.14)}
.edition-feature h3{font-family:var(--display);font-size:clamp(34px,3.3vw,48px);font-weight:400;line-height:.96;text-transform:uppercase;letter-spacing:-.01em}
.edition-intro{max-width:42ch;margin:18px 0 22px;color:rgba(255,255,255,.76);font-size:15px;line-height:1.65}
.edition-opening{padding:15px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.edition-opening>span,.edition-timer>span{display:block;margin-bottom:7px;color:rgba(255,255,255,.68);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.edition-opening b{display:flex;align-items:center;gap:7px;font-size:14px;text-transform:uppercase;letter-spacing:.02em}
.edition-opening b i{display:flex;color:var(--rouge)}
.edition-opening b svg{width:13px;height:13px}
.edition-opening small{display:block;margin-top:5px;color:rgba(255,255,255,.68);font-size:12px;text-transform:uppercase}
.edition-timer{margin:17px 0 20px}
.edition-feature .cd-boxes{display:flex;gap:16px;margin:0}
.edition-feature .cd-box{display:flex;align-items:baseline;gap:4px;padding:0;border:0;background:none}
.edition-feature .cd-box b{font-size:23px;color:#fff}
.edition-feature .cd-box span{font-size:10px;color:rgba(255,255,255,.65)}
.edition-feature .cd-live{margin:0;color:#fff;font-size:14px}
.edition-feature .btn{min-height:44px;padding:12px 17px;border-radius:999px;font-size:12px}
.edition-map{position:relative;display:flex;flex-direction:column;justify-content:center;padding:27px 25px;background:radial-gradient(circle at 48% 48%,#173d2a 0%,#10251b 54%,#0b1711 100%);overflow:hidden}
.edition-map::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.edition-map-top{position:absolute;z-index:2;left:24px;top:23px}
.edition-map-top span{display:block;color:var(--rouge);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.edition-map-top b{display:block;margin-top:3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.edition-map svg{position:relative;z-index:1;width:100%;height:auto;max-height:300px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28))}
.edition-map>small{position:absolute;z-index:2;right:20px;bottom:18px;color:rgba(255,255,255,.38);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.home-hero~.sec .cats{grid-template-columns:repeat(6,1fr)}
.home-hero~.sec .cat b{font-size:14px}
.home-hero~.sec .cat p{font-size:13px;line-height:1.55}
@media(max-width:1023px){
.home-hero{min-height:590px}
.home-hero .in{padding-top:92px;padding-bottom:120px}
.hero-edition{display:none}
.hero-route-line{right:-24%;width:92vw;opacity:.12}
.home-manifeste .in{grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:34px}
.route-track{column-gap:14px}
.home-hero~.sec .cats{grid-template-columns:repeat(3,1fr)}
.edition-feature{grid-template-columns:1.15fr .85fr}
.home-news{min-height:420px}
.result-grid .classement,.gallery-panel{min-height:350px}
}
@media(max-width:1120px){.nav{top:72px}}
@media(max-width:767px){
.home-hero{min-height:590px;align-items:flex-end}
.home-hero .hero-bg{background-position:62% center!important}
.home-hero .hero-bg::after{background:linear-gradient(90deg,rgba(8,9,9,.82),rgba(8,9,9,.28)),linear-gradient(0deg,rgba(8,9,9,.8),transparent 62%)}
.home-hero .in{padding-top:90px;padding-bottom:104px}
.hero-kicker span{font-size:10px;padding:8px 10px;letter-spacing:.06em}
.hero-kicker span:last-child{white-space:normal}
.home-hero h1{margin-top:8px;font-size:clamp(48px,15vw,66px)}
.home-hero h1 .l1{white-space:normal}.home-hero h1 .l2{margin-top:8px;font-size:.62em;line-height:1.12;white-space:normal}
.home-hero p{font-size:15px;margin:22px 0 25px}
.hero-actions{gap:18px}
.home-hero+.statbar-wrap{margin-top:-50px}
.home-hero~.sec{padding-top:50px}
.home-manifeste{padding:24px 0 40px}
.home-manifeste .in{grid-template-columns:1fr;gap:27px}
.manifest-photo{height:190px;order:0}.manifest-copy{order:1}.manifest-intro{order:2}
.manifest-copy h2{font-size:clamp(32px,9vw,48px)}
.manifest-intro{padding:0;margin-top:18px;border-top:1px solid var(--bord)}
.manifest-intro p{font-size:15px}
.home-manifeste a{margin-top:0;white-space:normal}
.home-route{padding-top:38px}
.route-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}
.route-heading>a{padding-bottom:0}
.route-track{grid-template-columns:1fr}.route-stop{grid-template-columns:42px minmax(0,1fr) 64px;gap:12px;padding:14px 13px}.route-n{width:42px;height:42px}.route-map{width:64px;height:64px}.route-copy b,.route-copy strong{font-size:14px}
.edition-feature{grid-template-columns:1fr}
.edition-copy{padding:28px 25px 30px}
.edition-map{min-height:310px}
.home-news{grid-template-columns:1fr 1fr;min-height:0;height:auto}
.result-grid .classement,.gallery-panel{min-height:360px}
.home-hero~.sec .cats{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
.home-news{grid-template-columns:1fr;grid-template-rows:repeat(3,260px)}
.result-grid .classement{padding:24px 20px}
.home-wait{grid-template-columns:1fr}
.gallery-caption{padding:21px 20px}
.gallery-caption b{font-size:20px}
.home-hero~.sec .cats{grid-template-columns:1fr}
}

/* --- FAQ accordéon (GEO) --- */
.faq-sec .faq-intro{max-width:720px;color:var(--gris);margin:-6px 0 22px;font-size:16px}
.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:none;align-items:start}
.tour-faq .faq-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;align-items:start}
.faq-q{border:1px solid var(--bord);border-radius:12px;background:#fff;overflow:hidden}
.faq-q summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;
  padding:18px 20px;font-weight:700;font-size:17px;color:var(--noir)}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary:hover{color:var(--rouge)}
.faq-plus{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;
  color:var(--rouge);transform:rotate(90deg);transition:transform .25s var(--ease,ease)}
.faq-plus svg{width:18px;height:18px}
.faq-q[open] .faq-plus{transform:rotate(-90deg)}
.faq-a{padding:0 20px 20px;color:#333;font-size:16px;line-height:1.65;max-width:760px}
.faq-a p{margin:0 0 10px}.faq-a p:last-child{margin:0}
/* --- Tableau comparatif --- */
.cmp-wrap{overflow-x:auto;margin:22px 0;border:1px solid var(--bord);border-radius:12px}
.cmp{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.cmp caption{text-align:left;padding:14px 16px;font-weight:700;color:var(--noir);
  background:var(--gris-bg);border-bottom:1px solid var(--bord)}
.cmp th,.cmp td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--bord);vertical-align:top}
.cmp thead th{background:var(--noir);color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.cmp thead th:first-child{background:#232323}
.cmp tbody th[scope=row]{font-weight:700;color:var(--noir);background:var(--gris-bg);width:32%}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp td:last-child{color:#0a5c2b}
/* --- Glossaire --- */
.glossary{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin:20px 0 0}
.gl-item{border-top:1px solid var(--bord);padding:14px 0 0}
.gl-item dt{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;color:var(--noir);font-size:18px;line-height:1;margin:0 0 6px}
.gl-item:nth-child(odd) dt{color:var(--rouge)}.gl-item:nth-child(even) dt{color:var(--vert)}
.gl-item dd{margin:0;color:#444;font-size:15px;line-height:1.55}
@media(max-width:767px){.glossary{grid-template-columns:1fr}}
/* --- Prose evergreen (blocs de texte longs) --- */
.prose{max-width:760px}
.prose p{color:#2a2a2a;font-size:17px;line-height:1.72;margin:0 0 16px}
.prose h3{font-size:24px;color:var(--noir);margin:30px 0 12px}
.prose h3:first-child{margin-top:0}
.prose ul{margin:0 0 16px;padding-left:20px}
.prose li{color:#2a2a2a;font-size:16px;line-height:1.65;margin:0 0 7px}
.prose strong{color:var(--noir)}
.prose .src-note{font-size:13px;color:var(--gris);border-top:1px solid var(--bord);padding-top:12px;margin-top:22px}
.prose .src-note a{color:var(--gris)}
/* --- Empty state (résultats à venir, etc.) --- */
.empty-state{display:flex;gap:18px;align-items:flex-start;background:var(--gris-bg);
  border:1px solid var(--bord);border-radius:14px;padding:24px 26px;max-width:760px}
.empty-state .ic{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;
  background:#fff;border-radius:50%;color:var(--rouge);border:1px solid var(--bord)}
.empty-state .ic svg{width:24px;height:24px}
.empty-state b{display:block;font-size:18px;color:var(--noir);margin:2px 0 6px}
.empty-state p{margin:0;color:#444;font-size:15px;line-height:1.6}
/* --- Calendrier des étapes --- */
.cal{width:100%;border-collapse:collapse;font-size:15px;margin:4px 0 0;max-width:760px}
.cal caption{text-align:left;font-weight:700;color:var(--noir);padding:0 0 12px}
.cal th,.cal td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--bord)}
.cal thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris)}
.cal tbody tr:hover{background:var(--gris-bg)}
.cal .cal-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;
  color:#fff;font-weight:800;font-size:13px}
.cal a{color:var(--noir);font-weight:600}.cal a:hover{color:var(--rouge)}
.cal td svg{width:15px;height:15px;vertical-align:middle;color:var(--gris);margin:0 4px}
.cal td:last-child{white-space:nowrap}
@media(max-width:600px){.cal{font-size:13px}.cal th,.cal td{padding:10px 8px}
  .cal td:last-child{white-space:normal}.cal td svg{margin:0 2px}}
/* --- Timeline chronologique (patrimoine), toujours dans l'ordre --- */
.tl2{list-style:none;margin:8px 0 0;padding:0;position:relative;max-width:820px}
.tl2::before{content:'';position:absolute;left:23px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--rouge),var(--vert) 55%,var(--noir));border-radius:2px;opacity:.5}
.tl2-item{position:relative;display:grid;grid-template-columns:48px 1fr;gap:18px;padding:0 0 22px}
.tl2-item:last-child{padding-bottom:0}
.tl2-dot{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;background:#fff;
  border:2px solid var(--c);color:var(--c);display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.07)}
.tl2-dot svg{width:22px;height:22px}
.tl2-card{background:#fff;border:1px solid var(--bord);border-left:4px solid var(--bord);
  border-radius:12px;padding:16px 20px;transition:box-shadow .18s,transform .18s}
.tl2-card:hover{box-shadow:0 12px 30px rgba(12,31,25,.10);transform:translateX(3px)}
.tl2-year{font-family:var(--display);font-size:26px;line-height:1;display:block;margin:0 0 4px}
.tl2-card b{display:block;font-size:17px;color:var(--noir);margin:0 0 6px}
.tl2-card p{font-size:15px;color:#444;line-height:1.6;margin:0}
@media(max-width:600px){.tl2::before{left:18px}.tl2-item{grid-template-columns:38px 1fr;gap:14px}
  .tl2-dot{width:38px;height:38px}.tl2-dot svg{width:18px;height:18px}.tl2-year{font-size:22px}}
/* --- Fil d'articles (actualités) --- */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:1023px){.art-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.art-grid{grid-template-columns:1fr}}
.art-card{display:flex;flex-direction:column;border:1px solid var(--bord);border-radius:14px;
  overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}
.art-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.10);transform:translateY(-3px)}
.art-card .cover{aspect-ratio:16/10;background:var(--gris-bg) center/cover;position:relative}
.art-card .cat{position:absolute;left:12px;top:12px;background:var(--rouge);color:#fff;
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;border-radius:6px}
.art-card .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.art-card time{font-size:12px;color:var(--gris);text-transform:uppercase;letter-spacing:.04em}
.art-card h3{font-size:19px;line-height:1.22;color:var(--noir);margin:0}
.art-card p{font-size:14px;color:#555;line-height:1.55;margin:0;flex:1}
.art-card .more{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--rouge);display:inline-flex;align-items:center;gap:6px;margin-top:2px}
.art-card .more svg{width:14px;height:14px}
/* --- Page article --- */
.art-head{max-width:800px;margin:0 auto}
.art-byline{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;color:var(--gris);
  font-size:14px;margin:14px 0 0}
.art-byline .art-cat{background:var(--noir);color:#fff;font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:6px}
.art-byline b{color:var(--noir);font-weight:700}
/* <img> et non plus background-image (LCP + Google Images): d'ou le
   object-fit qui reprend le cadrage que faisait `center/cover`. */
.art-cover{display:block;width:100%;max-width:1000px;height:auto;margin:24px auto 0;
  border-radius:16px;overflow:hidden;aspect-ratio:16/8;object-fit:cover;
  background:var(--gris-bg)}
.art-body{max-width:720px;margin:0 auto}
/* Titres de section: filet vert (rappel DA) */
.art-body h2{position:relative;padding-left:16px;margin:34px 0 12px}
/* Plus de filet lateral: DESIGN.md interdit les side-stripe borders, et ils
   se repetaient 12 fois sur un seul article. La hierarchie passe par la
   graisse et l'echelle, pas par un trait de couleur decoratif. */
.art-body h2{padding-left:0}


.art-related{border-top:1px solid var(--bord);padding-top:22px;margin-top:30px}
.art-related-links{display:flex;flex-wrap:wrap;gap:10px}
.art-related-links a{border:1px solid var(--bord);border-radius:999px;padding:8px 16px;
  font-size:14px;font-weight:600;color:var(--noir)}
.art-related-links a:hover{border-color:var(--rouge);color:var(--rouge)}
/* --- Grille des territoires (hub La Martinique) --- */
.terr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1023px){.terr-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.terr-grid{grid-template-columns:1fr}}
.terr-card{display:flex;flex-direction:column;border:1px solid var(--bord);border-radius:14px;
  overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}
.terr-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.11);transform:translateY(-3px)}
.terr-card .cover{aspect-ratio:4/3;background:var(--gris-bg) center/cover;position:relative}
.terr-card .cover img{width:100%;height:100%;object-fit:cover;display:block}
.terr-card .cat{position:absolute;left:10px;top:10px;background:var(--vert);color:#fff;
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 9px;border-radius:6px}
.terr-card .bd{padding:15px 17px 17px;display:flex;flex-direction:column;gap:5px;flex:1}
.terr-card .bd b{font-family:var(--display);font-size:22px;color:var(--noir);line-height:1}
.terr-card .bd small{font-size:13px;color:var(--gris);line-height:1.4;flex:1}
.terr-card .more{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--rouge);display:inline-flex;align-items:center;gap:6px;margin-top:4px}
.terr-card .more svg{width:14px;height:14px}
/* trailing arrow in feature cards used as links (rubriques) */
a.feature>span:not(.ic) svg{width:14px;height:14px;vertical-align:middle;margin-left:5px}
a.feature>span:not(.ic){font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rouge);display:inline-flex;align-items:center}

/* --- Page territoire evergreen --- */
.terr-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start}
.terr-facts{background:var(--gris-bg);border:1px solid var(--bord);border-radius:14px;padding:22px;position:sticky;top:96px}
.terr-facts h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);margin:0 0 14px}
.terr-map{margin:0 0 18px;border:1px solid var(--bord);border-radius:11px;overflow:hidden;background:#fff}
.terr-map>svg{display:block;width:100%;height:auto;max-height:158px;padding:13px 14px 2px}
.terr-map figcaption{display:flex;align-items:center;gap:6px;justify-content:center;padding:2px 12px 11px;font-size:11.5px;font-weight:700;color:var(--noir);text-align:center}
.terr-map figcaption .ic{display:inline-flex;color:var(--rouge)}
.terr-map figcaption .ic svg{width:14px;height:14px}
.terr-facts .row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--bord);align-items:flex-start}
.terr-facts .row:last-child{border-bottom:0}
.terr-facts .ic{color:var(--rouge);flex:0 0 auto;margin-top:1px}
.terr-facts .ic svg{width:19px;height:19px}
.terr-facts em{display:block;font-style:normal;font-size:12px;color:var(--gris);text-transform:uppercase;letter-spacing:.03em}
.terr-facts b{font-size:15px;color:var(--noir);font-weight:700}
.terr-spots{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 0}
.terr-spot{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--bord);
  border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--noir)}
.terr-spot .ic{color:var(--vert)}.terr-spot .ic svg{width:15px;height:15px}
.spots-map{display:grid;grid-template-columns:1.4fr .6fr;gap:22px;align-items:stretch}
.sm-leaflet{aspect-ratio:4/3.2;border-radius:16px;overflow:hidden;border:1px solid var(--bord);background:#e8eef0;z-index:0}
.sm-mk{display:block;width:18px;height:18px;border-radius:50%;background:var(--c,var(--rouge));border:3px solid #fff;box-shadow:0 2px 6px rgba(8,10,10,.45)}
.leaflet-popup-content{font-family:var(--body);font-size:13.5px;font-weight:700;color:var(--noir);margin:10px 13px}
.leaflet-container{font-family:var(--body)}
.sm-list{display:flex;flex-direction:column;gap:8px;justify-content:center}
.sm-chip{display:flex;align-items:center;gap:9px;text-align:left;background:#fff;border:1px solid var(--bord);border-radius:10px;padding:11px 14px;font-size:14px;font-weight:600;color:var(--noir);cursor:pointer;transition:border-color .15s,background .15s}
.sm-chip .ic{color:var(--rouge);width:16px;height:16px;flex:0 0 auto}
.sm-chip em{margin-left:auto;font-style:normal;font-size:9.5px;color:var(--gris);text-transform:uppercase;letter-spacing:.04em}
.sm-chip:hover,.sm-chip.on{border-color:var(--rouge);background:linear-gradient(90deg,rgba(227,6,19,.05),#fff)}
.sm-chip-link{text-decoration:none}
.sm-chip-link .sm-go{margin:-7px -8px -7px auto;padding:7px 9px;color:var(--rouge);display:inline-flex;align-items:center;flex:0 0 auto;border-radius:8px;transition:background .15s}
.sm-chip-link .sm-go svg{width:16px;height:16px}
.sm-chip-link .sm-go:hover{background:rgba(227,6,19,.14)}
.sm-recenter{width:34px;height:34px;display:grid;place-items:center;background:#fff;border:0;border-radius:8px;color:var(--noir);cursor:pointer;box-shadow:0 2px 8px rgba(8,10,10,.28);transition:color .15s,background .15s}
.sm-recenter:hover{color:var(--rouge);background:#fff}
.leaflet-control.sm-recenter{margin-left:10px}
.sm-hint{grid-column:1/-1;font-size:12px;color:var(--gris);margin-top:2px}
@media(max-width:820px){.spots-map{grid-template-columns:1fr}.sm-leaflet{aspect-ratio:1/1}}
.terr-team{border:1px solid var(--bord);border-top:3px solid var(--rouge);border-radius:0 0 12px 12px;
  padding:20px 22px;margin:8px 0 0;background:#fff}
.terr-team .sur{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--rouge);font-weight:700}
.terr-team b{display:block;font-size:20px;color:var(--noir);margin:4px 0 6px}
.terr-team p{color:#444;font-size:15px;line-height:1.6;margin:0}
.terr-stage-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  background:var(--noir);color:#fff;border-radius:14px;padding:24px 28px;margin:4px 0 0}
.terr-stage-cta .tx b{display:block;font-size:20px;margin:0 0 4px}
.terr-stage-cta .tx p{color:#c9c9c9;font-size:15px;margin:0;max-width:520px}
.terr-stage-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}
@media(max-width:767px){.terr-stage-links{grid-template-columns:1fr}}
.terr-stage-link{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--bord);
  border-radius:12px;padding:14px 16px;transition:box-shadow .18s,transform .18s,border-color .18s}
.terr-stage-link:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);transform:translateY(-2px);border-color:var(--rouge)}
.terr-stage-link .tsl-media{flex:0 0 auto;position:relative;width:96px;height:72px;border-radius:9px;overflow:hidden;background-size:cover;background-position:center}
.terr-stage-link .tsl-media::after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,rgba(8,10,10,.12),rgba(8,10,10,.5))}
.terr-stage-link .tsl-media .ed-mini-n{position:absolute;left:8px;bottom:8px;z-index:1;flex:0 0 auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#fff;font-family:var(--display);font-size:15px;box-shadow:0 2px 8px rgba(8,10,10,.35)}
.terr-stage-tx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.terr-stage-tx em{font-style:normal;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);font-weight:800}
.terr-stage-tx em.tsl-dep{color:var(--vert)}
.terr-stage-tx em.tsl-arr{color:var(--rouge)}
.terr-stage-tx b{font-size:15px;color:var(--noir);display:flex;align-items:center;gap:6px}
.terr-stage-tx b svg{width:14px;height:14px;color:var(--rouge)}
.terr-stage-tx small{font-size:12px;color:var(--gris)}
.terr-stage-go{flex:0 0 auto;color:var(--rouge)}.terr-stage-go svg{width:18px;height:18px}
.terr-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.terr-gallery button{position:relative;border:0;padding:0;cursor:pointer;border-radius:12px;
  overflow:hidden;aspect-ratio:4/3;background:var(--gris-bg)}
.terr-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease,ease)}
.terr-gallery button:hover img{transform:scale(1.05)}
.terr-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 12px 9px;
  background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:12px;
  text-align:left;font-weight:600}
.terr-gallery .tl-zoom{position:absolute;top:10px;right:10px;width:30px;height:30px;display:grid;
  place-items:center;background:rgba(255,255,255,.9);border-radius:50%;color:var(--noir);opacity:0;transition:opacity .25s}
.terr-gallery button:hover .tl-zoom{opacity:1}
.terr-credit{font-size:12px;color:var(--gris);margin:10px 0 0}
.terr-credit a{color:var(--gris)}
@media(max-width:1023px){.terr-intro{grid-template-columns:1fr}.terr-facts{position:static}}
@media(max-width:600px){.terr-gallery{grid-template-columns:1fr 1fr}}

/* ============ /la-yole/ pilier : redo impeccable ============ */
/* Définition : prose + photo verticale */
.ly-def-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,5vw,60px);align-items:center}
@media(max-width:900px){.ly-def-grid{grid-template-columns:1fr;gap:30px}}
.ly-def-copy .sec-head{margin-bottom:16px}
.ly-def-lead{font-family:var(--display);font-weight:400;font-size:clamp(23px,2.5vw,32px);
  line-height:1.12;letter-spacing:-.01em;color:var(--noir);margin:0 0 18px;text-wrap:balance}
.ly-def-copy p:not(.ly-def-lead){color:#26262b;font-size:16.5px;line-height:1.72;margin:0 0 14px;max-width:62ch}
.ly-def-copy strong{color:var(--noir)}
.ly-distinction{margin:24px 0 0;padding-top:19px;border-top:2px solid var(--noir)}
.ly-distinction-t{display:block;font-family:var(--display);text-transform:uppercase;font-size:13px;letter-spacing:.08em;color:var(--gris);margin-bottom:15px}
.ly-distinction-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.lyd{display:flex;flex-direction:column;gap:6px}
.lyd b{font-family:var(--display);font-size:clamp(30px,4vw,38px);line-height:.86;letter-spacing:.005em}
.lyd:nth-child(1) b{color:var(--rouge)}
.lyd:nth-child(2) b{color:var(--vert)}
.lyd span{font-size:12.5px;line-height:1.45;color:#4a4a4d;max-width:32ch}
@media(max-width:560px){.ly-distinction-row{grid-template-columns:1fr;gap:18px}}
.gom-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,54px);align-items:center;margin-bottom:clamp(26px,3.5vw,38px)}
.gom-fig{margin:0!important;max-width:100%!important}
.gom-fig img{aspect-ratio:16/11;object-fit:cover}
.gom-tx{max-width:none}
.gom-tx p{margin:0 0 16px}
.gom-tx p:last-child{margin:0}
@media(max-width:900px){.gom-grid{grid-template-columns:1fr;gap:22px}}
.hist-toc{display:flex;flex-wrap:wrap;align-items:baseline;gap:11px 22px;padding-top:20px;padding-bottom:22px;border-bottom:1px solid var(--bord)}
.hist-toc-t{font-family:var(--display);text-transform:uppercase;font-size:13px;letter-spacing:.07em;color:var(--gris)}
.hist-toc a{position:relative;font-size:13.5px;font-weight:700;color:var(--noir);text-decoration:none;padding-bottom:4px;white-space:nowrap;transition:color .15s}
.hist-toc a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--rouge);transition:right .22s var(--ease-out)}
.hist-toc a:hover,.hist-toc a:focus-visible{color:var(--rouge)}
.hist-toc a:hover::after,.hist-toc a:focus-visible::after{right:0}
@media(prefers-reduced-motion:reduce){.hist-toc a::after{transition:none}}
.hist-2col{display:grid;grid-template-columns:1fr minmax(250px,.56fr);gap:clamp(30px,4vw,54px);align-items:start;margin-top:6px}
.hist-2col .prose{max-width:none}
@media(max-width:860px){.hist-2col{grid-template-columns:1fr;gap:26px}}
.hist-rail{background:#fff;border:1px solid var(--bord);border-radius:16px;padding:8px 24px 22px;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}
.hist-rail::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--rouge),var(--vert))}
.hist-rail-t{display:block;font-family:var(--display);text-transform:uppercase;font-size:13px;letter-spacing:.07em;color:var(--gris);padding:20px 0 4px}
.hist-rail .hr-row{padding:14px 0;border-top:1px solid var(--bord)}
.hist-rail .hr-row:first-of-type{border-top:0}
.hist-rail .hr-row b{display:block;font-family:var(--display);text-transform:uppercase;font-size:18px;line-height:1.05;color:var(--noir);margin-bottom:5px}
.hist-rail .hr-row span{font-size:13px;color:#4a4a4d;line-height:1.45}
.hub-vivre{display:grid;grid-template-columns:1fr minmax(260px,.62fr);gap:clamp(30px,4vw,54px);align-items:start;margin-top:6px}
.hub-vivre .prose{max-width:none}
.hub-media{margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--bord);background:#fff}
.hub-media img{width:100%;height:auto;object-fit:cover;display:block;aspect-ratio:5/6}
.hub-media figcaption{font-size:12px;color:var(--gris);padding:10px 14px}
@media(max-width:860px){.hub-vivre{grid-template-columns:1fr;gap:26px}.hub-media img{aspect-ratio:16/10}}
.infographic{margin:6px 0 0;border:1px solid var(--bord);border-radius:16px;background:#fff;padding:clamp(18px,3vw,30px);box-shadow:var(--shadow-card)}
.ig-svg{width:100%}
.ig-svg svg{width:100%;height:auto;display:block}
.ig-legend{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px 26px}
.ig-legend li{display:flex;gap:11px;align-items:flex-start}
.ig-n{flex:0 0 auto;width:24px;height:24px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;margin-top:1px}
.ig-legend li>span{font-size:13px;color:var(--gris);line-height:1.45}
.ig-legend li>span b{display:block;font-size:14px;color:var(--noir);margin-bottom:1px}
.infographic figcaption{margin-top:16px;font-size:13px;color:var(--gris);line-height:1.5;border-top:1px solid var(--bord);padding-top:14px}
.infographic-row{display:block}
.infographic-row .ig-svg{max-width:540px;margin:0 auto}
.figures-portraits{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-top:28px;max-width:600px}
.fig-card{margin:0;background:#fff;border:1px solid var(--bord);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card)}
.fig-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block}
.fig-card figcaption{padding:14px 16px 16px}
.fig-card figcaption b{display:block;font-family:var(--display);text-transform:uppercase;font-size:17px;line-height:1.1}
.fig-card figcaption span{display:block;font-size:12px;color:var(--rouge);font-weight:700;margin:3px 0 8px}
.fig-card figcaption p{font-size:13px;color:var(--gris);line-height:1.5;margin:0}
.fig-side{margin-top:0;max-width:none;grid-template-columns:1fr;align-content:start}
.fig-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.fig-media{margin:0;background:#fff;border:1px solid var(--bord);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:transform .18s var(--ease-out),box-shadow .18s ease}
.fig-media:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(14,14,14,.1)}
.fig-media-im{aspect-ratio:1/1;background-size:cover;background-position:center top;display:block}
.fig-media-mono{aspect-ratio:1/1;display:grid;place-items:center;font-family:var(--display);font-size:clamp(44px,6vw,58px);color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,var(--noir),#2c2c2c)}
.fig-media-tx{padding:16px 18px 18px;display:flex;flex-direction:column;gap:3px;flex:1}
.fig-media-tx b{font-family:var(--display);text-transform:uppercase;font-size:17px;line-height:1.1}
.fig-role{font-size:12px;color:var(--rouge);font-weight:700;margin-bottom:5px}
.fig-desc{font-size:13px;color:var(--gris);line-height:1.5}
@media(max-width:820px){.fig-row{grid-template-columns:1fr}.fig-media{flex-direction:row}.fig-media-im,.fig-media-mono{width:120px;aspect-ratio:1/1;flex:0 0 auto}}
.art-fig{margin:26px 0;border-radius:14px;overflow:hidden;border:1px solid var(--bord)}
/* Toutes les figures faisaient la meme taille au pixel pres, ce qui donnait
   un rythme de boucle. Une figure sur deux passe en pleine largeur. */
.art-fig-large{max-width:1000px;margin-left:calc(50% - 500px);margin-right:calc(50% - 500px)}
@media(max-width:1060px){.art-fig-large{max-width:100%;margin-left:0;margin-right:0}}
.art-fig img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
/* Declaree apres la regle generale: a specificite egale, la derniere
   l'emporte. Le format panoramique casse le rythme sans allonger la page. */
.art-fig-large img{aspect-ratio:21/9}
.art-fig figcaption{font-size:12.5px;color:var(--gris);padding:10px 14px;background:#fff}
/* Cartes et documents officiels: jamais recadres, l'information est dans
   l'image entiere (parcours, marques, tableaux). */
.art-fig-doc img{aspect-ratio:auto;object-fit:contain;background:#fff}
/* Notes longues sur les cartes d'étapes: 3 lignes puis ellipse, le détail
   vit sur la fiche de l'étape. */
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.art-fig-portrait{max-width:330px;margin:26px auto}
.art-fig-portrait img{aspect-ratio:4/5}
.art-table{margin:28px auto}
.art-table-scroll{overflow-x:auto;border:1px solid var(--bord);border-radius:14px;background:linear-gradient(to left,rgba(14,14,14,.10),rgba(14,14,14,0) 26px) right center/26px 100% no-repeat}
.art-table-scroll:focus-visible{outline:2.5px solid var(--rouge);outline-offset:2px}
.art-table table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.art-table th{text-align:left;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);font-weight:800;padding:12px 16px;background:var(--gris-bg);border-bottom:1px solid var(--bord);white-space:nowrap}
.art-table td{padding:12px 16px;border-bottom:1px solid var(--bord)}
.art-table tbody tr:last-child td{border-bottom:0}
.art-table tbody tr:nth-child(odd){background:#fafaf8}
.art-table th.r,.art-table td.r{text-align:right;white-space:nowrap}
.art-table tbody tr:first-child td{font-weight:700}
.art-table figcaption{font-size:12.5px;color:var(--gris);padding:10px 2px 0}
/* Classement d'etape: podium illustre + tableau. Les couleurs sont celles de
   l'identification officielle de chaque yole, pas un decor. */
/* Vrai podium: le vainqueur au centre et sureleve, les deux autres alignes
   en bas comme sur une marche. La hierarchie se lit avant le texte. */
.recap-podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:14px;margin:30px auto 18px;max-width:1000px;align-items:end}
.art-body .recap-podium{width:860px;max-width:calc(100vw - 48px);margin-left:calc(50% - min(430px,50vw - 24px));margin-right:auto}
.art-body .recap-table{width:860px;max-width:calc(100vw - 48px);margin-left:calc(50% - min(430px,50vw - 24px))}
.recap-pod{display:flex;flex-direction:column;border:1px solid var(--bord);border-radius:14px;overflow:hidden;background:#fff;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1)}
.recap-pod:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(14,14,14,.09)}
.recap-pod-1{order:2;margin-bottom:22px}
.recap-pod-2{order:1}
.recap-pod-3{order:3}
.recap-pod-im{position:relative;line-height:0;background:var(--gris-bg)}
.recap-pod-im img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;max-height:300px}
.recap-pod-1 .recap-pod-im img{aspect-ratio:5/4}
/* La carte du vainqueur occupe deux rangees: c'est la photo qui prend la
   hauteur restante, pas un vide sous le texte. */

.recap-pod-1 .recap-pod-im img{aspect-ratio:4/3}
/* Le vainqueur se distingue par son cadre et sa couleur, plus par sa
   taille: les trois cartes restent comparables. */
.recap-pod-1{box-shadow:0 0 0 2px var(--rouge)}
.recap-pod-1 .recap-pod-tx{flex:0 0 auto}
.recap-pod-1 .recap-pod-time{margin-top:8px}
.recap-pod-bar{position:absolute;left:0;right:0;bottom:0;height:6px;box-shadow:inset 0 0 0 1px rgba(14,14,14,.18)}
.recap-pod-tx{padding:16px 18px 18px;display:flex;flex-direction:column;gap:5px;flex:1}
.recap-pod-tx h3{font-family:Anton,sans-serif;font-weight:400;letter-spacing:.005em;line-height:1.12;margin:2px 0 0;font-size:19px}
.recap-pod-1 .recap-pod-tx h3{font-size:19px}
.recap-pod-patron{font-size:13px;color:var(--gris)}
.recap-pod-time{margin-top:auto;padding-top:9px;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.recap-pod-1 .recap-pod-time{font-size:24px;color:var(--rouge)}
/* La couleur d'identification de la yole devient un lisere, pas un fond:
   6 des 15 couleurs reelles echouaient au contraste avec du texte blanc
   dessus, dont celle du vainqueur (2,89:1). */
.recap-chip{display:inline-flex;align-items:center;justify-content:center;font-family:Anton,sans-serif;font-weight:400;border-radius:9px;background:#fff!important;color:var(--noir)!important;box-shadow:inset 0 0 0 3px var(--yole-c,var(--bord)),inset 0 0 0 4px rgba(14,14,14,.10)}
.recap-chip-lg{width:52px;height:52px;font-size:28px;border-radius:13px}
.recap-chip-sm{width:29px;height:29px;font-size:16px}
.recap-table table{font-size:15.5px}
.recap-table tbody tr:nth-child(even){background:#fafaf8}
.recap-td-rank{width:1%;padding-right:18px;font-family:Anton,sans-serif;font-weight:400;font-size:18px;color:var(--rouge);text-align:left}
.recap-team{display:block;font-weight:700}
.recap-patron{display:block;font-size:12.5px;color:var(--gris);margin-top:1px}
.recap-td-gap{color:var(--gris)}
.recap-table tbody tr:first-child td{font-weight:400}
.recap-table tbody tr:first-child{background:rgba(227,6,19,.04)}
.recap-table tbody tr:first-child .recap-team{color:var(--noir)}
/* Liens du corps d'article: le reset global pose a{color:inherit;text-decoration:none}
   et la seule regle editoriale ciblait .corps, absent de cette page. Resultat
   mesure: contraste lien/texte 1,00:1, les liens etaient invisibles. */
.art-body p a,.art-body li a{color:var(--rouge);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.art-body p a:hover,.art-body li a:hover{color:var(--rouge-fonce);text-decoration-thickness:2px}
/* Renvoi illustre vers l'etape suivante */
.recap-cta{display:grid;grid-template-columns:210px 1fr;gap:0;margin:30px 0 8px;border:1px solid var(--bord);border-radius:14px;overflow:hidden;background:var(--noir);color:#fff;text-decoration:none;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s cubic-bezier(.22,1,.36,1)}
.recap-cta:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(14,14,14,.18)}
.recap-cta-im{line-height:0;position:relative}
.recap-cta-im img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}
.recap-cta-bd{padding:20px 22px;display:flex;flex-direction:column;gap:6px;justify-content:center}
/* #E30613 sur #0E0E0E ne fait que 3,95:1 a 11px: on eclaircit. */
.recap-cta-sur{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ff6b73}
/* couleur forcee: une regle globale met les <strong> du corps d'article en
   encre noire, invisible sur le fond sombre de cette carte */
.recap-cta-bd strong{font-family:Anton,sans-serif;font-weight:400;font-size:23px;line-height:1.12;text-transform:uppercase;color:#fff}
.recap-cta-tx{font-size:14.5px;color:rgba(255,255,255,.76);line-height:1.55}
.recap-cta-go{display:inline-flex;align-items:center;gap:7px;margin-top:6px;font-size:13.5px;font-weight:800;color:#fff}
.recap-cta-go svg{width:16px;height:16px;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.recap-cta:hover .recap-cta-go svg{transform:translateX(4px)}
@media(max-width:640px){.recap-cta{grid-template-columns:1fr}.recap-cta-im img{aspect-ratio:16/9}}
@media(max-width:760px){
  /* Les figures debordent des marges du corps: sur un petit ecran, une image
     bordee de blanc des deux cotes perd la moitie de sa force. */
  .art-fig,.art-fig-large{margin-left:-16px;margin-right:-16px;border-radius:0;border-left:0;border-right:0}
  .art-fig img{aspect-ratio:4/3}
  .art-fig-large img{aspect-ratio:16/10}
  .art-cover{max-width:none;margin-left:-16px;margin-right:-16px;width:calc(100% + 32px);border-radius:0;aspect-ratio:4/3}
  .recap-pod-im img,.recap-pod-1 .recap-pod-im img{aspect-ratio:16/10;height:auto;min-height:0}
  .recap-pod-1 .recap-pod-im{min-height:0}
}
@media(max-width:700px){.recap-podium{grid-template-columns:1fr;align-items:stretch}.recap-pod-1{order:0;margin-bottom:0}.recap-pod-2{order:1}.recap-pod-3{order:2}.recap-pod-1 .recap-pod-tx h3{font-size:22px}.recap-pod-1 .recap-pod-time{font-size:24px}}
.edr{padding-top:34px;padding-bottom:6px}
.edr-head{margin:0 0 22px}
.edr-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--rouge);padding:6px 12px;border-radius:999px}
.edr-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:#fff}
.edr-head h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,3.2vw,38px);line-height:1.06;margin:14px 0 10px}
.edr-head p{color:#3a3a3f;font-size:15.5px;line-height:1.62}
.edr-pod{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 18px;padding:0}
.edr-pod li{display:flex;align-items:center;gap:12px;background:var(--gris-bg);border:1px solid var(--bord);border-radius:12px;padding:14px 16px}
.edr-pod li:first-child{background:var(--noir);border-color:var(--noir)}
.edr-rk{font-family:var(--display);font-size:26px;line-height:1;color:var(--gris);flex:0 0 auto}
.edr-pod li:first-child .edr-rk{color:var(--rouge)}
.edr-team{font-weight:700;font-size:14.5px;line-height:1.25;flex:1}
.edr-pod li:first-child .edr-team{color:#fff}
.edr-time{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14.5px}
.edr-pod li:first-child .edr-time{color:#fff}
.edr-table-wrap{overflow-x:auto;border:1px solid var(--bord);border-radius:14px;background:linear-gradient(to left,rgba(14,14,14,.10),rgba(14,14,14,0) 26px) right center/26px 100% no-repeat}
.edr-table-wrap:focus-visible{outline:2.5px solid var(--rouge);outline-offset:2px}
.edr-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.edr-table th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);font-weight:800;padding:11px 15px;background:var(--gris-bg);border-bottom:1px solid var(--bord);white-space:nowrap}
.edr-table td{padding:11px 15px;border-bottom:1px solid var(--bord)}
.edr-table tbody tr:last-child td{border-bottom:0}
.edr-table tbody tr:first-child td{font-weight:700}
.edr-c-rk{width:1%;padding-right:14px!important;font-weight:800;color:var(--gris)}
.edr-c-num{text-align:right;white-space:nowrap}
.edr-c-gap{color:var(--gris)}
.edr-more{margin:14px 0 0;font-size:14.5px}
.edr-more a{color:var(--rouge);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.res-await{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,48px);align-items:center;background:var(--noir);color:#fff;border-radius:18px;padding:clamp(28px,4vw,44px);position:relative;overflow:hidden;margin-top:4px}
.res-await::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--rouge),var(--vert))}
.res-await-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.1);padding:7px 13px;border-radius:999px;margin-bottom:16px}
.res-await-tag::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--statut)}
.res-await h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,3vw,34px);line-height:1.05;margin-bottom:12px}
.res-await p{color:rgba(255,255,255,.82);font-size:15px;line-height:1.62;margin-bottom:20px;max-width:52ch}
/* Podium illustre (page resultats): la photo de la voile identifie l'equipage
   plus vite que son nom de sponsor. */
.podl-photo{align-items:stretch}
.podl-photo .podl-item{min-height:0!important;justify-content:flex-start;background:#fff;border:1px solid var(--bord)}
.podl-photo .podl-item.rp-1{border-color:var(--rouge);border-width:2px}
.podl-photo .podl-item{overflow:hidden;padding:0;border-radius:12px;background:rgba(255,255,255,.05);min-height:0;display:flex;flex-direction:column}
.podl-photo .podl-im{display:block;line-height:0;background:rgba(255,255,255,.06)}
.podl-photo .podl-im img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/10}
.podl-photo .podl-bd{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px 16px;flex:0 0 auto}
.podl-photo .podl-pos{font-family:var(--display);font-size:24px;line-height:1;color:var(--gris)}
.podl-photo .podl-item.rp-1 .podl-pos{color:var(--rouge);font-size:34px}
.podl-photo .podl-item.rp-1 .podl-im img{aspect-ratio:16/9}
.podl-photo .podl-team{font-size:13.5px;font-weight:700;color:var(--noir);text-align:center;line-height:1.25}
.podl-photo .podl-time{font-size:15px;font-weight:800;color:var(--rouge);font-variant-numeric:tabular-nums}
@media(max-width:640px){.podl-photo{grid-template-columns:1fr}.podl-photo .podl-im img{aspect-ratio:21/9}}
/* Fil de progression du calendrier: l'etat de chaque etape se lit sans
   avoir a comparer les dates soi-meme. */
.cal-st{text-align:right;white-space:nowrap}
/* La pastille et le statut sont des liens: on garde l'apparence, on ajoute
   l'affordance. */
a.cal-n{text-decoration:none;transition:transform .18s cubic-bezier(.22,1,.36,1)}
a.cal-n:hover{transform:scale(1.12)}
.cal-r td a{text-decoration:none}
.cal-r td a:hover{text-decoration:underline;text-underline-offset:2px}
.cal-tag:hover{filter:brightness(1.08)}
a.cal-tag-soon:hover{border-color:var(--gris)}
.cal-tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;text-decoration:none;transition:filter .18s ease}
.cal-tag-done{background:var(--vert);color:#fff}
.cal-tag-live{background:var(--rouge);color:#fff}
.cal-tag-soon{background:var(--gris-bg);color:var(--gris);border:1px solid var(--bord)}
.cal-r.cal-soon td{color:var(--gris)}
.cal-r.cal-live{background:rgba(227,6,19,.045)}
.res-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}
.rp{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:12px 12px 0 0;padding:16px 8px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}
.rp b{font-family:var(--display);font-size:30px;line-height:1;color:#fff}
.rp span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.6);font-weight:700}
.rp-1{min-height:156px;border-color:var(--rouge)}
.rp-1 b{color:var(--rouge);font-size:38px}
.rp-2{min-height:122px}
.rp-3{min-height:100px}
.rp-mr{color:var(--rouge)!important;margin-bottom:auto}
@media(max-width:760px){.res-await{grid-template-columns:1fr;gap:26px}}
.jr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:6px}
.jr-card{background:#fff;border:1px solid var(--bord);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-card)}
.jr-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.jr-badge{font-family:var(--display);text-transform:uppercase;font-size:12px;color:#fff;padding:5px 11px;border-radius:999px;letter-spacing:.02em}
.jr-top time{font-size:12px;font-weight:700;color:var(--gris);text-transform:capitalize}
.jr-card h3{font-size:17px;font-weight:800;margin-bottom:7px;line-height:1.25}
.jr-card p{font-size:14px;line-height:1.6;color:#333;margin-bottom:12px}
.jr-res{list-style:none;display:grid;gap:5px;margin:0}
.jr-res li{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:6px 10px;background:var(--gris-bg);border-radius:8px}
.jr-res li b{font-family:var(--display);min-width:20px;color:var(--rouge)}
/* Étape du jour (highlight) */
/* Le liseré prenait la couleur de l'étape (verte pour la 2e), ce qui sortait
   de la DA. Il suit maintenant le statut, avec le rouge en accent par defaut. */
.edj{background:var(--noir);color:#fff;border-bottom:4px solid var(--rouge)}
.edj-ok{border-bottom-color:var(--vert)}
.edj-in{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:24px;padding-bottom:24px;flex-wrap:wrap}
.edj-main{display:flex;flex-direction:column;gap:7px;min-width:0}
.edj-badge{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;border-radius:999px;background:var(--rouge);color:#fff;display:inline-flex;align-items:center;gap:7px}
.edj-b-live{background:var(--rouge)}
.edj-b-live::before{content:'';width:7px;height:7px;border-radius:50%;background:#fff;animation:edjpulse 1.8s cubic-bezier(.22,1,.36,1) infinite}
@keyframes edjpulse{0%,100%{opacity:1}50%{opacity:.25}}
.edj-b-ok{background:var(--vert)}
.edj-b-soon{background:#fff;color:var(--noir)}
.edj-b-done{background:rgba(255,255,255,.16);color:#fff}
@media(max-width:720px){
  .edj-in{flex-direction:column;text-align:center;gap:18px}
  .edj-main{align-items:center;display:flex;flex-direction:column;gap:8px}
  .edj-badge{align-self:center}
  .edj-cta{width:100%;display:flex;flex-direction:column;gap:10px}
  .edj-cta .btn{width:100%;justify-content:center}
}
.edj-badge.edj-ok{background:var(--vert)}
.edj-badge.edj-live::before{content:'';width:8px;height:8px;border-radius:50%;background:#fff;animation:edjpulse 1.3s infinite}
@keyframes edjpulse{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.edj-badge.edj-live::before{animation:none}}
.edj-kicker{font-size:12px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.72);text-transform:uppercase}
.edj-title{font-family:var(--display);text-transform:uppercase;font-size:clamp(26px,4.4vw,46px);line-height:1;letter-spacing:.01em}
.edj-arrow{color:var(--edj-c,var(--rouge))}
.edj-cta{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.edj .btn-line{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff}
.edj .btn-line:hover{background:rgba(255,255,255,.1)}
@media(max-width:640px){.edj-cta{width:100%}.edj-cta .btn{flex:1;justify-content:center}}
/* Résultats par étape : tabs, podium, bascules, tableaux */
.st-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.st-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--bord)}
.st-badge{font-family:var(--display);text-transform:uppercase;font-size:14px;color:#fff;background:var(--c,var(--rouge));padding:6px 13px;border-radius:8px}
.st-parcours{font-family:var(--display);text-transform:uppercase;font-size:clamp(18px,2.4vw,26px);letter-spacing:.01em}
.podl{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:12px;align-items:end;max-width:600px;margin:0 auto 22px}
.podl-item{background:#fff;border:1px solid var(--bord);border-radius:14px 14px 0 0;padding:16px 12px 18px;text-align:center;box-shadow:var(--shadow-card);border-bottom:4px solid var(--gris)}
.podl-1{border-bottom-color:var(--rouge);padding-top:26px}
.podl-2{border-bottom-color:#9a9a96}
.podl-3{border-bottom-color:#c07d3a}
.podl-pos{font-family:var(--display);font-size:26px;line-height:1;color:var(--gris)}
.podl-1 .podl-pos{color:var(--rouge);font-size:34px}
.podl-2 .podl-pos{color:#7d7d78}.podl-3 .podl-pos{color:#c07d3a}
.podl-team{display:block;font-weight:800;font-size:13px;margin:7px 0 3px;line-height:1.22}
.podl-time{font-size:12px;color:var(--gris);font-weight:700;font-variant-numeric:tabular-nums}
.tg-btns{display:inline-flex;background:var(--gris-bg);border-radius:10px;padding:4px;gap:4px;margin-bottom:14px}
.tg-btn{border:0;background:none;padding:9px 17px;border-radius:7px;font-family:var(--body);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;color:var(--gris);transition:background .15s,color .15s}
.tg-btn.is-on{background:#fff;color:var(--noir);box-shadow:var(--shadow-card)}
.st-tabs .tg-btn{background:#fff;border:1px solid var(--bord)}
.st-tabs .tg-btn.is-on{background:var(--noir);color:#fff;border-color:var(--noir)}
.gen-note{color:var(--gris);font-size:13.5px;line-height:1.6;margin:0 0 18px;padding:12px 16px;background:var(--gris-bg);border-left:3px solid var(--vert);border-radius:0 8px 8px 0}
/* Bascule de premier niveau resultats par etape / classement general.
   Rouge = vue etape, vert = vue general: les deux couleurs de la DA. */
.res-switch{margin-bottom:24px}
.res-switch .tg-btn{padding:12px 22px;font-size:13px}
.res-switch .tg-btn.is-on{background:var(--noir);color:#fff}
.res-switch .tg-btn.sw-rouge.is-on{background:var(--rouge)}
.res-switch .tg-btn.sw-vert.is-on{background:var(--vert)}
.tg-btn.tg-rouge.is-on{background:var(--rouge);color:#fff}
.tg-btn.tg-vert.is-on{background:var(--vert);color:#fff}
.tg-panel{display:none}.tg-panel.is-on{display:block}
.rt-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--bord);border-radius:12px}
.rt{width:100%;border-collapse:collapse;font-size:14px;min-width:440px}
.rt th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);font-weight:800;padding:11px 14px;background:var(--gris-bg);white-space:nowrap}
.rt td{padding:11px 14px;border-top:1px solid var(--bord)}
.rt .c-rank{font-family:var(--display);color:var(--rouge);width:46px;font-size:16px}
.rt .c-team{font-weight:700}
.rt .c-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.rt tbody tr:hover{background:var(--gris-bg)}
.rt tbody tr:first-child{background:rgba(227,6,19,.045)}
.st-recap{margin-top:18px;padding:16px 18px;background:var(--gris-bg);border-radius:12px;border-left:3px solid var(--rouge)}
.st-recap h4{font-size:15px;font-weight:800;margin-bottom:5px}
.st-recap p{font-size:14px;line-height:1.6;color:#333}
.arch-podium{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:12px;align-items:end;max-width:840px;margin-top:6px}
.ap{background:#fff;border:1px solid var(--bord);border-radius:14px;box-shadow:var(--shadow-card);padding:18px 15px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:flex-end}
.ap-rank{font-family:var(--display);font-size:34px;line-height:1;color:#b9b9b4}
.ap b{font-size:15px;line-height:1.22;color:var(--noir)}
.ap-note{font-size:12px;color:var(--gris);line-height:1.4}
.ap-badge{background:var(--rouge);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;border-radius:999px;margin-bottom:6px}
.ap-1{border:1px solid var(--rouge);border-top:4px solid var(--rouge);min-height:206px}
.ap-1 .ap-rank{font-size:48px;color:var(--rouge)}
.ap-1 b{font-size:17px}
.ap-2{min-height:172px}
.ap-3{min-height:150px}
@media(max-width:620px){.arch-podium{grid-template-columns:1fr;align-items:stretch}.ap,.ap-1,.ap-2,.ap-3{min-height:0}}
.eq-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,3vw,40px);align-items:center;margin-bottom:clamp(26px,3vw,36px)}
.eq-intro-tx h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(22px,2.6vw,30px);line-height:1.05;margin-bottom:12px}
.eq-intro-tx p{font-size:16px;line-height:1.7;color:#3d3d40;max-width:58ch;margin:0}
.eq-intro-ph{aspect-ratio:16/10;border-radius:16px;background-size:cover;background-position:center;box-shadow:var(--shadow-card)}
@media(max-width:820px){.eq-intro{grid-template-columns:1fr;gap:20px}.eq-intro-ph{aspect-ratio:16/9}}
.about-fig{margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);align-self:stretch}
.about-fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;display:block}
.about-methode{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.am-card{background:#fff;border:1px solid var(--bord);border-radius:16px;box-shadow:var(--shadow-card);padding:24px}
.am-ic{display:inline-flex;width:42px;height:42px;padding:10px;border-radius:12px 12px 12px 4px;background:rgba(227,6,19,.09);color:var(--rouge);margin-bottom:16px}
.about-methode>.am-card:nth-child(2n) .am-ic{background:rgba(0,154,68,.1);color:var(--vert)}
.am-card b{display:block;font-family:var(--display);text-transform:uppercase;font-size:16px;line-height:1.1;margin-bottom:9px}
.am-card p{font-size:13.5px;color:#4a4a4d;line-height:1.55;margin:0}
.ly-def-fig{margin:0;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(12,31,25,.18)}
.ly-def-fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;display:block;transition:transform .6s var(--ease-out,cubic-bezier(.16,1,.3,1))}
.ly-def-fig:hover img{transform:scale(1.04)}
.ly-def-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;
  background:linear-gradient(transparent,rgba(8,10,14,.82));color:#fff;font-size:13px;line-height:1.4}
/* Fiche technique : plaque editoriale sombre (pas 4 cartes) */
.yole-fiche{margin:clamp(30px,5vw,50px) 0 0;background:var(--noir);color:#fff;border-radius:18px;padding:30px 34px 32px;position:relative;overflow:hidden}
.yole-fiche::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--rouge),var(--vert))}
.yole-fiche-t{display:block;font-family:var(--display);text-transform:uppercase;font-size:14px;letter-spacing:.07em;color:rgba(255,255,255,.5);margin-bottom:24px}
.yole-fiche-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.yfic{display:flex;gap:14px;padding:2px 26px;border-left:1px solid rgba(255,255,255,.14)}
.yfic:first-child{padding-left:0;border-left:0}
.yfic .ic{flex:0 0 auto;width:26px;height:26px;margin-top:3px}
.yfic:nth-child(odd) .ic{color:var(--rouge)}
.yfic:nth-child(even) .ic{color:var(--vert)}
.yfic b{display:block;font-family:var(--display);font-size:21px;line-height:1;letter-spacing:.005em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.yfic span{font-size:13px;line-height:1.5;color:rgba(255,255,255,.74)}
@media(max-width:860px){.yole-fiche-grid{grid-template-columns:1fr 1fr;gap:26px 0}
  .yfic:nth-child(odd){border-left:0;padding-left:0}
  .yfic:nth-child(even){padding-right:0}}
@media(max-width:460px){.yole-fiche-grid{grid-template-columns:1fr;gap:22px}
  .yfic{border-left:0;padding:0}}
/* Index cluster : cartes image-led (photo + titre en surimpression) */
.yole-index{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
@media(max-width:900px){.yole-index{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.yole-index{grid-template-columns:1fr}}
.yole-index-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;
  display:flex;align-items:flex-end;color:#fff;isolation:isolate;text-decoration:none}
.yole-index-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transition:transform .6s var(--ease-out,cubic-bezier(.16,1,.3,1))}
.yole-index-card::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(8,10,14,.05) 30%,rgba(8,10,14,.5) 62%,rgba(8,10,14,.9))}
.yole-index-card:hover img{transform:scale(1.07)}
.yole-index-num{position:absolute;top:14px;left:14px;font-family:var(--display);font-size:15px;
  color:#fff;background:rgba(8,10,14,.42);backdrop-filter:blur(3px);width:32px;height:32px;
  border-radius:9px;display:grid;place-items:center;letter-spacing:.02em}
.yole-index-tx{padding:22px 20px 19px;position:relative;width:100%}
.yole-index-tx b{font-family:var(--display);font-size:23px;line-height:1;display:block;margin:0 0 6px;text-transform:uppercase}
.yole-index-tx p{font-size:13.5px;color:rgba(255,255,255,.86);line-height:1.45;margin:0 0 11px}
.yole-index-tx .go{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;
  color:#fff;display:inline-flex;gap:7px;align-items:center;opacity:.9}
.yole-index-tx .go svg{width:15px;height:15px;color:var(--rouge);transition:transform .2s ease}
.yole-index-card:hover .go svg{transform:translateX(4px)}
.yole-index-card:focus-visible{outline:3px solid var(--rouge);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.yole-index-card img,.ly-def-fig img{transition:none}}

/* ===== la-yole sous-pages : refonte editoriale (moins de cartes, zero kicker) ===== */
.ysub-lead{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:center}
@media(max-width:860px){.ysub-lead{grid-template-columns:1fr;gap:28px}}
.ysub-lead h2{font-family:var(--display);font-size:clamp(27px,3.6vw,42px);line-height:1.03;letter-spacing:-.01em;margin:0 0 16px;text-wrap:balance;color:var(--noir)}
.ysub-lead p{font-size:17px;line-height:1.72;color:#26262b;margin:0 0 14px;max-width:60ch}
.ysub-lead .btn{margin-top:6px}
.ysub-fig{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(12,31,25,.16);position:relative}
.ysub-fig img{width:100%;display:block;aspect-ratio:5/4;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ysub-fig:hover img{transform:scale(1.04)}
.ysub-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:32px 18px 14px;background:linear-gradient(transparent,rgba(8,10,14,.8));color:#fff;font-size:13px;line-height:1.4}
/* Process numerote editorial */
.proc{margin:clamp(30px,5vw,52px) 0 0;max-width:none}
.proc-sec .in{max-width:900px}
.proc-step{display:grid;grid-template-columns:clamp(54px,8vw,92px) 1fr;gap:clamp(18px,3vw,36px);padding:clamp(20px,3vw,30px) 0;border-top:1px solid var(--bord);align-items:baseline}
.proc-step:last-child{border-bottom:1px solid var(--bord)}
.proc-num{font-family:var(--display);font-size:clamp(38px,6vw,60px);line-height:.78;letter-spacing:-.02em}
.proc-step:nth-child(odd) .proc-num{color:var(--rouge)}
.proc-step:nth-child(even) .proc-num{color:var(--vert)}
.proc-b{font-family:var(--display);font-size:clamp(20px,2.4vw,27px);text-transform:uppercase;line-height:1;color:var(--noir);margin:0 0 8px;letter-spacing:.01em}
.proc-p{font-size:16px;line-height:1.66;color:#3a3a3f;margin:0;max-width:64ch}
@media(max-width:520px){.proc-step{grid-template-columns:1fr;gap:6px}.proc-num{font-size:34px}}
/* Lexique typographique */
.lex{columns:2;column-gap:clamp(30px,5vw,64px);margin:clamp(24px,4vw,38px) 0 0}
@media(max-width:720px){.lex{columns:1}}
.lex-entry{break-inside:avoid;padding:15px 0;border-bottom:1px solid var(--bord)}
.lex-term{font-family:var(--display);font-size:20px;text-transform:uppercase;line-height:1;margin:0 0 6px;letter-spacing:.01em}
.lex-entry:nth-child(odd) .lex-term{color:var(--rouge)}
.lex-entry:nth-child(even) .lex-term{color:var(--vert)}
.lex-def{font-size:15px;line-height:1.58;color:#3a3a3f;margin:0}
/* Regles : 3 principes */
.rules3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,38px);margin:clamp(24px,4vw,38px) 0 0}
@media(max-width:760px){.rules3{grid-template-columns:1fr}}
.rule3{border-top:3px solid var(--noir);padding:18px 0 0}
.rule3:nth-child(1){border-top-color:var(--rouge)}.rule3:nth-child(2){border-top-color:var(--vert)}
.rule3 b{display:block;font-family:var(--display);font-size:21px;text-transform:uppercase;color:var(--noir);margin:0 0 8px}
.rule3 p{font-size:15px;line-height:1.6;color:#3a3a3f;margin:0}
.rule3 .rn{font-family:var(--display);font-size:14px;color:var(--gris);display:block;margin:0 0 6px}
/* Voiles : anatomie propre */
.sail-anat{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0}
.sail-anat li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--bord);align-items:baseline}
.sail-anat li:last-child{border-bottom:1px solid var(--bord)}
.sail-anat .sa-k{font-family:var(--display);font-size:17px;text-transform:uppercase;color:var(--noir);white-space:nowrap}
.sail-anat li:nth-child(odd) .sa-k{color:var(--rouge)}.sail-anat li:nth-child(even) .sa-k{color:var(--vert)}
.sail-anat .sa-v{font-size:15px;color:#3a3a3f;line-height:1.5}
/* Equipage : feature sombre editoriale */
.crew2{position:relative;background:var(--noir);color:#fff;border-radius:20px;overflow:hidden;margin-top:8px}
.crew2 .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.34;-webkit-mask-image:linear-gradient(90deg,transparent,#000 72%);mask-image:linear-gradient(90deg,transparent,#000 72%)}
.crew2 .in-pad{position:relative;z-index:1;padding:clamp(28px,4vw,54px);display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,5vw,60px);align-items:center}
@media(max-width:860px){.crew2 .in-pad{grid-template-columns:1fr;gap:26px}}
.crew2 h2{font-family:var(--display);font-size:clamp(28px,3.4vw,40px);line-height:1.02;margin:0 0 14px;color:#fff}
.crew2-intro p{color:rgba(255,255,255,.82);font-size:16px;line-height:1.65;margin:0 0 20px}
.crew2-roles{display:grid;gap:0}
.crew2-role{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:15px 0;border-top:1px solid rgba(255,255,255,.16);align-items:baseline}
.crew2-role:first-child{border-top:0}
.crew2-role .n{font-family:var(--display);font-size:22px;color:var(--rouge);line-height:1}
.crew2-role:nth-child(even) .n{color:#4bd07f}
.crew2-role b{font-family:var(--display);font-size:19px;text-transform:uppercase;display:block;margin:0 0 3px;color:#fff}
.crew2-role p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.5;margin:0}
@media(prefers-reduced-motion:reduce){.ysub-fig img{transition:none}}

@media(max-width:1023px){
.cats{grid-template-columns:repeat(3,1fr)}
.grid2{grid-template-columns:1fr}
.foot{grid-template-columns:1.4fr 1fr 1fr;gap:24px}
.news-form{margin-right:0}
}
@media(max-width:767px){
.hero{min-height:440px}
.hero .in{padding-bottom:110px}
.statbar{grid-template-columns:1fr 1fr;max-width:94%}
.stat{padding:16px 18px;gap:10px}
.stat:nth-child(3){border-left:0}
.stat{border-top:1px solid var(--bord)}
.stat:nth-child(-n+2){border-top:0}
.actus{grid-template-columns:1fr}
.cats{grid-template-columns:1fr 1fr}
.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,130px)}
.news-band::before,.news-band::after{display:none}
.news-band .in{flex-direction:column;align-items:flex-start;gap:14px;padding-top:22px;padding-bottom:26px}
.news-form{min-width:0;width:100%;margin-left:0}
.foot{grid-template-columns:1fr 1fr;padding:34px 0 26px}
.fbrand{grid-column:span 2}
}
@media(max-width:420px){
.cats{grid-template-columns:1fr}
.statbar{grid-template-columns:1fr 1fr}
.stat b{font-size:20px}
.hero h1{font-size:42px}
}

/* Cadre commun : tous les héros éditoriaux partagent le même rythme visuel. */
.hero,.home-hero,.hero-sombre,.hero-clair,.hero-etapes,.tour-hero,.ed-hero{min-height:560px}
.page-hero,.hero-sombre,.hero-clair,.tour-hero,.ed-hero{min-height:560px}
.hero .in,.hero-clair .in,.hero-sombre .in,.tour-hero .in,.ed-hero .in{min-height:560px;padding-top:120px;padding-bottom:132px;align-items:flex-end}
.page-hero .in{min-height:560px;padding-top:120px;padding-bottom:132px;display:flex;flex-direction:column;justify-content:flex-end}
.hero-sombre h1,.hero-clair h1,.tour-hero h1,.ed-hero h1,.page-hero h1{letter-spacing:0}
.hero-sombre h1 .l2,.hero-clair h1 .l2,.tour-hero h1 .l2,.ed-hero h1 .l2{margin-top:12px}
.tour-hero h1 .l2{margin-top:8px}
.has-tour-nav .hero-sombre,.has-tour-nav .hero-clair,.has-tour-nav .tour-hero{min-height:560px}
.has-tour-nav .hero-sombre .in,.has-tour-nav .hero-clair .in,.has-tour-nav .tour-hero .in{min-height:560px;padding-top:120px;padding-bottom:120px;align-items:flex-end}
.has-tour-nav .hero-sombre h1,.has-tour-nav .hero-clair h1,.has-tour-nav .tour-hero h1{font-size:clamp(48px,5.8vw,76px);line-height:.94;letter-spacing:0}
.has-tour-nav .hero-sombre h1 .l2,.has-tour-nav .hero-clair h1 .l2,.has-tour-nav .tour-hero h1 .l2{margin-top:10px}
.statbar-wrap,.tour-statbar{margin-top:-52px}
.statbar{min-height:92px}
.home-hero+.statbar-wrap .stat,.tour-statbar .stat{padding:21px 22px;gap:14px}
.home-hero+.statbar-wrap .stat .sic,.tour-statbar .sic{width:44px;height:44px;padding:9px}
.home-hero+.statbar-wrap .stat b,.tour-statbar .stat b{font-size:22px!important}
.tour-statbar .stat span span{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--gris)}
.news-band .in{min-height:96px}
.tour-stage-wide .stages-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:none;border:0;border-radius:0;box-shadow:none}
.tour-stage-wide .strow{display:grid;grid-template-columns:72px 190px minmax(0,1fr) 38px;min-height:166px;padding:0;border:1px solid var(--bord);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(14,14,14,.06);overflow:hidden}
.tour-stage-wide .stage-index{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--noir);color:#fff}.tour-stage-wide .stage-index b{font-family:var(--display);font-size:38px;line-height:.9}.tour-stage-wide .stage-index small{font-size:10px;font-weight:800;letter-spacing:.06em}.tour-stage-wide .stage-index em{font-style:normal;color:var(--rouge);font-size:10px;font-weight:800;text-transform:uppercase}.tour-stage-wide .strow:nth-child(even) .stage-index em{color:var(--vert)}
.tour-stage-wide .stage-thumb{position:relative;align-self:stretch;height:100%;min-height:166px;overflow:hidden;background:#e9e9e5}.tour-stage-wide .stage-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s var(--ease-out)}.tour-stage-wide .stage-thumb::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,18,15,.55))}.tour-stage-wide .stage-coast{position:absolute;z-index:1;left:13px;bottom:12px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.tour-stage-wide .strow:hover .stage-thumb img{transform:scale(1.06)}
.tour-stage-wide .stage-card-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:20px 21px 18px}.tour-stage-wide .stage-kicker{display:block;margin-bottom:9px;color:var(--rouge);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.tour-stage-wide .tr{display:flex;align-items:center;gap:9px;min-width:0;font-size:20px;line-height:1.1;white-space:nowrap}.tour-stage-wide .tr b{font-family:var(--display);font-weight:400}.tour-stage-wide .tr .fl{display:inline-flex;color:#b8b8b2}.tour-stage-wide .tr .fl svg{width:17px;height:17px}.tour-stage-wide .tr .chip{font-size:8px;padding:3px 6px;white-space:nowrap}.tour-stage-wide .stage-card-copy p{margin:12px 0 0;color:#6a6a65;font-size:13px;line-height:1.45}.tour-stage-wide .stage-meta{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:13px;color:#676762;font-size:11px;font-weight:700;white-space:nowrap}.tour-stage-wide .stage-meta>span,.tour-stage-wide .stage-meta>a{display:flex;align-items:center;gap:6px}.tour-stage-wide .stage-meta .ic{display:inline-flex;width:14px;height:14px;color:var(--rouge)}.tour-stage-wide .stage-meta a{color:var(--vert-fonce);font-weight:800}.tour-stage-wide .stage-go{display:flex;align-items:center;justify-content:center;color:#c9c9c4}.tour-stage-wide .stage-go svg{width:18px;height:18px}.tour-stage-wide .stage-go:hover{color:var(--rouge)}
.tour-features .in{border-radius:var(--radius-card);overflow:hidden;background:var(--noir)}
.faq-sec .in{max-width:var(--maxw)}.faq-sec .faq-list{max-width:none}
.tour-faq .in{max-width:var(--maxw)}.tour-faq .sec-head{align-items:center;margin-bottom:22px}
.actu-pill,.route-tag,.chip,.badge-pill,.badge-pill b{border-radius:4px}
.hub-news-hero,.hero-yoles,.hero-histoire,.hub-martinique-hero,.hero-galerie{min-height:640px;align-items:flex-end}
.hub-news-hero .in,.hero-yoles .in,.hero-histoire .in,.hub-martinique-hero .in,.hero-galerie .in{min-height:640px;padding-top:120px;padding-bottom:132px;align-items:flex-end}
.hub-news-hero h1,.hero-yoles h1,.hero-histoire h1,.hub-martinique-hero h1,.hero-galerie h1{font-size:clamp(58px,7.6vw,104px);line-height:1;letter-spacing:0}
.hub-news-hero h1 .l1,.hero-yoles h1 .l1,.hero-histoire h1 .l1,.hub-martinique-hero h1 .l1,.hero-galerie h1 .l1{color:#fff}
.hub-news-hero h1 .l2,.hero-yoles h1 .l2,.hero-histoire h1 .l2,.hub-martinique-hero h1 .l2,.hero-galerie h1 .l2{font-size:.58em;line-height:1.12;color:var(--vert);margin-top:8px}
.hub-news-hero p.lead,.hero-yoles p.lead,.hero-histoire p.lead,.hub-martinique-hero p.lead,.hero-galerie p.lead{max-width:540px;margin:28px 0 30px;font-size:17px;line-height:1.65}
@media(max-width:767px){
  .hero,.home-hero,.hero-sombre,.hero-clair,.hero-etapes,.tour-hero,.ed-hero,.page-hero{min-height:500px}
  .hero .in,.hero-clair .in,.hero-sombre .in,.tour-hero .in,.ed-hero .in,.page-hero .in{min-height:500px;padding-top:90px;padding-bottom:104px;align-items:flex-end}
  .page-hero .in{align-items:stretch}
  .has-tour-nav .hero-sombre,.has-tour-nav .hero-clair,.has-tour-nav .tour-hero{min-height:500px}
  .has-tour-nav .hero-sombre .in,.has-tour-nav .hero-clair .in,.has-tour-nav .tour-hero .in{min-height:500px;padding-top:90px;padding-bottom:96px}
  .has-tour-nav .hero-sombre h1,.has-tour-nav .hero-clair h1,.has-tour-nav .tour-hero h1{font-size:clamp(42px,12vw,62px);line-height:.96}
  .hub-news-hero,.hero-yoles,.hero-histoire,.hub-martinique-hero,.hero-galerie{min-height:500px}
  .hub-news-hero .in,.hero-yoles .in,.hero-histoire .in,.hub-martinique-hero .in,.hero-galerie .in{min-height:500px;padding-top:90px;padding-bottom:104px}
  .hub-news-hero h1,.hero-yoles h1,.hero-histoire h1,.hub-martinique-hero h1,.hero-galerie h1{font-size:clamp(42px,12vw,62px);line-height:.96}
  .hub-news-hero h1 .l2,.hero-yoles h1 .l2,.hero-histoire h1 .l2,.hub-martinique-hero h1 .l2,.hero-galerie h1 .l2{margin-top:8px}
  .hub-news-hero p.lead,.hero-yoles p.lead,.hero-histoire p.lead,.hub-martinique-hero p.lead,.hero-galerie p.lead{margin:20px 0 24px;font-size:16px}
  .faq-list{grid-template-columns:1fr}
  .statbar-wrap,.tour-statbar{margin-top:-42px}
  .home-hero+.statbar-wrap .stat,.tour-statbar .stat{padding:16px 18px;gap:10px}
  .home-hero+.statbar-wrap .stat b,.tour-statbar .stat b{font-size:20px!important}
  .news-band .in{min-height:0}
  .hub-hero-note{display:none}
  .hub-story-grid{grid-template-columns:1fr}
  .hub-edition-row{grid-template-columns:1fr}
  .hub-edition-row a:last-child{border-bottom:0}
  .hub-route-grid{grid-template-columns:1fr}
  .tour-stage-wide .stages-list{grid-template-columns:1fr;gap:14px}
  .tour-stage-wide .strow{grid-template-columns:58px 112px minmax(0,1fr) 30px;min-height:142px}
  .tour-stage-wide .stage-index b{font-size:31px}.tour-stage-wide .stage-index small,.tour-stage-wide .stage-index em{font-size:9px}
  .tour-stage-wide .stage-thumb{min-height:142px}.tour-stage-wide .stage-card-copy{padding:16px 14px}.tour-stage-wide .stage-kicker{font-size:9px;margin-bottom:7px}.tour-stage-wide .tr{align-items:flex-start;flex-wrap:wrap;gap:3px;font-size:16px;white-space:normal}.tour-stage-wide .tr .fl{display:none}.tour-stage-wide .stage-card-copy p{font-size:11px;margin-top:8px}.tour-stage-wide .stage-meta{font-size:9px;gap:8px}.tour-stage-wide .stage-meta>span{display:none}
  .hdr{top:0;margin-bottom:0;padding:0}
  .hdr .in{height:72px;gap:20px}
  .logo .mark{height:52px}
  .logo-txt{display:flex}
  .has-tour-nav .tour-subnav{margin-top:0}
}

/* --- Passe responsive consolidée (dernier bloc = priorité) --- */
@media(max-width:900px){
  .hdr{background:#fff}
  .hdr-mail{display:none}
  .theme-bento{grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}
  .theme-bento .theme-tile{min-height:200px}
  .theme-bento .theme-feat{grid-column:auto;grid-row:auto;min-height:240px}
  .gom-grid,.hub-vivre,.terr-intro,.mq-intro,.ly-def-grid,.hist-2col,.grid2,
  .hist-origin .grid2,.ly-navigation .grid2,.hvals,.crew2 .in-pad,.eq-human-card,
  .tour-human .in,.serenite .in,.res-await,.grid3-info,.grid4-info,.tour-anniversary-grid,
  .tour-stage-heading,.venir-row{grid-template-columns:1fr!important}
  .home-manifeste .in{grid-template-columns:1fr!important;padding:0 24px;gap:26px}
  .hub-media img{aspect-ratio:16/10}
  .fig-row{grid-template-columns:1fr}
  .fig-media{flex-direction:row}
  .fig-media .fig-media-im,.fig-media .fig-media-mono{width:120px;aspect-ratio:1/1;flex:0 0 auto}
}
@media(max-width:620px){
  .acces{grid-template-columns:1fr 1fr}
  .arch-podium{grid-template-columns:1fr;align-items:stretch}
  .arch-podium .ap,.arch-podium .ap-1,.arch-podium .ap-2,.arch-podium .ap-3{min-height:0}
}
