:root{
  --black:#050505;
  --dark:#0b0c0d;
  --panel:#111315;
  --panel2:#17191c;
  --yellow:#ffcc00;
  --yellow2:#f2aa00;
  --white:#ffffff;
  --muted:#b9bdc5;
  --line:rgba(255,255,255,.16);
  --shadow:0 30px 80px rgba(0,0,0,.45);
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  background:var(--black);
  color:var(--white);
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 34px));margin:0 auto}

.header{
  position:absolute;
  left:0;
  right:0;
  top:0;
  z-index:50;
  padding:20px 0;
}
.nav{
  width:min(1180px,calc(100% - 34px));
  margin:0 auto;
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:30px;
}
.brand img{
  width:160px;
  height:auto;
  object-fit:contain;
}
.nav-links{
  display:flex;
  justify-content:center;
  gap:46px;
  font-size:13px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.02em;
}
.nav-links a{opacity:.92}
.nav-links a:hover{color:var(--yellow)}
.nav-quote{
  background:linear-gradient(135deg,var(--yellow),var(--yellow2));
  color:#050505;
  border-radius:5px;
  padding:17px 27px;
  font-size:13px;
  text-transform:uppercase;
  font-weight:950;
  box-shadow:0 16px 26px rgba(255,204,0,.22);
}
.menu-btn{
  display:none;
  width:46px;height:42px;border:1px solid var(--line);
  background:rgba(0,0,0,.4);border-radius:8px;padding:10px;
}
.menu-btn span{display:block;height:2px;background:#fff;margin:5px 0}

.hero{
  min-height:650px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.hero-image{
  position:absolute;
  inset:0;
  background-image:url("img/autocarneige.png.png");
  background-size:cover;
  background-position:center center;
  opacity:.96;
  transform:scale(1.03);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 42%, rgba(255,204,0,.08), transparent 28%),
    linear-gradient(
      90deg,
      rgba(0,0,0,.94) 0%,
      rgba(0,0,0,.78) 34%,
      rgba(0,0,0,.36) 66%,
      rgba(0,0,0,.14) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,.74) 0%,
      rgba(0,0,0,.18) 32%,
      rgba(0,0,0,.88) 100%
    );
}

