:root{
  --black:#030708;
  --dark:#0c0e10;
  --card:#181d22;
  --gold:#e4ae4a;
  --gold-light:#f2c66a;
  --gold-grad:linear-gradient(180deg,#f2c66a 0%,#d99d38 100%);
  --green:#2ba751;
  --green-dark:#20913f;
  --light:#f6f5f1;
  --text:#14171a;
  --muted:#4a4f55;
  --radius:10px;
  --font:Montserrat,Poppins,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--black);line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p{margin:0}
ul{margin:0;padding:0;list-style:none}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:1.4em;height:1.4em;fill:currentColor;flex:none}
.container{width:min(100% - 2rem,1100px);margin-inline:auto}
.center{text-align:center}
.gold{color:var(--gold)}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--gold);color:#000;padding:.6rem 1rem;font-weight:700}
.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* En-tête */
.site-header{position:sticky;top:0;z-index:50;background:var(--black);border-bottom:1px solid #1c2126}
.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:88px}
.brand img{width:140px}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;gap:2rem}
.main-nav a{display:block;color:#fff;text-decoration:none;font-size:.95rem;padding:.4rem 0;position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold)}
.main-nav a:hover{color:var(--gold-light)}
.header-actions{display:flex;align-items:center;gap:.75rem}
.phone-box{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;border:2px solid var(--gold);border-radius:var(--radius);padding:.45rem 1rem}
.phone-box .icon{width:1.8rem;height:1.8rem}
.phone-box strong{display:block;font-size:1.15rem;letter-spacing:.02em}
.phone-box small{display:block;font-size:.85rem}
.wa-square{display:grid;place-items:center;width:58px;height:58px;border-radius:var(--radius);background:var(--green);color:#fff}
.wa-square .icon{width:2rem;height:2rem}
.wa-square:hover{background:var(--green-dark)}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;border-radius:var(--radius);padding:.8rem 1.4rem;min-height:56px;line-height:1.2;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .15s ease,filter .15s ease}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn strong{display:block;text-transform:uppercase;font-size:.95rem;letter-spacing:.02em}
.btn small{display:block;font-size:.9rem}
.btn-gold{background:var(--gold-grad);color:#111}
.btn-gold small{font-weight:700}
.btn-green{background:var(--green);color:#fff}
.btn .icon{width:1.7rem;height:1.7rem}
.cta-row{display:flex;flex-wrap:wrap;gap:1rem}
.cta-center{justify-content:center}

/* Bandeau d'accueil */
.hero{position:relative;overflow:hidden;background:linear-gradient(100deg,#0f1b2a 0%,#24324a 45%,#3a3550 100%);color:#fff;min-height:420px;display:flex;align-items:center}
.hero-photo{position:absolute;inset:0 0 0 auto;width:58%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.hero-content{position:relative;padding:3rem 0}
.hero h1{display:block;max-width:560px}
.slogan{display:block;font-size:clamp(2.1rem,4.6vw,3.2rem);font-weight:800;line-height:1.05;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.slogan::after{content:"";display:block;width:80px;height:3px;background:var(--gold);margin:1.1rem 0 .9rem}
.h1-sub{display:block;font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:500;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.tagline{margin-top:.4rem;font-size:1.1rem;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.tagline::after{content:"";display:block;width:60px;height:3px;background:var(--gold);margin-top:.9rem}
.hero-text{max-width:500px;margin:1rem 0 1.6rem;color:#e6e8ec;text-shadow:0 1px 8px rgba(0,0,0,.7)}

/* Sections */
.section{padding:2.5rem 0}
.section-light{background:var(--light)}
.section-dark{background:linear-gradient(180deg,#0e1114,#07090b);color:#fff}
.section-title{display:flex;align-items:center;justify-content:center;gap:1.2rem;text-align:center;font-size:clamp(1.35rem,2.6vw,1.65rem);font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.section-title::before,.section-title::after{content:"";flex:0 1 70px;height:2px;background:var(--gold)}
.section-sub{text-align:center;margin-top:.2rem;font-size:1.05rem}
.section-light .section-sub{color:#222}
.section-dark .section-sub{color:#e6e8ec}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:1.8rem}
.service{text-align:center;padding:0 .9rem;border-left:1px solid #dddcd6}
.service:first-child{border-left:0}
.service-icon{width:44px;height:44px;fill:#111;margin:0 auto .7rem}
.service h3{font-size:.98rem;font-weight:700;line-height:1.25;margin-bottom:.4rem}
.service p{font-size:.85rem;color:var(--muted)}

/* Véhicules */
.vehicles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:1.4rem}
.vehicle{background:var(--card);border:1px solid #262c33;border-radius:8px;padding:.8rem .6rem 1rem;text-align:center}
.vehicle img{margin:0 auto;width:100%;max-width:190px}
.vehicle h3{font-size:1rem;font-weight:600;margin:.6rem 0 .4rem}
.capacity{display:flex;justify-content:center;flex-wrap:wrap;gap:.3rem 1rem;font-size:.82rem;color:#d6d9dd}
.capacity span{display:inline-flex;align-items:center;gap:.3rem}
.capacity .icon{width:1rem;height:1rem}

/* Pourquoi nous choisir */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:1.4rem}
.why-grid li{display:flex;align-items:center;gap:.9rem;padding:0 1.2rem;border-left:1px solid #dddcd6}
.why-grid li:first-child{border-left:0}
.why-icon{width:40px;height:40px;fill:#111;flex:none}
.why-grid h3{font-size:.95rem;font-weight:700}
.why-grid p{font-size:.85rem;color:var(--muted)}

/* Zone desservie */
.section-zone{background:#fff;border-top:1px solid #e7e5df}
.zone-inner{max-width:820px}
.zone-inner p{margin-top:1rem;color:#2a2e33}

/* Réservation */
.reserve-help{max-width:620px;margin:.8rem auto 1.4rem;color:#c9cdd2;font-size:.95rem}

/* FAQ */
.faq-inner{max-width:820px}
.faq-inner .section-title{margin-bottom:1.4rem}
details{background:#fff;border:1px solid #e2e0d9;border-left:4px solid var(--gold);border-radius:8px;margin-bottom:.7rem}
summary{cursor:pointer;list-style:none;padding:1rem 2.8rem 1rem 1.2rem;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:#b07d1f;font-weight:700}
details[open] summary::after{content:"–"}
summary h3{display:inline;font-size:1rem;font-weight:700}
details p{padding:0 1.2rem 1.1rem;color:#2a2e33}
details a{color:#8a5d0c;font-weight:600}

/* Contact */
.section-contact{border-top:1px solid #e7e5df}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:1.6rem}
.contact-grid li{display:flex;align-items:center;gap:.9rem;padding:0 1.2rem;border-left:1px solid #dddcd6;min-width:0}
.contact-grid li:first-child{border-left:0}
.contact-icon{width:36px;height:36px;fill:#111;flex:none}
.contact-icon.wa{fill:var(--green)}
.contact-grid a{text-decoration:none;overflow-wrap:anywhere}
.contact-grid a:hover strong{color:#8a5d0c}
.contact-grid strong{display:block;font-size:.95rem;overflow-wrap:anywhere}
.contact-grid span{display:block;font-size:.85rem;color:var(--muted)}

.banner img{width:100%;max-height:260px;object-fit:cover}

/* Pied de page */
.site-footer{background:var(--black);color:#fff}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid #1c2126}
.footer-top img{width:130px}
.footer-motto{text-transform:uppercase;letter-spacing:.35em;font-size:.82rem;text-align:center;display:flex;align-items:center;gap:1.5rem}
.footer-motto::before,.footer-motto::after{content:"";width:50px;height:2px;background:var(--gold)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;padding:1rem 0 1.4rem;font-size:.82rem}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:1.4rem}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{color:var(--gold-light);text-decoration:underline}
.footer-bottom p{color:#c9cdd2}

.mobile-bar{display:none}

/* Tablette */
@media (max-width:1000px){
  .header-inner{flex-wrap:wrap;gap:.5rem 1rem;min-height:0;padding:.5rem 0}
  .brand img{width:110px}
  .main-nav{order:3;width:100%;margin:0;overflow-x:auto}
  .main-nav ul{gap:1.4rem;justify-content:center;padding:.2rem 0 .5rem;white-space:nowrap}
  .header-actions{margin-left:auto}
  .services-grid{grid-template-columns:repeat(3,1fr);row-gap:1.8rem}
  .service:nth-child(4){border-left:0}
  .vehicles-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid,.contact-grid{grid-template-columns:repeat(2,1fr);row-gap:1.4rem}
  .why-grid li:nth-child(3),.contact-grid li:nth-child(3){border-left:0}
  html{scroll-padding-top:130px}
}

/* Mobile */
@media (max-width:640px){
  body{padding-bottom:72px}
  .header-actions .phone-box small{display:none}
  .phone-box{padding:.35rem .7rem}
  .phone-box strong{font-size:1rem}
  .wa-square{width:46px;height:46px}
  .main-nav ul{justify-content:flex-start;gap:1.1rem}
  .main-nav a{font-size:.88rem}
  .hero{display:block;min-height:0}
  .hero-photo{position:relative;width:100%;display:block}
  .hero-photo img{height:auto;aspect-ratio:509/296;-webkit-mask-image:linear-gradient(180deg,#000 65%,transparent 100%);mask-image:linear-gradient(180deg,#000 65%,transparent 100%)}
  .hero-content{padding:0 0 2rem;margin-top:-1.5rem}
  .cta-row .btn{flex:1 1 100%}
  .services-grid{grid-template-columns:1fr 1fr;row-gap:1.6rem}
  .service{padding:0 .6rem}
  .service:nth-child(odd){border-left:0}
  .service:nth-child(4){border-left:1px solid #dddcd6}
  .vehicles-grid{grid-template-columns:1fr 1fr}
  .why-grid,.contact-grid{grid-template-columns:1fr}
  .why-grid li,.contact-grid li{border-left:0;padding:0}
  .footer-top{flex-direction:column;text-align:center}
  .footer-motto::before,.footer-motto::after{width:24px}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-bottom ul{justify-content:center}
  .mobile-bar{display:flex;gap:.6rem;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem;background:rgba(3,7,8,.95);border-top:1px solid #1c2126}
  .mobile-bar .btn{flex:1;justify-content:center;min-height:48px;padding:.6rem}
}
