:root{
  --primary-50:#ecfdf5;
  --primary-100:#d1fae5;
  --primary-300:#6ee7b7;
  --primary-light:#34d399;
  --primary:#10b981;
  --primary-rgb:16,185,129;
  --primary-dark:#059669;
  --primary-darker:#047857;
  --primary-800:#065f46;
  --primary-900:#064e3b;
  --slate-50:#f8fafc;
  --slate-100:#f1f5f9;
  --slate-200:#e2e8f0;
  --slate-300:#cbd5e1;
  --slate-400:#94a3b8;
  --slate-500:#64748b;
  --slate-600:#475569;
  --slate-700:#334155;
  --slate-800:#1e293b;
  --slate-900:#0f172a;
  --yellow-400:#facc15;
  --blue-500:#3b82f6;
  --blue-600:#2563eb;
  --purple-500:#a855f7;
  --orange-500:#f97316;
  --red-500:#ef4444;
  --shadow-soft:0 4px 12px rgba(0,0,0,0.05);
  --shadow-md:0 10px 30px rgba(0,0,0,0.08);
  --shadow-lg:0 20px 50px rgba(0,0,0,0.12);
  --shadow-xl:0 30px 80px rgba(0,0,0,0.18);
  --shadow-primary:0 10px 30px rgba(var(--primary-rgb),0.25);
  --ease:cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

/* ============ MOTION LOADER ============ */
.motion-loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--primary-900);
  overflow:hidden;
  pointer-events:none;
  transition:opacity .6s ease,transform .8s cubic-bezier(0.76,0,0.24,1);
}
.motion-loader.gone{display:none;}
.motion-loader.lift{
  opacity:0;
  transform:scale(1.1);
  pointer-events:none;
}

/* Fond avec dégradé radial */
.motion-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 70%,rgba(var(--primary-rgb),0.25) 0%,transparent 65%),
    linear-gradient(180deg,var(--primary-900) 0%,var(--primary-800) 50%,var(--primary-darker) 100%);
}

/* Grille perspective qui se déforme */
.motion-grid{
  position:absolute;
  bottom:0;left:50%;
  width:200vw;height:50vh;
  transform:translateX(-50%) perspective(500px) rotateX(60deg);
  background-image:
    linear-gradient(rgba(var(--primary-rgb),0.15) 2px,transparent 2px),
    linear-gradient(90deg,rgba(var(--primary-rgb),0.15) 2px,transparent 2px);
  background-size:60px 60px;
  animation:gridScroll 1.8s linear infinite;
  opacity:0;
  animation:gridScroll 1.8s linear infinite,gridFadeIn 0.8s ease-out 0.3s forwards;
  mask-image:linear-gradient(180deg,transparent 0%,black 30%,black 70%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,black 30%,black 70%,transparent 100%);
}
@keyframes gridScroll{
  from{background-position:0 0;}
  to{background-position:0 60px;}
}
@keyframes gridFadeIn{
  to{opacity:0.8;}
}

/* Soleil halo */
.motion-sun{
  position:absolute;
  top:25%;left:50%;
  width:300px;height:300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--primary-rgb),0.5) 0%,rgba(var(--primary-rgb),0.25) 40%,transparent 70%);
  transform:translate(-50%,-50%) scale(0);
  animation:sunRise 1.4s cubic-bezier(0.16,1,0.3,1) 0.2s forwards,sunPulse 3s ease-in-out 1.6s infinite;
  filter:blur(2px);
}
@keyframes sunRise{
  0%{transform:translate(-50%,30%) scale(0);opacity:0;}
  100%{transform:translate(-50%,-50%) scale(1);opacity:1;}
}
@keyframes sunPulse{
  0%,100%{transform:translate(-50%,-50%) scale(1);}
  50%{transform:translate(-50%,-50%) scale(1.1);}
}

/* Ligne d'horizon qui se trace */
.motion-horizon{
  position:absolute;
  top:60%;left:0;
  width:100%;height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(var(--primary-rgb),0.6) 20%,rgba(var(--primary-rgb),0.9) 50%,rgba(var(--primary-rgb),0.6) 80%,transparent 100%);
  transform:scaleX(0);
  transform-origin:center;
  animation:horizonDraw 1.2s cubic-bezier(0.65,0,0.35,1) 0.4s forwards;
  box-shadow:0 0 20px rgba(var(--primary-rgb),0.6),0 0 40px rgba(var(--primary-rgb),0.3);
}
@keyframes horizonDraw{
  to{transform:scaleX(1);}
}

/* Scène centrale */
.motion-scene{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;
  z-index:10;
}

/* === CHEVAL QUI GALOPE === */
.motion-horse{
  width:360px;height:auto;
  opacity:0;
  transform:translateX(-150px) scale(0.8);
  animation:horseEnter 1.2s cubic-bezier(0.34,1.3,0.64,1) 0.3s forwards,horseFloat 0.4s ease-in-out 1.5s infinite alternate;
}
@keyframes horseEnter{
  0%{opacity:0;transform:translateX(-150px) scale(0.8) rotate(-5deg);}
  60%{opacity:1;}
  100%{opacity:1;transform:translateX(0) scale(1) rotate(0deg);}
}
@keyframes horseFloat{
  from{transform:translateY(0) rotate(-1deg);}
  to{transform:translateY(-8px) rotate(1deg);}
}

/* Toutes les parties du cheval en couleur emerald uniforme */
.horse-body path,
.horse-body ellipse{
  fill:var(--primary);
  stroke:none;
}
.horse-piece{fill:var(--primary);}
.horse-tail{fill:var(--primary);}
.horse-mane{fill:var(--primary);}
.horse-eye{fill:var(--primary);}
.horse-nostril{fill:var(--primary);}
.horse-leg-shape{fill:var(--primary);}
.horse-hoof-shape{fill:var(--primary);}

/* Animation des pattes (galop) */
.leg{
  transform-origin:50% 0;
}
.leg-fr{animation:legGallop1 0.45s ease-in-out 1.5s infinite;}
.leg-fl{animation:legGallop2 0.45s ease-in-out 1.5s infinite;}
.leg-br{animation:legGallop3 0.45s ease-in-out 1.5s infinite;}
.leg-bl{animation:legGallop4 0.45s ease-in-out 1.5s infinite;}

@keyframes legGallop1{
  0%,100%{transform:rotate(15deg) translateY(-2px);}
  50%{transform:rotate(-25deg) translateY(0);}
}
@keyframes legGallop2{
  0%,100%{transform:rotate(-25deg) translateY(0);}
  50%{transform:rotate(15deg) translateY(-2px);}
}
@keyframes legGallop3{
  0%,100%{transform:rotate(-15deg) translateY(0);}
  50%{transform:rotate(25deg) translateY(-3px);}
}
@keyframes legGallop4{
  0%,100%{transform:rotate(25deg) translateY(-3px);}
  50%{transform:rotate(-15deg) translateY(0);}
}

/* Crinière qui flotte */
.horse-mane{
  transform-origin:320px 80px;
  animation:maneFlow 0.6s ease-in-out 1.5s infinite alternate;
}
@keyframes maneFlow{
  from{transform:rotate(-3deg) translateX(0);}
  to{transform:rotate(3deg) translateX(-2px);}
}

/* Queue qui flotte */
.horse-tail{
  transform-origin:42px 138px;
  animation:tailFlow 0.5s ease-in-out 1.5s infinite alternate;
}
@keyframes tailFlow{
  from{transform:rotate(-5deg);}
  to{transform:rotate(8deg);}
}

/* === PARTICULES DE POUSSIÈRE === */
.dust-trail{
  position:absolute;
  bottom:-10px;left:-30px;
  width:100px;height:60px;
  pointer-events:none;
}
.dust{
  position:absolute;
  bottom:0;
  width:8px;height:8px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(167,243,208,0.85),rgba(167,243,208,0));
  opacity:0;
  animation:dustPuff 1.5s ease-out infinite;
  animation-delay:calc(var(--i) * 0.15s + 1.7s);
  left:calc(var(--i) * 8px);
}
@keyframes dustPuff{
  0%{
    opacity:0;
    transform:translate(0,0) scale(0.4);
  }
  20%{
    opacity:0.9;
    transform:translate(-10px,-15px) scale(1);
  }
  100%{
    opacity:0;
    transform:translate(-60px,-40px) scale(2.5);
  }
}

