:root{--red:#b7192e;--red-dark:#7f0e1f;--ink:#171717;--cream:#f4efe7;--green:#344b3c;--white:#fff;--line:#ded7ce;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:999;background:#fff;padding:10px}.site-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(20,20,20,.15);color:#fff;border-bottom:1px solid rgba(255,255,255,.2);transition:.25s}.site-header.scrolled{background:#fff;color:var(--ink);box-shadow:0 6px 22px rgba(0,0,0,.08)}.header-inner{height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-mark{width:42px;height:42px;border:2px solid currentColor;display:grid;place-items:center;font-weight:900}.brand strong,.brand small{display:block;line-height:1}.brand strong{text-transform:uppercase;letter-spacing:.08em}.brand small{font-size:.8rem}.main-nav{display:flex;gap:20px;margin-left:auto}.main-nav a{color:inherit;text-decoration:none;font-size:.9rem;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:var(--red-dark)}.button-ghost{color:#fff;border-color:#fff;background:rgba(0,0,0,.12)}.button-light{background:#fff;color:var(--red-dark)}.menu-toggle{display:none}.hero{min-height:780px;position:relative;color:#fff;background:linear-gradient(120deg,#161616 0%,#742133 55%,#9b293d 100%);overflow:hidden;padding-top:82px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.08))}.hero-art{position:absolute;inset:0;opacity:.75}.sun{position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:10%;top:8%}.cityline{position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(135deg,transparent 20%,rgba(255,255,255,.08) 20% 21%,transparent 21% 42%,rgba(255,255,255,.08) 42% 43%,transparent 43%),linear-gradient(0deg,rgba(0,0,0,.25),rgba(0,0,0,0))}.vine{position:absolute;border:2px solid rgba(255,255,255,.2);width:420px;height:180px;border-radius:50%;transform:rotate(-12deg)}.vine-a{right:2%;bottom:17%}.vine-b{right:22%;bottom:4%}.hero-content{position:relative;z-index:2;padding-top:120px}.eyebrow{text-transform:uppercase;font-weight:900;letter-spacing:.14em;font-size:.78rem;margin:0 0 14px}.eyebrow.dark{color:var(--red)}h1,h2,h3{margin-top:0;line-height:1.03}h1{font-size:clamp(4rem,9vw,8rem);letter-spacing:-.06em;text-transform:uppercase;margin-bottom:10px;max-width:760px}.hero-tagline{font-size:clamp(1.5rem,3vw,2.5rem);font-family:Georgia,serif;font-style:italic;margin:0 0 18px}.hero-copy{max-width:560px;font-size:1.12rem}.hero-actions{display:flex;gap:12px;margin-top:30px}.countdown{position:absolute;z-index:3;right:max(20px,calc((100vw - var(--max))/2));bottom:46px;display:grid;grid-template-columns:repeat(4,110px);background:#fff;color:var(--ink);box-shadow:0 15px 40px rgba(0,0,0,.2)}.countdown div{padding:18px 12px;text-align:center;border-right:1px solid var(--line)}.countdown div:last-child{border:0}.countdown strong{display:block;font-size:2rem}.countdown span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.profile-bar{background:var(--cream);border-bottom:1px solid var(--line)}.profile-grid{min-height:82px;display:grid;grid-template-columns:1.3fr repeat(5,1fr);align-items:center}.profile-grid>*{padding:18px;text-align:center;border-right:1px solid var(--line)}.profile-grid>*:last-child{border:0}.profile-grid a{color:var(--ink);text-decoration:none;font-weight:800}.profile-title{text-align:left!important;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:#666}.section{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-heading h2,.solidarity h2,.experience h2,.panel h2,.registration h2{font-size:clamp(2.4rem,5vw,4.5rem);letter-spacing:-.045em;margin-bottom:0}.section-heading>p{max-width:420px;color:#666}.race-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.race-card{border:1px solid var(--line);background:#fff;overflow:hidden;transition:.25s}.race-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(0,0,0,.1)}.race-card.featured{grid-column:span 2}.race-visual{height:210px;background:#ddd;position:relative;overflow:hidden}.featured .race-visual{height:300px}.race-visual:before,.race-visual:after{content:"";position:absolute}.race-visual:before{inset:0;background:linear-gradient(135deg,transparent 38%,rgba(255,255,255,.2) 38% 40%,transparent 40%)}.race-visual:after{width:220px;height:220px;border:2px solid rgba(255,255,255,.45);border-radius:50%;right:-20px;top:-30px}.visual-marathon{background:linear-gradient(135deg,#4c1d27,#ba2940)}.visual-semi{background:linear-gradient(135deg,#20374a,#467598)}.visual-relais{background:linear-gradient(135deg,#38462e,#6c854f)}.visual-escadrille{background:linear-gradient(135deg,#6d3b22,#ba764e)}.visual-dix{background:linear-gradient(135deg,#2d2b56,#706ca8)}.visual-kids{background:linear-gradient(135deg,#b67215,#e6aa43)}.race-body{padding:26px}.race-body span{font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.12em;color:var(--red)}.race-body h3{font-size:1.7rem;margin:7px 0 12px}.race-body p{color:#666;min-height:48px}.race-body a,.text-link{color:var(--ink);font-weight:900;text-decoration:none}.solidarity{background:var(--red);color:#fff}.solidarity-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:550px}.solidarity-art{min-height:520px;background:linear-gradient(160deg,#5d0d19,#be2b42);border:1px solid rgba(255,255,255,.28);display:flex;align-items:end;padding:44px;position:relative;overflow:hidden}.solidarity-art:before{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.25);border-radius:50%;top:-70px;left:-90px}.solidarity-art span{font:italic 4rem/1 Georgia,serif;position:relative}.solidarity-content{padding:50px 0 50px 70px;align-self:center}.solidarity-content>p{font-size:1.08rem;max-width:650px}.impact{display:flex;align-items:center;gap:22px;margin:34px 0}.impact strong{font-size:3.4rem}.impact span{max-width:140px;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}.experience{background:var(--cream)}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.experience p{max-width:600px}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:11px 0;border-bottom:1px solid var(--line);font-weight:700}.map-card{min-height:520px;background:var(--green);color:#fff;position:relative;display:grid;place-items:center;font-weight:900;letter-spacing:.18em}.map-card:before{content:"";position:absolute;width:58%;height:72%;border:5px solid #f1c86d;border-radius:48% 52% 45% 55%;transform:rotate(-18deg)}.map-card i{position:absolute;width:12px;height:12px;background:var(--red);border:4px solid #fff;border-radius:50%}.map-card b,.map-card em{position:absolute;font-size:.65rem;font-style:normal}.map-card b{top:17%;right:14%}.map-card em{bottom:15%;left:12%}.practical{padding-bottom:50px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.quick-grid a{padding:30px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);min-height:190px;display:flex;flex-direction:column}.quick-grid span{font-size:.72rem;color:var(--red);font-weight:900}.quick-grid strong{font-size:1.25rem;margin:auto 0 8px}.quick-grid small{color:#666}.weekend{padding-top:50px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.timeline article{padding:30px;border-right:1px solid var(--line)}.timeline article:first-child{border-left:1px solid var(--line)}.timeline span{color:var(--red);text-transform:uppercase;font-weight:900;font-size:.74rem;letter-spacing:.1em}.timeline h3{font-size:1.5rem;margin:15px 0}.split-section{padding-top:20px}.split-grid{display:grid;grid-template-columns:1fr 1fr}.panel{min-height:440px;padding:55px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:end}.panel p{max-width:520px}.local{background:linear-gradient(145deg,#223c32,#536d5b)}.volunteer{background:linear-gradient(145deg,#7d1324,#c22e47)}.partners{background:#fafafa}.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.logo-grid div{min-height:120px;display:grid;place-items:center;border-right:1px solid var(--line);font-size:.72rem;color:#777;letter-spacing:.12em}.logo-grid div:last-child{border:0}.registration{background:var(--red);color:#fff;padding:70px 0}.registration-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer{background:#151515;color:#fff;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}.footer-grid h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}.footer-grid a{display:block;color:#ddd;text-decoration:none;margin:8px 0}.footer-grid p{color:#aaa}.footer-brand{margin-bottom:24px}.legal{border-top:1px solid #333;margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;color:#777;font-size:.78rem}@media(max-width:980px){.main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;color:#111;padding:20px;flex-direction:column}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;background:none;border:1px solid currentColor;color:inherit;padding:9px 12px}.header-cta{display:none}.countdown{left:20px;right:20px;grid-template-columns:repeat(4,1fr)}.profile-grid{grid-template-columns:repeat(3,1fr)}.profile-title{grid-column:1/-1;text-align:center!important;border-bottom:1px solid var(--line)}.race-grid{grid-template-columns:repeat(2,1fr)}.solidarity-grid,.experience-grid{grid-template-columns:1fr}.solidarity-content{padding-left:0}.quick-grid{grid-template-columns:repeat(2,1fr)}.logo-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.wrap{width:min(calc(100% - 28px),var(--max))}.header-inner{height:68px}.hero{min-height:760px;padding-top:68px}.hero-content{padding-top:80px}h1{font-size:3.7rem}.hero-actions{flex-direction:column;align-items:stretch}.countdown{bottom:22px}.countdown div{padding:12px 4px}.countdown strong{font-size:1.35rem}.profile-grid{grid-template-columns:repeat(2,1fr)}.section{padding:72px 0}.section-heading{display:block}.race-grid{grid-template-columns:1fr}.race-card.featured{grid-column:auto}.featured .race-visual{height:220px}.solidarity-grid{display:block}.solidarity-art{min-height:330px}.solidarity-art span{font-size:3rem}.solidarity-content{padding:45px 0 0}.impact{align-items:flex-start;flex-direction:column}.impact strong{font-size:2.8rem}.experience-grid{gap:45px}.map-card{min-height:400px}.quick-grid,.timeline,.split-grid,.logo-grid,.footer-grid{grid-template-columns:1fr}.timeline article{border-left:1px solid var(--line)}.panel{padding:38px 28px}.registration-inner{display:block}.registration .button{margin-top:25px}.legal{display:block}.legal span{display:block;margin:8px 0}}

/* V0.3 additions */
:root{--gold:#c6a969}.hero.has-photo{background-size:cover;background-position:center}.hero.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.25));pointer-events:none}.hero.has-photo .hero-content,.hero.has-photo .countdown{z-index:2}.hero h1{max-width:900px}.race-card a{text-decoration:none}.race-visual{display:block;background-color:var(--race-color,var(--green));background-image:linear-gradient(135deg,var(--race-color,var(--green)),#18221c);background-size:cover;background-position:center}.race-visual:after{content:"";display:block;position:absolute;inset:auto 0 0;height:6px;background:var(--race-color,var(--red))}.race-visual.has-image{transition:transform .4s ease}.race-card:hover .race-visual.has-image{transform:scale(1.015)}.logo-grid a{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);padding:18px;text-decoration:none;color:var(--ink);background:#fff}.logo-grid img{max-width:150px;max-height:65px;width:auto;height:auto;object-fit:contain}.logo-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#777}.race-hero{padding:190px 0 95px;background:linear-gradient(135deg,var(--green),#172019);color:#fff;background-size:cover;background-position:center}.race-hero h1{font-size:clamp(3.2rem,8vw,7rem);line-height:.92;margin:18px 0}.race-intro{font-size:1.2rem;max-width:670px}.race-facts{background:var(--cream);border-bottom:1px solid var(--line)}.race-facts-grid{display:grid;grid-template-columns:repeat(5,1fr)}.race-facts-grid div{padding:28px 20px;border-right:1px solid var(--line)}.race-facts-grid div:first-child{border-left:1px solid var(--line)}.race-facts-grid span{display:block;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;color:#777}.race-facts-grid strong{display:block;margin-top:8px;font-size:1.05rem}.content-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.75fr);gap:70px}.entry-content{font-size:1.04rem}.entry-content h2{margin-top:2.2em}.race-aside{align-self:start;position:sticky;top:110px;border:1px solid var(--line);padding:28px}.race-aside h2{font-size:1.25rem;margin-top:0}.race-aside a{display:block;padding:12px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.mdc-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}@media(max-width:980px){.race-facts-grid{grid-template-columns:repeat(3,1fr)}.content-layout{grid-template-columns:1fr}.race-aside{position:static}}@media(max-width:640px){.race-hero{padding:130px 0 65px}.race-facts-grid{grid-template-columns:1fr 1fr}.race-facts-grid div{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}body.menu-open{overflow:hidden}}

/* V0.4 — Pages Epreuves et Partenaires */
.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{background:var(--cream)}
.race-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:50px}.race-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.race-distance-badge{width:210px;height:210px;border:1px solid rgba(255,255,255,.48);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:0 0 auto;background:rgba(20,20,20,.18);backdrop-filter:blur(5px)}.race-distance-badge small{text-transform:uppercase;letter-spacing:.14em;font-weight:800}.race-distance-badge strong{font-size:2rem;margin-top:8px}.race-main-section{background:#fff}.race-entry>.eyebrow{margin-bottom:18px}.race-entry>p:first-of-type{font-size:1.22rem;line-height:1.75}.race-highlight-card{margin-top:50px;padding:34px;border-left:6px solid var(--red);background:var(--cream)}.race-highlight-card span{display:block;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;font-weight:900;color:var(--red)}.race-highlight-card strong{display:block;font-size:1.7rem;margin:8px 0}.race-aside{background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.07)}.race-aside .eyebrow{margin-bottom:8px}.race-aside a{display:flex;justify-content:space-between;gap:15px}.race-aside .race-aside-primary{background:var(--red);color:#fff;margin:18px -28px 0;padding:18px 28px;border:0}.race-bottom-cta{padding:65px 0;background:var(--green);color:#fff}.race-bottom-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.race-bottom-cta h2{margin:5px 0 0;font-size:clamp(2rem,4vw,3.4rem)}
.archive-hero{padding:190px 0 100px;color:#fff;background:linear-gradient(135deg,#20261f,var(--green))}.archive-hero h1{font-size:clamp(4rem,9vw,8rem);line-height:.9;margin:20px 0}.archive-hero p{max-width:720px;font-size:1.15rem}.archive-hero-races{background:linear-gradient(135deg,#4d101b,var(--red))}.archive-race-grid .race-card{min-width:0}.race-card-distance{position:absolute;left:24px;bottom:20px;color:#fff;font-size:1.5rem;font-weight:900;z-index:2}.archive-race-grid .race-body h3 a{color:var(--ink)}
.partners-hero{background:linear-gradient(130deg,#18231c 0%,var(--green) 62%,#647760 100%)}.partners-hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center}.partners-hero-mark{height:310px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.partners-hero-mark span{font:italic 2rem Georgia,serif}.partners-hero-mark strong{font-size:2.4rem;text-transform:uppercase;letter-spacing:.06em}.partner-level{padding:90px 0;border-bottom:1px solid var(--line)}.partner-level-majeur{background:var(--cream)}.partner-level-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:42px}.partner-level-heading .eyebrow{grid-column:1/-1;margin-bottom:-35px}.partner-level-heading h2{font-size:clamp(2.3rem,5vw,4rem);margin:0}.partner-level-heading p{max-width:600px}.partner-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.partner-level-majeur .partner-cards{grid-template-columns:repeat(3,1fr)}.partner-card>a,.partner-card>div{height:100%}.partner-card a{display:block;text-decoration:none;color:var(--ink)}.partner-card{background:#fff;border:1px solid var(--line);transition:.25s}.partner-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(0,0,0,.08)}.partner-logo{height:180px;padding:30px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.partner-level-majeur .partner-logo{height:230px}.partner-logo img{max-width:100%;max-height:105px;width:auto;height:auto;object-fit:contain}.partner-logo span{font-weight:900;text-align:center}.partner-info{padding:22px}.partner-info h3{font-size:1.1rem;margin:0}.partner-info p{font-size:.9rem;color:#666;margin:10px 0 0}.partner-cta{padding:80px 0;background:var(--red);color:#fff}.partner-cta-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.partner-cta h2{font-size:clamp(2.4rem,5vw,4rem);margin:10px 0}.partner-cta p{max-width:720px}
@media(max-width:980px){.race-hero-inner{align-items:flex-start}.race-distance-badge{width:160px;height:160px}.partners-hero-grid{grid-template-columns:1fr}.partners-hero-mark{display:none}.partner-cards,.partner-level-majeur .partner-cards{grid-template-columns:repeat(2,1fr)}.partner-level-heading{grid-template-columns:1fr;gap:14px}.partner-level-heading .eyebrow{grid-column:auto;margin-bottom:0}}
@media(max-width:640px){.race-hero-inner{display:block}.race-distance-badge{width:auto;height:auto;border-radius:0;margin-top:35px;padding:20px}.race-hero-actions{flex-direction:column}.race-bottom-cta-inner,.partner-cta-grid{display:block}.race-bottom-cta .button,.partner-cta .button{margin-top:24px}.archive-hero{padding:135px 0 70px}.partner-cards,.partner-level-majeur .partner-cards{grid-template-columns:1fr}.partner-level{padding:65px 0}.partner-logo,.partner-level-majeur .partner-logo{height:180px}}

/* V0.4.1 — états de départ */
.partner-empty-state{background:#f7f4ee}
.partner-card-placeholder{border:1px dashed rgba(52,75,60,.35);background:rgba(255,255,255,.72)}
.partner-card-placeholder .partner-logo{min-height:150px;background:linear-gradient(135deg,rgba(183,25,46,.06),rgba(198,169,105,.13))}
.partner-card-placeholder .partner-logo span{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}

/* V0.5 — Contact */
.contact-hero{background:linear-gradient(130deg,#4d101b 0%,var(--red) 62%,#ca7b66 100%)}
.contact-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}
.contact-hero-mark{height:300px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.05)}
.contact-hero-mark span{font:italic 1.8rem Georgia,serif}.contact-hero-mark strong{font-size:2.1rem;text-transform:uppercase;letter-spacing:.06em}
.contact-section{background:#f8f5ef}.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:55px;align-items:start}
.contact-form-card{background:#fff;border:1px solid var(--line);padding:48px;box-shadow:0 25px 60px rgba(0,0,0,.06)}.contact-form-card h2,.contact-aside h2{font-size:clamp(2.3rem,4vw,3.7rem);margin-bottom:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.contact-form p{margin:0 0 22px}.contact-form label{display:block;font-weight:800;font-size:.88rem;margin-bottom:8px}.contact-form label span,.consent-field span{color:var(--red)}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form select,.contact-form textarea{width:100%;border:1px solid #cfc8be;background:#fff;padding:14px 15px;font:inherit;border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(183,25,46,.14);border-color:var(--red)}
.consent-field label{display:flex;gap:11px;align-items:flex-start;font-weight:400}.consent-field input{margin-top:5px}.form-required{display:inline-block;margin-left:15px;color:#666}.contact-honeypot{position:absolute!important;left:-9999px!important}
.form-notice{padding:16px 18px;margin-bottom:25px;font-weight:700}.form-notice.success{background:#e9f4ec;color:#245d33;border-left:4px solid #347a45}.form-notice.error{background:#fae8e8;color:#8b1725;border-left:4px solid var(--red)}
.contact-aside{background:#fff;border-top:7px solid var(--green);padding:36px;position:sticky;top:110px}.contact-detail{padding:22px 0;border-top:1px solid var(--line)}.contact-detail span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#777;margin-bottom:7px}.contact-detail a{font-weight:900;color:var(--ink);text-decoration:none}.contact-detail p{margin:0}.contact-help{margin:25px -36px -36px;padding:30px 36px;background:var(--green);color:#fff}.contact-help p{margin-bottom:0}
@media(max-width:980px){.contact-hero-grid{grid-template-columns:1fr}.contact-hero-mark{display:none}.contact-layout{grid-template-columns:1fr}.contact-aside{position:static}}
@media(max-width:640px){.contact-form-card{padding:28px 20px}.form-grid{grid-template-columns:1fr}.form-required{display:block;margin:12px 0 0}.contact-aside{padding:28px 22px}.contact-help{margin:25px -22px -28px;padding:26px 22px}}

/* V0.6 — Pages éditoriales */
.editorial-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.editorial-hero-mark{height:300px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.05)}.editorial-hero-mark span{font:italic 1.8rem Georgia,serif}.editorial-hero-mark strong{font-size:2.15rem;text-transform:uppercase;letter-spacing:.06em}.practical-hero{background:linear-gradient(130deg,#18231c,var(--green) 62%,#738571)}.commitment-hero,.association-hero,.association-single-hero{background:linear-gradient(130deg,#4d101b,var(--red) 62%,#c47967)}.residents-hero{background:linear-gradient(130deg,#24333d,#3f6575 64%,#87a5ac)}.volunteer-page-hero{background:linear-gradient(130deg,#52351f,#9a663c 62%,#d1a170)}
.practical-nav{padding:26px 0;background:var(--cream);border-bottom:1px solid var(--line)}.practical-nav-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line)}.practical-nav-grid a{padding:17px 10px;text-align:center;background:#fff;color:var(--ink);text-decoration:none;font-weight:800}.info-sections{background:#f8f5ef}.info-block{display:grid;grid-template-columns:110px 1fr;gap:45px;padding:55px 0;border-bottom:1px solid var(--line);scroll-margin-top:105px}.info-number{font-size:3.3rem;font-weight:900;color:var(--red);line-height:1}.info-block h2{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 12px}.info-block p{max-width:780px;font-size:1.08rem}.editorial-content{margin-top:55px;padding:40px;background:#fff;border:1px solid var(--line)}
.impact-section{background:var(--cream)}.impact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.impact-big{display:block;font-size:clamp(4rem,9vw,8rem);line-height:.9;color:var(--red);margin:18px 0}.impact-values{display:grid;gap:16px}.impact-values article{background:#fff;padding:28px;border-left:5px solid var(--green)}.impact-values span,.residents-grid span,.volunteer-missions span{font-size:.72rem;font-weight:900;letter-spacing:.13em;color:var(--red)}.impact-values h2{margin:7px 0}.association-preview{background:#fff}.association-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.association-card{border:1px solid var(--line);background:#fff;transition:.25s}.association-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(0,0,0,.08)}.association-card a{text-decoration:none;color:var(--ink)}.association-image{height:220px;background:linear-gradient(135deg,rgba(183,25,46,.12),rgba(52,75,60,.18));display:flex;align-items:center;justify-content:center;overflow:hidden}.association-image img{width:100%;height:100%;object-fit:cover}.association-image span{font-weight:900;text-transform:uppercase;letter-spacing:.08em}.association-body{padding:26px}.association-body>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:900}.association-body h2,.association-body h3{margin:7px 0 12px}.association-body strong{display:block;margin-top:18px;color:var(--red)}.section-action{text-align:center;margin-top:38px}.placeholder-card{border-style:dashed}.eco-section{background:var(--green);color:#fff}.eco-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.eco-grid h2{font-size:clamp(2.5rem,5vw,4.5rem)}.eco-list{list-style:none;margin:0;padding:0}.eco-list li{padding:19px 0;border-bottom:1px solid rgba(255,255,255,.25);font-weight:800}.association-featured img{width:100%;height:auto}.detail-row{padding:18px 0;border-top:1px solid var(--line)}.detail-row span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#777}.detail-row strong{display:block;margin-top:7px}.empty-editorial{grid-column:1/-1;padding:50px;background:var(--cream);border:1px dashed var(--line)}
.residents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.residents-grid article{padding:36px;background:var(--cream);border-top:6px solid #3f6575}.residents-content{background:#f8f5ef}.residents-content h2{font-size:clamp(2.5rem,5vw,4.5rem)}.resident-alert{margin-top:45px;padding:35px;background:#fff;border-left:6px solid var(--red)}.resident-alert .button{margin-top:12px}.volunteer-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.volunteer-intro-grid h2{font-size:clamp(2.5rem,5vw,4.5rem)}.volunteer-missions{display:grid;gap:14px}.volunteer-missions article{padding:27px;background:var(--cream);border-left:5px solid #9a663c}.volunteer-missions strong{display:block;font-size:1.35rem;margin:5px 0}.volunteer-cta-page{padding:80px 0;background:#9a663c;color:#fff}.volunteer-cta-page h2{font-size:clamp(2.5rem,5vw,4rem);margin:8px 0}
@media(max-width:980px){.editorial-hero-grid,.impact-grid,.eco-grid,.volunteer-intro-grid{grid-template-columns:1fr}.editorial-hero-mark{display:none}.practical-nav-grid{grid-template-columns:repeat(3,1fr)}.association-grid{grid-template-columns:repeat(2,1fr)}.residents-grid{grid-template-columns:1fr}.impact-grid{gap:35px}}
@media(max-width:640px){.practical-nav-grid{grid-template-columns:1fr 1fr}.info-block{grid-template-columns:1fr;gap:16px;padding:40px 0}.info-number{font-size:2.4rem}.association-grid{grid-template-columns:1fr}.association-image{height:190px}.editorial-content{padding:25px 20px}.impact-big{font-size:4rem}}


/* AXSO Results module */
.results-home{background:linear-gradient(135deg,#f4f0e8 0%,#fff 65%)}
.results-home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:48px;align-items:center}
.results-home-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.button-outline{background:transparent;border:1px solid var(--red);color:var(--red)}
.button-outline:hover{background:var(--red);color:#fff}
.page-hero-results{background:linear-gradient(135deg,var(--green),#16251c);color:#fff}
.results-intro{align-items:end}
.results-intro>p{max-width:520px}
.results-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
.result-card{position:relative;background:#fff;border:1px solid #e8e4dc;border-radius:22px;padding:32px;box-shadow:0 14px 40px rgba(31,41,55,.07);overflow:hidden}
.result-card-number{display:inline-flex;font-size:.78rem;font-weight:800;letter-spacing:.12em;color:var(--red);margin-bottom:22px}
.result-card h3{margin:0 0 12px;font-size:1.45rem}
.result-card p{margin:0 0 24px;color:#5d625f;max-width:42ch}
.result-pending{display:inline-flex;padding:12px 16px;border-radius:999px;background:#f2f0eb;color:#666;font-size:.9rem;font-weight:700}
.results-extra{margin-top:52px}
@media(max-width:800px){.results-home-grid,.results-cards{grid-template-columns:1fr}.results-home-actions{align-items:stretch}.results-home-actions .button{width:100%;text-align:center}}

/* V0.7.3 — Navigation desktop sur une seule ligne */
.site-header .header-inner{width:min(calc(100% - 32px),1420px);max-width:1420px;gap:18px}
.site-header .brand{flex:0 0 auto;min-width:230px}
.site-header .main-nav{flex:1 1 auto;min-width:0;justify-content:flex-end;align-items:center;gap:14px;white-space:nowrap}
.site-header .main-nav a{font-size:.82rem;line-height:1.15;white-space:nowrap}
.site-header .header-cta{flex:0 0 auto;padding-left:18px;padding-right:18px;white-space:nowrap}
@media(max-width:1180px){
  .site-header .main-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;color:#111;padding:20px;flex-direction:column;align-items:stretch;gap:0;white-space:normal}
  .site-header .main-nav.open{display:flex}
  .site-header .main-nav a{font-size:1rem;padding:12px 4px;border-bottom:1px solid var(--line);white-space:normal}
  .site-header .menu-toggle{display:block;margin-left:auto;background:none;border:1px solid currentColor;color:inherit;padding:9px 12px}
  .site-header .header-cta{display:none}
  .site-header .brand{min-width:0}
}

/* Design 1 — Marathon de Colmar */
:root{--red:#b11e2e;--red-dark:#7d1422;--ink:#181818;--muted:#686868;--soft:#f7f6f3;--gold:#c8a96a;--radius:14px;--shadow:0 16px 45px rgba(21,25,28,.09)}
body{font-family:Inter,Arial,sans-serif;background:#fff;color:var(--ink)}
h1,h2,h3,.brand-name strong{font-family:"Arial Narrow",Inter,Arial,sans-serif}
.button{border-radius:3px;min-height:48px;padding:0 22px}.button-primary{background:var(--red)}.button-glass{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(0,0,0,.18)}.button-outline{border:1px solid #c8c8c8;color:var(--ink);background:#fff}.button-outline:hover{border-color:var(--red);background:#fff;color:var(--red)}
.site-header{height:76px;background:rgba(10,10,10,.32);backdrop-filter:blur(7px)}.site-header.scrolled{background:rgba(18,18,18,.96);color:#fff}.header-inner{height:76px!important}.brand-name{display:block;max-width:195px}.brand-name strong{font-size:1.03rem;line-height:.95;letter-spacing:.01em}.brand-name small{margin-top:4px;color:#ddd}.brand-route{display:block;width:44px;height:20px;border-bottom:3px solid var(--red);border-radius:55%;transform:rotate(-8deg)}
.main-nav a{text-transform:uppercase;font-size:.68rem!important;letter-spacing:.035em}.header-cta{font-size:.75rem;text-transform:uppercase}
.d1-hero{min-height:760px;padding-top:76px;color:#fff;position:relative;background:radial-gradient(circle at 76% 28%,rgba(177,30,46,.55),transparent 34%),linear-gradient(115deg,#141414 0%,#2b2022 46%,#7c1b2b 100%);background-size:cover;background-position:center;overflow:hidden}.d1-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.45),transparent 65%)}.d1-hero.has-photo:after{background:linear-gradient(90deg,rgba(4,4,4,.4),rgba(4,4,4,.05))}.d1-route{position:absolute;width:420px;height:240px;right:4%;bottom:8%;border:2px solid rgba(255,255,255,.16);border-radius:47% 53% 40% 60%;transform:rotate(-14deg)}.d1-route:after{content:"";position:absolute;width:310px;height:130px;right:-80px;bottom:-35px;border:2px solid rgba(177,30,46,.75);border-radius:50%}.d1-hero-inner{min-height:684px;display:flex;align-items:center;position:relative;z-index:2}.d1-hero-copy{max-width:720px}.d1-kicker,.d1-heading>p,.d1-story-card span,.d1-territory>div>p,.d1-associations header p{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.7rem;color:var(--red)}.d1-kicker{color:#f0cf8e;margin-bottom:20px}.d1-hero h1{font-size:clamp(4rem,8vw,7.6rem);line-height:.84;margin:0 0 24px;max-width:820px}.d1-slogan{font-size:clamp(1.45rem,2.6vw,2.5rem);line-height:1.12;font-weight:700;max-width:620px;margin:0 0 28px}.d1-actions{display:flex;gap:12px}.d1-scroll{position:absolute;bottom:24px;left:50%;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.5);width:34px;height:34px;border-radius:50%;display:grid;place-items:center}
.d1-section{padding:88px 0}.d1-heading{margin-bottom:36px}.d1-heading.center{text-align:center}.d1-heading h2{font-size:clamp(2.1rem,4vw,3.65rem);letter-spacing:-.04em;margin:5px 0}.d1-story{background:#fff;position:relative}.d1-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.d1-story-card{min-height:245px;padding:38px;border-radius:var(--radius);display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;overflow:hidden;position:relative}.d1-story-card.yours{background:linear-gradient(110deg,#f8dddd,#fff3f3)}.d1-story-card.theirs{background:linear-gradient(110deg,#fff6da,#fffdf5)}.d1-story-icon{font-size:2.4rem;color:var(--red)}.d1-story-card h3{font-size:1.45rem;margin:10px 0}.d1-story-card p{max-width:440px;color:#555}.d1-stats{margin-top:18px;border:1px solid #e6e2dc;border-radius:var(--radius);display:grid;grid-template-columns:repeat(4,1fr);background:#fff}.d1-stats div{padding:28px 22px;text-align:center;border-right:1px solid #e6e2dc}.d1-stats div:last-child{border:0}.d1-stats strong{display:block;color:var(--red);font-size:1.55rem}.d1-stats span{display:block;font-size:.75rem;margin-top:5px}
.d1-races{background:var(--soft)}.d1-race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.d1-race-card{background:#fff;border:1px solid rgba(25,25,25,.08);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(25,25,25,.06);transition:transform .25s ease,box-shadow .25s ease}.d1-race-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(25,25,25,.12)}.d1-race-card a{display:block;height:100%;text-decoration:none;color:var(--ink)}.d1-race-media{height:285px;background:linear-gradient(145deg,#ded8cf,#b7afa5);background-size:cover;background-position:center;position:relative;overflow:hidden}.d1-race-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 40%,rgba(0,0,0,.34))}.d1-race-media.has-image{transition:background-size .35s ease}.d1-race-distance{position:absolute;z-index:2;left:20px;bottom:18px;padding:8px 12px;background:rgba(255,255,255,.94);color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;border-radius:999px;box-shadow:0 5px 16px rgba(0,0,0,.12)}.d1-race-body{padding:24px 24px 26px;text-align:left}.d1-race-body h3{margin:0 0 8px;font-size:1.5rem;line-height:1.15}.d1-race-body p{margin:0 0 20px;color:#6b6864;min-height:24px}.d1-race-link{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid #ece8e2;color:var(--red);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.d1-race-link b{font-size:1.15rem;transition:transform .2s ease}.d1-race-card:hover .d1-race-link b{transform:translateX(4px)}.d1-center-action{text-align:center;margin-top:36px}
.d1-duo{padding-top:0}.d1-duo-grid{display:grid;grid-template-columns:.95fr 1.35fr;gap:38px}.d1-territory{min-height:490px;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 52%,rgba(255,255,255,.1)),linear-gradient(135deg,#d7b17c,#6f8d58);border-radius:var(--radius);padding:48px;display:flex;align-items:center}.d1-territory>div{max-width:410px}.d1-territory h2,.d1-associations h2{font-size:clamp(2rem,3.5vw,3.1rem)}.d1-associations header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.d1-associations header a{color:var(--red);font-weight:800;text-decoration:none}.d1-association-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.d1-association-card{color:var(--ink);text-decoration:none;background:#fff;border:1px solid #e7e3dc;padding-bottom:18px}.d1-association-card>div{height:170px;background:linear-gradient(135deg,#f3d7d9,#e1d5be);background-size:cover;background-position:center}.d1-association-card h3,.d1-association-card p,.d1-association-card span{margin-left:16px;margin-right:16px}.d1-association-card h3{font-size:1rem;margin-top:15px;margin-bottom:8px}.d1-association-card p{font-size:.78rem;color:#666;min-height:55px}.d1-association-card span{font-size:.75rem;color:var(--red);font-weight:900}
.d1-quick{border-top:1px solid #e4e1dc;border-bottom:1px solid #e4e1dc}.d1-quick-grid{display:grid;grid-template-columns:repeat(6,1fr)}.d1-quick a{padding:26px 14px;text-align:center;text-decoration:none;color:var(--ink);border-right:1px solid #e4e1dc}.d1-quick a:first-child{border-left:1px solid #e4e1dc}.d1-quick i{display:block;color:var(--red);font-style:normal;font-weight:900;font-size:1.2rem;min-height:28px}.d1-quick strong,.d1-quick span{display:block}.d1-quick strong{text-transform:uppercase;font-size:.7rem;margin:8px 0 2px}.d1-quick span{font-size:.7rem;color:#777}
.d1-partners{background:#fff}.d1-logo-grid{display:grid;grid-template-columns:repeat(6,1fr);align-items:center}.d1-logo-grid>a,.d1-logo-grid>div{min-height:90px;display:grid;place-items:center;padding:16px;text-align:center;color:#333;text-decoration:none;font-weight:800}.d1-logo-grid img{max-height:55px;max-width:100%;width:auto;height:auto;object-fit:contain;filter:none}.d1-final{min-height:310px;color:#fff;background:linear-gradient(90deg,rgba(17,22,24,.25),rgba(17,22,24,.83)),linear-gradient(135deg,#7e7659,#223945);display:flex;align-items:center}.d1-final-inner{display:flex;align-items:center;justify-content:flex-end;gap:48px}.d1-final h2{font-size:clamp(2.2rem,4vw,3.8rem);margin-bottom:10px}.d1-final p{max-width:500px}
.site-footer{background:#171717;padding-top:58px}.footer-top{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.footer-message strong{font-size:3.2rem}.footer-message p{font-size:1.1rem;max-width:420px;color:#bbb}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.footer-links h3{text-transform:uppercase;font-size:.72rem;letter-spacing:.1em}.footer-links a{color:#bbb;text-decoration:none;display:block;margin:8px 0;font-size:.85rem}
@media(max-width:1180px){.d1-race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.d1-duo-grid{grid-template-columns:1fr}.d1-quick-grid{grid-template-columns:repeat(3,1fr)}.d1-logo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.d1-hero{min-height:690px}.d1-hero-inner{min-height:614px}.d1-hero h1{font-size:3.6rem}.d1-actions{flex-direction:column;align-items:stretch}.d1-story-grid,.d1-stats,.d1-association-grid,.footer-top{grid-template-columns:1fr}.d1-stats div{border-right:0;border-bottom:1px solid #e6e2dc}.d1-race-grid{grid-template-columns:1fr}.d1-duo-grid{gap:54px}.d1-territory{padding:32px}.d1-quick-grid{grid-template-columns:repeat(2,1fr)}.d1-logo-grid{grid-template-columns:repeat(2,1fr)}.d1-final-inner{justify-content:center;align-items:flex-start;flex-direction:column}.footer-links{grid-template-columns:1fr 1fr}.legal{gap:12px;flex-direction:column}}
@media(max-width:480px){.d1-race-media{height:240px}.d1-story-card{grid-template-columns:1fr;padding:28px 22px}.d1-quick-grid{grid-template-columns:1fr 1fr}.footer-links{grid-template-columns:1fr}}

/* Design 1.0.2 - date des epreuves plus visible sur la Home */
.d1-race-body p{
  font-size:1.08rem;
  line-height:1.35;
  font-weight:700;
  color:#2b2927;
  margin-top:10px;
  margin-bottom:22px;
}
@media(max-width:760px){
  .d1-race-body p{font-size:1.02rem}
}

/* AXSO 0.9.0 - fiches epreuves running et multidisciplines */
.race-section-heading{max-width:720px;margin-bottom:34px}.race-section-heading h2,.race-map-grid h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:.25rem 0 1rem}.race-disciplines-section{background:#f7f6f3}.race-disciplines{display:grid;gap:22px}.race-discipline-card{display:grid;grid-template-columns:66px minmax(0,1fr) minmax(280px,420px);gap:28px;align-items:center;background:#fff;border:1px solid #e7e2db;border-radius:18px;padding:26px;box-shadow:0 12px 35px rgba(20,20,20,.06)}.race-discipline-number{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.3rem;font-weight:900}.race-discipline-content h3{font-size:2rem;margin:.2rem 0 .65rem}.race-discipline-meta{display:flex;gap:16px;align-items:center;margin-bottom:14px}.race-discipline-meta strong{font-size:1.2rem;color:var(--red)}.race-discipline-meta span{color:#666}.race-route-link{display:inline-block;margin-top:8px;color:var(--red);font-weight:900;text-decoration:none}.race-stylized-map{margin:0;background:#f4f1ec;border-radius:13px;padding:12px;min-height:210px;display:grid;place-items:center}.race-stylized-map img{width:100%;height:230px;object-fit:contain}.race-map-section{background:#fff}.race-map-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.race-map-grid figure{margin:0;border:1px solid #e3ded6;border-radius:20px;padding:20px;background:#f7f5f1;box-shadow:0 16px 45px rgba(25,25,25,.08)}.race-map-grid img{display:block;width:100%;max-height:540px;object-fit:contain}.race-map-grid .button{margin-top:16px}
@media(max-width:900px){.race-discipline-card{grid-template-columns:52px 1fr}.race-stylized-map{grid-column:1/-1}.race-map-grid{grid-template-columns:1fr}}
@media(max-width:600px){.race-discipline-card{grid-template-columns:1fr;padding:22px}.race-discipline-number{width:44px;height:44px}.race-discipline-content h3{font-size:1.65rem}.race-discipline-meta{align-items:flex-start;flex-direction:column;gap:4px}.race-stylized-map{grid-column:auto}.race-stylized-map img{height:190px}}

/* AXSO alpha.3 tariffs */
.race-prices-section{background:#f7f6f3}.race-price-table{border:1px solid #e3ded6;border-radius:18px;overflow:hidden;background:#fff}.race-price-row{display:grid;grid-template-columns:1fr 180px 260px;gap:24px;align-items:center;padding:22px 26px;border-bottom:1px solid #ece8e2}.race-price-row:last-child{border-bottom:0}.race-price-row strong{font-size:1.12rem}.race-price-row small{display:block;color:#6b6b6b;margin-top:4px}.race-price-row>span{font-size:1.35rem;font-weight:900;color:var(--red)}.race-price-row time{color:#555}@media(max-width:700px){.race-price-row{grid-template-columns:1fr auto}.race-price-row time{grid-column:1/-1}}

/* AXSO 1.0.0-alpha.5 — Front complet du module Épreuve */
.race-hero-copy{max-width:820px}.race-facts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.race-facts-grid div{min-width:0}.race-facts-grid strong{font-size:1.12rem;line-height:1.35}.race-sport-section{background:#f7f6f3}.race-sport-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.race-sport-card{min-height:150px;padding:28px;border:1px solid #e6e0d8;border-radius:18px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 35px rgba(20,20,20,.05)}.race-sport-card span{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#706b65}.race-sport-card strong{font-size:clamp(1.45rem,2.5vw,2.15rem);line-height:1.05;color:var(--ink)}.race-sequence{display:flex;align-items:stretch;gap:0;margin:0 0 34px;overflow:auto;padding-bottom:4px}.race-sequence-item{position:relative;min-width:190px;flex:1;padding:22px 24px 20px 64px;background:#fff;border-top:1px solid #e5dfd7;border-bottom:1px solid #e5dfd7}.race-sequence-item:first-child{border-left:1px solid #e5dfd7;border-radius:16px 0 0 16px}.race-sequence-item:last-child{border-right:1px solid #e5dfd7;border-radius:0 16px 16px 0}.race-sequence-item:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;z-index:2;width:24px;height:24px;margin-top:-12px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900}.race-sequence-item>span{position:absolute;left:20px;top:20px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f2ebe5;color:var(--red);font-weight:900}.race-sequence-item strong,.race-sequence-item small{display:block}.race-sequence-item small{margin-top:5px;color:#68635e}.race-single-price{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;border:1px solid #e3ded6;border-radius:18px;background:#fff}.race-single-price>strong{font-size:clamp(2rem,5vw,4rem);color:var(--red)}.race-aside a:focus-visible,.race-route-link:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:980px){.race-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-sport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-discipline-card{grid-template-columns:56px 1fr}.race-stylized-map{grid-column:2}.race-sequence-item{min-width:170px}}
@media(max-width:640px){.race-facts-grid,.race-sport-grid{grid-template-columns:1fr}.race-facts-grid div{border-right:1px solid var(--line)}.race-sequence{display:grid;gap:10px;overflow:visible}.race-sequence-item,.race-sequence-item:first-child,.race-sequence-item:last-child{border:1px solid #e5dfd7;border-radius:14px}.race-sequence-item:not(:last-child):after{content:"↓";right:auto;left:23px;top:auto;bottom:-17px;margin:0}.race-discipline-card{display:block}.race-discipline-number{margin-bottom:18px}.race-stylized-map{margin-top:20px}.race-single-price{align-items:flex-start;flex-direction:column}.race-single-price .button{width:100%}}

/* AXSO Sprint Épreuve V2 — données techniques, ravitaillements et barrières */
.race-facts-grid{grid-template-columns:repeat(var(--race-facts-count,6),minmax(0,1fr));max-width:none;width:100%}.race-facts-grid div{min-width:0;padding:27px 18px}.race-facts-grid strong{font-size:1rem;overflow-wrap:anywhere}.race-aid-section{background:#f7f6f3}.race-aid-summary{display:flex;align-items:stretch;gap:0;overflow-x:auto;margin-bottom:34px;padding-bottom:4px}.race-aid-summary-item{position:relative;flex:1;min-width:150px;padding:20px 22px;background:#fff;border:1px solid #e5dfd7;border-right:0}.race-aid-summary-item:first-child{border-radius:14px 0 0 14px}.race-aid-summary-item:last-child{border-right:1px solid #e5dfd7;border-radius:0 14px 14px 0}.race-aid-summary-item:not(:last-child):after{content:"→";position:absolute;z-index:2;right:-12px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900}.race-aid-summary-item strong,.race-aid-summary-item span{display:block}.race-aid-summary-item strong{font-size:1.15rem;color:var(--red)}.race-aid-summary-item span{margin-top:4px;color:#625d57}.race-aid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.race-aid-card{display:grid;grid-template-columns:105px 1fr;background:#fff;border:1px solid #e5dfd7;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(20,20,20,.05)}.race-aid-km{display:grid;place-items:center;padding:22px 14px;background:var(--green);color:#fff;text-align:center;font-size:1.45rem;font-weight:900}.race-aid-card-body{padding:26px}.race-aid-card-body h3{font-size:1.55rem;margin:.25rem 0 .8rem}.race-aid-products{color:#555}.race-aid-barrier{padding:12px 14px;background:#fff1f2;border-left:4px solid var(--red);color:#7d1524}.race-aid-services{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0}.race-aid-services li{padding:7px 10px;border-radius:999px;background:#f1eee9;font-size:.78rem;font-weight:800}.race-barriers-section{background:#fff}.race-barrier-timeline{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}.race-barrier-timeline:before{content:"";position:absolute;left:0;right:0;top:13px;height:2px;background:#ddd5cb}.race-barrier-item{position:relative;padding-top:38px}.race-barrier-dot{position:absolute;top:4px;left:0;width:20px;height:20px;border:5px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--red)}.race-barrier-place{margin:0 0 7px;color:#6b655f;font-weight:800}.race-barrier-item strong{display:block;font-size:2rem;color:var(--red)}.race-barrier-item span,.race-barrier-item small{display:block;margin-top:5px;color:#595550}.race-barrier-item small{font-weight:800}

@media(max-width:900px){.race-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-aid-grid{grid-template-columns:1fr}.race-barrier-timeline{grid-template-columns:1fr}.race-barrier-timeline:before{top:0;bottom:0;left:9px;right:auto;width:2px;height:auto}.race-barrier-item{padding:0 0 28px 45px}.race-barrier-dot{top:2px;left:0}.race-aid-summary{display:grid;gap:10px;overflow:visible}.race-aid-summary-item,.race-aid-summary-item:first-child,.race-aid-summary-item:last-child{border:1px solid #e5dfd7;border-radius:12px}.race-aid-summary-item:not(:last-child):after{content:"↓";right:auto;left:20px;top:auto;bottom:-17px;margin:0}}
@media(max-width:560px){.race-facts-grid{grid-template-columns:1fr 1fr}.race-aid-card{grid-template-columns:1fr}.race-aid-km{min-height:72px}.race-facts-grid strong{font-size:.95rem}}


/* AXSO Sprint Épreuve V2.1 — ravitaillements compacts et liens externes */
.race-aid-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.race-aid-card{grid-template-columns:78px 1fr;border-radius:14px;box-shadow:0 8px 24px rgba(20,20,20,.045)}
.race-aid-km{padding:16px 10px;font-size:1.12rem}
.race-aid-card-body{padding:18px 20px}
.race-aid-card-body .eyebrow{font-size:.66rem;margin-bottom:4px}
.race-aid-card-body h3{font-size:1.18rem;margin:.15rem 0 .5rem}
.race-aid-products{font-size:.9rem;line-height:1.45;margin:.35rem 0}
.race-aid-barrier{padding:9px 11px;margin:.65rem 0;font-size:.86rem}
.race-aid-services{gap:6px;margin:12px 0 0}
.race-aid-services li{padding:5px 8px;font-size:.7rem}
@media(max-width:1100px){.race-aid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.race-aid-grid{grid-template-columns:1fr}.race-aid-card{grid-template-columns:72px 1fr}}
@media(max-width:420px){.race-aid-card{grid-template-columns:1fr}.race-aid-km{min-height:54px}}


/* Sprint Epreuve V3 */
.race-facts-grid{display:grid;grid-template-columns:repeat(var(--race-facts-count,6),minmax(0,1fr));width:100%}
.race-facts-grid div{padding:24px 14px;min-width:0}
.race-facts-grid span{white-space:nowrap}
.race-facts-grid strong{font-size:clamp(.92rem,1.05vw,1.08rem);line-height:1.25;overflow-wrap:normal;word-break:normal}
.race-price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.race-price-card{position:relative;min-height:230px;padding:30px;border:1px solid #e3ded6;border-radius:18px;background:#fff;display:flex;flex-direction:column;box-shadow:0 12px 36px rgba(20,20,20,.045)}
.race-price-card.is-current{border-color:var(--red);box-shadow:0 16px 42px rgba(177,30,46,.11)}
.race-price-status{position:absolute;top:18px;right:18px;padding:6px 9px;border-radius:999px;background:var(--red);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.race-price-card .eyebrow{padding-right:74px;margin-bottom:20px}
.race-price-card>strong{display:block;font-size:clamp(2.15rem,4vw,3.4rem);line-height:1;color:var(--red);margin:auto 0 18px}
.race-price-card time{display:block;font-weight:800;color:#403c38}
.race-price-card small{display:block;margin-top:10px;color:#6a655f;line-height:1.45}
.race-aid-products{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:10px 0}
.race-aid-products li{padding:6px 9px;border:1px solid #e4ded6;border-radius:999px;background:#faf9f7;color:#4f4b46;font-size:.72rem;font-weight:800;line-height:1.1}
.race-aside h2{margin-bottom:14px}
@media(min-width:1101px){.race-facts-grid{grid-template-columns:repeat(var(--race-facts-count,6),minmax(0,1fr))!important}.race-facts-grid div{border-left:0}.race-facts-grid div:first-child{border-left:1px solid var(--line)}}
@media(max-width:1100px){.race-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.race-price-cards{grid-template-columns:1fr}.race-price-card{min-height:205px}}

.axso-race-intro{font-size:1.2rem;line-height:1.65;max-width:850px}.axso-race-presentation-body{max-width:900px}.axso-race-presentation-box{margin-top:28px;padding:24px 28px;border:1px solid #e5ded4;border-radius:18px;background:#fff}.axso-race-presentation-box h3{margin-top:0}.axso-race-presentation-box ul{margin-bottom:0}.axso-race-notice{margin-top:28px;padding:18px 22px;border-left:4px solid var(--mdc-primary,#c51d36);background:#fff3f5;font-weight:600}.axso-race-advanced-content{margin-top:36px;padding-top:28px;border-top:1px solid #e6e0d7}

/* AXSO Results — Sprint V3 public front */
.axso-results-public{background:#f7f5f0}.page-hero-results{position:relative;overflow:hidden;background:linear-gradient(125deg,#5b1120 0%,#a4152b 62%,#c42b39 100%)}.page-hero-results:after{content:"";position:absolute;inset:auto -8% -55% auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.page-hero-results .page-hero-inner{position:relative;z-index:1}.axso-results-phase-badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;margin:0 0 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.axso-results-phase-live{background:#fff;color:#9f1429}.axso-live-pulse{display:inline-flex;align-items:center;gap:9px;margin-top:20px;color:#fff;font-weight:750}.axso-live-pulse i{display:block;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.65);animation:axsoPulse 1.7s infinite}@keyframes axsoPulse{70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}.axso-results-toolbar{background:#fff;border-bottom:1px solid #e7e1d7}.axso-results-toolbar-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.axso-results-toolbar-label{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#77736d}.axso-results-years{display:flex;gap:8px;flex-wrap:wrap}.axso-results-years a{display:inline-flex;align-items:center;justify-content:center;min-width:66px;min-height:40px;padding:6px 14px;border:1px solid #ddd7cc;border-radius:999px;color:#34322f;font-weight:750;text-decoration:none}.axso-results-years a:hover,.axso-results-years a.is-active{background:var(--red);border-color:var(--red);color:#fff}.axso-results-edition{padding-top:78px}.axso-results-race-list{display:grid;gap:30px}.axso-results-race-card{overflow:hidden;background:#fff;border:1px solid #e7e1d7;border-radius:24px;box-shadow:0 18px 55px rgba(31,41,55,.07)}.axso-results-race-head{position:relative;min-height:152px;padding:30px 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(100deg,rgba(39,25,26,.95),rgba(118,18,36,.76)),var(--axso-race-image,linear-gradient(135deg,#2d2022,#a71931));background-position:center;background-size:cover}.axso-results-race-head h3{margin:5px 0 0;color:#fff;font-size:clamp(1.7rem,3vw,2.45rem)}.axso-results-race-head>span{padding:7px 12px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(0,0,0,.14);font-size:.78rem;font-weight:800;white-space:nowrap}.axso-results-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.axso-result-service{display:flex;gap:18px;min-height:170px;padding:28px 30px;border-right:1px solid #eee9e0;border-bottom:1px solid #eee9e0}.axso-result-service:nth-child(2n){border-right:0}.axso-result-service-icon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f8e9eb;color:var(--red);font-size:1.25rem;font-weight:900}.axso-result-service-live .axso-result-service-icon{background:#e5f5e9;color:#19713a}.axso-result-service-body{flex:1;min-width:0}.axso-result-service-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.axso-result-service-title h4{margin:3px 0 12px;font-size:1.18rem}.axso-result-service-title span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f1eee8;color:#68635c;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.axso-result-service.is-available .axso-result-service-title span{background:#e3f3e7;color:#226638}.axso-result-service.is-upcoming{background:#fffdfa}.axso-result-service-link{display:inline-flex;align-items:center;gap:8px;margin-top:11px;color:var(--red);font-weight:800;text-decoration:none}.axso-result-service-link:hover{text-decoration:underline}.axso-result-service-pending{display:block;margin-top:11px;color:#77736d;font-size:.93rem}.axso-results-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 10px}.axso-results-stat-grid>div{padding:10px;border-radius:11px;background:#f7f5f0}.axso-results-stat-grid strong,.axso-results-stat-grid span{display:block}.axso-results-stat-grid strong{font-size:1.08rem}.axso-results-stat-grid span{margin-top:3px;color:#77736d;font-size:.7rem;line-height:1.25}.axso-results-empty{max-width:780px;margin:10px auto;padding:54px 30px;text-align:center;background:#fff;border:1px solid #e7e1d7;border-radius:24px}.axso-results-empty>span{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:18px;background:#f8e9eb;font-size:1.6rem}.axso-results-empty h2{margin-bottom:10px}.axso-results-empty p{margin:0;color:#6d6963}@media(max-width:880px){.axso-results-services{grid-template-columns:1fr}.axso-result-service,.axso-result-service:nth-child(2n){border-right:0}.axso-results-toolbar-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding-top:18px;padding-bottom:18px}.axso-results-race-head{min-height:138px;padding:26px}}@media(max-width:620px){.axso-results-edition{padding-top:54px}.axso-results-race-card{border-radius:18px}.axso-results-race-head{display:block}.axso-results-race-head>span{display:inline-flex;margin-top:16px}.axso-result-service{padding:22px 20px;min-height:0}.axso-result-service-title{display:block}.axso-result-service-title span{margin-bottom:7px}.axso-results-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.axso-results-years{width:100%}.axso-results-years a{flex:1}}

/* AXSO Results V3.1 - compact UX */
.axso-results-race-list{gap:22px}
.axso-results-race-card{border-radius:20px;box-shadow:0 12px 36px rgba(31,41,55,.065)}
.axso-results-race-head{min-height:96px;padding:20px 26px;align-items:center}
.axso-results-race-head .eyebrow{display:none}
.axso-results-race-head h3{margin:0;font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.08}
.axso-results-race-head>span{padding:5px 10px;font-size:.7rem}
.axso-results-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#eee9e0}
.axso-result-service,.axso-result-service:nth-child(2n){min-height:116px;padding:18px 20px;gap:13px;border:0;background:#fff}
.axso-result-service-icon{flex-basis:38px;width:38px;height:38px;border-radius:12px;font-size:1.05rem}
.axso-result-service-title{gap:8px}
.axso-result-service-title h4{margin:1px 0 7px;font-size:1rem;line-height:1.25}
.axso-result-service-title span{padding:3px 7px;font-size:.61rem}
.axso-result-service-link,.axso-result-service-pending{margin-top:5px;font-size:.88rem}
.axso-results-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:2px 0 6px}
.axso-results-stat-grid>div{padding:7px 8px}
.axso-results-stat-grid strong{font-size:.96rem}
.axso-results-stat-grid span{font-size:.64rem}
@media(max-width:1050px){.axso-results-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.axso-results-race-list{gap:18px}.axso-results-race-head{min-height:88px;padding:18px 20px}.axso-results-race-head>span{margin-top:10px}.axso-results-services{grid-template-columns:1fr}.axso-result-service,.axso-result-service:nth-child(2n){min-height:0;padding:17px 18px}}


/* AXSO Results V3.2 - polish final */
.axso-results-race-list{gap:20px}
.axso-results-race-card{transition:transform .2s ease,box-shadow .2s ease}
.axso-results-race-card:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(31,41,55,.08)}
.axso-results-race-head{min-height:90px;padding:18px 24px}
.axso-results-services{
  background-color:#f0ece4;
  background-image:
    radial-gradient(circle at 12px 12px,rgba(183,25,46,.055) 0 1.5px,transparent 1.7px),
    linear-gradient(135deg,transparent 0 46%,rgba(183,25,46,.035) 46% 47%,transparent 47% 100%);
  background-size:28px 28px,110px 110px;
}
.axso-result-service,.axso-result-service:nth-child(2n){min-height:108px;padding:16px 18px}
.axso-result-service{transition:background-color .2s ease,transform .2s ease}
.axso-result-service:hover{background:#fffdfb;transform:translateY(-1px)}
.axso-result-service-title h4{font-size:.98rem}
.axso-result-service-link,.axso-result-service-pending{font-size:.86rem}
@media(max-width:680px){
  .axso-results-race-head{min-height:84px;padding:17px 18px}
  .axso-result-service,.axso-result-service:nth-child(2n){padding:16px 17px}
}

/* AXSO UX Global V1 — harmonisation Épreuves + Résultats */
.single-epreuve .section{padding:72px 0}
.single-epreuve .race-section-heading{margin-bottom:26px}
.single-epreuve .race-main-section{padding-top:68px;padding-bottom:68px}
.single-epreuve .race-price-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.single-epreuve .race-price-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(31,41,55,.07);border-color:#d9d0c5}
.single-epreuve .race-aid-card{transition:transform .2s ease,box-shadow .2s ease}
.single-epreuve .race-aid-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(31,41,55,.075)}
.single-epreuve .race-map-grid{gap:48px}
.single-epreuve .race-bottom-cta{padding:54px 0}
.axso-results-edition{padding-top:62px}
.axso-results-race-list{gap:18px}
.axso-results-race-card{border-radius:18px}
.axso-results-race-head{min-height:86px;padding:16px 22px}
.axso-result-service,.axso-result-service:nth-child(2n){min-height:102px;padding:15px 17px}
.axso-result-service-icon{width:36px;height:36px;flex-basis:36px}
@media(max-width:700px){
  .single-epreuve .section{padding:54px 0}
  .single-epreuve .race-section-heading{margin-bottom:22px}
  .single-epreuve .race-bottom-cta{padding:46px 0}
  .axso-results-edition{padding-top:48px}
}
.race-map-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.race-map-document{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px;border:1px solid #e3ddd4;border-radius:22px;background:#f7f4ef}.race-map-document .dashicons{font-size:56px;width:56px;height:56px;color:var(--red);margin-bottom:16px}.race-map-document strong{font-size:1.5rem}.race-map-document p{color:#666}.axso-manual-impact-values{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.axso-manual-impact-values article h2{font-size:clamp(2rem,4vw,4rem);color:var(--red);margin:.25rem 0}.axso-regulation-content{max-width:900px;margin:0 auto}.axso-regulation-content p,.axso-regulation-content li{font-size:1.05rem;line-height:1.75}

/* AXSO V2.6 - coherent page headers */
.archive-hero,.page-hero,.axso-news-hero,.axso-solidarity-hero,.axso-association-single-hero,.axso-volunteer-hero{box-sizing:border-box;min-height:420px;display:flex;align-items:center}
.archive-hero>.wrap,.page-hero>.wrap,.axso-news-hero>.wrap,.axso-solidarity-hero>.wrap,.axso-association-single-hero>.wrap,.axso-volunteer-hero>.wrap{width:min(calc(100% - 40px),var(--max));margin-left:auto;margin-right:auto}
@media(max-width:700px){.archive-hero,.page-hero,.axso-news-hero,.axso-solidarity-hero,.axso-association-single-hero,.axso-volunteer-hero{min-height:330px}}

/* AXSO V2.6 - home association cards: horizontal and concise */
.d1-association-grid{grid-template-columns:1fr;gap:14px}
.d1-association-card{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-areas:"media title" "media summary" "media link";align-content:center;min-height:150px;padding:0;overflow:hidden}
.d1-association-card>div{grid-area:media;width:150px;height:100%;min-height:150px;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#faf8f4;border-right:1px solid #e7e3dc}
.d1-association-card h3{grid-area:title;margin:20px 20px 5px;font-size:1.05rem}
.d1-association-card p{grid-area:summary;margin:0 20px 8px;min-height:0;font-size:.82rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.d1-association-card span{grid-area:link;margin:0 20px 20px;font-size:.78rem}
@media(max-width:620px){.d1-association-card{grid-template-columns:105px minmax(0,1fr)}.d1-association-card>div{width:105px;min-height:135px}.d1-association-card h3{margin:15px 15px 4px}.d1-association-card p{margin:0 15px 7px;-webkit-line-clamp:2}.d1-association-card span{margin:0 15px 15px}}

/* V3.1 — Identité : le logo événement reste contenu dans le header, quel que soit son ratio. */
.site-header .brand.has-logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;min-width:0;max-width:210px;height:76px;overflow:hidden}
.site-header .brand .axso-event-logo{display:block!important;width:auto!important;height:auto!important;max-width:200px!important;max-height:56px!important;object-fit:contain;object-position:left center;flex:0 1 auto}
@media(max-width:1180px){.site-header .brand.has-logo{max-width:170px}.site-header .brand .axso-event-logo{max-width:160px!important;max-height:50px!important}}
@media(max-width:640px){.site-header .brand.has-logo{height:68px;max-width:150px}.site-header .brand .axso-event-logo{max-width:140px!important;max-height:44px!important}}

/* V3.2 — Identité header : logo seul, logo + nom du site ou logo + nom personnalisé. */
.site-header .brand.has-logo-name{max-width:330px;gap:12px;overflow:visible}
.site-header .brand.has-logo-name .axso-event-logo{max-width:120px!important;max-height:50px!important;flex:0 0 auto}
.axso-header-event-name{display:block;max-width:185px;color:inherit;font-family:"Arial Narrow",Inter,Arial,sans-serif;font-size:.98rem;font-weight:900;line-height:1.02;letter-spacing:.035em;text-transform:uppercase;white-space:normal}
@media(max-width:1180px){.site-header .brand.has-logo-name{max-width:240px;gap:9px}.site-header .brand.has-logo-name .axso-event-logo{max-width:92px!important;max-height:44px!important}.axso-header-event-name{max-width:135px;font-size:.82rem}}
@media(max-width:980px){.site-header .brand.has-logo-name{max-width:300px}.site-header .brand.has-logo-name .axso-event-logo{max-width:110px!important}.axso-header-event-name{max-width:175px;font-size:.9rem}}
@media(max-width:640px){.site-header .brand.has-logo-name{max-width:205px;gap:7px}.site-header .brand.has-logo-name .axso-event-logo{max-width:72px!important;max-height:38px!important}.axso-header-event-name{max-width:125px;font-size:.72rem;line-height:1.05}}

/* AXSO V4.0.2 - correction globale de l’alignement des headers front */
.archive-hero>.wrap,
.page-hero>.wrap,
.axso-news-hero>.wrap,
.axso-solidarity-hero>.wrap,
.axso-association-single-hero>.wrap,
.axso-volunteer-hero>.wrap,
.axso-practical-hero>.wrap,
.race-hero>.wrap,
.d1-hero>.wrap{
  width:min(calc(100% - 40px),var(--max))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:600px){
  .archive-hero>.wrap,
  .page-hero>.wrap,
  .axso-news-hero>.wrap,
  .axso-solidarity-hero>.wrap,
  .axso-association-single-hero>.wrap,
  .axso-volunteer-hero>.wrap,
  .axso-practical-hero>.wrap,
  .race-hero>.wrap,
  .d1-hero>.wrap{width:min(calc(100% - 32px),var(--max))!important}
}
