/* ===== Rencontres Motardes – style.css ===== */
:root{
  --asphalt:#1C1C1E;
  --asphalt-2:#26262a;
  --asphalt-3:#323238;
  --red:#C62828;
  --red-dark:#a11f1f;
  --red-light:#e04848;
  --cream:#F5F1EB;
  --cream-2:#ece6dc;
  --white:#ffffff;
  --text:#1C1C1E;
  --muted:#5f5b57;
  --line:#e4ddd2;
  --grad:linear-gradient(135deg,#d63131 0%,#C62828 45%,#a11f1f 100%);
  --radius:16px;
  --shadow:0 12px 32px rgba(28,28,30,.12);
  --display:"Oswald","Arial Narrow",Impact,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --header-h:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.65;color:var(--text);background:var(--white);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:0 0 .55em;color:inherit;letter-spacing:.01em}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);text-transform:uppercase}
h3{font-size:1.25rem}
p{margin:0 0 1em}
strong{font-weight:700}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.container--narrow{max-width:860px}
.center{text-align:center;margin-top:2.4rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--asphalt);color:#fff;padding:10px 14px;z-index:999}
.skip:focus{left:10px;top:10px}

/* ===== Boutons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;background:var(--grad);color:#fff;font-family:var(--display);font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:14px 28px;border-radius:999px;box-shadow:0 10px 24px rgba(198,40,40,.35);transition:transform .15s ease,box-shadow .15s ease,filter .15s;border:2px solid transparent;text-align:center;line-height:1.2;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(198,40,40,.45);filter:brightness(1.06)}
.btn:focus-visible{outline:3px solid var(--red-light);outline-offset:3px}
.btn--sm{padding:10px 20px;font-size:.92rem}
.btn--lg{padding:16px 34px;font-size:1.08rem}
.btn--xl{padding:20px 42px;font-size:1.22rem}
.btn--light{background:#fff;color:var(--red);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.btn--outline{background:transparent;color:var(--red);border-color:var(--red);box-shadow:none}
.btn--outline:hover{background:var(--red);color:#fff}
.btn--block{width:100%}
.btn .arrow{transition:transform .15s}
.btn:hover .arrow{transform:translateX(4px)}

/* ===== Header ===== */
.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:3px solid var(--red);box-shadow:0 2px 16px rgba(28,28,30,.08)}
.topbar__inner{display:flex;align-items:center;gap:18px;height:var(--header-h)}
.brand{flex-shrink:0}
.brand img{height:58px;width:auto}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{color:var(--asphalt);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:999px;transition:background .15s,color .15s}
.nav a:hover{background:var(--cream);color:var(--red)}
.nav .nav__cta-mobile{display:none}
.topbar__cta{flex-shrink:0}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--asphalt);margin:5px 0;border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Hero ===== */
.hero{position:relative;color:#fff;background:var(--asphalt) url('../images/header.jpg') center 30%/cover no-repeat;min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));display:flex;align-items:center;padding:70px 0 90px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,28,30,.15) 0%,rgba(28,28,30,.55) 42%,rgba(28,28,30,.92) 70%,rgba(28,28,30,.96) 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--cream) 0 46px,transparent 46px 82px);opacity:.9}
.hero__inner{position:relative;display:flex;justify-content:flex-end}
.hero__card{max-width:600px}
.eyebrow{display:inline-block;font-family:var(--display);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:#fff;background:var(--red);padding:6px 14px;border-radius:999px;margin:0 0 18px}
.eyebrow--dark{background:var(--asphalt)}
.eyebrow--cream{background:var(--cream);color:var(--red)}
.hero h1{font-size:clamp(2.3rem,5.2vw,4rem);text-transform:uppercase;line-height:1.04;margin-bottom:.4em;text-shadow:0 3px 18px rgba(0,0,0,.35)}
.hero h1 span{color:var(--red-light);display:block}
.hero__lead{font-size:1.12rem;color:rgba(255,255,255,.92);max-width:560px;margin-bottom:1.6em}
.hero__lead strong{color:#fff}
.hero__cta{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.hero__note{font-size:.85rem;color:rgba(255,255,255,.75);margin:0}
.rating{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 0;font-size:1rem}
.rating strong{font-family:var(--display);font-size:1.35rem;letter-spacing:.02em}
.rating__count{color:rgba(255,255,255,.78)}
.rating__src{display:block;width:100%;font-size:.78rem;color:rgba(255,255,255,.6);margin-top:-4px}
.stars{position:relative;display:inline-block;font-size:1.35rem;line-height:1;letter-spacing:2px;color:rgba(255,255,255,.28)}
.stars::before{content:"★★★★★"}
.stars__fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#f6b73c}
.stars__fill::before{content:"★★★★★"}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:22px 0 0}
.chips li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:7px 14px;border-radius:999px;font-size:.9rem;font-weight:600}

/* ===== Sections ===== */
.section{padding:90px 0}
.section--cream{background:var(--cream)}
.section--dark{background:var(--asphalt);color:#fff}
.section--dark p{color:rgba(255,255,255,.82)}
.section__head{text-align:center;max-width:780px;margin:0 auto 48px}
.section__head p{color:var(--muted);font-size:1.08rem}
.section--dark .section__head p{color:rgba(255,255,255,.75)}
.road{height:6px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,transparent 40px 70px);opacity:.85;margin:0 auto 28px;width:180px;border-radius:3px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split--reverse .split__media{order:2}
.split--mt{margin-top:72px}
.split__media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover}
.split__media--tall img{aspect-ratio:4/5}
.split__media--frame{position:relative}
.split__media--frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:3px solid var(--red);border-radius:var(--radius);z-index:-1}
.split__text h2{text-transform:uppercase}
.h3-lg{font-size:clamp(1.4rem,2.6vw,1.9rem);text-transform:uppercase}
.ticks{list-style:none;padding:0;margin:0 0 1.4em}
.ticks li{position:relative;padding-left:32px;margin-bottom:.7em}
.ticks li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.kpi{background:var(--cream);border-radius:14px;padding:16px;text-align:center}
.kpi b{display:block;font-family:var(--display);font-size:1.3rem;color:var(--red);text-transform:uppercase}
.kpi span{font-size:.88rem;color:var(--muted)}

/* ===== Tableau points forts ===== */
.table-wrap{overflow-x:auto;border-radius:var(--radius);box-shadow:0 18px 44px rgba(0,0,0,.35);margin-bottom:48px;-webkit-overflow-scrolling:touch}
.compare{width:100%;border-collapse:collapse;background:var(--asphalt-2);min-width:620px}
.compare th,.compare td{padding:16px 20px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}
.compare thead th{background:var(--red);color:#fff;font-family:var(--display);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}
.compare thead th:nth-child(2){background:var(--red-dark)}
.compare tbody th{font-weight:700;color:#fff;width:24%}
.compare td{color:rgba(255,255,255,.85)}
.compare td:nth-child(2){background:rgba(198,40,40,.12);color:#fff}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.ok{color:#5fd38d;font-weight:800;margin-right:6px}
.ko{color:#ff7b7b;font-weight:800;margin-right:6px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{background:var(--asphalt-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden}
.feature::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.feature__ico{font-size:1.6rem;display:block;margin-bottom:10px}
.feature h3{color:#fff;text-transform:uppercase;font-size:1.15rem}
.feature p{margin:0;font-size:.97rem}

/* ===== Étapes ===== */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s;position:relative}
.step{background:#fff;border-radius:var(--radius);padding:30px 24px 26px;box-shadow:var(--shadow);position:relative;border-top:4px solid var(--red)}
.step__num{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--asphalt);color:#fff;font-family:var(--display);font-size:1.4rem;margin-bottom:16px;box-shadow:0 0 0 5px var(--cream-2)}
.step h3{text-transform:uppercase;font-size:1.12rem}
.step p{margin:0;color:var(--muted);font-size:.96rem}

/* ===== Bande CTA ===== */
.band{background:var(--grad);color:#fff;padding:34px 0;position:relative;overflow:hidden}
.band::after{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 40px,transparent 40px 70px);pointer-events:none}
.band__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px}
.band p{margin:0;font-size:1.12rem}
.band strong{font-family:var(--display);font-size:1.35rem;text-transform:uppercase;letter-spacing:.02em;display:block}

/* ===== Encart CTA centré ===== */
.cta-box{max-width:760px;margin:56px auto 0;text-align:center;background:#fff;border-radius:22px;padding:34px 28px;box-shadow:var(--shadow);border:2px solid var(--red);position:relative}
.cta-box__badge{display:inline-block;background:var(--asphalt);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.cta-box__t{font-family:var(--display);font-size:clamp(1.4rem,3vw,1.9rem);text-transform:uppercase;margin:0 0 .3em;line-height:1.15}
.cta-box p{color:var(--muted)}
.cta-box__s{font-size:.82rem;color:var(--muted);margin:14px 0 0}
.section--dark .cta-box{background:var(--asphalt-2);border-color:var(--red)}
.section--dark .cta-box__t{color:#fff}
.section--dark .cta-box__badge{background:var(--red)}

/* ===== Tarifs ===== */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.plan{background:#fff;border:2px solid var(--line);border-radius:22px;padding:32px 28px;display:flex;flex-direction:column;position:relative}
.plan .btn{margin-top:auto}
.plan--featured{border-color:var(--red);box-shadow:0 20px 44px rgba(198,40,40,.18);transform:translateY(-8px)}
.plan__flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--red);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:6px 14px;border-radius:999px;white-space:nowrap}
.plan__tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:var(--red);margin:0 0 4px}
.plan h3{text-transform:uppercase;font-size:1.35rem}
.plan__price{font-family:var(--display);font-size:2.6rem;line-height:1;margin:6px 0 18px}
.plan__price small{font-size:.95rem;color:var(--muted);font-family:var(--sans);display:block;margin-top:6px}
.plan__price--txt{font-size:1.25rem;line-height:1.3}
.note{margin-top:44px;background:var(--asphalt);color:#fff;border-radius:22px;padding:32px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}
.note__ico{font-size:2.4rem;line-height:1}
.note h3{text-transform:uppercase}
.note .ticks{margin:0}
.note .ticks li{color:rgba(255,255,255,.88)}

/* ===== Villes ===== */
.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.city{display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);padding:22px 22px 18px;text-decoration:none;color:var(--text);box-shadow:0 6px 20px rgba(28,28,30,.07);border:1px solid var(--line);transition:transform .15s,box-shadow .15s,border-color .15s}
.city:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--red)}
.city h3{text-transform:uppercase;font-size:1.2rem;margin-bottom:.15em;display:flex;align-items:center;gap:8px}
.city h3::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(198,40,40,.15);flex-shrink:0}
.city__route{font-size:.8rem;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6em}
.city p{font-size:.93rem;color:var(--muted);margin-bottom:.9em}
.city span.go{margin-top:auto;font-weight:700;color:var(--red);font-size:.92rem}

/* ===== FAQ ===== */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.faq details[open]{border-color:var(--red);box-shadow:0 8px 22px rgba(28,28,30,.08)}
.faq summary{cursor:pointer;list-style:none;padding:18px 56px 18px 22px;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--cream);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;transition:transform .2s,background .2s,color .2s}
.faq details[open] summary::after{content:"–";background:var(--red);color:#fff}
.faq details p{padding:0 22px 20px;margin:0;color:var(--muted)}

/* ===== CTA final ===== */
.final{position:relative;background:var(--asphalt);color:#fff;text-align:center;padding:100px 0;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(198,40,40,.55) 0%,rgba(198,40,40,0) 60%),url('../images/image3.jpg') center/cover no-repeat;opacity:.35}
.final::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,28,30,.85),rgba(28,28,30,.7) 50%,rgba(28,28,30,.92))}
.final__inner{position:relative;z-index:1;max-width:820px}
.final__icon{width:96px;height:96px;border-radius:50%;margin:0 auto 22px;background:#fff;padding:8px;box-shadow:0 0 0 6px rgba(198,40,40,.6)}
.final h2{font-size:clamp(2rem,4.5vw,3.2rem)}
.final p{color:rgba(255,255,255,.85);font-size:1.12rem}
.final .cta-checks{justify-content:center}
.cta-checks{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;padding:0;margin:0 0 28px}
.cta-checks li::before{content:"✓ ";color:var(--red-light);font-weight:800}
.final__small{font-size:.85rem!important;color:rgba(255,255,255,.6)!important;margin-top:16px}

/* ===== Footer ===== */
.footer{background:#121214;color:rgba(255,255,255,.75);padding:60px 0 100px;font-size:.95rem;border-top:4px solid var(--red)}
.footer a{color:#fff}
.footer__top{display:grid;grid-template-columns:1.1fr 1.9fr;gap:40px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer__logo{background:#fff;border-radius:14px;padding:10px 14px;width:220px;margin-bottom:16px}
.footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px;align-content:start}
.footer__links a{text-decoration:none;color:rgba(255,255,255,.8)}
.footer__links a:hover{color:var(--red-light)}
.disclaimers{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:34px 0}
.disclaimer{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-left:4px solid var(--red);border-radius:14px;padding:22px}
.disclaimer h3{font-family:var(--sans);font-size:1rem;color:#fff;font-weight:800;margin-bottom:.6em}
.disclaimer p{margin:0;font-size:.88rem;line-height:1.6}
.footer__copy{text-align:center;font-size:.85rem;margin:0;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}

/* ===== CTA sticky mobile ===== */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(28,28,30,.96);box-shadow:0 -6px 20px rgba(0,0,0,.25);transform:translateY(110%);transition:transform .25s ease;display:none}
.sticky-cta.is-visible{transform:none}

/* ===== Pages annexes ===== */
.page-hero{background:var(--asphalt);color:#fff;padding:64px 0 52px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,transparent 40px 70px)}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem);text-transform:uppercase;margin:0}
.page-content{padding:56px 0 80px}
.page-content h2{font-size:1.5rem;margin-top:1.6em;text-transform:uppercase}
.page-content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.form{display:grid;gap:18px;background:var(--cream);border-radius:22px;padding:30px;margin-top:28px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{display:block;font-weight:700;margin-bottom:6px;font-size:.95rem}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;padding:13px 14px;border:1.5px solid var(--cream-2);border-radius:12px;font:inherit;background:#fff;color:var(--text)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(198,40,40,.15)}
.form textarea{min-height:160px;resize:vertical}
.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.92rem!important}
.consent input{margin-top:5px;accent-color:var(--red)}
.hp{position:absolute;left:-9999px}
.alert{display:none;padding:16px 18px;border-radius:12px;margin-bottom:20px;font-weight:600}
.alert.is-visible{display:block}
.alert--ok{background:#e7f6ec;color:#185c33}
.alert--ko{background:#fdeaea;color:#8c1d1d}

/* ===== Responsive ===== */
@media (max-width:1120px){
  .burger{display:block}
  .topbar__cta{display:none}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:12px 20px 20px;box-shadow:0 14px 30px rgba(28,28,30,.15);border-bottom:3px solid var(--red);display:none}
  .nav.is-open{display:flex}
  .nav a{padding:12px 10px;border-radius:10px}
  .nav .nav__cta-mobile{display:flex;margin-top:8px;color:#fff}
  .features{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .cities{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .hero{background-position:22% 30%;min-height:auto;padding:56px 0 76px}
  .hero::before{background:linear-gradient(180deg,rgba(28,28,30,.55) 0%,rgba(28,28,30,.78) 45%,rgba(28,28,30,.94) 100%)}
  .hero__inner{justify-content:flex-start}
  .split{grid-template-columns:1fr;gap:34px}
  .split--reverse .split__media{order:0}
  .split__media--frame::before{display:none}
  .plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .plan--featured{transform:none}
  .footer__top{grid-template-columns:1fr}
  .disclaimers{grid-template-columns:1fr}
  .sticky-cta{display:block}
}
@media (max-width:640px){
  body{font-size:16px}
  :root{--header-h:66px}
  .brand img{height:48px}
  .section{padding:64px 0}
  .container{padding:0 16px}
  .hero h1{font-size:2.15rem}
  .hero__cta .btn{width:100%}
  .btn--xl{padding:18px 26px;font-size:1.08rem}
  .features,.steps{grid-template-columns:1fr}
  .cities{grid-template-columns:1fr 1fr;gap:12px}
  .city{padding:16px 14px}
  .city p{display:none}
  .kpis{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .kpi{padding:12px 6px}
  .kpi b{font-size:1.05rem}
  .band__inner{flex-direction:column;text-align:center}
  .note{grid-template-columns:1fr;padding:24px}
  .cta-box{padding:28px 18px}
  .footer__links{grid-template-columns:1fr 1fr}
  .form{padding:20px}
  .form .row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ===== Correctifs contraste ===== */
.section__head .eyebrow,.split__text .eyebrow{color:#fff}
.cta-box .cta-box__t{color:var(--text)}
.section--dark .cta-box .cta-box__t{color:#fff}
.section--dark .cta-box p{color:rgba(255,255,255,.8)}
.section--dark .cta-box .cta-box__s{color:rgba(255,255,255,.55)}
.band::after{top:auto;bottom:8px;margin-top:0}
@media (max-width:900px){.split__media--tall img{aspect-ratio:auto;max-height:520px;object-position:center 30%}}

/* =====================================================================
   Articles, rubriques et blog
   ===================================================================== */
.container--article{max-width:860px}
.crumbs ol{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px;font-size:.85rem}
.crumbs li{color:rgba(255,255,255,.72)}
.crumbs li+li::before{content:"›";margin-right:6px;opacity:.6}
.crumbs a{color:#fff;text-decoration:none;opacity:.85}
.crumbs a:hover{opacity:1;text-decoration:underline}
/* hero article */
.art-hero{position:relative;background:var(--asphalt);color:#fff;padding:44px 0 56px;overflow:hidden}
.art-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,rgba(198,40,40,.45) 0%,rgba(198,40,40,0) 55%)}
.art-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,transparent 40px 70px)}
.art-hero .container{position:relative;z-index:1}
.art-hero .eyebrow{text-decoration:none}
.art-hero h1{font-size:clamp(1.9rem,4.4vw,2.9rem);text-transform:uppercase;margin-bottom:.4em}
.art-hero__lead{font-size:1.08rem;color:rgba(255,255,255,.88);margin-bottom:1.2em}
.art-hero__meta{font-size:.86rem;color:rgba(255,255,255,.6);margin:0 0 1.6em}
/* CTA haut */
.cta-top{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-top:4px solid var(--red);border-radius:20px;padding:26px 22px 22px}
.cta-top__t{font-family:var(--display);font-size:1.8rem;text-transform:uppercase;letter-spacing:.02em;margin:0 0 10px;color:#fff}
.cta-top .cta-checks{justify-content:center;color:#fff;font-weight:600;font-size:.95rem}
.cta-top .cta-box__badge{background:var(--red)}
.cta-top .cta-box__s{color:rgba(255,255,255,.6)}
/* corps */
.article{padding:40px 0 30px}
.article__img{margin:0 0 30px}
.article__img img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:16/9;object-fit:cover}
.prose{font-size:1.06rem}
.prose h2{font-size:clamp(1.5rem,2.8vw,1.95rem);text-transform:uppercase;margin:1.8em 0 .6em;scroll-margin-top:96px;padding-left:14px;border-left:5px solid var(--red)}
.prose h3{font-size:1.22rem;margin:1.4em 0 .5em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--red);font-weight:700}
.prose a{color:var(--red);font-weight:600;text-underline-offset:3px}
.prose .btn,.prose a.btn{color:#fff;text-decoration:none}
.prose .cta-box{margin:2.4em auto}
.tip{background:var(--cream);border-left:4px solid var(--red);border-radius:0 12px 12px 0;padding:16px 20px;margin:1.4em 0}
.toc{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin:1.8em 0}
.toc__t{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem;margin:0 0 8px}
.toc ol{margin:0;padding-left:1.3em}
.toc li{margin:.3em 0}
.toc a{color:var(--text)!important;font-weight:500!important;text-decoration:none}
.toc a:hover{color:var(--red)!important;text-decoration:underline}
.readalso{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:28px 0;padding:14px 18px;border-left:4px solid var(--red);background:var(--cream);border-radius:0 12px 12px 0}
.readalso__k{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.prose .readalso a{font-weight:700;color:var(--asphalt);text-decoration:none;border-bottom:2px solid var(--red)}
.prose .readalso a:hover{color:var(--red)}
.art-faq{margin-top:44px}
.art-faq h2{text-transform:uppercase}
/* CTA bas */
.cta-end{position:relative;padding:76px 0;background:var(--asphalt);overflow:hidden}
.cta-end::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,rgba(198,40,40,.6) 0%,rgba(198,40,40,0) 60%)}
.cta-end__card{position:relative;max-width:780px;margin:0 auto;text-align:center;color:#fff}
.cta-end__card .cta-box__badge{background:var(--red)}
.cta-end__card h2{font-size:clamp(1.9rem,4vw,2.7rem);color:#fff;margin-bottom:.4em}
.cta-end__card p{font-size:1.08rem;color:rgba(255,255,255,.85)}
.cta-end__card .cta-checks{justify-content:center;color:#fff;font-weight:600}
.cta-end__card .cta-box__s{color:rgba(255,255,255,.55)}
/* listes miniature + titre */
.related{background:var(--cream);padding:64px 0}
.related h2{text-align:center;margin-bottom:1.2em}
.alist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.arow{display:grid;grid-template-columns:200px 1fr 30px;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;text-decoration:none;color:var(--text);transition:transform .15s,box-shadow .15s,border-color .15s}
.arow:hover{transform:translateX(4px);box-shadow:var(--shadow);border-color:var(--red)}
.arow__img{width:200px;height:125px;object-fit:cover;border-radius:12px}
.arow__cat{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--red)}
.arow h3{font-family:var(--display);font-size:1.18rem;margin:.25em 0 .3em;line-height:1.25}
.arow p{margin:0;font-size:.92rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.arow__go{font-size:1.4rem;color:var(--red);font-weight:700}
.alist--compact .arow{grid-template-columns:120px 1fr 24px;gap:14px;padding:8px}
.alist--compact .arow__img{width:120px;height:76px}
.alist--compact .arow p{display:none}
.alist--compact .arow h3{font-size:1.02rem}
/* rubriques */
.hub-hero{position:relative;color:#fff;padding:64px 0 76px;background-size:cover;background-position:center;background-color:var(--asphalt)}
.hub-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,transparent 40px 70px)}
.hub-hero h1{font-size:clamp(2.1rem,4.8vw,3.3rem);text-transform:uppercase;max-width:800px}
.hub-hero__lead{max-width:680px;font-size:1.1rem;color:rgba(255,255,255,.9);margin-bottom:1.6em}
.blogcat{padding:34px 0;border-bottom:1px solid var(--line)}
.blogcat:last-child{border-bottom:0}
.blogcat h2{text-transform:uppercase}
.blogcat h2 a{color:var(--text);text-decoration:none}
.blogcat h2 a:hover{color:var(--red)}
.blogcat p{color:var(--muted)}
.blogcat .alist{margin-bottom:1.2em}
.section--tight{padding:0 0 44px}
.hubnav{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;text-align:center}
.hubnav__t{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;margin:0 0 14px;font-size:1.1rem}
.hubnav__l{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.hubnav__l a{display:inline-block;padding:8px 14px;border-radius:999px;background:var(--cream);color:var(--asphalt);font-weight:600;font-size:.92rem;text-decoration:none;transition:background .2s,color .2s}
.hubnav__l a:hover{background:var(--red);color:#fff}
/* landing : guides */
.guides-list{max-width:860px;margin:0 auto}
.section--dark .arow{background:var(--asphalt-2);border-color:rgba(255,255,255,.08);color:#fff}
.section--dark .arow p{color:rgba(255,255,255,.7)}
.cities--5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1120px){.cities--5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){
  .cities--5{grid-template-columns:1fr 1fr}
  .arow{grid-template-columns:96px 1fr;gap:12px;padding:8px}
  .arow__img,.alist--compact .arow__img{width:96px;height:72px}
  .alist--compact .arow{grid-template-columns:96px 1fr}
  .arow__go,.arow p{display:none}
  .arow h3{font-size:1.02rem}
  .prose{font-size:1rem}
  .cta-top{padding:22px 14px 18px}
  .cta-top .btn{width:100%}
  .cta-checks{flex-direction:column;align-items:center;gap:4px}
}