/* === LOGO QUI SE CONSTRUIT === */
.motion-logo{
  margin-top:40px;
  font-family:'Inter',sans-serif;
  font-size:48px;font-weight:800;
  letter-spacing:-0.02em;
  display:flex;
  background:linear-gradient(135deg,var(--primary-300) 0%,var(--primary) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.motion-letter{
  display:inline-block;
  opacity:0;
  transform:translateY(40px) rotate(-15deg);
  animation:letterDrop 0.6s cubic-bezier(0.34,1.56,0.64,1) forwards;
  animation-delay:calc(var(--i) * 0.07s + 1.6s);
}
@keyframes letterDrop{
  to{opacity:1;transform:translateY(0) rotate(0deg);}
}

.motion-tagline{
  margin-top:12px;
  font-family:'Inter',sans-serif;
  font-size:14px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(var(--primary-rgb),0.7);
  opacity:0;
  animation:taglineIn 0.8s ease-out 2.4s forwards;
}
@keyframes taglineIn{
  from{opacity:0;letter-spacing:0.4em;}
  to{opacity:1;letter-spacing:0.18em;}
}

/* === RESPONSIVE LOADER === */
@media (max-width:600px){
  .motion-horse{width:260px;}
  .motion-logo{font-size:36px;}
  .motion-tagline{font-size:12px;}
  .motion-sun{width:240px;height:240px;}
}

/* ============ HERO REVEAL CASCADE ============ */
.hero-image{opacity:0;}
body.cine-done .hero-image{
  opacity:1;
  animation:heroImageIn 1.4s cubic-bezier(0.16,1,0.3,1) forwards,slowZoom 20s ease-in-out 1.4s infinite alternate;
}
@keyframes heroImageIn{
  0%{opacity:0;transform:scale(1.2);filter:brightness(0.5);}
  100%{opacity:1;transform:scale(1);filter:brightness(1);}
}
body.cine-done .hero-search{
  animation:heroEltIn 1s cubic-bezier(0.34,1.56,0.64,1) .3s backwards;
}
body.cine-done .hero-stats{
  animation:heroEltIn 1s cubic-bezier(0.16,1,0.3,1) .55s backwards;
}
body.cine-done .nav{
  animation:heroEltIn .8s cubic-bezier(0.16,1,0.3,1) .15s backwards;
}
body.cine-done .hero-scroll-indicator{
  animation:heroEltIn .8s ease-out .85s backwards;
}
@keyframes heroEltIn{
  0%{opacity:0;transform:translateY(40px);}
  100%{opacity:1;transform:translateY(0);}
}

body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--slate-800);
  background:linear-gradient(135deg,var(--slate-50) 0%,#fff 50%,var(--primary-50) 100%);
  line-height:1.6;
  overflow-x:hidden;
}
::selection{background:var(--primary);color:white;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
a{color:inherit;text-decoration:none;}

.container{max-width:1280px;margin:0 auto;padding:0 24px;}

/* ============ MOBILE MENU ============ */
.mobile-menu{
  position:fixed;inset:0;z-index:150;
  pointer-events:none;
  visibility:hidden;
  transition:visibility 0s linear .5s;
}
.mobile-menu.open{
  pointer-events:auto;
  visibility:visible;
  transition:visibility 0s linear 0s;
}
.mobile-menu-backdrop{
  position:absolute;inset:0;
  background:rgba(15,23,42,0);
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  transition:background-color .5s var(--ease-out),backdrop-filter .5s var(--ease-out),-webkit-backdrop-filter .5s var(--ease-out);
}
.mobile-menu.open .mobile-menu-backdrop{
  background:rgba(15,23,42,0.45);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.mobile-menu-panel{
  position:absolute;
  top:0;right:0;bottom:0;
  width:88%;max-width:380px;
  background:linear-gradient(180deg,#fff 0%,#f0fdf4 100%);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .55s cubic-bezier(0.32,0.72,0,1);
  box-shadow:-30px 0 80px rgba(0,0,0,0.25);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.mobile-menu.open .mobile-menu-panel{transform:translateX(0);}

.mobile-menu-head{
  padding:20px 24px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(var(--primary-rgb),0.12);
  background:white;
  position:sticky;top:0;
  z-index:5;
}
.mobile-menu-logo{
  display:flex;align-items:center;gap:10px;
  font-family:'Inter',sans-serif;
  font-size:20px;font-weight:800;
  letter-spacing:-0.02em;
  background:linear-gradient(135deg,var(--primary-dark),var(--blue-600));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.mobile-menu-logo-mark{
  width:38px;height:38px;
  background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(var(--primary-rgb),0.35);
  flex-shrink:0;
}
.mobile-menu-logo-mark svg{width:24px;height:24px;}

.mobile-menu-close{
  width:44px;height:44px;
  background:linear-gradient(135deg,var(--slate-100),var(--slate-200));
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  cursor:pointer;
  transition:all .35s var(--ease-spring);
  flex-shrink:0;
}
.mobile-menu-close span{
  position:absolute;
  top:50%;left:50%;
  width:18px;height:2.5px;
  background:var(--slate-700);
  border-radius:2px;
  transform-origin:center;
  transition:background .3s;
}
.mobile-menu-close span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
.mobile-menu-close span:nth-child(2){transform:translate(-50%,-50%) rotate(-45deg);}
.mobile-menu-close:hover{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  transform:rotate(180deg) scale(1.1);
  box-shadow:0 10px 24px rgba(var(--primary-rgb),0.4);
}
.mobile-menu-close:hover span{background:white;}
.mobile-menu-close:active{transform:rotate(180deg) scale(0.95);}

.mobile-menu-nav{
  flex:1;
  padding:16px 16px 8px;
  display:flex;flex-direction:column;gap:4px;
}
.mobile-menu-link{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;
  border-radius:16px;
  color:var(--slate-800);
  transition:all .35s var(--ease);
  position:relative;
  background:transparent;
  opacity:0;
  transform:translateX(40px);
}
.mobile-menu.open .mobile-menu-link{
  animation:menuLinkIn .55s cubic-bezier(0.34,1.56,0.64,1) forwards;
}
.mobile-menu.open .mobile-menu-link[data-i="0"]{animation-delay:.18s;}
.mobile-menu.open .mobile-menu-link[data-i="1"]{animation-delay:.24s;}
.mobile-menu.open .mobile-menu-link[data-i="2"]{animation-delay:.3s;}
.mobile-menu.open .mobile-menu-link[data-i="3"]{animation-delay:.36s;}
.mobile-menu.open .mobile-menu-link[data-i="4"]{animation-delay:.42s;}
.mobile-menu.open .mobile-menu-link[data-i="5"]{animation-delay:.48s;}
@keyframes menuLinkIn{
  to{opacity:1;transform:translateX(0);}
}
.mobile-menu-link::before{
  content:'';
  position:absolute;
  left:0;top:50%;
  width:3px;height:0;
  background:linear-gradient(180deg,var(--primary-light),var(--primary-dark));
  border-radius:0 4px 4px 0;
  transform:translateY(-50%);
  transition:height .35s var(--ease-spring);
}
.mobile-menu-link:hover,
.mobile-menu-link:active{
  background:linear-gradient(135deg,rgba(var(--primary-rgb),0.08),rgba(59,130,246,0.05));
  transform:translateX(4px);
}
.mobile-menu-link:hover::before{height:60%;}
.mobile-menu-link:hover .mobile-menu-link-icon{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  transform:rotate(-8deg) scale(1.1);
}
.mobile-menu-link:hover .mobile-menu-link-arrow{
  color:var(--primary-dark);
  transform:translateX(4px);
}
.mobile-menu-link-icon{
  width:44px;height:44px;
  background:white;
  border:1px solid rgba(var(--primary-rgb),0.15);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:var(--primary-dark);
  flex-shrink:0;
  transition:all .35s var(--ease-spring);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.mobile-menu-link-icon svg{
  width:22px;height:22px;
  display:block;
}
.mobile-menu-link-text{
  flex:1;display:flex;flex-direction:column;
  min-width:0;
}
.mobile-menu-link-title{
  font-size:15px;font-weight:600;
  color:var(--slate-800);
  letter-spacing:-0.01em;
}
.mobile-menu-link-sub{
  font-size:12px;
  color:var(--slate-500);
  margin-top:2px;
}
.mobile-menu-link-arrow{
  width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;
  color:var(--slate-400);
  transition:all .3s ease;
  flex-shrink:0;
}
.mobile-menu-link-arrow svg{
  width:18px;height:18px;
  display:block;
}

.mobile-menu-foot{
  padding:16px 24px 12px;
  display:flex;flex-direction:column;gap:10px;
  border-top:1px solid rgba(var(--primary-rgb),0.12);
  background:white;
  opacity:0;
  transform:translateY(20px);
}
.mobile-menu.open .mobile-menu-foot{
  animation:menuFootIn .55s cubic-bezier(0.34,1.56,0.64,1) .55s forwards;
}
@keyframes menuFootIn{
  to{opacity:1;transform:translateY(0);}
}
.mobile-menu-btn-ghost{
  padding:14px 20px;
  border:2px solid var(--slate-200);
  border-radius:14px;
  font-size:15px;font-weight:600;
  color:var(--slate-700);
  background:white;
  transition:all .3s ease;
}
.mobile-menu-btn-ghost:hover{
  border-color:var(--primary);
  color:var(--primary-dark);
}
.mobile-menu-btn-primary{
  padding:14px 20px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  border-radius:14px;
  font-size:15px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 6px 18px rgba(var(--primary-rgb),0.35);
  transition:all .3s ease;
}
.mobile-menu-btn-primary:hover{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(var(--primary-rgb),0.45);
}
.mobile-menu-btn-primary i{font-size:16px;}

.mobile-menu-tag{
  text-align:center;
  padding:12px 20px 24px;
  font-size:13px;
  color:var(--primary-dark);
  font-weight:500;
  font-style:italic;
}

/* ============ NAVBAR ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:all .5s ease;
  background:transparent;
}
.nav.scrolled{
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  box-shadow:0 4px 20px rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(var(--primary-rgb),0.15);
}
.nav-inner{
  max-width:1280px;margin:0 auto;
  padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo-wrap{display:flex;align-items:center;gap:12px;}
.logo-mark{
  width:44px;height:44px;
  background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-dark) 100%);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:white;font-size:20px;
  box-shadow:var(--shadow-primary);
  position:relative;
  animation:float 3s ease-in-out infinite;
}
.logo-mark::after{
  content:'';
  position:absolute;
  top:-3px;right:-3px;
  width:12px;height:12px;
  background:var(--yellow-400);
  border-radius:50%;
  animation:pulse 2s infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(250,204,21,0.5);}
  50%{box-shadow:0 0 0 6px rgba(250,204,21,0);}
}
.logo-text h1{
  font-size:24px;font-weight:800;
  letter-spacing:-0.02em;
  transition:all .5s ease;
}
.nav.scrolled .logo-text h1{
  background:linear-gradient(to right,var(--primary-dark),var(--blue-600));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.nav:not(.scrolled) .logo-text h1{color:white;}
.logo-text p{
  font-size:11px;font-weight:500;
  letter-spacing:0.02em;
  margin-top:-2px;
  transition:color .5s ease;
}
.nav:not(.scrolled) .logo-text p{color:rgba(255,255,255,0.9);}
.nav.scrolled .logo-text p{color:var(--primary-dark);}

.nav-links{display:flex;align-items:center;gap:8px;}
.nav-link{
  position:relative;
  padding:10px 16px;
  font-size:14px;font-weight:500;
  border-radius:10px;
  transition:all .3s ease;
  display:flex;align-items:center;gap:8px;
}
.nav:not(.scrolled) .nav-link{color:white;}
.nav.scrolled .nav-link{color:var(--slate-700);}
.nav-link:hover{
  background:rgba(255,255,255,0.1);
  color:var(--primary-light);
}
.nav.scrolled .nav-link:hover{background:var(--primary-50);color:var(--primary-dark);}
.nav-link i{font-size:14px;}
.nav-link::after{
  content:'';
  position:absolute;
  bottom:4px;left:50%;
  width:0;height:2px;
  background:var(--primary-light);
  transition:all .3s ease;
  transform:translateX(-50%);
}
.nav-link:hover::after{width:60%;}

.nav-cta{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  padding:12px 24px;
  border-radius:999px;
  font-size:14px;font-weight:600;
  display:flex;align-items:center;gap:8px;
  transition:all .3s ease;
  box-shadow:var(--shadow-md);
}
.nav-cta:hover{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(var(--primary-rgb),0.4);
}

.nav-mobile-btn{
  display:none;
  width:52px;height:52px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border:none;
  border-radius:16px;
  color:white;
  align-items:center;justify-content:center;
  transition:all .3s ease;
  box-shadow:0 8px 20px rgba(var(--primary-rgb),0.4),0 0 0 3px rgba(255,255,255,0.95);
  position:relative;
  cursor:pointer;
}
.nav-mobile-btn i{display:none;}
.nav-mobile-btn::before,
.nav-mobile-btn::after,
.nav-mobile-btn span{
  position:absolute;
  left:50%;transform:translateX(-50%);
  width:22px;height:2.5px;
  background:white;
  border-radius:2px;
  transition:all .3s ease;
}
.nav-mobile-btn::before{content:'';top:18px;}
.nav-mobile-btn span{
  display:block;
  top:50%;margin-top:-1.25px;
  transform:translate(-50%,0);
}
.nav-mobile-btn::after{content:'';bottom:18px;}
.nav-mobile-btn:hover{
  transform:scale(1.05);
  box-shadow:0 12px 28px rgba(var(--primary-rgb),0.5),0 0 0 3px rgba(255,255,255,1);
}
.nav.scrolled .nav-mobile-btn{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  box-shadow:0 6px 18px rgba(var(--primary-rgb),0.4);
}

/* ============ HERO ============ */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-image{
  position:absolute;top:0;left:0;
  width:100%;height:100%;
  background-image:url('https://images.unsplash.com/photo-1553284965-83fd3e82fa5a?ixlib=rb-4.0.3&auto=format&fit=crop&w=2400&q=85');
  background-size:cover;
  background-position:center;
  z-index:0;
  animation:slowZoom 20s ease-in-out infinite alternate;
}
@keyframes slowZoom{
  from{transform:scale(1);}
  to{transform:scale(1.08);}
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.25) 0%,rgba(0,0,0,0.15) 50%,rgba(0,0,0,0.45) 100%);
  z-index:1;
}
.hero-overlay-2{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(6,78,59,0.25) 0%,rgba(15,23,42,0.2) 100%);
  z-index:2;
}

.hero-blobs{position:absolute;inset:0;z-index:3;pointer-events:none;}
.hero-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(40px);
  animation:float 6s ease-in-out infinite;
}
.hero-blob-1{
  top:15%;left:8%;
  width:80px;height:80px;
  background:rgba(var(--primary-rgb),0.25);
}
.hero-blob-2{
  top:25%;right:12%;
  width:120px;height:120px;
  background:rgba(59,130,246,0.2);
  animation-delay:1s;
}
.hero-blob-3{
  bottom:25%;left:15%;
  width:100px;height:100px;
  background:rgba(168,85,247,0.2);
  animation-delay:2s;
}

.hero-content{
  position:relative;z-index:10;
  text-align:center;
  padding:0 24px;
  max-width:900px;
  margin:0 auto;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:999px;
  color:white;
  font-size:13px;font-weight:500;
  margin-bottom:32px;
  opacity:0;
  animation:fadeInDown .8s var(--ease-out) .3s forwards;
}
.hero-badge-dot{
  width:8px;height:8px;
  background:var(--primary-light);
  border-radius:50%;
  animation:pulse 2s infinite;
  box-shadow:0 0 0 0 rgba(var(--primary-rgb),0.5);
}

.hero-title{
  font-size:clamp(40px,7vw,84px);
  font-weight:800;
  color:white;
  line-height:1.05;
  letter-spacing:-0.03em;
  margin-bottom:24px;
  text-shadow:0 4px 20px rgba(0,0,0,0.3);
  opacity:0;
  animation:fadeInUp 1s var(--ease-out) .5s forwards;
}
.hero-title-gradient{
  background:linear-gradient(135deg,var(--primary-light) 0%,#60a5fa 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
}

.hero-subtitle{
  font-size:clamp(16px,2vw,22px);
  color:rgba(255,255,255,0.95);
  font-weight:300;
  max-width:680px;
  margin:0 auto 48px;
  line-height:1.6;
  text-shadow:0 2px 12px rgba(0,0,0,0.4);
  opacity:0;
  animation:fadeInUp 1s var(--ease-out) .7s forwards;
}

.hero-search{
  max-width:680px;margin:0 auto 48px;
  background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);
  border:2px solid rgba(var(--primary-rgb),0.3);
  border-radius:24px;
  padding:20px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  cursor:pointer;
  transition:all .4s var(--ease);
  box-shadow:0 20px 50px rgba(0,0,0,0.2);
}
.hero-search:hover{
  background:linear-gradient(135deg,var(--primary-50) 0%,var(--primary-100) 100%);
  border-color:rgba(var(--primary-rgb),0.5);
  transform:translateY(-3px);
  box-shadow:0 25px 60px rgba(var(--primary-rgb),0.25);
}
.hero-search-left{display:flex;align-items:center;gap:16px;flex:1;}
.hero-search-icon{
  width:52px;height:52px;
  background:var(--primary);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:white;font-size:20px;
  box-shadow:var(--shadow-md);
  flex-shrink:0;
  transition:transform .4s var(--ease-spring);
}
.hero-search-icon svg,
.hero-search-arrow svg{
  width:22px;height:22px;
  display:block;
}
.hero-search:hover .hero-search-icon{transform:rotate(-5deg) scale(1.05);}
.hero-search-text{text-align:left;}
.hero-search-text-main{
  font-size:17px;font-weight:600;
  color:var(--slate-800);
  margin-bottom:2px;
}
.hero-search-text-sub{
  font-size:13px;color:var(--slate-500);
}
.hero-search-arrow{
  width:52px;height:52px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  color:white;font-size:18px;
  box-shadow:var(--shadow-md);
  flex-shrink:0;
  transition:all .3s ease;
}
.hero-search:hover .hero-search-arrow{
  transform:translateX(4px);
  box-shadow:0 12px 28px rgba(var(--primary-rgb),0.4);
}

.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  max-width:520px;margin:0 auto;
}
.hero-stat{text-align:center;}
.hero-stat-num{
  font-size:clamp(28px,4vw,42px);
  font-weight:800;
  color:white;
  text-shadow:0 4px 16px rgba(0,0,0,0.3);
  line-height:1;
  letter-spacing:-0.02em;
}
.hero-stat-label{
  font-size:13px;
  color:var(--primary-300);
  font-weight:500;
  margin-top:6px;
}

.hero-scroll-indicator{
  position:absolute;
  bottom:30px;left:50%;
  transform:translateX(-50%);
  z-index:10;
  color:white;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:12px;letter-spacing:0.1em;
  text-transform:uppercase;
  opacity:0;
  animation:fadeIn 1s ease 1.5s forwards;
}
.hero-scroll-mouse{
  width:24px;height:38px;
  border:2px solid rgba(255,255,255,0.6);
  border-radius:14px;
  position:relative;
}
.hero-scroll-mouse::after{
  content:'';
  position:absolute;
  top:8px;left:50%;
  transform:translateX(-50%);
  width:3px;height:8px;
  background:white;
  border-radius:2px;
  animation:scrollDown 2s infinite;
}
@keyframes scrollDown{
  0%{transform:translate(-50%,0);opacity:1;}
  100%{transform:translate(-50%,12px);opacity:0;}
}

@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}

/* ============ SECTIONS ============ */
section.content{padding:80px 0;}
.section-head{text-align:center;margin-bottom:64px;}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;
  color:var(--primary-dark);
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:16px;
}
.section-eyebrow::before,
.section-eyebrow::after{
  content:'';width:24px;height:1px;
  background:var(--primary);
}
.section-title{
  font-size:clamp(32px,5vw,52px);
  font-weight:800;
  color:var(--slate-800);
  line-height:1.1;
  letter-spacing:-0.02em;
  margin-bottom:16px;
}
.section-title .accent{color:var(--primary-dark);}
.section-lead{
  font-size:clamp(15px,1.5vw,18px);
  color:var(--slate-600);
  max-width:620px;margin:0 auto;
}

