/* =========================================================
   LIBERTY DRIVER — édition "curseurs à fond"
   Luxe cinématique · navy + or champagne
   Cinzel / Cormorant Garamond / Inter
   ========================================================= */
:root{
  --navy:#0a0e16;
  --panel:#0e141f;
  --ink:#f3efe6;
  --ink-soft:#b9b4a8;
  --ink-dim:#938e83; /* éclairci pour contraste AA confortable sur navy */
  --gold:#c9a24b;
  --gold-soft:#e2c074;
  --gold-deep:#9c7a2e;
  --gold-bright:#f6ead0;
  --glow:rgba(201,162,75,.6);
  --line:rgba(201,162,75,.22);
  --line-soft:rgba(255,255,255,.08);
  --grad-title:linear-gradient(180deg,var(--gold-bright) 8%,var(--gold-soft) 52%,var(--gold-deep));
  --shadow-deep:0 2px 8px rgba(0,0,0,.3),0 8px 32px rgba(0,0,0,.5),0 24px 64px rgba(0,0,0,.8);
  --shadow-gold:0 0 20px rgba(201,162,75,.35),0 0 48px rgba(201,162,75,.18);
  --cinzel:'Montserrat', system-ui, sans-serif; /* typo titres : Montserrat Black, géométrique fort */
  --cormorant:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', system-ui, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --pad:clamp(1.2rem,5vw,5.5rem);
  --max:1320px;
  --header-h:64px;
  --section-gap:clamp(4.5rem,10vh,7.5rem);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:calc(var(--header-h) + 1rem)}
body{background:var(--navy);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
::selection{background:var(--gold);color:var(--navy)}
svg{display:block}
:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px;border-radius:2px}

/* Vignette plein écran SUPPRIMÉE : tout dégradé semi-transparent posé sur les photos
   est tramé (dithering) par Chrome/écrans PC → perçu comme du grain. Ne pas réintroduire. */

/* (Curseur custom supprimé : le système avait été retiré du JS — CSS mort nettoyé.) */

/* Accessibilité : lien d'évitement + texte masqué visuellement */
.skip-link{position:absolute;left:-9999px;top:0;z-index:500;background:var(--gold);color:var(--navy);padding:.7rem 1.2rem;border-radius:0 0 8px 0;font-size:.85rem;font-weight:500}
.skip-link:focus-visible{left:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* =================== SCROLL PROGRESS =================== */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;z-index:101;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft),var(--gold-bright));box-shadow:0 0 12px var(--glow);pointer-events:none}

/* =================== PRÉCHARGEUR =================== */
.loader{position:fixed;inset:0;z-index:300;background:var(--navy);display:grid;place-items:center}
.loader__inner{display:flex;flex-direction:column;align-items:center;gap:2.1rem;text-align:center;padding:1.5rem}
.loader__logo{width:min(82vw,640px);height:auto;opacity:0;filter:drop-shadow(0 18px 50px rgba(0,0,0,.6)) drop-shadow(0 0 34px rgba(201,162,75,.16));will-change:transform,opacity}
.loader__bar{width:min(58vw,280px);height:2px;background:var(--line-soft);border-radius:2px;overflow:hidden;opacity:0}
.loader__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft),var(--gold-bright));box-shadow:0 0 12px var(--glow)}
.loader__count{font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-soft)}
.no-js .loader{display:none}

/* =================== BOUTONS =================== */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;white-space:nowrap;overflow:hidden;
  font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  padding:.9rem 1.5rem;border-radius:4px;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s,filter .4s,border-color .4s,background .4s,color .4s}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn::before{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .7s var(--ease)}
.btn:hover::before{left:140%}
.btn--gold{background:linear-gradient(100deg,var(--gold-soft),var(--gold-deep));color:#1a1206;border:1px solid var(--gold-soft);box-shadow:0 8px 26px -12px rgba(201,162,75,.7)}
.btn--gold:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 14px 40px -12px rgba(201,162,75,.85),var(--shadow-gold)}
.btn--ghost{border:1px solid var(--line-soft);color:var(--ink);background:rgba(255,255,255,.02)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-soft)}
.btn--lg{padding:1.1rem 2.1rem;font-size:.8rem}
.btn--block{width:100%}

/* =================== TITRES GRAVÉS =================== */
.title-engraved{font-family:var(--cinzel);font-weight:800;letter-spacing:.02em;line-height:1.12;text-transform:uppercase;
  font-size:clamp(2rem,4vw,3.2rem);
  background:var(--grad-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.title-engraved .lt{display:inline-block;opacity:0;transform:translateY(.5em);filter:blur(6px);
  background-image:var(--grad-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.title-engraved .lt.sp{width:.32em}
.title-engraved .lt-word{display:inline-block;white-space:nowrap}
.ornament{flex:1;height:1px;max-width:160px;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}
.ornament::after{content:"";position:absolute;top:-2px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 8px var(--glow)}

/* =================== HEADER =================== */
.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:1.05rem var(--pad);transition:all .4s var(--ease);border-bottom:1px solid transparent}
.header.scrolled{background:rgba(8,11,18,.96);border-bottom-color:var(--line);padding:.6rem var(--pad);box-shadow:0 10px 40px -20px rgba(0,0,0,.8)}
.brand{display:flex;align-items:center;gap:.75rem}
.brand__logo{display:block;height:58px;width:auto;flex:none;transition:height .4s var(--ease);filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}
.header.scrolled .brand__logo{height:46px}
.mainnav{display:flex;gap:2rem}
.mainnav a{position:relative;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);padding:.3rem 0;transition:color .3s}
.mainnav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease)}
.mainnav a:hover,.mainnav a.is-active{color:var(--gold-soft)}
.mainnav a.is-active::after,.mainnav a:hover::after{width:100%}
.header__cta{display:flex;align-items:center;gap:.9rem}
.iconbtn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--gold-soft);transition:all .35s}
.iconbtn svg{width:18px}
.iconbtn:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:var(--shadow-gold)}
/* Icône Réserver — visible uniquement en mobile (remplace le bouton doré masqué) */
.iconbtn--book{display:none;background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:var(--shadow-gold)}
.iconbtn--book svg{width:20px}
.iconbtn--book:hover{filter:brightness(1.07);transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(201,162,75,.85)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:95;position:relative}
.burger span{width:24px;height:1.6px;background:var(--ink);transition:transform .3s var(--ease),opacity .3s}
.header.nav-open .burger span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.header.nav-open .burger span:nth-child(2){opacity:0}
.header.nav-open .burger span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* =================== HERO =================== */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:7rem var(--pad) 9rem;overflow:hidden;perspective:1200px}
.hero__slides{position:absolute;inset:0;overflow:hidden}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center center;opacity:0;will-change:opacity,transform;
  transition:opacity 1.6s ease-in-out;animation:heroZoom 22s ease-in-out infinite alternate}
