/* ICAR LUXE — feuille de style principale
   Couleurs tirées du logo officiel : asphalte, ivoire et rouge des deux barres obliques. */
@font-face{font-family:"Archivo";src:url("../fonts/archivo-var.woff2") format("woff2-variations"),url("../fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}

:root{
  --asphalte:#1e1f23;      /* fond du logo */
  --asphalte-2:#2a2c31;
  --ivoire:#f0ece2;        /* lettrage du logo */
  --signal:#e8492f;        /* barres // du logo */
  --signal-fonce:#c43a22;  /* contraste AA sur blanc */
  --encre:#1e1f23;
  --gris:#5b6167;
  --beton:#eceeec;
  --ligne:#d6dad8;
  --blanc:#ffffff;
  --ok:#1f7a4d;
  --rayon:6px;
  --ombre:0 1px 2px rgba(30,31,35,.08),0 8px 24px rgba(30,31,35,.06);
  --large:min(1240px,calc(100% - 48px));
  --t-titre:clamp(2.4rem,5.2vw,4.6rem);
  --t-h2:clamp(1.8rem,3.2vw,2.75rem);
  --t-h3:1.25rem;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-stretch:100%;font-size:1.0625rem;line-height:1.6;color:var(--encre);background:var(--blanc)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--signal-fonce)}
:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{width:var(--large);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--signal-fonce);color:#fff;padding:10px 14px;z-index:99;border-radius:var(--rayon)}
.skip:focus{top:12px;color:#fff}

/* Titres : Archivo élargi, rappel de l'italique dynamique du logo par la barre // */
h1,h2,h3{font-stretch:118%;font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0 0 .5em}
h1{font-size:var(--t-titre)}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.25;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:68ch}
.slash::before{content:"//";color:var(--signal);font-style:italic;font-weight:800;margin-right:.28em;letter-spacing:-.08em}
.lead{font-size:1.2rem;color:var(--gris);max-width:58ch}
.muted{color:var(--gris)}
.small{font-size:.9rem}

/* ---------- En-tête ---------- */
.topline{background:var(--asphalte-2);color:#c9cbcf;font-size:.86rem}
.topline .wrap{display:flex;justify-content:space-between;gap:16px;min-height:36px;align-items:center}
.topline a{color:var(--ivoire);text-decoration:none}
.topline span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topline a{white-space:nowrap}
@media (max-width:640px){.topline span:first-child{display:none}.topline .wrap{justify-content:flex-end}}
header.site{background:var(--asphalte);position:sticky;top:0;z-index:40;border-bottom:3px solid var(--signal)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.brand{display:block;flex:none;line-height:0}
.brand img{width:250px;height:auto}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
nav.main a{display:block;padding:10px 12px;color:var(--ivoire);text-decoration:none;font-weight:600;font-size:.95rem;border-radius:var(--rayon)}
nav.main a:hover,nav.main a[aria-current="page"]{color:#fff;background:rgba(240,236,226,.1)}
nav.main a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--signal)}
nav.main .cta{background:var(--signal-fonce);color:#fff;margin-left:8px}
nav.main .cta:hover{background:var(--signal-fonce);color:#fff}
.menu-btn{display:none;background:transparent;border:1px solid rgba(240,236,226,.5);color:var(--ivoire);padding:9px 16px;border-radius:var(--rayon);font-weight:700;cursor:pointer}
@media (max-width:1100px){
  .brand img{width:200px}
  .menu-btn{display:block}
  nav.main{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--asphalte);transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;padding:84px 20px 24px;overflow-y:auto;box-shadow:-20px 0 40px rgba(0,0,0,.3)}
  nav.main.open{transform:none;visibility:visible;transition:transform .25s ease}
  nav.main ul{flex-direction:column;align-items:stretch;gap:2px}
  nav.main a{padding:14px 12px;font-size:1.05rem}
  nav.main .cta{margin:12px 0 0;text-align:center}
  .menu-close{position:absolute;top:20px;right:20px}
}
@media (min-width:1101px){.menu-close{display:none}}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:35;display:none}
.scrim.on{display:block}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 22px;border-radius:var(--rayon);border:1.5px solid transparent;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2;text-align:center}
.btn-primary{background:var(--signal-fonce);color:#fff}
.btn-primary:hover{background:var(--signal-fonce);color:#fff}
.btn-dark{background:var(--asphalte);color:var(--ivoire)}
.btn-dark:hover{background:#000;color:#fff}
.btn-line{border-color:var(--encre);background:transparent;color:var(--encre)}
.btn-line:hover{background:var(--encre);color:#fff}
.on-dark .btn-line{border-color:var(--ivoire);color:var(--ivoire)}
.on-dark .btn-line:hover{background:var(--ivoire);color:var(--asphalte)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* ---------- Sections ---------- */
section{padding:76px 0}
.band{background:var(--beton)}
.on-dark{background:var(--asphalte);color:var(--ivoire)}
.on-dark .muted,.on-dark .lead{color:#b9bcc1}
.on-dark a:hover{color:#fff}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.head h2{margin:0}
.head p{margin:.6em 0 0}
.crumbs{font-size:.88rem;color:var(--gris);margin:0 0 18px}
.crumbs a{color:var(--gris)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:#9aa0a5}

/* ---------- Accueil : héros ---------- */
.hero{padding:56px 0 56px;background:var(--beton)}
.hero h1{font-size:clamp(2.2rem,4.1vw,3.7rem);max-width:15ch}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.hero h1{margin-bottom:.35em}
.hero .lead{margin-bottom:8px}
.hero-car{background:var(--blanc);border-radius:10px;overflow:hidden;box-shadow:var(--ombre);text-decoration:none;color:inherit;display:block}
.hero-car .ph{position:relative;aspect-ratio:4/3;background:var(--beton)}
.hero-car .ph img{width:100%;height:100%;object-fit:cover}
.hero-car .info{padding:18px 22px;display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.hero-car h2{font-size:1.5rem;margin:0}
.price{font-stretch:112%;font-weight:800;font-size:1.5rem;white-space:nowrap}
.price small{display:block;font-weight:500;font-size:.8rem;color:var(--gris);font-stretch:100%}
.intents{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:40px}
.intent{display:flex;flex-direction:column;gap:4px;background:var(--blanc);border:1px solid var(--ligne);border-radius:var(--rayon);padding:16px;text-decoration:none;color:inherit;min-height:104px}
.intent strong{font-stretch:110%;font-size:1.02rem;line-height:1.2}
.intent span{font-size:.88rem;color:var(--gris);line-height:1.35}
.intent:hover{border-color:var(--signal);color:inherit}

/* ---------- Rails à défilement (principe de l'ancien site, conservé) ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin;overscroll-behavior-x:contain}
.rail>*{scroll-snap-align:start}
.rail.cols-3{grid-auto-columns:calc((100% - 36px)/3)}
.rail.cols-4{grid-auto-columns:calc((100% - 54px)/4)}
@media (max-width:900px){.rail.cols-3,.rail.cols-4{grid-auto-columns:78%}}
.rail-nav{display:flex;gap:8px}
.rail-nav button{width:46px;height:46px;border-radius:50%;border:1.5px solid currentColor;background:transparent;cursor:pointer;font-size:1.1rem;color:inherit}
.rail-nav button:disabled{opacity:.3;cursor:default}

/* ---------- Cartes véhicules ---------- */
.car{background:var(--blanc);border:1px solid var(--ligne);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;color:var(--encre)}
.car a.cover{display:block;position:relative;aspect-ratio:1/1;background:var(--beton)}
.car a.cover img{width:100%;height:100%;object-fit:cover}
.car .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.car h3{margin:0;font-size:1.12rem}
.car h3 a{text-decoration:none}
.car .meta{font-size:.88rem;color:var(--gris)}
.car .foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--ligne);display:flex;justify-content:space-between;align-items:center;gap:10px}
.car .foot strong{font-stretch:110%}
.tag{position:absolute;top:12px;left:12px;font-size:.78rem;font-weight:800;padding:5px 10px;border-radius:4px;letter-spacing:.02em}
.tag-dispo{background:var(--ok);color:#fff}
.tag-reserve{background:#b7791f;color:#fff}
.tag-vendu{background:var(--asphalte);color:var(--ivoire)}
.car.sold a.cover img{filter:saturate(.75)}
.car.sold .foot strong{color:var(--gris);font-weight:600}

/* ---------- Catalogue ---------- */
.filters{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:10px;margin:0 0 18px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:700;color:var(--gris)}
.filters input,.filters select{min-height:48px;border:1px solid #bfc5c2;border-radius:var(--rayon);padding:10px 12px;background:#fff;color:var(--encre);font-size:1rem}
@media (max-width:1000px){.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.count{font-weight:700;margin:0 0 14px}
.empty-state{border:1.5px dashed #b9bfbc;border-radius:8px;padding:28px;background:var(--blanc)}
.empty-state h3{margin-top:0}

/* ---------- Fiche véhicule ---------- */
.vehicle{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:start}
.vehicle h2{font-size:1.6rem;margin:36px 0 14px}
.panel .actions{flex-direction:column}
.panel .actions .btn{width:100%}
.gallery .main{border-radius:10px;overflow:hidden;background:var(--beton);aspect-ratio:4/3}
.gallery .main img{width:100%;height:100%;object-fit:contain}
.thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:96px;gap:8px;overflow-x:auto;margin-top:10px;padding-bottom:6px}
.thumbs button{padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:var(--beton);aspect-ratio:1/1}
.thumbs button[aria-pressed="true"]{border-color:var(--signal)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.panel{background:var(--blanc);border:1px solid var(--ligne);border-radius:10px;padding:24px;position:sticky;top:110px}
.panel .price{font-size:2rem}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0;border-top:1px solid var(--ligne)}
.specs div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--ligne)}
.specs dt{color:var(--gris)}
.specs dd{margin:0;font-weight:700;text-align:right}
@media (max-width:640px){.specs{grid-template-columns:1fr}}
.equip{columns:2;gap:24px;padding-left:1.1em}
.equip li{break-inside:avoid;margin-bottom:6px}
.notice{background:#fff7e6;border:1px solid #f1d39a;border-radius:var(--rayon);padding:12px 14px;font-size:.92rem}
.sold-banner{background:var(--asphalte);color:var(--ivoire);border-radius:var(--rayon);padding:14px 16px;font-weight:700}

/* ---------- Services ---------- */
.svc{background:var(--blanc);border:1px solid var(--ligne);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;min-height:100%}
.svc:hover{border-color:var(--signal);color:inherit}
.svc h3{margin:0}
.svc p{margin:0;color:var(--gris);font-size:.96rem}
.svc .more{margin-top:auto;padding-top:10px;font-weight:700;color:var(--signal-fonce)}
.pill{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--blanc);border:1px solid var(--ligne);color:var(--gris);align-self:flex-start}
.pill.on{background:#e3f1ea;color:var(--ok)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.checks{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:10px}
.checks li{padding-left:30px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:9px;border-left:3px solid var(--signal);border-bottom:3px solid var(--signal);transform:rotate(-45deg)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{counter-increment:s;border-top:3px solid var(--signal);padding-top:14px}
.steps li::before{content:counter(s);font-stretch:120%;font-weight:800;font-size:1.6rem;display:block;margin-bottom:4px}
.steps strong{display:block;font-stretch:110%}
.pros-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pros-list li{border:1px solid rgba(240,236,226,.35);border-radius:999px;padding:6px 14px;font-size:.92rem}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--ligne);padding:4px 0}
.faq summary{cursor:pointer;font-weight:700;padding:14px 32px 14px 0;list-style:none;position:relative;font-stretch:105%}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:1.4rem;color:var(--signal)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--gris)}

/* ---------- Formulaires ---------- */
.form{background:var(--blanc);border:1px solid var(--ligne);border-radius:10px;padding:26px;display:grid;gap:14px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:6px;font-weight:700;font-size:.94rem}
.form label .opt{font-weight:500;color:var(--gris)}
.form input,.form select,.form textarea{min-height:50px;padding:11px 13px;border:1px solid #b5bbb8;border-radius:var(--rayon);background:#fff;font-size:1rem;font-weight:400;width:100%}
.form textarea{min-height:110px;resize:vertical}
.form .hp{position:absolute;left:-5000px}
.form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.9rem}
.form .consent input{width:20px;height:20px;min-height:20px;flex:none;margin-top:3px;accent-color:var(--signal)}
.form .send{display:flex;flex-wrap:wrap;gap:10px}
.form .msg{font-weight:700;margin:0}
.form .msg.err{color:#b42318}
.form .msg.ok{color:var(--ok)}
.choice{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}
.choice legend{font-weight:700;margin-bottom:8px;font-size:.94rem}
.choice label{display:inline-flex;align-items:center;gap:8px;border:1px solid #b5bbb8;border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:600}
.choice input{accent-color:var(--signal);min-height:auto;width:auto}
.choice label:has(input:checked){border-color:var(--signal);background:#fdeeea}
[data-for]{display:none}
[data-for].show{display:grid}
@media (max-width:640px){.form .row{grid-template-columns:1fr}.form{padding:18px}}

/* ---------- Contact ---------- */
.contact-card{display:grid;gap:14px}
.contact-card .big{font-stretch:115%;font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem);text-decoration:none}
.hours{border-collapse:collapse;width:100%;max-width:420px}
.hours td{padding:8px 0;border-bottom:1px solid var(--ligne)}
.hours td:last-child{text-align:right;font-weight:700}
.links-inline{display:flex;flex-wrap:wrap;gap:8px 18px}
.wa-note{font-size:.95rem;color:var(--gris)}
.wa-note a{color:var(--ok);font-weight:700}

/* ---------- Pied de page ---------- */
footer.site{background:var(--asphalte);color:#b9bcc1;padding:56px 0 28px;font-size:.95rem}
footer.site a{color:var(--ivoire);text-decoration:none}
footer.site a:hover{text-decoration:underline;color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-grid h2{font-size:1rem;color:var(--ivoire);font-stretch:110%;margin:0 0 12px}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.foot-grid img{width:220px;margin-bottom:14px}
.legal-line{border-top:1px solid #3a3c42;margin-top:36px;padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem}
.legal-line ul{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}
.legal-line button{background:none;border:0;color:var(--ivoire);padding:0;cursor:pointer;font-size:.85rem}

/* ---------- Barre d'appel mobile, discrète ---------- */
.callbar{display:none}
@media (max-width:700px){
  body{padding-bottom:64px}
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(30,31,35,.96);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .callbar a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:var(--rayon);font-weight:700;text-decoration:none}
  .callbar .c1{background:var(--signal-fonce);color:#fff}
  .callbar .c2{border:1px solid rgba(240,236,226,.5);color:var(--ivoire)}
}

/* ---------- Bandeau cookies ---------- */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;background:var(--blanc);color:var(--encre);border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,.25);padding:20px;border:1px solid var(--ligne)}
.cookie h2{font-size:1.1rem;margin:0 0 6px}
.cookie p{font-size:.92rem;color:var(--gris);margin:0 0 12px}
.cookie .actions{margin-top:0}
.cookie .btn{min-height:44px;padding:10px 16px;flex:1}
.cookie .prefs{display:none;border-top:1px solid var(--ligne);margin-top:12px;padding-top:12px}
.cookie .prefs.on{display:grid;gap:10px}
.cookie .prefs label{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.cookie .prefs input{width:20px;height:20px;accent-color:var(--signal);flex:none}
@media (max-width:700px){.cookie{bottom:76px}}

/* ---------- Pages de contenu ---------- */
.prose h2{margin-top:1.6em;font-size:1.6rem}
.prose h3{margin-top:1.4em}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:6px}
.todo{background:#fff1b8;padding:1px 6px;border-radius:3px;font-weight:700}
.page-head{background:var(--beton);padding:44px 0 40px}
.page-head h1{font-size:clamp(2rem,4.4vw,3.6rem)}

/* ---------- Adaptations ---------- */
@media (max-width:1000px){
  .hero-grid,.two,.vehicle{grid-template-columns:minmax(0,1fr);gap:30px}
  .intents{grid-template-columns:repeat(3,1fr)}
  .three{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .panel{position:static}
}
@media (max-width:640px){
  body{font-size:1rem}
  section{padding:52px 0}
  .wrap{width:calc(100% - 32px)}
  .brand img{width:170px}
  header.site .wrap{min-height:66px}
  .hero{padding:32px 0 44px}
  .intents{grid-template-columns:1fr 1fr}
  #catalogue .grid{grid-template-columns:1fr 1fr;gap:10px}
  #catalogue .car .body{padding:10px 11px 12px}
  #catalogue .car h3{font-size:.98rem}
  #catalogue .car .meta{font-size:.78rem}
  #catalogue .car .foot{font-size:.85rem}
  #catalogue .tag{top:8px;left:8px;font-size:.7rem;padding:3px 7px}
  .three,.steps,.foot-grid{grid-template-columns:1fr}
  .equip{columns:1}
  .actions .btn{flex:1 1 100%}
}
@media print{header.site,.topline,.callbar,.cookie,footer.site,.actions{display:none}}

/* v3.7 — Lisibilité mobile, interactions et galerie fiable */
.car{transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .car:hover{box-shadow:0 12px 32px rgba(30,31,35,.13);transform:translateY(-2px)}
}
.gallery .thumbs button:focus-visible{outline:3px solid var(--signal-fonce);outline-offset:2px}
.form .msg a{display:inline-block;text-decoration:underline;font-weight:800;color:var(--signal-fonce)}
@media (max-width:420px){
  .hero h1{font-size:clamp(2rem,9vw,2.45rem)}
  #catalogue .grid{grid-template-columns:1fr 1fr;gap:9px}
  #catalogue .car h3{overflow-wrap:anywhere}
  .btn{padding:11px 15px}
}

/* RGPD : refus et acceptation d'audience ont une lisibilité identique. */
.cookie .actions [data-c="refuse"], .cookie .actions [data-c="accept"] { flex: 1; font-weight: 700; }
.cookie .actions [data-c="custom"] { flex: 1; }
.cookie a { text-decoration: underline; text-underline-offset: 2px; }
.privacy-notice { border-left: 3px solid var(--signal); padding: 8px 12px; margin: 8px 0 12px; }
@media(max-width:480px){.cookie .actions {flex-wrap:wrap}.cookie .actions button{min-width:125px}}

/* v4.1 — parcours catalogue & fiche véhicule, sans impact sur le modèle de données */
.vehicle{grid-template-columns:minmax(0,1.4fr) minmax(315px,.6fr);gap:clamp(24px,4vw,65px)}
.vehicle .gallery{position:relative}
.gallery .main{border-radius:22px;aspect-ratio:1.48;box-shadow:0 20px 55px rgba(20,25,30,.13);background:#eceeea}
.gallery .main img{object-fit:contain;transition:transform .4s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.gallery .main:hover img{transform:scale(1.018)}}
.thumbs{grid-auto-columns:110px;gap:11px;margin-top:17px;padding:0 0 10px;scrollbar-width:thin}
.thumbs button{border-radius:11px;aspect-ratio:1.25;border-width:3px}
.thumbs button[aria-pressed="true"]{border-color:#c73a28;box-shadow:0 0 0 2px rgba(199,58,40,.1)}
.panel{border:1px solid #dce0df;border-radius:22px;padding:clamp(22px,3vw,35px);box-shadow:0 17px 52px rgba(25,30,35,.085);top:112px}
.panel .price{font-size:clamp(1.75rem,2.8vw,2.55rem);letter-spacing:-.04em}
.panel .actions .btn{min-height:49px;justify-content:center}
.specs{background:#fff;border-radius:18px;border:1px solid #e3e5e4;padding:4px 18px;margin-top:16px;overflow:hidden}
.specs div{padding:15px 0;align-items:center}
.specs div:last-child{border-bottom:0}
.car .cover{overflow:hidden}
.car .cover img{transition:transform .4s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.car:hover .cover img{transform:scale(1.035)}}
.car .body{padding:22px}
.car .body h3{letter-spacing:-.025em}
.car .foot{padding-top:14px}
@media(max-width:1000px){.vehicle{grid-template-columns:minmax(0,1fr)}.panel{position:static}.gallery .main{aspect-ratio:1.5}}
@media(max-width:580px){.gallery .main{border-radius:14px;aspect-ratio:1.38}.thumbs{grid-auto-columns:80px;gap:8px}.panel{border-radius:16px}.specs{padding:2px 12px}.car .body{padding:13px}.vehicle{gap:20px}}

/* v4.2 — parcours particuliers / professionnels */
.kicker{display:inline-block;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--signal-fonce);margin-bottom:13px}
.journey-section{background:#fff}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}.journey-card{display:flex;flex-direction:column;min-height:255px;padding:30px;border:1px solid #dadedd;background:#f9f9f7;border-radius:20px;color:var(--encre);text-decoration:none;box-shadow:0 7px 28px rgba(20,30,40,.035);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.journey-card:hover{transform:translateY(-4px);box-shadow:0 20px 34px rgba(20,30,40,.095);border-color:#b8bebb}.journey-number{font-size:2.2rem;letter-spacing:-.08em;font-weight:850;color:#c1c7c6}.journey-status{font-size:.73rem;align-self:flex-start;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#4b5858;background:#e7ece8;border-radius:100px;padding:6px 12px;margin-bottom:16px}.journey-card h3{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.25;letter-spacing:-.03em;margin:5px 0 8px}.journey-card p{color:#5b6167;flex:1}.journey-arrow{font-weight:850;font-size:.92rem;color:#a32b1c;margin-top:20px}.journey-steps{list-style:none;counter-reset:step;padding:0;display:grid;gap:18px;margin-top:30px}.journey-steps li{counter-increment:step;display:grid;grid-template-columns:45px 1fr;gap:3px 14px}.journey-steps li:before{content:counter(step,decimal-leading-zero);font-size:1.2rem;font-weight:850;color:#be3925;grid-row:span 2}.journey-steps li strong{display:block}.journey-steps li span{color:#666e72}.pro-benefits{display:grid;gap:18px}.pro-benefits div{padding:18px;border-bottom:1px solid rgba(255,255,255,.22);display:flex;gap:25px;align-items:center}.pro-benefits strong{color:#fa725e;font-size:1.5rem}.pro-benefits span{color:#eef0f0}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.audience-grid>div{padding:26px;border-radius:15px;border:1px solid #e0e3e2;background:#fff}.audience-grid strong{font-size:1.13rem}.audience-grid p{color:#61686a;margin-bottom:0}
@media(max-width:850px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-grid{grid-template-columns:1fr}}
@media(max-width:560px){.journey-grid{grid-template-columns:1fr;gap:12px}.journey-card{padding:23px;min-height:215px}.journey-card h3{font-size:1.3rem}.journey-card p{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.journey-card{transition:none}.journey-card:hover{transform:none}}

/* Presentation correction: one type system, compact home, accessible movement. */
:root{--large:min(1240px,calc(100% - 64px));--rayon:10px;--beton:#f5f4f1}
body{font-synthesis:none;background:#fff}
h1,h2,h3{font-stretch:100%;letter-spacing:-.045em}
header.site{border-bottom:1px solid #ffffff20;box-shadow:none}
header.site .wrap{min-height:88px}
.brand img{width:228px}
.menu-btn{display:block;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;font-weight:600;letter-spacing:0;min-height:46px;border-radius:4px}
.menu-btn:not(.menu-close)::after{content:"☰";font-size:1rem;margin-left:14px}
nav.main{position:fixed;inset:0 0 0 auto;width:min(460px,100vw);height:100dvh;background:var(--asphalte);transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.22,1,.36,1),visibility 0s .4s;padding:100px 30px 30px;overflow-y:auto;box-shadow:-20px 0 60px #0003;z-index:45}
nav.main.open{transform:none;visibility:visible;transition:transform .4s cubic-bezier(.22,1,.36,1)}
nav.main ul{display:flex;flex-direction:column;align-items:stretch;gap:0}
nav.main a,nav.main a.cta{font-family:"Archivo",system-ui,sans-serif;font-stretch:100%;font-size:1.2rem;font-weight:500;letter-spacing:0;line-height:1.4;padding:16px 8px;margin:0;background:transparent;border-radius:0;border-bottom:1px solid #ffffff18;box-shadow:none;color:var(--ivoire)}
nav.main a:hover,nav.main a[aria-current="page"]{color:#fff;background:#ffffff09;box-shadow:none}
.menu-close{display:block;position:absolute;top:24px;right:30px}
.scrim{z-index:39;backdrop-filter:blur(4px)}
section{padding-block:88px}
.hero{padding:70px 0 80px;background:#1e1f23;color:#f0ece2;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:center}
.hero-eyebrow,.eyebrow{display:block;font-size:.73rem;letter-spacing:.16em;font-weight:600;margin-bottom:24px}
.hero-eyebrow{color:#c6c2ba}
.hero h1{font-size:clamp(3.1rem,5.5vw,5.4rem);line-height:1.05;max-width:14ch;margin:0 0 25px;font-weight:600}
.hero h1 em{font-style:normal;color:#ef8069}
.hero .lead{font-size:1.05rem;line-height:1.7;color:#cfcdc7;max-width:40ch}
.hero .btn-line{color:#f0ece2;border-color:#99958c}
.hero .btn-line:hover{background:#f0ece2;color:#1e1f23}
.hero .actions{gap:12px;margin-top:28px}
.hero-rdv{font-size:.82rem;color:#bbb8b1;margin-top:20px;margin-bottom:0}
.hero-car{border-radius:12px;box-shadow:none;border:1px solid #ffffff26;background:#fff;color:#1e1f23;overflow:hidden}
.hero-car .ph{aspect-ratio:1.35;overflow:hidden}
.hero-car .ph img{object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.hero-car .info{padding:20px 24px;background:#fff;color:#1e1f23}
.hero-car h2{font-size:1.45rem;font-weight:600;letter-spacing:-.025em}
.hero-car .muted,.hero-car .price small{color:#5b6167}
.hero-car .price{font-size:1.3rem;font-stretch:100%}
.btn{border-radius:5px;font-size:.95rem;font-weight:600;transition:background .2s,transform .25s}
.slash::before{display:none}
.head h2,.pathways h2{font-weight:600;font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.04em;line-height:1.15}
.pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.pathway{padding:28px 0 0;border-top:1px solid #bbb8af;display:flex;flex-direction:column}
.pathway-number{color:#a03524;font-size:.85rem;letter-spacing:.1em;margin-bottom:36px}
.pathway h3{font-size:1.4rem;font-weight:600;margin-bottom:14px}
.pathway p{font-size:.98rem;line-height:1.7;color:#5b6167;flex:1}
.text-link{display:flex;justify-content:space-between;gap:15px;text-decoration:none;padding:14px 0 4px;font-size:.95rem;font-weight:600}
.text-link span{transition:transform .3s}
footer.site{padding-top:52px}
footer.site .foot-grid{gap:32px}
footer.site h2{font-size:1rem;font-weight:600}
.cookie{max-width:460px;padding:20px;border-radius:8px}
.cookie p{line-height:1.5;font-size:.86rem}
.cookie .btn{font-size:.8rem;padding:10px 12px}
.cookie .actions{gap:8px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.hero-car:hover .ph img{transform:scale(1.035)}.btn:hover{transform:translateY(-2px)}.text-link:hover span{transform:translate(3px,-3px)}}
@keyframes arrive{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .8s ease both}.hero-car{animation:arrive 1s .08s ease both}.motion-ready{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.motion-ready.is-visible{opacity:1;transform:none}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero{padding:48px 0}.hero-copy{max-width:650px}.hero-car{max-width:680px}.hero-car .ph{aspect-ratio:1.6}.pathway-grid{gap:25px}}
@media(max-width:640px){:root{--large:calc(100% - 36px)}header.site .wrap{min-height:72px}.brand img{width:174px}.hero{padding:38px 0 44px}.hero h1{font-size:clamp(2.9rem,11vw,4.2rem)}.hero .lead{font-size:.98rem}.hero-eyebrow{font-size:.67rem;margin-bottom:20px}.hero .actions{display:flex}.hero .actions .btn{flex:1 1 auto;font-size:.86rem;padding:12px 14px}.hero-car .info{padding:16px;gap:8px}.hero-car h2{font-size:1.2rem}.hero-car .price{font-size:1.18rem}section{padding-block:56px}.pathway-grid{grid-template-columns:1fr;gap:32px}.pathway-number{margin-bottom:20px}.pathway{padding-top:20px}.foot-grid{grid-template-columns:1fr 1fr!important;gap:28px!important}.foot-grid>div:first-child{grid-column:1/-1}.cookie .actions .btn{flex:1 1 110px}.menu-close{right:22px}nav.main{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){.motion-ready{opacity:1;transform:none}.hero-car,.hero-copy{animation:none}nav.main{transition:none}}
/* Restored rotating messages from the retained dealer homepage. */
.hero .headline-window{position:relative;overflow:hidden;min-height:3.4em;font-size:clamp(3.1rem,5.5vw,5.4rem);margin-bottom:12px}
.hero .headline-window h1{font-size:1em;margin:0;line-height:1.05;max-width:none}
.hero .headline-window h1.reprise-headline{font-size:.76em;line-height:1.16}
.banner-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;color:#c6c2ba;font-size:.8rem}
.banner-controls{display:flex;gap:8px}
.banner-controls button{background:transparent;color:#f0ece2;border:1px solid #ffffff35;border-radius:4px;min-height:44px;padding:8px 12px;font-size:.8rem;cursor:pointer}
.banner-controls button:hover{background:#ffffff10}
.banner-line{height:2px;background:#ffffff20;margin-bottom:28px;overflow:hidden}
.banner-line span{display:block;height:100%;width:25%;background:#ef8069;transition:transform .6s ease}
header.site .menu-btn,nav.main a,nav.main .menu-btn{font-family:Archivo,system-ui,sans-serif!important;font-stretch:100%;font-weight:600;letter-spacing:0;font-style:normal}
@media(max-width:640px){.hero .headline-window{font-size:clamp(2.9rem,11vw,4.2rem);min-height:3.4em}.banner-tools{font-size:.75rem}.banner-line{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.banner-line span{transition:none}}