/* ============ REVEAL ANIMATIONS ============ */
.reveal{
  opacity:0;transform:translateY(40px);
  transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);
}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-stagger > *{
  opacity:0;transform:translateY(30px);
  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);
}
.reveal-stagger.in > *{opacity:1;transform:translateY(0);}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.15s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.25s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.35s;}
.reveal-stagger.in > *:nth-child(5){transition-delay:.45s;}
.reveal-stagger.in > *:nth-child(6){transition-delay:.55s;}

/* ============ PROPERTIES ============ */
.props{background:white;}
.props-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.prop-card{
  background:white;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  transition:all .5s var(--ease-spring);
  cursor:pointer;
}
.prop-card:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 30px 60px rgba(0,0,0,0.18);
}
.prop-image{
  position:relative;
  height:280px;
  overflow:hidden;
}
.prop-image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .8s var(--ease);
}
.prop-card:hover .prop-image img{transform:scale(1.1);}
.prop-badge{
  position:absolute;
  top:16px;left:16px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  font-size:11px;font-weight:700;
  letter-spacing:0.06em;
  padding:6px 14px;
  border-radius:999px;
  box-shadow:0 4px 15px rgba(var(--primary-rgb),0.4);
}
.prop-rating{
  position:absolute;
  top:16px;right:16px;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(8px);
  padding:6px 12px;
  border-radius:999px;
  display:flex;align-items:center;gap:5px;
  font-size:13px;font-weight:700;
  color:var(--slate-800);
}
.prop-rating i{color:var(--yellow-400);font-size:14px;}
.prop-overlay{
  position:absolute;
  bottom:16px;left:16px;right:16px;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(8px);
  padding:14px 16px;
  border-radius:14px;
}
.prop-overlay h4{
  font-size:16px;font-weight:700;
  color:var(--slate-800);
  margin-bottom:4px;
}
.prop-overlay p{
  font-size:13px;color:var(--slate-500);
}
.prop-body{padding:24px;}
.prop-tags{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:20px;
}
.prop-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;
  border-radius:999px;
  font-size:12px;font-weight:500;
}
.prop-tag.green{background:var(--primary-100);color:var(--primary-darker);}
.prop-tag.blue{background:#dbeafe;color:#1d4ed8;}
.prop-tag.purple{background:#f3e8ff;color:#7c3aed;}
.prop-tag.orange{background:#ffedd5;color:#c2410c;}
.prop-tag.red{background:#fee2e2;color:#b91c1c;}
.prop-tag.yellow{background:#fef9c3;color:#a16207;}
.prop-footer{
  display:flex;align-items:center;justify-content:space-between;
}
.prop-price{display:flex;align-items:baseline;gap:6px;}
.prop-price-num{
  font-size:28px;font-weight:800;
  color:var(--slate-800);
  letter-spacing:-0.02em;
}
.prop-price-unit{
  font-size:13px;color:var(--slate-500);
}
.prop-btn{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  padding:10px 20px;
  border-radius:12px;
  font-size:14px;font-weight:600;
  display:flex;align-items:center;gap:6px;
  box-shadow:var(--shadow-md);
  transition:all .3s ease;
}
.prop-btn:hover{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(var(--primary-rgb),0.4);
}

/* ============ FEATURE ITINERAIRE ============ */
.feature-section{
  background:linear-gradient(135deg,var(--slate-900) 0%,var(--primary-900) 100%);
  color:white;
  position:relative;
  overflow:hidden;
}
.feature-section::before{
  content:'';
  position:absolute;
  top:-100px;right:-100px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(var(--primary-rgb),0.15),transparent 70%);
  border-radius:50%;
}
.feature-section::after{
  content:'';
  position:absolute;
  bottom:-150px;left:-100px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(59,130,246,0.1),transparent 70%);
  border-radius:50%;
}
.feature-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:64px;align-items:center;
  position:relative;z-index:2;
}
.feature-content .section-eyebrow{color:var(--primary-light);justify-content:flex-start;}
.feature-content .section-eyebrow::after{display:none;}
.feature-content .section-title{color:white;text-align:left;}
.feature-content .section-lead{color:rgba(255,255,255,0.8);text-align:left;margin:0 0 32px 0;}

.feature-list{display:flex;flex-direction:column;gap:20px;margin-top:32px;}
.feature-item{
  display:flex;gap:18px;align-items:flex-start;
  padding:20px 24px;
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:16px;
  transition:all .4s ease;
}
.feature-item:hover{
  background:rgba(255,255,255,0.08);
  transform:translateX(8px);
  border-color:rgba(var(--primary-rgb),0.3);
}
.feature-item-icon{
  width:44px;height:44px;
  background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  font-size:18px;color:white;
  box-shadow:var(--shadow-primary);
}
.feature-item-text h4{
  font-size:17px;font-weight:700;
  margin-bottom:4px;
}
.feature-item-text p{
  font-size:14px;
  color:rgba(255,255,255,0.7);
  line-height:1.55;
}

.feature-map{
  aspect-ratio:1;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:24px;
  position:relative;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,0.4);
}
.feature-map svg{width:100%;height:100%;}
.feature-map-tag{
  position:absolute;
  top:20px;left:20px;
  display:flex;align-items:center;gap:8px;
  font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;font-weight:600;
  color:rgba(255,255,255,0.7);
}
.feature-map-tag-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--primary-light);
  animation:pulse 2s infinite;
}
.feature-stop-label{
  position:absolute;
  background:rgba(255,255,255,0.95);
  color:var(--slate-800);
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;font-weight:600;
  white-space:nowrap;
  box-shadow:0 4px 16px rgba(0,0,0,0.3);
  opacity:0;
  transition:opacity .5s ease;
}
.feature-map.in .feature-stop-label{opacity:1;}
.feature-stop-1{top:25%;left:48%;transition-delay:1.2s;}
.feature-stop-2{top:48%;left:55%;transition-delay:1.6s;}
.feature-stop-3{top:70%;left:50%;transition-delay:2s;}
.feature-stop-label::before{
  content:'';position:absolute;
  width:8px;height:8px;border-radius:50%;
  background:var(--primary);
  top:50%;left:-14px;
  transform:translateY(-50%);
  box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.3);
}
.feature-map-info{
  position:absolute;
  bottom:20px;left:20px;right:20px;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(10px);
  border-radius:14px;
  padding:14px 18px;
  display:flex;justify-content:space-between;align-items:center;
  opacity:0;
  transition:opacity .6s ease;transition-delay:2.4s;
}
.feature-map.in .feature-map-info{opacity:1;}
.feature-map-info-block{display:flex;flex-direction:column;}
.feature-map-info-label{
  font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--slate-500);font-weight:600;
}
.feature-map-info-value{
  font-size:15px;font-weight:700;
  color:var(--slate-800);
}