.hero__slide.is-active{opacity:1}
@keyframes heroZoom{from{transform:scale(1.0)}to{transform:scale(1.05)}}
/* .hero__lightbeam SUPPRIMÉ : dégradé mix-blend-mode:screen par-dessus les photos du hero → grain (dithering). */
.hero__overlay{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(7,10,16,.94) 0%,rgba(7,10,16,.78) 32%,rgba(7,10,16,.30) 62%,rgba(7,10,16,.55) 100%),
  linear-gradient(180deg,rgba(7,10,16,.7) 0%,transparent 25%,transparent 55%,rgba(7,10,16,.96) 100%)}
.hero__inner{position:relative;z-index:3;max-width:var(--max);margin:0 auto;width:100%}
.hero__eyebrow{display:flex;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:1.1rem}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--glow)}
.hero__title{font-family:var(--cinzel);font-weight:900;line-height:.92;letter-spacing:-.005em;text-transform:uppercase;font-size:clamp(3rem,8.8vw,7.6rem);
  background:linear-gradient(180deg,var(--gold-bright) 10%,var(--gold-soft) 55%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 2px 40px rgba(201,162,75,.15);margin-bottom:1.4rem}
.hero__title .word{display:inline-block;
  background-image:linear-gradient(180deg,var(--gold-bright) 10%,var(--gold-soft) 55%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__lead{font-family:var(--cormorant);font-weight:400;font-size:clamp(1.4rem,2.6vw,2.1rem);color:var(--ink);line-height:1.3}
.hero__lead span{color:var(--gold-soft);font-style:italic}
.stars{display:flex;gap:.35rem;color:var(--gold);font-size:1rem;margin:1.1rem 0 1.4rem;letter-spacing:.1em;filter:drop-shadow(0 0 6px rgba(201,162,75,.4))}
.hero__sub{color:var(--ink-soft);font-size:1rem;line-height:1.7;margin-bottom:2.2rem;max-width:42ch}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero__scroll{position:absolute;left:50%;bottom:8.5rem;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.7rem;
  font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-dim)}
.hero__scroll-line{width:1px;height:48px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.hero__scroll-line::after{content:"";position:absolute;top:0;left:0;width:100%;height:40%;background:var(--gold-soft);animation:scrolldrop 2s var(--ease) infinite}
@keyframes scrolldrop{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}

.hero__badge{position:absolute;top:clamp(6rem,12vh,9rem);right:var(--pad);z-index:3;width:clamp(96px,11vw,132px);aspect-ratio:1;filter:drop-shadow(0 10px 26px rgba(0,0,0,.55))}
.hero__badge svg{display:block;width:100%;height:100%}

/* Barre services */
.quickbar{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(1.4rem,4vh,2.6rem);z-index:4;max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);background:rgba(13,18,28,.95);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-deep)}
.quick{display:flex;align-items:center;gap:1rem;padding:1.35rem 1.6rem;position:relative;transition:background .35s}
.quick:hover{background:rgba(201,162,75,.05)}
.quick+.quick::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:linear-gradient(var(--line-soft),var(--line),var(--line-soft))}
.quick__i{flex:none;width:56px;height:56px;transition:transform .4s var(--ease)}
.quick:hover .quick__i{transform:translateY(-3px) scale(1.06)}
.quick__i img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}
.quick__t{display:flex;flex-direction:column;line-height:1.25}
.quick__t strong{font-family:var(--cormorant);font-weight:600;font-size:1.2rem;color:var(--ink)}
.quick__t em{font-style:normal;font-size:.72rem;letter-spacing:.05em;color:var(--ink-dim)}

/* =================== VÉHICULES =================== */
.fleet{padding:var(--section-gap) 0;position:relative}
.fleet__head{display:flex;align-items:center;gap:1.6rem;margin-bottom:3rem;padding:0 var(--pad);max-width:calc(var(--max) + 2rem);margin-left:auto;margin-right:auto}
.fleet__head--center{justify-content:center}
.fleet__head-txt{text-align:center}
.fleet__head-txt p{font-family:var(--cormorant);font-style:italic;font-size:1.15rem;color:var(--ink-soft);margin-top:.5rem}
.fleet__head .btn--outline{flex:none}
.fleet__viewport{padding:0 var(--pad);max-width:calc(var(--max) + 2rem);margin:0 auto}
.fleet__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1.8rem}
/* mode épinglé horizontal (desktop, ajouté par JS) */

.vcard{position:relative;background:rgb(15,21,32);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;
  transition:border-color .5s,box-shadow .5s;transform-style:preserve-3d;will-change:transform}