.hero-inner{
  position:relative;
  padding-top:110px;
}
.hero-content{max-width:640px}
.hero-kicker{
  text-transform:uppercase;
  letter-spacing:.55em;
  font-size:13px;
  font-weight:850;
  color:#f2f2f2;
  margin:0 0 20px;
}
h1{
  margin:0;
  font-size:clamp(48px,6.5vw,86px);
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
  font-weight:950;
}
h1 span{display:block;color:var(--yellow)}
.hero-text{
  max-width:450px;
  font-size:20px;
  line-height:1.55;
  color:#fff;
  margin:22px 0 30px;
}
.hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  margin:0 0 36px;
}
.hero-points div{display:grid;grid-template-columns:32px auto;column-gap:10px;align-items:center}
.hero-points .icon{
  grid-row:span 2;
  color:var(--yellow);
  font-size:26px;
  line-height:1;
}
.hero-points strong{
  font-size:13px;
  text-transform:uppercase;
}
.hero-points small{color:#d6d6d6;font-size:13px}
.hero-actions{display:flex;gap:22px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:0 28px;
  border-radius:5px;
  text-transform:uppercase;
  font-weight:950;
  font-size:13px;
  border:1px solid transparent;
  cursor:pointer;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-yellow{
  color:#050505;
  background:linear-gradient(135deg,var(--yellow),var(--yellow2));
  box-shadow:0 16px 28px rgba(255,204,0,.19);
}
.btn-outline{border-color:rgba(255,255,255,.72);color:#fff;background:rgba(0,0,0,.18)}

.trust-bar{
  position:relative;
  margin-top:-68px;
  z-index:5;
}
.trust-grid{
  background:rgba(4,4,4,.88);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:8px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  backdrop-filter:blur(12px);
}
.trust-grid div{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:8px 16px;
  padding:27px 28px;
  border-right:1px solid var(--line);
}
.trust-grid div:last-child{border-right:0}
.trust-grid span{grid-row:span 2;color:var(--yellow);font-size:34px;filter:grayscale(1) sepia(1) saturate(6)}
.trust-grid strong{text-transform:uppercase;font-size:14px}
.trust-grid p{margin:0;color:#d6d6d6;line-height:1.45;font-size:14px}

.intro-section{
  padding:82px 0 70px;
  background:
    radial-gradient(circle at 80% 0%, rgba(255,204,0,.08), transparent 24%),
    linear-gradient(180deg,#090909,#0d0d0e);
}
.intro-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:60px;
  align-items:center;
}
.section-kicker{
  color:var(--yellow);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
  font-size:13px;
  margin:0 0 12px;
}
h2{
  margin:0 0 22px;
  font-size:clamp(34px,4.5vw,56px);
  line-height:1.05;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.intro-copy p:not(.section-kicker){
  color:#d7d7d7;
  font-size:17px;
  line-height:1.8;
}
.small-link{
  margin-top:18px;
  display:inline-flex;
  color:var(--yellow);
  border:1px solid var(--yellow);
  padding:15px 23px;
  border-radius:5px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:950;
}
.image-mosaic{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.image-mosaic img{
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  height:220px;
  width:100%;
  object-fit:cover;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.image-mosaic .mosaic-main{
  grid-column:span 2;
  height:300px;
}

.quote-section{
  background:#0c0c0d;
  padding:40px 0 66px;
}
.quote-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:36px;
  align-items:stretch;
}
.fleet-panel{
  min-height:600px;
  border-radius:0;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.fleet-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.55)),
    url("img/interieur.png.png") center/cover;
  filter:saturate(.85);
}
.fleet-content{
  position:relative;
  padding:64px 48px;
}
.fleet-content ul{
  list-style:none;
  padding:0;
  margin:30px 0 34px;
  display:grid;
  gap:18px;
}
.fleet-content li{
  position:relative;
  padding-left:30px;
  color:#f1f1f1;
  line-height:1.55;
  font-weight:700;
}
.fleet-content li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--yellow);
  font-weight:950;
}

.quote-card{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border:1px solid var(--line);
  border-radius:9px;
  padding:34px;
  box-shadow:0 18px 70px rgba(0,0,0,.42);
}
.quote-title{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.quote-title span{color:var(--yellow);font-size:26px}
.quote-title h2{
  font-size:34px;
  margin:0;
}
.quote-title strong{color:var(--yellow)}
.quote-form{display:grid;gap:14px}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{
  display:grid;
  gap:8px;
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
}
label::first-letter{color:inherit}
input,select,textarea{
  width:100%;
  min-height:44px;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.22);
  color:#fff;
  padding:12px 13px;
  font:inherit;
  outline:none;
}
select option{color:#111}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:var(--yellow);
  box-shadow:0 0 0 3px rgba(255,204,0,.1);
}
.route-title{
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  margin-top:4px;
}
.dynamic-fields{
  display:grid;
  gap:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.1);
  border-radius:4px;
  padding:14px;
}
.dynamic-fields p{
  margin:0;
  text-align:center;
  color:#90949d;
  font-size:13px;
}
.multi-stop{display:grid;grid-template-columns:1fr 44px;gap:10px;align-items:end}
.remove-stop{
  height:44px;
  border-radius:4px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.add-stop{
  height:44px;
  border-radius:4px;
  border:1px solid var(--yellow);
  background:rgba(255,204,0,.08);
  color:var(--yellow);
  text-transform:uppercase;
  font-weight:950;
  cursor:pointer;
}
.submit-btn{
  width:100%;
  margin-top:4px;
}
.privacy{
  margin:0;
  text-align:center;
  color:#bebebe;
  font-size:11px;
}
.success-box{
  margin-top:16px;
  border:1px solid rgba(255,204,0,.45);
  background:rgba(255,204,0,.12);
  color:#fff;
  padding:14px;
  border-radius:6px;
}

.service-cards{
  background:#080808;
  padding:70px 0;
}
.cards-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.cards-grid article{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  padding:28px;
  border-radius:8px;
  min-height:220px;
}
.cards-grid span{
  color:var(--yellow);
  font-size:13px;
  font-weight:950;
}
.cards-grid h3{
  margin:22px 0 12px;
  text-transform:uppercase;
  font-size:22px;
}
.cards-grid p{
  margin:0;
  color:#c9c9c9;
  line-height:1.6;
}

.numbers{
  background:linear-gradient(90deg,#101214,#050505);
  padding:42px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.numbers-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.numbers-grid div{text-align:center}
.numbers-grid strong{
  display:block;
  color:var(--yellow);
  text-transform:uppercase;
  font-size:32px;
  line-height:1;
  margin-bottom:8px;
}
.numbers-grid span{color:#ddd;font-size:14px}

.footer{
  background:#050505;
  border-top:1px solid rgba(255,255,255,.08);
  padding:34px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:28px;
}
.footer img{width:150px}
.footer p{margin:0;color:#aeb2ba;line-height:1.55}
.footer a{
  display:block;
  color:#fff;
  font-weight:800;
  margin:6px 0;
}
.footer a:hover{color:var(--yellow)}

@media(max-width:1050px){
  .nav{grid-template-columns:160px auto auto}
  .nav-links{gap:22px}
  .quote-grid,.intro-grid{grid-template-columns:1fr}
  .trust-grid,.cards-grid,.numbers-grid{grid-template-columns:repeat(2,1fr)}
  .fleet-panel{min-height:auto}
}
@media(max-width:760px){
  .header{position:absolute;padding:15px 0}
  .nav{display:flex;justify-content:space-between}
  .brand img{width:138px}
  .menu-btn{display:block}
  .nav-quote{display:none}
  .nav-links{
    display:none;
    position:absolute;
    top:70px;
    left:17px;
    right:17px;
    background:#080808;
    border:1px solid var(--line);
    border-radius:8px;
    padding:18px;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }
  .nav-links.open{display:flex}
  .hero{min-height:720px}
  .hero-inner{padding-top:100px}
  .hero-kicker{letter-spacing:.25em;font-size:11px}
  h1{font-size:48px}
  .hero-points{gap:16px}
  .hero-points div{width:calc(50% - 8px)}
  .hero-actions .btn{width:100%}
  .trust-bar{margin-top:0}
  .trust-grid,.cards-grid,.numbers-grid,.form-grid-3,.form-grid-2,.footer-grid{grid-template-columns:1fr}
  .trust-grid div{border-right:0;border-bottom:1px solid var(--line)}
  .trust-grid div:last-child{border-bottom:0}
  .intro-section{padding-top:58px}
  .image-mosaic{grid-template-columns:1fr}
  .image-mosaic .mosaic-main{grid-column:auto;height:240px}
  .image-mosaic img{height:220px}
  .quote-card,.fleet-content{padding:25px}
  .footer-grid{text-align:left}
}