/* ============ AVANT APRES ============ */
.contrast{background:white;}
.contrast-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin-top:48px;
}
.contrast-card{
  padding:48px 40px;
  border-radius:24px;
  min-height:480px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
}
.contrast-before{
  background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);
  color:var(--slate-700);
}
.contrast-after{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-darker) 100%);
  color:white;
  box-shadow:var(--shadow-primary);
}
.contrast-tag{
  display:inline-flex;
  font-size:11px;font-weight:700;
  letter-spacing:0.12em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;
  margin-bottom:24px;
  width:fit-content;
}
.contrast-before .contrast-tag{background:rgba(0,0,0,0.06);color:var(--slate-600);}
.contrast-after .contrast-tag{background:rgba(255,255,255,0.2);color:white;}
.contrast-h{
  font-size:28px;font-weight:800;
  letter-spacing:-0.02em;
  margin-bottom:32px;
  line-height:1.2;
}
.contrast-list{list-style:none;flex:1;}
.contrast-list li{
  padding:14px 0;
  display:flex;gap:14px;align-items:flex-start;
  font-size:15px;
  border-bottom:1px solid;
  border-color:rgba(0,0,0,0.06);
}
.contrast-after .contrast-list li{border-color:rgba(255,255,255,0.15);}
.contrast-list li:last-child{border:none;}
.contrast-icon{
  width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;flex-shrink:0;font-size:13px;
}
.contrast-before .contrast-icon{background:#fee2e2;color:var(--red-500);}
.contrast-after .contrast-icon{background:rgba(255,255,255,0.25);color:white;}

/* ============ ZERO COMMISSION ============ */
.zero{
  background:linear-gradient(135deg,var(--primary-50) 0%,#fff 100%);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.zero-big{
  font-size:clamp(140px,22vw,280px);
  font-weight:900;
  line-height:0.9;
  letter-spacing:-0.05em;
  background:linear-gradient(135deg,var(--primary-light) 0%,var(--blue-500) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:16px;
}
.zero-h{
  font-size:clamp(28px,4vw,44px);
  font-weight:800;
  color:var(--slate-800);
  letter-spacing:-0.02em;
  margin-bottom:20px;
}
.zero-p{
  font-size:17px;color:var(--slate-600);
  max-width:600px;margin:0 auto 56px;
  line-height:1.6;
}
.zero-compare{
  display:flex;justify-content:center;gap:24px;
  flex-wrap:wrap;
}
.compare-card{
  background:white;
  padding:24px 32px;
  border-radius:18px;
  box-shadow:var(--shadow-md);
  min-width:140px;
  border:2px solid var(--slate-100);
  transition:all .4s var(--ease-spring);
}
.compare-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.compare-card.us{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  transform:scale(1.08);
  border-color:var(--primary-dark);
  box-shadow:0 20px 40px rgba(var(--primary-rgb),0.35);
}
.compare-card.us:hover{transform:scale(1.08) translateY(-4px);}
.compare-name{
  font-size:11px;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--slate-500);
  margin-bottom:10px;
}
.compare-card.us .compare-name{color:rgba(255,255,255,0.9);}
.compare-fee{
  font-size:42px;font-weight:800;
  color:var(--slate-800);
  letter-spacing:-0.02em;
  line-height:1;
}
.compare-card.us .compare-fee{color:white;}

/* ============ PROMISES ============ */
.promises{
  background:linear-gradient(135deg,var(--primary-50) 0%,#dbeafe 100%);
}
.promises-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.promise-card{
  background:white;
  border-radius:20px;
  padding:32px 24px;
  text-align:center;
  box-shadow:var(--shadow-md);
  transition:all .4s var(--ease-spring);
}
.promise-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
}
.promise-card:hover .promise-icon-wrap{transform:rotate(-8deg) scale(1.1);}
.promise-icon-wrap{
  width:72px;height:72px;
  border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  font-size:32px;color:white;
  transition:transform .5s var(--ease-spring);
  box-shadow:var(--shadow-md);
}
.promise-icon-wrap.green{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));}
.promise-icon-wrap.blue{background:linear-gradient(135deg,#60a5fa,#2563eb);}
.promise-icon-wrap.purple{background:linear-gradient(135deg,#c084fc,#9333ea);}
.promise-icon-wrap.orange{background:linear-gradient(135deg,#fb923c,#ea580c);}
.promise-h{
  font-size:18px;font-weight:700;
  color:var(--slate-800);
  margin-bottom:10px;
}
.promise-p{
  font-size:14px;color:var(--slate-600);
  line-height:1.55;
}

/* ============ ADVANTAGES ============ */
.advantages{background:white;}
.adv-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.adv-card{text-align:center;padding:0 16px;}
.adv-icon{
  width:96px;height:96px;
  border-radius:24px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 24px;
  font-size:42px;color:white;
  box-shadow:0 20px 50px rgba(0,0,0,0.15);
  transition:transform .4s var(--ease-spring);
}
.adv-card:hover .adv-icon{transform:scale(1.1) rotate(-5deg);}
.adv-icon.green{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));}
.adv-icon.blue{background:linear-gradient(135deg,#60a5fa,#2563eb);}
.adv-icon.purple{background:linear-gradient(135deg,#c084fc,#9333ea);}
.adv-h{
  font-size:24px;font-weight:800;
  color:var(--slate-800);
  margin-bottom:14px;
  letter-spacing:-0.01em;
}
.adv-p{
  font-size:15px;color:var(--slate-600);
  line-height:1.65;
}

/* ============ TESTIMONIAL ============ */
.testimonial{
  background:linear-gradient(135deg,#fff 0%,var(--primary-50) 100%);
}
.testimonial-card{
  background:white;
  max-width:920px;margin:0 auto;
  padding:64px;
  border-radius:32px;
  box-shadow:var(--shadow-lg);
  position:relative;
  border:1px solid var(--slate-100);
}
.testimonial-quote-mark{
  position:absolute;
  top:32px;left:48px;
  font-size:120px;font-weight:900;
  color:var(--primary-100);
  line-height:1;
  pointer-events:none;
}
.testimonial-route{
  display:flex;align-items:center;gap:16px;
  margin-bottom:32px;
  font-size:14px;font-weight:600;
  color:var(--primary-dark);
  position:relative;
}
.testimonial-route-line{
  flex:1;height:2px;
  background:repeating-linear-gradient(90deg,var(--primary-light) 0,var(--primary-light) 6px,transparent 6px,transparent 12px);
}
.testimonial-quote{
  font-size:clamp(20px,2.5vw,28px);
  color:var(--slate-800);
  font-weight:500;
  line-height:1.5;
  margin-bottom:32px;
  position:relative;
  letter-spacing:-0.01em;
}
.testimonial-quote .accent{color:var(--primary-dark);font-weight:700;}
.testimonial-author{
  display:flex;align-items:center;gap:16px;
  padding-top:24px;
  border-top:1px solid var(--slate-100);
}
.testimonial-avatar{
  width:56px;height:56px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));
  display:flex;align-items:center;justify-content:center;
  color:white;font-weight:700;font-size:22px;
  box-shadow:var(--shadow-md);
}
.testimonial-meta-name{
  font-weight:700;color:var(--slate-800);
  margin-bottom:2px;
}
.testimonial-meta-detail{
  font-size:13px;color:var(--slate-500);
}
.testimonial-stat{
  position:absolute;
  top:48px;right:48px;
  text-align:right;
}
.testimonial-stat-num{
  font-size:48px;font-weight:800;
  background:linear-gradient(135deg,var(--primary),var(--primary-darker));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  letter-spacing:-0.02em;
  line-height:1;
}
.testimonial-stat-label{
  font-size:11px;font-weight:600;
  color:var(--slate-500);
  text-transform:uppercase;letter-spacing:0.1em;
  margin-top:6px;
}

/* ============ FOUNDER ============ */
.founder{background:white;}
.founder-grid{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:64px;align-items:center;
}
.founder-portrait{
  aspect-ratio:0.82;
  background:linear-gradient(135deg,var(--primary-darker) 0%,var(--slate-800) 100%);
  border-radius:200px 200px 24px 24px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow-xl);
}
.founder-portrait::before{
  content:'S';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  font-weight:900;
  font-size:280px;
  color:rgba(255,255,255,0.08);
  line-height:1;
}
.founder-portrait::after{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(circle at 30% 30%,rgba(var(--primary-rgb),0.3) 0%,transparent 60%);
}
.founder-quote{
  font-size:clamp(22px,2.5vw,30px);
  font-weight:300;
  color:var(--slate-800);
  line-height:1.4;
  letter-spacing:-0.01em;
  margin-bottom:32px;
  position:relative;
  padding-left:40px;
}
.founder-quote::before{
  content:'"';
  position:absolute;
  top:-30px;left:-10px;
  font-size:120px;
  font-weight:900;
  color:var(--emerald-200);
  line-height:1;
}
.founder-name{
  font-size:13px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--primary-darker);
  margin-bottom:4px;
}
.founder-role{
  font-size:14px;
  color:var(--slate-500);
  margin-bottom:24px;
}

/* ============ DUAL CTA ============ */
.dual{background:linear-gradient(135deg,var(--slate-50) 0%,white 100%);}
.dual-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;
}
.dual-card{
  padding:64px 48px;
  border-radius:32px;
  position:relative;overflow:hidden;
  cursor:pointer;
  transition:transform .5s var(--ease-spring);
  min-height:420px;
  display:flex;flex-direction:column;justify-content:flex-end;
  color:white;
}
.dual-card:hover{transform:translateY(-8px);}
.dual-cavalier{
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-800) 100%);
}
.dual-pro{
  background:linear-gradient(135deg,var(--slate-800) 0%,var(--slate-900) 100%);
}
.dual-deco{
  position:absolute;
  top:-30px;right:-40px;
  font-size:200px;
  font-weight:900;
  opacity:0.1;
  line-height:1;
  letter-spacing:-0.05em;
  pointer-events:none;
  transition:transform .6s ease;
}
.dual-card:hover .dual-deco{transform:translate(-15px,15px);}
.dual-tag{
  font-size:12px;font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  opacity:0.7;
  margin-bottom:16px;
}
.dual-h{
  font-size:36px;font-weight:800;
  line-height:1.1;
  letter-spacing:-0.02em;
  margin-bottom:16px;
}
.dual-p{
  font-size:15px;
  opacity:0.85;
  line-height:1.6;
  margin-bottom:32px;
  max-width:400px;
}
.dual-link{
  display:inline-flex;align-items:center;gap:10px;
  font-size:15px;font-weight:600;
  transition:gap .3s ease;
}
.dual-card:hover .dual-link{gap:18px;}
.dual-link .arrow-circle{
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,0.2);
  border:1px solid rgba(255,255,255,0.3);
  display:flex;align-items:center;justify-content:center;
  transition:all .3s ease;
}
.dual-card:hover .arrow-circle{background:white;color:var(--slate-800);}

/* ============ FOOTER ============ */
footer{
  background:var(--slate-900);
  color:white;
  padding:80px 0 32px;
}
.footer-top{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:64px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.footer-cols{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.footer-brand{
  font-size:32px;font-weight:800;
  background:linear-gradient(135deg,var(--primary-light),#60a5fa);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:16px;
  letter-spacing:-0.02em;
}
.footer-tag{
  font-size:16px;
  color:var(--primary-300);
  margin-bottom:24px;
  font-weight:500;
}
.footer-desc{
  font-size:14px;
  color:rgba(255,255,255,0.6);
  line-height:1.7;
  max-width:300px;
}
.footer-col h5{
  font-size:11px;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--primary-300);
  margin-bottom:18px;
}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:10px;}
.footer-col a{
  font-size:14px;
  color:rgba(255,255,255,0.7);
  transition:color .3s ease;
}
.footer-col a:hover{color:var(--primary-light);}
.footer-bottom{
  padding-top:32px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:16px;
  font-size:13px;
  color:rgba(255,255,255,0.4);
}
.footer-sig{
  color:var(--primary-light);
  font-weight:500;
}

/* ============ MODAL SEARCH ============ */
.eqm-modal{
  position:fixed;inset:0;z-index:200;
  background:rgba(255,255,255,0);
  backdrop-filter:blur(0px) saturate(1);
  -webkit-backdrop-filter:blur(0px) saturate(1);
  visibility:hidden;
  align-items:center;justify-content:center;
  padding:20px;
  transition:background-color .5s var(--ease-out),backdrop-filter .5s var(--ease-out),-webkit-backdrop-filter .5s var(--ease-out),visibility 0s linear .5s;
  display:flex;
}
.eqm-modal.show{
  background:rgba(255,255,255,0.18);
  backdrop-filter:blur(3px) saturate(1.1);
  -webkit-backdrop-filter:blur(3px) saturate(1.1);
  visibility:visible;
  transition:background-color .5s var(--ease-out),backdrop-filter .5s var(--ease-out),-webkit-backdrop-filter .5s var(--ease-out);
}
.eqm-modal-content{
  background:#ffffff;
  border-radius:28px;
  width:100%;max-width:680px;
  max-height:92vh;
  overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 50px 120px rgba(0,0,0,0.4),0 0 0 1px rgba(0,0,0,0.04);
  position:relative;
  opacity:0;
  transform:translateY(60px) scale(0.92);
  transition:opacity .55s var(--ease-out),transform .65s cubic-bezier(0.34,1.56,0.64,1);
}
.eqm-modal.show .eqm-modal-content{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:.05s;
}

/* Cascade reveal du contenu interne */
.eqm-modal-content > *{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);
}
.eqm-modal.show .eqm-modal-content > *{
  opacity:1;
  transform:translateY(0);
}
.eqm-modal.show .eqm-modal-header{transition-delay:.25s;}
.eqm-modal.show .modal-tabs{transition-delay:.32s;}
.eqm-modal.show .eqm-modal-body{transition-delay:.4s;}

.eqm-modal-drag-handle{display:none;}

.eqm-modal-header{
  padding:18px 24px 16px;
  display:flex;justify-content:flex-end;align-items:center;
  background:transparent;
  z-index:5;
  flex-shrink:0;
}
.eqm-modal-close{
  width:52px;height:52px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:white;
  transition:all .45s cubic-bezier(0.34,1.56,0.64,1);
  flex-shrink:0;
  box-shadow:0 8px 24px rgba(var(--primary-rgb),0.4),0 0 0 0 rgba(var(--primary-rgb),0.5);
  position:relative;
  cursor:pointer;
  overflow:visible;
  animation:closeIdlePulse 3s ease-in-out infinite;
}
@keyframes closeIdlePulse{
  0%,100%{box-shadow:0 8px 24px rgba(var(--primary-rgb),0.4),0 0 0 0 rgba(var(--primary-rgb),0.4);}
  50%{box-shadow:0 8px 24px rgba(var(--primary-rgb),0.4),0 0 0 12px rgba(var(--primary-rgb),0);}
}
.eqm-modal-close i{display:none;}
.eqm-modal-close::before,
.eqm-modal-close::after{
  content:'';
  position:absolute;
  top:50%;left:50%;
  width:20px;height:3px;
  background:white;
  border-radius:3px;
  transform-origin:center;
  transition:all .4s cubic-bezier(0.34,1.56,0.64,1);
}
.eqm-modal-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.eqm-modal-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.eqm-modal-close:hover{
  background:linear-gradient(135deg,var(--primary-light),var(--primary-darker));
  transform:rotate(180deg) scale(1.15);
  box-shadow:0 16px 40px rgba(var(--primary-rgb),0.6),0 0 0 8px rgba(var(--primary-rgb),0.15);
  animation:none;
}
.eqm-modal-close:hover::before{
  transform:translate(-50%,-50%) rotate(135deg) scaleX(1.2);
  background:#fff9c4;
}
.eqm-modal-close:hover::after{
  transform:translate(-50%,-50%) rotate(45deg) scaleX(1.2);
  background:#fff9c4;
}
.eqm-modal-close:active{
  transform:rotate(180deg) scale(0.92);
  box-shadow:0 6px 18px rgba(var(--primary-rgb),0.5),0 0 0 4px rgba(var(--primary-rgb),0.2);
  transition-duration:.15s;
}

.modal-tabs{
  display:flex;gap:8px;
  padding:16px 24px 8px;
  flex-shrink:0;
}
.modal-tab{
  flex:1;
  padding:14px 20px;
  background:rgba(255,255,255,0.5);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:2px solid transparent;
  border-radius:14px;
  font-size:14px;font-weight:600;
  color:var(--primary-darker);
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:all .3s var(--ease);
  cursor:pointer;
}
.modal-tab:hover{
  background:rgba(255,255,255,0.85);
  transform:translateY(-1px);
}
.modal-tab.active{
  background:white;
  border-color:var(--primary);
  color:var(--primary-darker);
  box-shadow:0 6px 20px rgba(var(--primary-rgb),0.2);
}
.modal-tab i{font-size:16px;}

.eqm-modal-body{
  padding:24px 32px 32px;
  flex:1;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.eqm-modal.show .modal-form.active .modal-field{
  animation:fieldSlideIn .55s var(--ease-out) backwards;
}
.eqm-modal.show .modal-form.active .modal-field:nth-child(1){animation-delay:.45s;}
.eqm-modal.show .modal-form.active .modal-field:nth-child(2){animation-delay:.55s;}
.eqm-modal.show .modal-form.active .modal-field:nth-child(3){animation-delay:.65s;}
.eqm-modal.show .modal-form.active .modal-submit{animation:fieldSlideIn .55s var(--ease-out) .75s backwards;}
@keyframes fieldSlideIn{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}
.modal-form{display:none;}
.modal-form.active{display:block;animation:fadeIn .4s ease;}
.modal-field{
  margin-bottom:18px;
  position:relative;
}

/* ============ FLOATING LABEL FIELDS ============ */
.field-wrap{
  position:relative;
  border:1.5px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
}
.field-wrap:hover{
  border-color:var(--primary-100);
  transform:translateY(-1px);
}
.field-wrap.focused,
.field-wrap:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12),0 8px 20px rgba(var(--primary-rgb),0.15);
}