.vcard:hover{border-color:var(--line);box-shadow:var(--shadow-deep),var(--shadow-gold)}
.vcard::after{content:attr(data-num);position:absolute;top:.9rem;right:.9rem;z-index:3;font-family:var(--cinzel);font-size:.9rem;letter-spacing:.1em;color:var(--gold);opacity:.5}
.vcard__img{position:relative;aspect-ratio:16/11;overflow:hidden}
.vcard__img img{transition:transform .8s var(--ease)}
.vcard:hover .vcard__img img{transform:scale(1.08)}
/* .vcard__img::after SUPPRIMÉ : dégradé alpha sur la moitié basse de chaque photo → grain (dithering). Photos affichées brutes. */
.vcard__img::before{content:"";position:absolute;top:0;left:0;width:75%;height:100%;z-index:2;transform:translateX(-200%) skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(246,234,208,.28),transparent);transition:transform .8s var(--ease)}
.vcard:hover .vcard__img::before{transform:translateX(220%) skewX(-18deg)}
.vcard__tag{position:absolute;top:.9rem;left:.9rem;z-index:2;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);background:rgba(10,14,22,.7);border:1px solid var(--line);padding:.35rem .75rem;border-radius:3px}
.vcard__body{padding:1.2rem 1.4rem 1.5rem}
.vcard__body h3{font-family:var(--cormorant);font-weight:600;font-size:1.6rem;letter-spacing:.01em;margin-bottom:.25rem}
.vcard__tagline{font-family:var(--cormorant);font-style:italic;font-size:1rem;color:var(--gold-soft);margin-bottom:.7rem}
.vcard__desc{font-size:.88rem;line-height:1.55;color:var(--ink-soft);margin-bottom:1.1rem}
.specs{display:flex;align-items:center;gap:1.3rem;list-style:none}
.specs li{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--ink-soft)}
.specs svg{width:18px;height:18px;color:var(--gold)}
/* carte cliquable + indice */
.vcard{cursor:pointer}
.vcard__more{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);transition:gap .3s var(--ease);
  background:none;border:0;padding:0;font-family:inherit;cursor:pointer} /* vrai <button> accessible clavier */
.vcard:hover .vcard__more,.vcard:focus-visible .vcard__more{gap:.8rem}
.vcard:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}

/* =================== FICHE DÉTAIL VÉHICULE =================== */
.cardetail{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2.5rem)}
.cardetail[hidden]{display:none}
.cardetail__overlay{position:absolute;inset:0;background:rgba(5,7,11,.88);cursor:pointer}
.cardetail__panel{position:relative;z-index:1;width:min(1080px,100%);max-height:92vh;overflow:auto;display:grid;grid-template-columns:1.15fr .85fr;
  background:#0c1119;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-deep);animation:cdIn .5s var(--ease)}
@keyframes cdIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.cardetail__close{position:absolute;top:.9rem;right:.9rem;z-index:3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);background:rgba(10,14,22,.7);color:var(--gold-soft);cursor:pointer;transition:all .3s}
.cardetail__close:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.cardetail__gallery{padding:1.1rem}
.cardetail__main{aspect-ratio:16/11;border-radius:12px;overflow:hidden;border:1px solid var(--line-soft)}
.cardetail__main img{width:100%;height:100%;object-fit:cover}
.cardetail__thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:.55rem;margin-top:.6rem}
.cardetail__thumbs button{aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid var(--line-soft);background:none;cursor:pointer;padding:0;transition:border-color .3s,transform .3s}
.cardetail__thumbs button:hover{transform:translateY(-2px)}
.cardetail__thumbs button.is-active{border-color:var(--gold)}
.cardetail__thumbs img{width:100%;height:100%;object-fit:cover}
.cardetail__info{padding:clamp(1.4rem,2.5vw,2.2rem);display:flex;flex-direction:column;border-left:1px solid var(--line-soft)}
.cardetail__tag{align-self:flex-start;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);border:1px solid var(--line);padding:.35rem .75rem;border-radius:3px;margin-bottom:1rem}
.cardetail__title{font-family:var(--cormorant);font-weight:600;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.05}
.cardetail__tagline{font-family:var(--cormorant);font-style:italic;font-size:1.1rem;color:var(--gold-soft);margin:.2rem 0 1rem}
.cardetail__desc{font-size:.95rem;line-height:1.7;color:var(--ink-soft);margin-bottom:1.3rem}
.cardetail__specs{flex-wrap:wrap;gap:1.2rem;margin-bottom:1.3rem}
.cardetail__info .btn{margin-top:auto}
body.cd-open{overflow:hidden}
@media(max-width:780px){
  .cardetail__panel{grid-template-columns:1fr;max-height:94vh}
  .cardetail__info{border-left:none;border-top:1px solid var(--line-soft)}
}

/* =================== STATS =================== */
.stats{position:relative;max-width:var(--max);margin:0 auto var(--section-gap);padding:2.4rem var(--pad);
  display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;background:rgba(11,16,25,.62);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-deep)}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;position:relative;z-index:2;padding:.4rem .6rem}
.stat+.stat::before{content:"";position:absolute;left:0;top:18%;height:64%;width:1px;background:var(--line-soft)}
.stat__i{color:var(--gold);width:38px;margin-bottom:.2rem}
.stat__i svg{width:38px}
.stat__num{font-family:var(--cinzel);font-weight:600;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--gold-soft);line-height:1;transition:text-shadow .4s}
.stat__num--sm{font-size:clamp(1.1rem,1.8vw,1.4rem)}
.stat.glow .stat__num{text-shadow:var(--shadow-gold)}
.stat em{font-style:normal;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.stat__underline{width:0;height:1px;margin-top:.5rem;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* =================== FOND VIDÉO FIXE =================== */
.pagevid{position:fixed;inset:0;width:100vw;height:100vh;object-fit:cover;background-size:cover;background-position:center;z-index:-2;pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease)}
/* flou + assombrissement PRÉ-CALCULÉS dans l'image (highway-night-blur.jpg) — pas de filter live (banding/grain) */
.pagevid.is-ready{opacity:.85}
.pagevid-veil{position:fixed;inset:0;z-index:-1;pointer-events:none;background:rgba(6,8,13,.55)}

/* =================== TICKER =================== */
.ticker{overflow:hidden;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:1.5rem 0;margin-bottom:var(--section-gap);
  background:linear-gradient(90deg,rgba(13,18,28,.5),rgba(13,18,28,.2))}
.ticker__track{display:flex;align-items:center;gap:2.2rem;width:max-content;white-space:nowrap;will-change:transform}
.ticker__track span{font-family:var(--cinzel);font-size:clamp(1.3rem,2.6vw,2.1rem);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);opacity:.7}
.ticker__sep{color:var(--gold-soft);opacity:1!important;font-size:1rem!important}

/* =================== EXPÉRIENCE / GALERIE =================== */
.exp{padding:0 var(--pad) var(--section-gap);max-width:calc(var(--max) + 2rem);margin:0 auto}
.exp__head{display:flex;align-items:center;justify-content:center;gap:1.6rem;margin-bottom:3rem}
/* (.exp__head .fleet__head-txt : règles dupliquées supprimées — déjà couvertes par .fleet__head-txt.) */
/* Vitrine flotte : DIAPORAMA crossfade (4 photos défilent dans le même cadre) */
.showcase{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line-soft);box-shadow:var(--shadow-deep)}
.showcase__slides{position:relative;aspect-ratio:2/1;overflow:hidden}
.showcase__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity 1.6s ease-in-out,transform 6s linear;will-change:opacity;transform:scale(1.01)}
.showcase__slide.is-active{opacity:1;transform:scale(1.06)}
.showcase::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(8,11,18,.88));pointer-events:none}
.showcase figcaption{position:absolute;left:clamp(1.2rem,3vw,2.6rem);right:clamp(1.2rem,3vw,2.6rem);bottom:clamp(1.2rem,3vw,2rem);z-index:2;display:flex;flex-direction:column;gap:.45rem}
.showcase__k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.showcase__v{font-family:var(--cormorant);font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.35;color:var(--ink);max-width:62ch;text-shadow:0 2px 12px rgba(0,0,0,.6)}

/* =================== TÉMOIGNAGES =================== */
.testimonials{padding:0 var(--pad) var(--section-gap);max-width:calc(var(--max) + 2rem);margin:0 auto}
/* Carrousel d'avis : défilement continu */
.tmarquee{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.tmarquee__track{display:flex;align-items:stretch;gap:1.5rem;width:max-content;animation:tscroll 60s linear infinite}
.tmarquee:hover .tmarquee__track,.tmarquee:focus-within .tmarquee__track{animation-play-state:paused}
.tmarquee__track .tcard{flex:none;width:clamp(280px,80vw,350px)}
@keyframes tscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tcard{background:rgb(15,20,30);border:1px solid var(--line-soft);border-radius:14px;padding:2rem 1.8rem;
  display:flex;flex-direction:column;gap:1rem;transition:transform .5s var(--ease),border-color .5s,box-shadow .5s}
.tcard:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow-deep),var(--shadow-gold)}
.tcard__stars{color:var(--gold);letter-spacing:.18em;font-size:.9rem}
.tcard blockquote{font-family:var(--cormorant);font-style:italic;font-size:1.2rem;line-height:1.5;color:var(--ink)}
.tcard figcaption{display:flex;align-items:center;gap:.9rem;margin-top:auto}
.tcard__av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);color:var(--gold-soft);
  font-family:var(--cinzel);font-size:.85rem;letter-spacing:.05em;flex:none;background:rgba(201,162,75,.06)}
.tcard__id{display:flex;flex-direction:column;line-height:1.3}
.tcard__id strong{font-size:.92rem;color:var(--ink)}
.tcard__id em{font-style:normal;font-size:.72rem;color:var(--ink-dim);letter-spacing:.04em}

/* =================== PROCESSUS =================== */
.process{padding:0 var(--pad) var(--section-gap);max-width:calc(var(--max) + 2rem);margin:0 auto}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1rem}
.steps__line{position:absolute;top:26px;left:8%;right:8%;height:1px;background:var(--line-soft);overflow:hidden}
.steps__fill{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft));box-shadow:0 0 8px var(--glow)}
.step{position:relative;text-align:center;padding-top:3.6rem}
.step__num{position:absolute;top:0;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  border:1px solid var(--line);background:var(--navy);color:var(--gold-soft);font-family:var(--cinzel);font-size:1rem;transition:all .45s var(--ease)}
.step.is-active .step__num{border-color:var(--gold);color:var(--navy);background:linear-gradient(135deg,var(--gold-soft),var(--gold-deep));box-shadow:var(--shadow-gold)}
.step h3{font-family:var(--cormorant);font-weight:600;font-size:1.3rem;margin-bottom:.5rem}
.step p{font-size:.9rem;color:var(--ink-soft);max-width:26ch;margin:0 auto}

/* =================== FAQ =================== */
.faq{padding:0 var(--pad) var(--section-gap);max-width:920px;margin:0 auto}
.faq__list{display:flex;flex-direction:column;gap:.8rem}
.faq__item{border:1px solid var(--line-soft);border-radius:10px;background:rgba(13,18,28,.55);overflow:hidden;transition:border-color .4s,background .4s}
.faq__item.open{border-color:var(--line);background:rgba(201,162,75,.05)}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;
  font-family:var(--cinzel);font-size:.95rem;letter-spacing:.04em;color:var(--ink);background:none;border:none;cursor:pointer;padding:1.3rem 1.5rem;transition:color .3s}
.faq__item.open .faq__q,.faq__q:hover{color:var(--gold-soft)}
.faq__q:active{transform:scale(.99)}
.faq__plus{position:relative;flex:none;width:16px;height:16px}
.faq__plus::before,.faq__plus::after{content:"";position:absolute;top:50%;left:50%;background:var(--gold-soft);transition:transform .4s var(--ease)}
.faq__plus::before{width:14px;height:1.5px;margin:-.75px 0 0 -7px}
.faq__plus::after{width:1.5px;height:14px;margin:-7px 0 0 -.75px}
.faq__item.open .faq__plus::after{transform:rotate(90deg);opacity:0}
.faq__a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq__a p{padding:0 1.5rem 1.4rem;font-family:var(--cormorant);font-size:1.1rem;line-height:1.6;color:var(--ink-soft)}