.field-icon{
  position:absolute;
  top:50%;left:18px;
  transform:translateY(-50%);
  width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;
  color:#9ca3af;
  pointer-events:none;
  transition:color .35s var(--ease),transform .4s var(--ease-spring);
  z-index:2;
}
.field-icon svg{width:20px;height:20px;}
.field-wrap:focus-within .field-icon,
.field-wrap.focused .field-icon,
.field-wrap.filled .field-icon{
  color:var(--primary-dark);
  transform:translateY(-50%) scale(1.1) rotate(-5deg);
}

/* Label intégré DANS le champ (pas en dépassement) */
.field-label{
  position:absolute;
  top:50%;left:50px;
  transform:translateY(-50%);
  font-size:15px;font-weight:500;
  color:#9ca3af;
  pointer-events:none;
  transition:all .35s var(--ease-spring);
  z-index:3;
}
.field-wrap:focus-within .field-label,
.field-wrap.focused .field-label,
.field-wrap.filled .field-label{
  top:14px;
  transform:translateY(0);
  left:50px;
  font-size:10.5px;
  font-weight:700;
  color:var(--primary-dark);
  letter-spacing:0.08em;
  text-transform:uppercase;
}

/* Le select doit toujours montrer sa valeur, donc label en haut en permanence */
.field-wrap.has-select .field-label{
  top:14px;
  transform:translateY(0);
  left:50px;
  font-size:10.5px;
  font-weight:700;
  color:#6b7280;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.field-wrap.has-select:focus-within .field-label,
.field-wrap.has-select.filled .field-label{
  color:var(--primary-dark);
}

.field-input,.field-select{
  width:100%;
  padding:24px 18px 12px 50px;
  border:none;
  background:transparent;
  font-size:15px;font-weight:500;
  font-family:inherit;
  color:var(--slate-800);
  outline:none;
  -webkit-appearance:none;appearance:none;
  position:relative;
  z-index:1;
}
.field-select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  padding:24px 44px 12px 50px;
}
/* Champs sans label flottant : padding centré */
.field-wrap.no-label .field-input,
.field-wrap.no-label .field-select,
.field-wrap.no-label .field-period{
  padding-top:18px;
  padding-bottom:18px;
}
.field-input::placeholder{color:transparent;}
.field-wrap:focus-within .field-input::placeholder{color:#cbd5e1;transition:color .3s ease .15s;}
/* Placeholder visible en permanence sur les champs sans label flottant */
.field-wrap.no-label .field-input::placeholder{color:#9ca3af;}
.field-wrap.no-label:focus-within .field-input::placeholder{color:#cbd5e1;}

/* ============ FIELD STEPPER WRAP ============ */
.field-stepper-wrap{
  border:1.5px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  position:relative;
  height:60px;
  display:flex;align-items:center;
  padding:0 8px 0 50px;
  transition:all .35s var(--ease);
}
.field-stepper-wrap:hover{
  border-color:var(--primary-100);
  transform:translateY(-1px);
}
.field-stepper-wrap:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12),0 8px 20px rgba(var(--primary-rgb),0.15);
}
.field-stepper-wrap .stepper{
  border:none;background:transparent;height:auto;
  flex:1;padding:0;box-shadow:none;
}
.field-stepper-wrap .stepper:hover,
.field-stepper-wrap .stepper:focus-within{
  border:none;background:transparent;transform:none;box-shadow:none;
}
.field-stepper-wrap .field-icon{
  left:14px;
}
.field-stepper-wrap:focus-within .field-icon,
.field-stepper-wrap.focused .field-icon{
  color:var(--primary-dark);
  transform:translateY(-50%) scale(1.1) rotate(-5deg);
}

/* ============ FIELD-PERIOD WRAP ============ */
.field-period{
  width:100%;text-align:left;
  padding:18px 18px 18px 50px;
  border:none;
  background:transparent;
  font-size:15px;font-weight:500;
  color:#9ca3af;
  cursor:pointer;
  position:relative;
  z-index:1;
}
.field-period.has-value{color:var(--slate-800);font-weight:600;}

/* ============ CUSTOM SELECT (type d'hébergement) ============ */
.field-select-wrap{
  border:1.5px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  position:relative;
  height:60px;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
}
.field-select-wrap.is-open{
  z-index:60;
}
.field-select-wrap:hover{
  border-color:var(--primary-100);
  transform:translateY(-1px);
}
.field-select-wrap.is-open,
.field-select-wrap:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12),0 8px 20px rgba(var(--primary-rgb),0.15);
}
.field-select-wrap.is-filled .field-icon{
  color:var(--primary-dark);
  transform:translateY(-50%) scale(1.1) rotate(-5deg);
}
.field-select-wrap:focus-within .field-icon,
.field-select-wrap.is-open .field-icon{
  color:var(--primary-dark);
  transform:translateY(-50%) scale(1.1) rotate(-5deg);
}