/* =================== RÉSERVATION =================== */
.booking{position:relative;padding:var(--section-gap) var(--pad);overflow:hidden}
.booking__bg{position:absolute;inset:0;z-index:0;background:rgba(8,11,18,.45)}
.booking__grid{position:relative;z-index:1;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.booking__intro .title-engraved{margin:.4rem 0 1.2rem}
.booking__lead{font-family:var(--cormorant);font-size:1.25rem;line-height:1.5;color:var(--ink-soft);margin-bottom:1.6rem}
.booking__head{position:relative;z-index:1;max-width:var(--max);margin:0 auto 2.4rem;text-align:center}
.booking__head .title-engraved{margin:.5rem 0 1rem}
.booking__lead{margin-left:auto;margin-right:auto;text-align:center;max-width:52ch}
.booking__points{position:relative;z-index:1;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 1.8rem;margin-top:1.3rem}
.booking__points span{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--ink-soft)}
.bp__i{color:var(--gold-soft)}
.booking__phone{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--gold-soft);border:1px solid var(--line);border-radius:30px;padding:.45rem 1.1rem;transition:all .3s}
.booking__phone:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.booking__phone svg{width:15px}
.booking__embed{position:relative;z-index:1;max-width:var(--max);margin:0 auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow-deep)}
.booking__bar{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;font-size:.74rem;letter-spacing:.04em;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);background:rgba(13,18,28,.85)}
.booking__bar-dot{width:8px;height:8px;border-radius:50%;background:#37d07a;box-shadow:0 0 8px #37d07a;flex:none}
.booking__bar-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.booking__full{margin-left:auto;color:var(--gold-soft);letter-spacing:.06em;white-space:nowrap;transition:color .3s}
.booking__full:hover{color:var(--gold-bright)}
.booking__frame{position:relative}
.booking__iframe{display:block;width:100%;height:min(82vh,780px);border:0;background:#0a0e16}
.booking__consent{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;
  padding:2rem;background:rgba(10,13,20,.95)}
.booking__consent[hidden]{display:none}
.booking__consent-i{color:var(--gold-soft)}
.booking__consent p{max-width:46ch;color:var(--ink-soft);font-size:.98rem;line-height:1.6}
.booking__consent-actions{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}
.booking__consent-link{font-size:.78rem;letter-spacing:.06em;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px}
.booking__consent-link:hover{color:var(--gold-soft)}

/* =================== BANNIÈRE COOKIES =================== */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:1rem clamp(1rem,4vw,2rem);
  background:rgba(9,12,19,.97);border-top:1px solid var(--line);box-shadow:0 -12px 40px -16px rgba(0,0,0,.8)}
.cookie-banner[hidden]{display:none}
.cookie-banner__inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.cookie-banner__txt{flex:1;min-width:260px}
.cookie-banner__txt strong{display:block;font-family:var(--cinzel);font-size:1.05rem;color:var(--gold-soft);margin-bottom:.25rem}
.cookie-banner__txt p{font-size:.86rem;line-height:1.55;color:var(--ink-soft)}
.cookie-banner__txt a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:2px}
.cookie-banner__actions{display:flex;gap:.7rem;flex-wrap:wrap}
.cookie-banner__actions .btn{padding:.8rem 1.5rem}
@media(max-width:560px){.cookie-banner__actions{width:100%}.cookie-banner__actions .btn{flex:1}}

/* =================== PAGES LÉGALES =================== */
.legal-page{min-height:100vh;display:flex;flex-direction:column;background:var(--navy)}
.legal-head{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem var(--pad);background:rgba(8,11,18,.97);border-bottom:1px solid var(--line)}
.legal-head .brand__logo{height:46px;width:auto;display:block}
.legal-back{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);white-space:nowrap}
.legal-back:hover{color:var(--gold-bright)}
.legal-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:clamp(2.5rem,6vh,5rem) var(--pad) 4rem;position:relative;z-index:2}
.legal-main h1{font-family:var(--cinzel);font-weight:600;letter-spacing:.01em;font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;background:var(--grad-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}
.legal-lead{font-family:var(--cormorant);font-style:italic;font-size:1.2rem;color:var(--ink-soft);margin-bottom:.4rem}
.legal-updated{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:2.6rem}
.legal-main h2{font-family:var(--cinzel);font-weight:600;font-size:1.35rem;color:var(--gold-soft);margin:2.6rem 0 .8rem;padding-top:1.2rem;border-top:1px solid var(--line-soft)}
.legal-main h3{font-size:1rem;color:var(--ink);margin:1.3rem 0 .4rem;font-weight:500}
.legal-main p,.legal-main li{color:var(--ink-soft);line-height:1.75;font-size:.95rem}
.legal-main p{margin-bottom:1rem}
.legal-main ul{margin:0 0 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem}
.legal-main a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:2px}
.legal-main strong{color:var(--ink);font-weight:600}
.legal-todo{color:var(--gold-soft);background:rgba(201,162,75,.12);border:1px dashed var(--line);border-radius:4px;padding:0 .4rem;font-size:.9em;white-space:nowrap}
.legal-card{background:rgba(13,18,28,.6);border:1px solid var(--line-soft);border-radius:12px;padding:1.3rem 1.6rem;margin:0 0 1.4rem}
.legal-card p:last-child{margin-bottom:0}
.legal-table{width:100%;border-collapse:collapse;margin:.4rem 0 1.4rem;font-size:.9rem}
.legal-table th,.legal-table td{text-align:left;padding:.7rem .8rem;border:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:top}
.legal-table th{background:rgba(201,162,75,.07);color:var(--gold-soft);font-weight:500;letter-spacing:.02em}
.legal-foot{border-top:1px solid var(--line);padding:2rem var(--pad);text-align:center;font-size:.8rem;color:var(--ink-dim);position:relative;z-index:2}
.legal-foot a{color:var(--gold-soft)}
.legal-foot p{margin:.2rem 0}
@media(max-width:560px){.legal-table,.legal-table tbody,.legal-table tr,.legal-table td,.legal-table th{display:block;width:100%}.legal-table th{border-bottom:none}}
/* (Ancien formulaire de réservation supprimé — remplacé par l'iframe .booking__embed.) */

/* =================== FOOTER =================== */
.footer{position:relative;background:rgba(6,8,13,.66);border-top:1px solid var(--line);padding:clamp(2.5rem,6vh,4rem) var(--pad) 1.6rem}
.footer__inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-bottom:2rem;border-bottom:1px solid var(--line-soft)}
.brand--footer{flex:none}
.footer__logo{display:block;width:clamp(230px,30vw,320px);height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}
.footer__contacts{display:flex;gap:2rem;flex-wrap:wrap}
.footer__contacts a{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--ink-soft);transition:color .3s}
.footer__contacts a:hover{color:var(--gold-soft)}
.footer__contacts svg{width:18px;color:var(--gold)}
.footer__social{display:flex;gap:.7rem}
.footer__social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--gold-soft);transition:all .35s}
.footer__social svg{width:18px}
.footer__social a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:var(--shadow-gold)}
.footer__legal{max-width:var(--max);margin:1.4rem auto 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.74rem;color:var(--ink-dim)}
.footer__legal div{display:flex;gap:1.4rem;flex-wrap:wrap}
.footer__legal a{transition:color .3s}
.footer__legal a:hover{color:var(--gold-soft)}
/* Crédit Connexus (comme TS CAR / CorExperts) */
.footer__credits a{display:inline-flex;align-items:center;gap:9px}
.footer__credits img{height:22px;width:auto;opacity:.9;transition:opacity .3s}
.footer__credits a:hover img{opacity:1}
@media (min-width:761px){.footer__credits{margin-right:3.6rem}} /* place pour le bouton flottant « haut de page » */

/* =================== REPÈRES FLOTTANTS =================== */
.back-to-top{position:fixed;z-index:95;right:1.5rem;bottom:1.5rem;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(13,18,28,.95);color:var(--gold-soft);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .45s var(--ease),transform .45s var(--ease),visibility .45s,box-shadow .35s,background .35s,color .35s}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{border-color:var(--gold);background:var(--gold);color:var(--navy);box-shadow:var(--shadow-gold)}

/* =================== REVEALS =================== */
.js .reveal{opacity:0;transform:translateY(30px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .reveal-g{opacity:0;transform:scale(.92);clip-path:inset(8% 8% 8% 8%)}
.js .reveal-g.is-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),clip-path 1.1s var(--ease)}

/* =================== BANDEAU PARC (défilement) =================== */

/* =================== LIGHTBOX =================== */
.lightbox{position:fixed;inset:0;z-index:350;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:rgba(4,6,10,.96);cursor:zoom-out}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 30px 90px -20px rgba(0,0,0,.95);cursor:default}
.lightbox__close{position:absolute;top:1.1rem;right:1.3rem;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(13,18,28,.92);color:var(--gold-soft);font-size:1.6rem;line-height:1;cursor:pointer;transition:all .3s;z-index:3}
.lightbox__close:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:rgba(13,18,28,.85);color:var(--gold-soft);font-size:2rem;line-height:1;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.lightbox__nav:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.lightbox__nav--prev{left:clamp(.6rem,3vw,2rem)}
.lightbox__nav--next{right:clamp(.6rem,3vw,2rem)}
.lightbox__nav[hidden]{display:none}
body.lb-open{overflow:hidden}
/* fiche auto : l'image principale est zoomable */
.cardetail__main{position:relative}
.cardetail__main img{cursor:zoom-in}
.cardetail__main::after{content:"⤢  Agrandir";position:absolute;right:.7rem;bottom:.7rem;pointer-events:none;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);background:rgba(8,11,18,.85);border:1px solid var(--line);border-radius:4px;padding:.3rem .6rem}

/* =================== APPLICATIONS MOBILES =================== */
.appbadges{margin-top:1.8rem}
.appbadges__label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:.85rem}
.appbadges__row{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center}
.appbadge{display:inline-flex;align-items:center;gap:.75rem;padding:.65rem 1.3rem .65rem 1.05rem;border:1px solid var(--line);border-radius:12px;background:rgba(13,18,28,.95);
  transition:border-color .3s,transform .3s var(--ease),box-shadow .3s}