.field-custom-select{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 18px 0 50px;
  background:transparent;border:none;
  font-family:inherit;
  cursor:pointer;
  text-align:left;
  position:relative;z-index:1;
}
.field-custom-select-text{
  font-size:15px;font-weight:500;
  color:#9ca3af;
  transition:color .25s ease;
  display:flex;align-items:center;gap:8px;
}
.field-select-wrap.is-filled .field-custom-select-text{
  color:var(--slate-800);
  font-weight:600;
}
.field-custom-select-text .cs-selected-icon{
  width:20px;height:20px;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--primary-dark);
  margin-left:-2px;
}
.field-custom-select-text .cs-selected-icon svg{width:18px;height:18px;}
.field-custom-select-chevron{
  width:18px;height:18px;
  color:#9ca3af;
  display:flex;align-items:center;justify-content:center;
  transition:transform .35s var(--ease-spring),color .25s ease;
  flex-shrink:0;
}
.field-custom-select-chevron svg{width:16px;height:16px;}
.field-select-wrap.is-open .field-custom-select-chevron{
  transform:rotate(180deg);
  color:var(--primary-dark);
}

/* Dropdown panel */
.custom-select-panel{
  position:fixed;
  background:white;
  border-radius:18px;
  border:1px solid #e5e7eb;
  box-shadow:0 20px 50px rgba(0,0,0,0.18),0 0 0 1px rgba(0,0,0,0.02);
  padding:8px;
  z-index:300;
  opacity:0;
  transform:translateY(-8px) scale(0.97);
  transform-origin:top center;
  pointer-events:none;
  transition:opacity .25s ease,transform .35s var(--ease-spring);
  max-height:min(380px,60vh);
  overflow-y:auto;
}
.custom-select-panel.opens-up{
  transform:translateY(8px) scale(0.97);
  transform-origin:bottom center;
}
.field-select-wrap.is-open .custom-select-panel,
.custom-select-panel.cs-panel-detached.is-open{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.custom-select-option{
  display:flex;align-items:center;gap:14px;
  padding:12px 14px;
  border-radius:12px;
  cursor:pointer;
  transition:background .2s ease;
  position:relative;
}
.custom-select-option:hover{background:var(--slate-50);}
.custom-select-option.is-selected{
  background:linear-gradient(135deg,rgba(var(--primary-rgb),0.08),rgba(var(--primary-rgb),0.02));
}

.cs-opt-icon{
  width:40px;height:40px;border-radius:11px;
  background:var(--slate-50);color:var(--slate-700);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:all .25s var(--ease-spring);
}
.cs-opt-icon svg{width:20px;height:20px;}
.custom-select-option:hover .cs-opt-icon{
  background:var(--primary-50);
  color:var(--primary-darker);
  transform:scale(1.05) rotate(-3deg);
}
.custom-select-option.is-selected .cs-opt-icon{
  background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));
  color:white;
  box-shadow:0 6px 14px rgba(var(--primary-rgb),0.3);
}

.cs-opt-text{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:2px;
}
.cs-opt-name{
  font-size:14.5px;font-weight:600;
  color:var(--slate-900);
  letter-spacing:-0.01em;line-height:1.2;
}
.cs-opt-desc{
  font-size:12px;color:#94a3b8;
  font-weight:400;line-height:1.3;
}
.custom-select-option.is-selected .cs-opt-name{color:var(--primary-800);}
.custom-select-option.is-selected .cs-opt-desc{color:var(--primary-dark);}

.cs-opt-check{
  width:22px;height:22px;border-radius:50%;
  background:transparent;
  display:flex;align-items:center;justify-content:center;
  color:transparent;
  flex-shrink:0;
  transition:all .25s var(--ease-spring);
}
.cs-opt-check svg{width:13px;height:13px;}
.custom-select-option.is-selected .cs-opt-check{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  transform:scale(1.05);
  box-shadow:0 4px 10px rgba(var(--primary-rgb),0.35);
}

/* Mobile: dropdown takes full search-modal width */
@media (max-width:640px){
  .custom-select-panel{padding:6px;}
  .custom-select-option{padding:11px 12px;gap:12px;}
  .cs-opt-icon{width:38px;height:38px;}
  .cs-opt-desc{display:none;}
  .cs-opt-name{font-size:14px;}
}

/* ============ STEPPER PREMIUM ============ */
.stepper{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 14px;
  border:1.5px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
  height:62px;
  position:relative;
}
.stepper:hover{
  border-color:var(--primary-100);
  transform:translateY(-1px);
}
.stepper:focus-within,.stepper.focused{
  border-color:var(--primary);
  box-shadow:0 0 0 4px rgba(var(--primary-rgb),0.12),0 8px 20px rgba(var(--primary-rgb),0.15);
}