.appbadge:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-gold)}
.appbadge svg{width:24px;height:24px;color:var(--gold-soft);flex:none}
.appbadge span{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.appbadge small{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}
.appbadge strong{font-family:var(--cinzel);font-weight:700;font-size:.98rem;color:var(--ink);letter-spacing:.02em}

/* =================== RESPONSIVE =================== */
@media(max-width:1080px){
  .mainnav{display:none}
  /* le burger prend le relais DÈS que la nav est masquée (sinon trou de navigation 821-1080px) */
  .burger{display:flex}
  .header.nav-open .mainnav{display:flex;flex-direction:column;position:fixed;inset:0;background:rgba(8,11,18,.98);align-items:center;justify-content:center;gap:1.8rem;z-index:90;font-size:1.1rem}
  .quickbar{position:static;margin-top:2.5rem}
  .hero{padding-bottom:3rem}
  .hero__scroll{display:none}
  .fleet__grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(3,1fr);gap:1.6rem}
  .stat:nth-child(4)::before,.stat:nth-child(1)::before{display:none}
  .steps{grid-template-columns:repeat(2,1fr);gap:2.5rem 1.5rem}
  .steps__line{display:none}
  .booking__grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .header__cta .btn--gold{display:none}
  .iconbtn--book{display:grid}
  .quickbar{grid-template-columns:repeat(2,1fr)}
  .quick:nth-child(odd)::before{display:none}
  .fleet__head,.exp__head{flex-direction:column}
  .fleet__head .ornament,.exp__head .ornament{display:none}
  .booking__form{grid-template-columns:1fr}
  .footer__inner{flex-direction:column;text-align:center;align-items:center}
}
@media(max-width:520px){
  .hero__badge{width:84px;top:4.6rem;right:1rem}
  .hero__eyebrow{max-width:62%;line-height:1.5;letter-spacing:.28em}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%}
  .ticker__track span{font-size:1.1rem}
  .ticker__track{gap:1.4rem}
  .quickbar{grid-template-columns:1fr}
  .quick::before{display:none !important}
  .fleet__grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat::before{display:none !important}
  .steps{grid-template-columns:1fr}
  .brand__logo{height:44px}
  .header.scrolled .brand__logo{height:38px}
  .brand__txt em{display:none}
  .header{gap:.6rem}
  .header__cta{gap:.5rem}
  .iconbtn{width:38px;height:38px}
  .iconbtn svg{width:16px}
  .iconbtn--book svg{width:18px}
}
@media(max-width:380px){
  .hero__badge{width:76px;top:4.4rem}
  .quick{padding:1rem 1.1rem}
  .quick__i{width:48px;height:48px}
  .quick__t strong{font-size:1.05rem}
}
/* tactile : pas de curseur custom */
@media(hover:none),(pointer:coarse){
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .reveal,.js .reveal-g{opacity:1!important;transform:none!important;clip-path:none!important}
  .hero__slide{animation:none}
  .loader{display:none}
  .title-engraved .lt{opacity:1!important;transform:none!important;filter:none!important}
  .tmarquee{overflow-x:auto}
  .tmarquee__track{animation:none}
}

/* =========================================================
   MULTI-PAGES — composants ajoutés (page-hero, prestations,
   récit, corps éditorial SEO, bandeau CTA, footer en colonnes)
   ========================================================= */

/* --- En-tête des pages internes : titre sobre sur fond nuit, SANS bannière photo --- */
.pagehero{position:relative;text-align:center;border-bottom:1px solid var(--line-soft);
  padding:calc(var(--header-h) + 3.4rem) var(--pad) clamp(1.8rem,4vw,2.8rem);
  background:radial-gradient(120% 150% at 50% -45%,rgba(201,162,75,.10),transparent 62%)}
.pagehero__inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto}
.pagehero__title{font-family:var(--cinzel);font-weight:900;text-transform:uppercase;line-height:1.06;
  font-size:clamp(2rem,4.4vw,3.4rem);letter-spacing:-.01em;margin:0 0 1rem;
  background:linear-gradient(180deg,var(--gold-bright) 10%,var(--gold-soft) 55%,var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 2px 40px rgba(201,162,75,.14)}
.pagehero__rule{display:block;width:64px;height:2px;margin:0 auto 1.3rem;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 10px var(--glow)}
.pagehero__lead{font-family:var(--cormorant);font-weight:400;font-size:clamp(1.2rem,2.1vw,1.6rem);
  color:var(--ink-soft);line-height:1.4;max-width:56ch;margin:0 auto}

/* --- Prestations (grille de cartes + maillage interne) --- */
.svc{padding:var(--section-gap) var(--pad);max-width:var(--max);margin:0 auto}
.svc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1.4rem;margin-top:clamp(2rem,4vw,3.2rem)}
.svc__card{display:flex;flex-direction:column;gap:.85rem;padding:2.1rem 1.7rem;border:1px solid var(--line-soft);
  border-radius:12px;background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.008));
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;position:relative;overflow:hidden}
.svc__card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -30%,rgba(201,162,75,.14),transparent 60%);opacity:0;transition:opacity .45s}
.svc__card:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow-deep)}
.svc__card:hover::before{opacity:1}
.svc__icon{width:60px;height:60px;display:grid;place-items:center;position:relative;z-index:1}
.svc__icon img{width:56px;height:56px;object-fit:contain}
.svc__title{font-family:var(--cinzel);font-weight:700;font-size:1.1rem;color:var(--gold-soft);position:relative;z-index:1}
.svc__desc{color:var(--ink-soft);font-size:.94rem;line-height:1.62;flex:1;position:relative;z-index:1}
.svc__more{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
  display:inline-flex;align-items:center;gap:.45rem;position:relative;z-index:1}
.svc__more .arr{transition:transform .4s var(--ease)}
.svc__card:hover .svc__more .arr{transform:translateX(5px)}

/* --- Récit « À propos » --- */
.story{padding:var(--section-gap) var(--pad);max-width:var(--max);margin:0 auto}
.story__grid{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.story__media{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-deep);aspect-ratio:4/5}
.story__media img{width:100%;height:100%;object-fit:cover}
.story__badge{position:absolute;left:1.2rem;bottom:1.2rem;display:flex;flex-direction:column;line-height:1;
  background:linear-gradient(100deg,var(--gold-soft),var(--gold-deep));color:#1a1206;border-radius:11px;
  padding:.75rem 1.15rem;box-shadow:var(--shadow-gold)}
.story__badge strong{font-family:var(--cinzel);font-size:1.9rem;font-weight:800}
.story__badge span{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;margin-top:.3rem}
.story__txt h2{margin-bottom:1.4rem}
.story__txt p{color:var(--ink-soft);line-height:1.8;margin-bottom:1.1rem;max-width:56ch}
.story__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.9rem}
.ornament--left{flex:none;width:88px;max-width:88px;margin-bottom:1.3rem}

/* --- Corps éditorial des pages SEO --- */
.seo-body{padding:var(--section-gap) var(--pad);max-width:1080px;margin:0 auto}
.seo-body__intro{font-family:var(--cormorant);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.85rem);
  line-height:1.5;color:var(--ink);text-align:center;max-width:60ch;margin:0 auto clamp(2.4rem,5vw,3.6rem)}