/* ============ FILTERS BUTTON PREMIUM ============ */
.filters-toggle-compact{
  display:flex;align-items:center;justify-content:center;
  gap:10px;
  padding:0 20px;
  height:60px;
  background:#fff;
  border:1.5px solid #e5e7eb;
  border-radius:16px;
  cursor:pointer;
  transition:all .35s var(--ease-spring);
  position:relative;
  flex-shrink:0;
  overflow:hidden;
}
.filters-toggle-compact::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--primary-50),#fff);
  opacity:0;
  transition:opacity .4s ease;
}
.filters-toggle-compact:hover{
  border-color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(var(--primary-rgb),0.15);
}
.filters-toggle-compact:hover::before{opacity:1;}
.filters-toggle-compact > *{position:relative;z-index:1;}
.filters-toggle-compact:hover .filters-toggle-icon-compact svg{
  color:var(--primary-dark);
  transform:rotate(-12deg) scale(1.15);
}

/* ============ MODAL TABS PREMIUM ============ */
.modal-tabs{
  display:flex;
  margin:0 24px 16px;
  background:#f3f4f6;
  border-radius:16px;
  padding:5px;
  position:relative;
  flex-shrink:0;
}
.modal-tabs::before{
  content:'';
  position:absolute;
  top:5px;bottom:5px;left:5px;
  width:calc(50% - 5px);
  background:#fff;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,0.08),0 0 0 1px rgba(var(--primary-rgb),0.15);
  transition:transform .5s cubic-bezier(0.34,1.4,0.5,1);
  z-index:0;
}
.modal-tabs[data-active="route"]::before{
  transform:translateX(100%);
}
.modal-tab{
  flex:1;
  padding:13px 18px;
  background:transparent;
  border:none;
  border-radius:12px;
  font-size:14px;font-weight:600;
  color:#6b7280;
  display:flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;
  transition:color .35s ease;
  position:relative;
  z-index:1;
}
.modal-tab.active{color:var(--primary-darker);}
.modal-tab i{
  font-size:16px;
  transition:transform .4s var(--ease-spring);
}
.modal-tab.active i{transform:rotate(-8deg) scale(1.1);}
.modal-tab svg{
  width:16px;height:16px;
  transition:transform .4s var(--ease-spring);
}
.modal-tab.active svg{transform:rotate(-8deg) scale(1.1);}

/* ============ FORM TRANSITION ============ */
.modal-form{
  display:none;
  animation:formSlideIn .5s var(--ease-out);
}
.modal-form.active{display:block;}
@keyframes formSlideIn{
  from{opacity:0;transform:translateX(20px);}
  to{opacity:1;transform:translateX(0);}
}

/* ============ ACCENT BAR (top of modal) ============ */
.modal-accent-bar{
  height:4px;
  background:linear-gradient(90deg,var(--primary-light),var(--primary),var(--primary-dark),var(--primary),var(--primary-light));
  background-size:200% 100%;
  animation:accentShine 4s linear infinite;
}
@keyframes accentShine{
  from{background-position:0% 0%;}
  to{background-position:200% 0%;}
}

.stepper{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 14px;
  border:2px solid rgba(var(--primary-rgb),0.15);
  border-radius:16px;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:all .35s var(--ease);
  height:60px;
  box-shadow:0 2px 8px rgba(0,0,0,0.03);
}
.stepper:focus-within,.stepper:hover{
  border-color:rgba(var(--primary-rgb),0.35);
  background:white;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(var(--primary-rgb),0.1);
}
.stepper-btn{
  width:44px;height:44px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:all .25s var(--ease-spring);
  box-shadow:0 4px 12px rgba(var(--primary-rgb),0.3);
  position:relative;
}
.stepper-btn::before,
.stepper-btn::after{
  content:'';
  position:absolute;
  background:white;
  border-radius:2px;
}
.stepper-btn::before{
  width:16px;height:2.5px;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.stepper-btn[data-action="inc"]::after{
  width:2.5px;height:16px;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.stepper-btn[data-action="dec"]::after{display:none;}
.stepper-btn i{display:none;}
.stepper-btn:hover:not(:disabled){
  transform:scale(1.1);
  box-shadow:0 8px 20px rgba(var(--primary-rgb),0.45);
}
.stepper-btn:active:not(:disabled){transform:scale(0.95);}
.stepper-btn:disabled{
  background:#e5e7eb;
  color:var(--slate-400);
  cursor:not-allowed;
  box-shadow:none;
  opacity:0.6;
}
.stepper-btn:disabled::before,
.stepper-btn:disabled::after{background:#94a3b8;}
.stepper-val{
  font-size:15px;font-weight:500;
  color:var(--slate-700);
  flex:1;text-align:center;
  transition:transform .2s;
}
.stepper-val.bump{transform:scale(1.15);}

.modal-submit{
  width:100%;
  padding:16px 24px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  border-radius:14px;
  font-size:16px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:8px;
  box-shadow:var(--shadow-md);
  transition:all .3s ease;
  position:relative;
  overflow:hidden;
}
.modal-submit::before{
  content:'';
  position:absolute;
  top:0;left:-100%;
  width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
  transition:left .8s ease;
}
.modal-submit:hover::before{left:100%;}
.modal-submit:hover{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(var(--primary-rgb),0.4);
}
.modal-submit:hover .submit-icon{transform:rotate(-8deg) scale(1.1);}
.modal-submit:hover .submit-sparkle{opacity:1;animation:sparkleRotate 1.2s linear infinite;}

.submit-icon{
  position:relative;
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  transition:transform .35s var(--ease-spring);
}
.submit-icon > svg:first-child{
  width:22px;height:22px;
  position:relative;
  z-index:2;
}
.submit-sparkle{
  position:absolute;
  top:-4px;right:-6px;
  width:10px;height:10px;
  color:#fef9c3;
  opacity:0.7;
  filter:drop-shadow(0 0 4px rgba(254,249,195,0.8));
  z-index:3;
  animation:sparklePulse 2s ease-in-out infinite;
}
@keyframes sparklePulse{
  0%,100%{transform:scale(1) rotate(0deg);opacity:0.7;}
  50%{transform:scale(1.3) rotate(45deg);opacity:1;}
}
@keyframes sparkleRotate{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

/* ============ FILTRES AVANCÉS ============ */
.modal-row-2{
  display:flex;
  gap:12px;
  margin-bottom:18px;
  align-items:flex-end;
}
.modal-row-2 > .modal-field{margin-bottom:0;}

.filters-toggle-compact{
  display:flex;align-items:center;justify-content:center;
  gap:10px;
  padding:0 18px;
  height:60px;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:2px solid rgba(var(--primary-rgb),0.15);
  border-radius:16px;
  cursor:pointer;
  transition:all .35s var(--ease-spring);
  position:relative;
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,0.03);
}
.filters-toggle-compact:hover{
  background:white;
  border-color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(var(--primary-rgb),0.18);
}
.filters-toggle-compact:hover .filters-toggle-icon-compact svg{
  color:var(--primary-dark);
  transform:rotate(-8deg) scale(1.08);
}
.filters-toggle-icon-compact{
  position:relative;
  width:26px;height:26px;
  display:flex;align-items:center;justify-content:center;
}
.filters-toggle-icon-compact svg{
  width:24px;height:24px;
  color:var(--slate-700);
  transition:all .35s var(--ease-spring);
}
.filters-toggle-label{
  font-size:14px;font-weight:600;
  color:var(--slate-700);
  letter-spacing:-0.01em;
  transition:color .25s ease;
}
.filters-toggle-compact:hover .filters-toggle-label{color:var(--primary-darker);}

.filters-count{
  position:absolute;
  top:-6px;right:-8px;
  min-width:20px;height:20px;
  padding:0 5px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
  border-radius:999px;
  font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(var(--primary-rgb),0.45);
  border:2px solid white;
  opacity:0;
  transform:scale(0);
  transition:opacity .3s ease,transform .35s var(--ease-spring);
}
.filters-toggle-compact.has-active .filters-count{
  opacity:1;
  transform:scale(1);
}

.filters-toggle-compact.open{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-color:var(--primary-dark);
  box-shadow:0 8px 20px rgba(var(--primary-rgb),0.35);
}
.filters-toggle-compact.open .filters-toggle-label,
.filters-toggle-compact.open .filters-toggle-icon-compact svg{
  color:white;
}
.filters-toggle-compact.open .filters-count{
  background:white;
  color:var(--primary-dark);
}

.filters-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .55s cubic-bezier(0.4,0,0.2,1),opacity .35s ease,margin .35s ease;
  opacity:0;
  margin-bottom:0;
}
.filters-panel.open{
  max-height:1500px;
  opacity:1;
  margin-bottom:16px;
}

.filter-group{
  margin-bottom:20px;
  opacity:0;
  transform:translateY(15px);
  transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);
}
.filters-panel.open .filter-group{
  opacity:1;
  transform:translateY(0);
}
.filters-panel.open .filter-group:nth-child(1){transition-delay:.05s;}
.filters-panel.open .filter-group:nth-child(2){transition-delay:.1s;}
.filters-panel.open .filter-group:nth-child(3){transition-delay:.15s;}
.filters-panel.open .filter-group:nth-child(4){transition-delay:.2s;}
.filters-panel.open .filter-group:nth-child(5){transition-delay:.25s;}
.filters-panel.open .filter-group:nth-child(6){transition-delay:.3s;}

.filter-group-label{
  font-size:13px;font-weight:600;
  color:var(--slate-700);
  margin-bottom:10px;
  letter-spacing:-0.01em;
}
.filter-chips{
  display:flex;flex-wrap:wrap;gap:8px;
}
.filter-chip{
  cursor:pointer;
  position:relative;
  user-select:none;
}
.filter-chip input{
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:0;height:0;
}
.filter-chip-content{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 16px;
  background:white;
  border:1.5px solid var(--slate-200);
  border-radius:999px;
  font-size:13px;font-weight:500;
  color:var(--slate-700);
  transition:all .25s var(--ease);
  white-space:nowrap;
}
.filter-chip-content i{
  font-size:15px;
  color:var(--slate-500);
  transition:color .25s ease;
}
.filter-chip:hover .filter-chip-content{
  border-color:var(--primary-light);
  color:var(--primary-darker);
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(var(--primary-rgb),0.12);
}
.filter-chip:hover .filter-chip-content i{color:var(--primary);}
.filter-chip input:checked + .filter-chip-content{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  border-color:var(--primary-dark);
  color:white;
  box-shadow:0 6px 16px rgba(var(--primary-rgb),0.35);
  transform:translateY(-1px);
  animation:chipPop .35s var(--ease-spring);
}
.filter-chip input:checked + .filter-chip-content i{color:white;}
@keyframes chipPop{
  0%{transform:translateY(-1px) scale(1);}
  40%{transform:translateY(-1px) scale(1.08);}
  100%{transform:translateY(-1px) scale(1);}
}
.filter-chip-label .filter-chip-content{
  background:linear-gradient(135deg,#fef3c7,#fde68a);
  border-color:#f59e0b;
  color:#92400e;
}
.filter-chip-label .filter-chip-content i{color:#b45309;}
.filter-chip-label:hover .filter-chip-content{
  background:linear-gradient(135deg,#fde68a,#fcd34d);
  border-color:#d97706;
}
.filter-chip-label input:checked + .filter-chip-content{
  background:linear-gradient(135deg,#f59e0b,#d97706);
  border-color:#b45309;
  color:white;
  box-shadow:0 6px 16px rgba(245,158,11,0.35);
}
.filter-chip-label input:checked + .filter-chip-content i{color:white;}

/* ============ CALENDAR MODAL ============ */
.cal-modal{
  position:fixed;inset:0;z-index:300;
  background:rgba(255,255,255,0.4);
  backdrop-filter:blur(10px) saturate(1.2);
  -webkit-backdrop-filter:blur(10px) saturate(1.2);
  display:none;
  align-items:center;justify-content:center;
  padding:20px;
  opacity:0;transition:opacity .35s ease;
}
.cal-modal.show{display:flex;opacity:1;}
.cal-box{
  background:white;
  border-radius:24px;
  width:100%;max-width:920px;
  max-height:92vh;
  overflow:hidden;
  display:flex;flex-direction:column;
  transform:scale(0.95);
  transition:transform .4s var(--ease-spring);
  box-shadow:var(--shadow-xl);
}
.cal-modal.show .cal-box{transform:scale(1);}
.cal-head{
  padding:24px 32px;
  display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid var(--slate-100);
}
.cal-head h3{
  font-size:22px;font-weight:800;
  color:var(--slate-800);
  letter-spacing:-0.02em;
}
.cal-head p{
  font-size:13px;color:var(--slate-500);
  margin-top:2px;
}
.cal-pills{
  display:flex;gap:12px;padding:16px 32px;
  background:var(--slate-50);
  border-bottom:1px solid var(--slate-100);
}
.cal-pill{
  flex:1;
  padding:12px 16px;
  background:white;
  border-radius:12px;
  border:2px solid transparent;
  transition:all .3s ease;
}
.cal-pill.active{border-color:var(--primary);box-shadow:0 4px 12px rgba(var(--primary-rgb),0.15);}
.cal-pill-label{
  font-size:11px;font-weight:600;
  color:var(--primary-dark);
  text-transform:uppercase;letter-spacing:0.1em;
  margin-bottom:4px;
}
.cal-pill-val{
  font-size:15px;font-weight:600;
  color:var(--slate-800);
}
.cal-pill-val.empty{color:var(--slate-400);font-weight:400;}
.cal-grids{
  flex:1;overflow-y:auto;
  padding:24px 32px;
  display:grid;grid-template-columns:1fr 1fr;
  gap:32px;
  position:relative;
}
.cal-nav{
  position:absolute;top:24px;
  width:36px;height:36px;
  border-radius:50%;
  background:white;border:1px solid var(--slate-200);
  display:flex;align-items:center;justify-content:center;
  color:var(--slate-700);
  z-index:5;
  transition:all .25s ease;
}
.cal-nav:hover{background:var(--primary);color:white;border-color:var(--primary);}
.cal-nav-prev{left:32px;}
.cal-nav-next{right:32px;}
.cal-month-title{
  text-align:center;
  font-size:16px;font-weight:700;
  color:var(--slate-800);
  margin-bottom:14px;
}
.cal-weekdays{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:4px;margin-bottom:6px;
}
.cal-wd{
  font-size:11px;font-weight:600;
  color:var(--slate-400);
  text-transform:uppercase;letter-spacing:0.08em;
  text-align:center;padding:6px 0;
}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-day{
  aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:var(--slate-700);font-weight:500;
  border-radius:10px;
  transition:all .15s ease;
  background:transparent;
}
.cal-day:hover:not(:disabled):not(.empty){
  background:var(--primary-50);
  transform:scale(1.08);
}
.cal-day:disabled{color:var(--slate-300);cursor:not-allowed;}
.cal-day.empty{cursor:default;}
.cal-day.today{
  box-shadow:inset 0 0 0 2px var(--primary);
  font-weight:700;
}
.cal-day.in-range{
  background:var(--primary-100);
  border-radius:0;
  color:var(--primary-800);
}
.cal-day.range-start,
.cal-day.range-end{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark)) !important;
  color:white !important;
  font-weight:700;
  border-radius:10px;z-index:2;
  box-shadow:0 6px 16px rgba(var(--primary-rgb),0.4);
}
.cal-day.range-start.has-range{
  border-top-right-radius:0;border-bottom-right-radius:0;
}
.cal-day.range-end.has-range{
  border-top-left-radius:0;border-bottom-left-radius:0;
}
.cal-foot{
  padding:18px 32px;
  border-top:1px solid var(--slate-100);
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;
  background:white;
}
.cal-info{
  font-size:13px;color:var(--slate-600);
}
.cal-info b{
  color:var(--primary-dark);font-weight:700;
}
.cal-actions{display:flex;gap:10px;}
.cal-btn{
  padding:10px 20px;
  border-radius:10px;
  font-size:14px;font-weight:600;
  transition:all .25s ease;
}
.cal-btn-ghost{
  background:var(--slate-100);color:var(--slate-700);
}
.cal-btn-ghost:hover{background:var(--slate-200);}
.cal-btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:white;
}
.cal-btn-primary:hover{
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));
  box-shadow:var(--shadow-md);
}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  section.content{padding:60px 0;}
  .nav-links{display:none;}
  .nav-mobile-btn{display:flex;}
  .nav-cta{display:none;}
  .props-grid,.feature-grid,.contrast-grid,.dual-grid,.founder-grid{grid-template-columns:1fr;gap:32px;}
  .promises-grid{grid-template-columns:repeat(2,1fr);}
  .adv-grid{grid-template-columns:1fr;gap:48px;}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-cols{grid-template-columns:1fr;gap:20px;}
  .testimonial-card{padding:48px 32px;}
  .testimonial-stat{position:static;margin-bottom:24px;text-align:left;}
  .testimonial-quote-mark{font-size:80px;top:24px;left:32px;}
  .hero-search{padding:14px 18px;}
  .hero-search-icon,.hero-search-arrow{width:42px;height:42px;font-size:16px;}
  .hero-search-text-main{font-size:14px;}
  .hero-search-text-sub{font-size:11px;}
  .feature-list{margin-top:24px;}
  .cal-grids{grid-template-columns:1fr;gap:24px;padding:20px 16px;}
  .cal-nav-prev{left:16px;}.cal-nav-next{right:16px;}
  .cal-head,.cal-pills,.cal-foot{padding-left:20px;padding-right:20px;}
  .cal-pills{flex-direction:column;}
  .cal-foot{flex-direction:column-reverse;align-items:stretch;}
  .cal-actions{justify-content:space-between;}
  .cal-actions .cal-btn{flex:1;}
  .modal-tabs,.eqm-modal-body{padding-left:24px;padding-right:24px;}
}

/* ============ MOBILE BOTTOM SHEET ============ */
@media (max-width:768px){
  .eqm-modal{
    align-items:flex-end;
    padding:0;
  }
  .eqm-modal-content{
    max-width:none;
    width:100%;
    max-height:70vh;
    height:70vh;
    border-radius:28px 28px 0 0;
    opacity:1;
    transform:translateY(100%);
    transition:transform .55s cubic-bezier(0.32,0.72,0,1);
    box-shadow:0 -20px 60px rgba(0,0,0,0.4),0 -4px 12px rgba(0,0,0,0.1);
    overflow:hidden;
    display:flex;flex-direction:column;
  }
  .eqm-modal.show .eqm-modal-content{
    opacity:1;
    transform:translateY(0);
    transition-delay:0s;
  }
  .eqm-modal-drag-handle{display:none;}
  .eqm-modal-header{
    padding:22px 18px 0;
    flex-shrink:0;
    border-bottom:none;
    position:absolute;
    top:0;right:0;
    z-index:20;
  }
  .eqm-modal-close{
    width:42px;height:42px;
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    box-shadow:0 6px 18px rgba(var(--primary-rgb),0.4);
  }
  .eqm-modal-close::before,
  .eqm-modal-close::after{width:15px;height:2.5px;}
  .modal-tabs{
    margin:62px 20px 14px;
    flex-shrink:0;
  }
  .modal-tab{padding:13px 16px;font-size:13px;}
  .eqm-modal-body{
    padding:8px 20px 24px;
    flex:1;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .modal-field{margin-bottom:14px;}
  .field-input,.field-select,.field-period{
    padding:18px 16px 18px 46px;
    font-size:15px;
  }
  .field-wrap.no-label .field-input,
  .field-wrap.no-label .field-select,
  .field-wrap.no-label .field-period{
    padding-top:18px;padding-bottom:18px;
  }
  .field-select{padding:18px 40px 18px 46px;}
  .field-icon{left:14px;}
  .field-stepper-wrap{padding-left:46px;height:60px;}
  .field-stepper-wrap .field-icon{left:12px;}
  .filters-toggle-compact{height:60px;}
  .modal-submit{padding:15px 24px;font-size:15px;}
  .modal-submit{padding:15px 24px;font-size:15px;}

  /* Calendrier modal full screen mobile */
  .cal-modal{padding:0;}
  .cal-box{
    max-width:none;width:100%;
    max-height:100vh;height:100vh;
    border-radius:0;
  }
  .cal-pills{padding:14px 20px;flex-direction:row;}
  .cal-pill{padding:10px 14px;}
  .cal-pill-val{font-size:14px;}
  .cal-foot{flex-direction:column-reverse;gap:10px;}
  .cal-actions{width:100%;}
}

@media (max-width:600px){
  .promises-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;gap:24px;}
  .footer-cols{grid-template-columns:1fr;gap:18px;}
  .zero-compare{gap:16px;}
  .compare-card{padding:18px 22px;min-width:110px;}
  .compare-fee{font-size:32px;}
  .testimonial-card{padding:32px 24px;}
  .contrast-card{padding:32px 24px;}
  .dual-card{padding:48px 32px;}
  .dual-h{font-size:28px;}
  .modal-row-2{gap:8px;}
  .filters-toggle-compact{padding:0 14px;height:58px;gap:8px;}
  .filters-toggle-icon-compact svg{width:22px;height:22px;}
  .filters-toggle-label{font-size:13px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}
}