.seo-body__blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(278px,1fr));gap:2.2rem 2.6rem}
.seo-block{border-left:2px solid var(--line);padding-left:1.5rem}
.seo-block__h{font-family:var(--cinzel);font-weight:700;font-size:1.18rem;color:var(--gold-soft);margin-bottom:.7rem}
.seo-block__p{color:var(--ink-soft);line-height:1.78;font-size:.98rem}

/* --- Bandeau d'appel à l'action --- */
.cta-band{padding:var(--section-gap) var(--pad)}
.cta-band__inner{max-width:780px;margin:0 auto;text-align:center;position:relative;overflow:hidden;
  padding:clamp(2.4rem,5vw,4rem) clamp(1.5rem,4vw,3.5rem);border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(160deg,rgba(201,162,75,.08),rgba(255,255,255,.012));box-shadow:var(--shadow-deep)}
.cta-band__inner::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% -20%,rgba(201,162,75,.2),transparent 62%)}
.cta-band__eyebrow{justify-content:center;margin-bottom:1rem;position:relative;z-index:1}
.cta-band h2{margin-bottom:1rem;position:relative;z-index:1}
.cta-band__lead{color:var(--ink-soft);line-height:1.7;max-width:52ch;margin:0 auto 2rem;position:relative;z-index:1}
.cta-band__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* --- Footer en colonnes (multi-pages) --- */
.footer__inner{align-items:flex-start}
.footer__nav{display:flex;flex-direction:column;gap:.6rem;min-width:118px}
.footer__nav a{font-size:.84rem;letter-spacing:.03em;color:var(--ink-soft);transition:color .3s}
.footer__nav a:hover{color:var(--gold-soft)}
.footer__nav--seo a{color:var(--ink-dim);font-size:.8rem}
.footer__contacts{flex-direction:column;gap:.75rem}

/* --- Responsive multi-pages --- */
@media(max-width:900px){
  .story__grid{grid-template-columns:1fr;gap:2.4rem}
  .story__media{aspect-ratio:16/10;max-height:420px}
  .story__txt{text-align:left}
}
@media(max-width:820px){
  .footer__inner{align-items:center}
  .footer__nav{align-items:center}
  .footer__contacts{align-items:center}
  .pagehero{padding-top:calc(var(--header-h) + 2.4rem)}
}
@media(max-width:520px){
  .cta-band__actions{flex-direction:column}
  .cta-band__actions .btn{width:100%}
}

/* =========================================================
   TEASERS DE L'ACCUEIL (aperçus légers qui renvoient vers les
   pages dédiées) + polish issu de l'audit de nettoyage
   ========================================================= */

/* En-tête allégé (titre seul, pas le double ornement) + bouton "voir tout" centré */
.teaser__head{text-align:center;max-width:var(--max);margin:0 auto clamp(1.8rem,3.5vw,2.6rem)}
.teaser__head .title-engraved{display:inline-block;margin:0 auto}
.teaser__more{text-align:center;margin-top:clamp(1.8rem,3.5vw,2.6rem)}

/* Le sur-titre des pages internes ne doit jamais être bridé (la règle 62% du mobile
   visait le badge de l'accueil, absent ici). */
.pagehero .hero__eyebrow{max-width:none;justify-content:center;margin-bottom:1rem}
.story-teaser__eyebrow{max-width:none}

/* --- Aperçu flotte (3 vignettes -> /vehicules) --- */
.fleet-teaser{padding:var(--section-gap) var(--pad);max-width:var(--max);margin:0 auto}
.fleet-teaser__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.ft-card{display:flex;flex-direction:column;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02);transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.ft-card:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow-deep),var(--shadow-gold)}
.ft-card__img{position:relative;aspect-ratio:3/2;overflow:hidden;display:block}
.ft-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ft-card:hover .ft-card__img img{transform:scale(1.05)}
.ft-card__tag{position:absolute;top:.7rem;left:.7rem;z-index:1;background:rgba(10,14,22,.82);color:var(--gold-soft);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .7rem;border-radius:4px;border:1px solid var(--line)}
.ft-card__name{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1rem 1.2rem;font-family:var(--cinzel);font-weight:700;font-size:1.1rem;color:var(--ink)}
.ft-card__name .arr{color:var(--gold);transition:transform .4s var(--ease)}
.ft-card:hover .ft-card__name .arr{transform:translateX(4px)}

/* --- Aperçu avis (3 cartes statiques -> /a-propos#avis) --- */
.testimonials-teaser{padding:var(--section-gap) var(--pad);max-width:var(--max);margin:0 auto}
.tt__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:stretch}
.tt__grid .tcard--static{width:auto;min-width:0;max-width:none;margin:0;height:100%;flex:0 1 auto;border-radius:12px}

/* --- Signature de marque (-> /a-propos) --- */
.story-teaser{padding:var(--section-gap) var(--pad)}
.story-teaser__inner{max-width:760px;margin:0 auto;text-align:center}
.story-teaser__eyebrow{justify-content:center;margin-bottom:1rem}
.story-teaser h2{margin-bottom:1.2rem}
.story-teaser__lead{font-family:var(--cormorant);font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.5;color:var(--ink-soft);margin:0 auto 1.9rem;max-width:54ch}

/* --- Intro éditoriale de /services --- */
.svc__intro{max-width:62ch;margin:0 auto clamp(2rem,4vw,3rem);text-align:center;color:var(--ink-soft);font-family:var(--cormorant);font-size:clamp(1.2rem,2.1vw,1.55rem);line-height:1.55}

/* Grilles à 3 items : on saute le 2-colonnes (sinon 3e carte orpheline) -> 3 puis 1 */
@media(max-width:640px){
  .fleet-teaser__grid,.tt__grid{grid-template-columns:1fr}
}
