/* AB Conduite 94 · landing v3 (se charge après site.css) */

.eb{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:12px}
.eb-light{color:var(--sable)}
.v3 .section{padding-block:110px}
.v3 .head-c h2,.h-sec h2{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.02em}
.h-sec{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.h-sec h2 span{color:var(--bande)}
.h-sec>p{max-width:38ch;color:var(--doux)}

/* héros vidéo */
.h3{position:relative;min-height:min(94vh,900px);display:flex;align-items:center;color:#fff;overflow:hidden;background:#12235F;padding:calc(var(--nav-h) + 50px) 0 130px}
.h3-media{position:absolute;inset:0}
.h3-media video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.03)}
.h3-media::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(13,27,76,.95) 0%,rgba(22,44,120,.82) 40%,rgba(22,44,120,.35) 72%,rgba(13,27,76,.55) 100%),
  linear-gradient(0deg,rgba(13,27,76,.75) 0%,rgba(13,27,76,0) 38%)}
.h3-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:60px;align-items:center}
.h3-badge{display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:500;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:7px 15px 7px 12px;border-radius:999px}
.h3-dot{width:8px;height:8px;border-radius:50%;background:#43E08A;box-shadow:0 0 0 4px rgba(67,224,138,.25)}
.h3 h1{font-size:clamp(42px,6vw,78px);line-height:1.04;margin-top:24px;color:#fff;font-weight:600;letter-spacing:-.025em}
.rot{display:inline-block;color:var(--sable);transition:opacity .35s ease,transform .35s ease}
.rot.sort{opacity:0;transform:translateY(14px)}
.h3-lead{margin-top:24px;max-width:54ch;font-size:17px;line-height:1.7;color:rgba(255,255,255,.86)}
.h3-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.h3-trust{list-style:none;padding:0;margin:38px 0 0;display:flex;flex-wrap:wrap;gap:12px 26px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.9)}
.h3-trust li{display:flex;gap:8px;align-items:center}
.h3-trust svg{width:18px;height:18px;color:var(--sable)}
.h3-card{background:#fff;color:var(--texte);border-radius:14px;padding:30px;box-shadow:0 40px 90px -30px rgba(0,0,0,.65);display:grid;gap:14px;position:relative}
.h3-card::before{content:"";position:absolute;left:30px;right:30px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--rose),var(--sable))}
.h3-card-t{font-size:21px;font-weight:600}
.h3-card-s{font-size:13.5px;color:var(--doux);margin-top:-8px}
.qf-chips{border:0;padding:0;margin:0;min-width:0}
.qf-chips legend{font-size:13px;font-weight:500;padding:0;margin-bottom:8px}
.qf-chips>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qf-chips label{position:relative;cursor:pointer}
.qf-chips input{position:absolute;opacity:0;width:1px;height:1px}
.qf-chips span{display:block;text-align:center;padding:10px 6px;border:1.5px solid var(--trait);border-radius:8px;font-size:13px;font-weight:500;transition:all .18s}
.qf-chips input:checked+span{border-color:var(--bande);background:var(--bleu-p);color:var(--bande)}
.qf-chips input:focus-visible+span{outline:3px solid var(--bande-2);outline-offset:2px}
.h3-card .btn{width:100%}
.h3-card-note{text-align:center;font-size:12px;color:var(--doux)}
.h3-road{position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(180deg,rgba(10,18,48,0),rgba(10,18,48,.55));overflow:hidden}
.h3-road span{position:absolute;left:0;right:0;bottom:24px;height:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0 64px,transparent 64px 118px);animation:ligne 2.2s linear infinite}
@keyframes ligne{to{background-position:-118px 0}}

/* bandeau défilant */
.mq{background:var(--sable);color:var(--texte);overflow:hidden;padding:17px 0;position:relative;z-index:2}
.mq-track{display:flex;width:max-content;animation:defile 42s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-dup{display:flex}
.mq-item{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;white-space:nowrap;padding-right:34px}
.mq-item b{font-weight:600;color:var(--bande)}
.mq-item i{font-style:normal;color:var(--rose);margin-left:24px}
@keyframes defile{to{transform:translateX(-50%)}}

/* mosaïque des formations */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:18px}
.b-tile{position:relative;display:block;border-radius:14px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;background:#1A2D6E;box-shadow:var(--ombre-s)}
.b-a{grid-column:span 2;grid-row:span 2}
.b-b{grid-column:span 2}
.b-tile img,.b-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.b-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,27,76,0) 28%,rgba(13,27,76,.55) 60%,rgba(13,27,76,.92) 100%)}
.b-tile:hover img,.b-tile:hover video{transform:scale(1.06)}
.b-body{position:absolute;left:0;right:0;bottom:0;padding:24px 26px}
.b-tag{display:inline-block;background:var(--sable);color:var(--texte);font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px}
.b-body h3{color:#fff;font-size:22px;margin-top:10px}
.b-a .b-body{padding:34px}
.b-a h3{font-size:clamp(26px,2.6vw,34px)}
.b-body p{font-size:14.5px;color:rgba(255,255,255,.86);margin-top:6px;max-width:44ch}
.b-price b{font-size:22px;font-weight:600;color:#fff}
.b-prices{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.b-prices span{display:flex;flex-direction:column;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:8px 14px;font-size:18px;font-weight:600;line-height:1.3}
.b-prices small{font-size:11.5px;font-weight:500;color:rgba(255,255,255,.75)}
.b-go{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;transition:background-color .25s,transform .25s}
.b-go svg{width:18px;height:18px;color:#fff}
.b-tile:hover .b-go{background:var(--rose);transform:rotate(-45deg)}

/* quiz */
.quiz{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:center}
.quiz-copy h2{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.02em}
.quiz-copy>p{margin-top:16px;color:var(--doux);max-width:46ch}
.quiz-points{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;font-weight:500}
.quiz-points li{display:flex;gap:8px;align-items:center}
.quiz-points svg{width:20px;height:20px;color:var(--wa);background:#E3F6EA;border-radius:50%;padding:3px}
.q-card{background:#fff;border-radius:16px;box-shadow:var(--ombre);padding:34px 36px;min-height:380px}
.q-prog{height:6px;background:var(--fond);border-radius:6px;overflow:hidden;margin-bottom:26px}
.q-prog span{display:block;height:100%;width:33%;background:linear-gradient(90deg,var(--rose),var(--sable));border-radius:6px;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.q-num{font-size:12.5px;font-weight:600;color:var(--doux)}
.q-step h3,.q-res h3{font-size:24px;margin:6px 0 22px}
.q-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.q-opt{display:flex;gap:14px;align-items:center;text-align:left;padding:20px;background:#fff;border:1.5px solid var(--trait);border-radius:12px;font:inherit;color:inherit;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}
.q-opt:hover{border-color:var(--bande);background:var(--bleu-p);transform:translateY(-2px)}
.q-ico{width:46px;height:46px;border-radius:50%;background:var(--rose-p);color:var(--rose);display:grid;place-items:center;flex:none}
.q-ico svg{width:24px;height:24px}
.q-opt b{display:block;font-size:15.5px;font-weight:600}
.q-opt small{display:block;font-size:12.5px;color:var(--doux);line-height:1.45;margin-top:2px}
.q-back,.q-restart{margin-top:18px;background:none;border:0;padding:4px 0;font:500 13.5px var(--f);color:var(--doux);cursor:pointer}
.q-back:hover,.q-restart:hover{color:var(--bande)}
.q-step,.q-res{animation:monte .45s cubic-bezier(.2,.8,.2,1)}
.q-res-tag{display:inline-block;background:#E3F6EA;color:#157A3C;font-size:12px;font-weight:600;padding:4px 11px;border-radius:999px}
.q-res h3{margin:12px 0 4px}
.q-res-prix{color:var(--doux);font-size:14px}
.q-res-prix b{font-size:36px;font-weight:600;color:var(--bande);letter-spacing:-.02em;margin-right:4px}
.q-res-list{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:10px}
.q-res-list li{position:relative;padding-left:30px;font-size:14.5px}
.q-res-list li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--rose-p) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23EF5A61' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.q-res-cta{display:flex;flex-wrap:wrap;gap:10px}

/* parcours en route */
.road3{position:relative;padding-top:78px}
.road3-line{position:absolute;left:3%;right:3%;top:14px;height:18px;background:#26304C;border-radius:10px;box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}
.road3-line::before{content:"";position:absolute;left:14px;right:14px;top:50%;height:3px;margin-top:-1.5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 26px,transparent 26px 46px)}
.road3-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,var(--rose),var(--sable));border-radius:10px;opacity:.92;transition:width .15s linear}
.road3-car{position:absolute;top:50%;left:calc(var(--p,0) * 100%);width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;color:var(--bande);display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(28,31,59,.45);transition:left .15s linear}
.road3-car svg{width:28px;height:28px}
.road3-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.r-step{background:#fff;border:1px solid var(--trait);border-radius:14px;padding:26px 24px;box-shadow:var(--ombre-s);transition:border-color .3s,transform .3s,box-shadow .3s}
.r-step.on{border-color:var(--rose);transform:translateY(-4px);box-shadow:var(--ombre)}
.r-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--fond);color:var(--bande);font-weight:600;font-size:15px;transition:background-color .3s,color .3s}
.r-step.on .r-n{background:var(--rose);color:#fff}
.r-step h3{font-size:18px;margin:16px 0 8px}
.r-step p{font-size:14px;color:var(--doux)}

/* pourquoi nous */
.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center}
.why-media{position:relative;padding:0 20px 34px 0}
.why-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;box-shadow:var(--ombre)}
.why-media::before{content:"";position:absolute;right:0;bottom:0;width:60%;height:60%;border-radius:18px;background:var(--sable);z-index:-1}
.why-media{isolation:isolate}
.why-float{position:absolute;background:#fff;border-radius:12px;box-shadow:var(--ombre);padding:14px 18px;display:flex;gap:12px;align-items:center}
.why-float b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.why-float small{font-size:12px;color:var(--doux)}
.wf-a{left:-26px;bottom:70px}
.wf-b{right:-6px;top:34px;flex-direction:column;align-items:flex-start;gap:0;background:var(--bande);color:#fff}
.wf-b small{color:rgba(255,255,255,.8)}
.why-copy h2{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.02em}
.why-lead{margin-top:16px;color:var(--doux);max-width:50ch}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin:34px 0 36px}
.w-item{display:flex;gap:14px;align-items:flex-start}
.w-ico{width:46px;height:46px;border-radius:12px;background:var(--bleu-p);color:var(--bande);display:grid;place-items:center;flex:none}
.w-ico svg{width:24px;height:24px}
.w-item h3{font-size:16px}
.w-item p{font-size:13.5px;color:var(--doux);margin-top:4px}
.why-cta{display:flex;flex-wrap:wrap;gap:12px}
.why-cta .btn-line svg{fill:currentColor}

/* carte */
.map3{margin-top:18px;border-radius:12px;overflow:hidden;box-shadow:var(--ombre-s);background:var(--fond)}
.map3 iframe{display:block;width:100%;height:280px;border:0}

/* appel à l'action final */
.fin3{padding-block:40px 110px}
.fin3-box{position:relative;overflow:hidden;border-radius:24px;background:var(--bande);color:#fff;isolation:isolate;box-shadow:var(--ombre)}
.fin3-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fin3-box::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(31,60,158,.95) 0%,rgba(31,60,158,.82) 50%,rgba(239,90,97,.78) 100%)}
.fin3-in{padding:90px 60px;text-align:center;max-width:760px;margin:0 auto}
.fin3-in h2{color:#fff;font-size:clamp(32px,4.4vw,54px);letter-spacing:-.02em}
.fin3-in>p{margin-top:16px;color:rgba(255,255,255,.88);font-size:17px}
.fin3-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:32px}
.fin3 .btn-ghost svg{fill:currentColor}

/* ajustements des sections reprises */
.v3 .foot{margin-top:0}
.v3 .tabs button[aria-selected="true"]{color:var(--bande)}
.v3 .price{border-radius:14px}
.v3 .guide{border-radius:14px}
.v3 .booking{border-radius:14px}
.v3 .facade{border-radius:12px}

@media (max-width:1040px){
  .h3-in,.quiz,.why{grid-template-columns:1fr}
  .h3-card{max-width:520px}
  .h-sec{flex-direction:column;align-items:flex-start;gap:14px}
  .bento{grid-template-columns:1fr 1fr}
  .road3-steps{grid-template-columns:1fr 1fr}
  .why-media{max-width:560px}
}
@media (max-width:760px){
  .v3 .section{padding-block:76px}
  .h3{min-height:auto;padding:calc(var(--nav-h) + 28px) 0 90px}
  .h3 h1{font-size:clamp(38px,11vw,48px)}
  .h3-lead{font-size:15.5px}
  .h3-cta .btn{flex:1 1 100%}
  .h3-trust{gap:10px 18px;font-size:12.5px}
  .h3-card{padding:24px 20px}
  .mq{padding:13px 0}
  .mq-item{font-size:13.5px}
  .bento{grid-template-columns:1fr;grid-auto-rows:240px}
  .b-a{grid-row:span 2;grid-column:span 1}
  .b-b{grid-column:span 1}
  .b-a .b-body{padding:24px}
  .q-card{padding:26px 20px}
  .q-opts{grid-template-columns:1fr}
  .road3{padding:0 0 0 62px}
  .road3-line{left:18px;right:auto;top:0;bottom:0;width:16px;height:auto}
  .road3-line::before{left:50%;right:auto;top:14px;bottom:14px;width:3px;height:auto;margin:0 0 0 -1.5px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.85) 0 22px,transparent 22px 38px)}
  .road3-fill{width:auto;right:0;height:calc(var(--p,0) * 100%);bottom:auto;transition:height .15s linear}
  .road3-car{left:50%;top:calc(var(--p,0) * 100%);width:40px;height:40px;margin:-20px 0 0 -20px}
  .road3-steps{grid-template-columns:1fr}
  .why-media{padding:0 14px 24px 0}
  .wf-a{left:10px;bottom:44px}
  .wf-b{right:0;top:16px}
  .why-grid{grid-template-columns:1fr}
  .why-cta .btn{flex:1 1 100%}
  .map3 iframe{height:240px}
  .fin3{padding-block:20px 80px}
  .fin3-in{padding:60px 22px}
  .fin3-cta .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .mq-track,.h3-road span{animation:none}
  .h3-media video,.fin3-box video,.b-tile video{display:none}
}

/* ---------- écran de chargement : feu tricolore et route ---------- */
.loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2A4CB8 0%,#16296E 70%);color:#fff;
  animation:ld-secours .5s ease 3.2s forwards}
.loader.fini{opacity:0;visibility:hidden;transition:opacity .55s ease,visibility 0s linear .55s}
@keyframes ld-secours{to{opacity:0;visibility:hidden}}
.ld-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;width:min(320px,80vw)}
.ld-feu{display:flex;gap:12px;background:#0D1636;padding:10px 14px;border-radius:999px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 16px 30px -14px rgba(0,0,0,.6)}
.ld-feu span{width:16px;height:16px;border-radius:50%;background:#2A3358;transition:background-color .2s,box-shadow .2s}
.loader[data-feu="r"] .ld-r{background:#FF4D55;box-shadow:0 0 16px 3px rgba(255,77,85,.75)}
.loader[data-feu="o"] .ld-o{background:#FFB23F;box-shadow:0 0 16px 3px rgba(255,178,63,.75)}
.loader[data-feu="v"] .ld-v{background:#43E08A;box-shadow:0 0 16px 3px rgba(67,224,138,.75)}
.ld-logo{width:96px;height:96px;background:#fff;border-radius:24px;padding:10px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);animation:ld-volant 1.4s cubic-bezier(.45,.05,.55,.95) infinite}
@keyframes ld-volant{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
.ld-t{font-size:22px;font-weight:600;letter-spacing:-.01em}
.ld-t b{color:#FF6B72;font-weight:700}
.ld-s{font-size:13.5px;color:rgba(255,255,255,.78);min-height:1.5em}
.ld-route{position:relative;width:100%;height:20px;margin-top:6px;background:#26304C;border-radius:10px;overflow:hidden}
.ld-route span{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:repeating-linear-gradient(90deg,#fff 0 22px,transparent 22px 40px);animation:ld-ligne .5s linear infinite}
@keyframes ld-ligne{to{background-position:-40px 0}}
.loader.go .ld-logo{animation:ld-depart .5s cubic-bezier(.5,0,.75,0) forwards}
@keyframes ld-depart{to{transform:translateY(-8px) scale(1.08)}}
body.charge{overflow:hidden}
@media (prefers-reduced-motion:reduce){.loader{display:none}body.charge{overflow:auto}}

/* ---------- animations ---------- */
.v3 .h3-copy>*{animation:h3-entree .9s cubic-bezier(.2,.8,.2,1) both}
.v3 .h3-copy>*:nth-child(1){animation-delay:.05s}
.v3 .h3-copy>*:nth-child(2){animation-delay:.15s}
.v3 .h3-copy>*:nth-child(3){animation-delay:.28s}
.v3 .h3-copy>*:nth-child(4){animation-delay:.4s}
.v3 .h3-copy>*:nth-child(5){animation-delay:.52s}
.v3 .h3-card{animation:h3-carte 1s cubic-bezier(.2,.8,.2,1) .45s both}
body.charge .h3-copy>*,body.charge .h3-card{animation-play-state:paused}
@keyframes h3-entree{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes h3-carte{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
.h3-media video{will-change:transform}
.h3-dot{animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(67,224,138,.25)}50%{box-shadow:0 0 0 8px rgba(67,224,138,.08)}}
.reveal.anim{animation:monte .8s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0s)}
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease}
.btn:hover::after{left:130%}
.btn-line::after,.q-back::after{display:none}
.r-step:hover,.w-item:hover .w-ico{transform:translateY(-3px)}
.w-ico{transition:transform .3s,background-color .3s,color .3s}
.w-item:hover .w-ico{background:var(--rose);color:#fff}
.price{transition:transform .3s,box-shadow .3s}
.price:hover{transform:translateY(-6px);box-shadow:var(--ombre)}
.guide-top.guide-photo img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.guide:hover .guide-top.guide-photo img{transform:scale(1.06)}
.why-float{animation:flotte 6s ease-in-out infinite}
.wf-b{animation-delay:-3s}
@keyframes flotte{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.road3-car svg{animation:ld-volant 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .v3 .h3-copy>*,.v3 .h3-card,.why-float,.road3-car svg,.h3-dot{animation:none}
  .btn::after{display:none}
}

/* titre : le mot animé occupe sa propre ligne, hauteur stable */
.rot-ligne{display:block;white-space:nowrap}
.h3 h1 .rot{font-size:.76em}
@media (max-width:760px){.h3 h1 .rot{font-size:.68em}}
@media (max-width:380px){.h3 h1 .rot{font-size:.62em}}

/* ---------- correctifs : débordement du haut de page, texte réservé aux lecteurs d'écran ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1040px){.h3-in{grid-template-columns:minmax(0,1fr)}.h3-copy,.h3-card{min-width:0}}
.rot-ligne{max-width:100%}

/* ---------- près de chez vous ---------- */
.zones-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}
.zones h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.02em}
.zones-in>div>p{margin-top:14px;color:var(--doux)}
.communes{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.communes li{background:var(--bleu-p);color:var(--bande);font-size:13.5px;font-weight:500;padding:8px 14px;border-radius:999px}
.svc-liens{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.svc-lien{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--trait);border-radius:14px;padding:20px;text-decoration:none;color:var(--texte);box-shadow:var(--ombre-s);transition:transform .25s,border-color .25s}
.svc-lien:hover{transform:translateY(-3px);border-color:var(--rose)}
.svc-lien b{font-size:16px;font-weight:600}
.svc-lien span{font-size:13.5px;color:var(--doux);line-height:1.5}
.svc-lien em{font-style:normal;font-weight:600;color:var(--bande);margin-top:auto;padding-top:6px}

/* ---------- pages formations ---------- */
.svc-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.g-article .prices{margin:18px 0 8px;max-width:none}
.g-article .prices-1{max-width:360px}
.g-article .price p{margin:0}
.g-article .price .p-h{color:var(--rose)}
.g-article .price .p-v{color:var(--texte);margin-top:6px}
.g-article .price .p-t{color:var(--doux);margin:0 0 18px}
.g-article .price-hot .p-h{color:var(--sable)}
.g-article .price-hot .p-v{color:#fff}
.g-article .price-hot .p-t{color:rgba(255,255,255,.78)}
.g-article .price .btn{width:100%}
.g-article .fine{text-align:left}
.g-article .faq details p{padding-right:30px}
.g-card .statut{font-size:14px}
.svc-autres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:760px){
  .zones-in{grid-template-columns:1fr;gap:30px}
  .svc-liens,.svc-autres{grid-template-columns:1fr}
  .svc-cta .btn{flex:1 1 100%}
  .g-article .prices-1{max-width:none}
}

/* pages intérieures : la colonne de contenu ne s'élargit jamais au-delà de l'écran */
@media (max-width:1040px){.g-layout{grid-template-columns:minmax(0,1fr)}.g-article,.g-aside{min-width:0}}

/* ---------- écran de chargement v2 : compteur de vitesse ---------- */
.loader{background:#0B1640;overflow:hidden;opacity:1}
.loader.fini{opacity:1;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .75s cubic-bezier(.7,0,.2,1),visibility 0s linear .75s}
.ld-fond{position:absolute;inset:0;background:radial-gradient(120% 75% at 50% 0%,#2E52C4 0%,#17307F 42%,#0B1640 100%)}
.ld-sol{position:absolute;left:-60%;right:-60%;bottom:-6%;height:58%;transform-origin:50% 100%;transform:perspective(380px) rotateX(64deg);
  background:linear-gradient(90deg,transparent 34%,rgba(255,255,255,.55) 34%,rgba(255,255,255,.55) 34.4%,#18234A 34.4%,#18234A 65.6%,rgba(255,255,255,.55) 65.6%,rgba(255,255,255,.55) 66%,transparent 66%);
  -webkit-mask-image:linear-gradient(to top,#000 35%,transparent 100%);mask-image:linear-gradient(to top,#000 35%,transparent 100%)}
.ld-sol span{position:absolute;left:50%;top:0;bottom:0;width:1.4%;transform:translateX(-50%);background:repeating-linear-gradient(180deg,#fff 0 46px,transparent 46px 104px);animation:ld-avance .42s linear infinite}
@keyframes ld-avance{to{background-position:0 104px}}
.ld-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;width:auto;padding-bottom:6vh}
.ld-marque{width:min(200px,50vw);height:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.35));animation:ld-apparait .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes ld-apparait{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
.ld-compteur{width:min(250px,66vw);margin-top:26px;animation:ld-apparait .7s cubic-bezier(.2,.8,.2,1) .12s both}
.ld-compteur svg{display:block;width:100%;height:auto;overflow:visible}
.ld-piste{fill:none;stroke:rgba(255,255,255,.1);stroke-width:13;stroke-linecap:round}
.ld-jauge{fill:none;stroke:url(#ldGrad);stroke-width:13;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 7px rgba(239,90,97,.55))}
.ld-tick{stroke:rgba(255,255,255,.45);stroke-width:2;stroke-linecap:round}
.ld-aiguille{transform-origin:120px 130px;transform:rotate(-90deg)}
.ld-aiguille line{stroke:#fff;stroke-width:4;stroke-linecap:round}
.ld-aiguille circle{fill:#fff;stroke:#EF5A61;stroke-width:3}
.ld-vitesse{margin:10px 0 0;text-align:center;color:#fff;line-height:1}
.ld-vitesse b{display:block;font-size:40px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ld-vitesse span{display:block;margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.loader .ld-s{margin-top:18px;font-size:14px;letter-spacing:.02em;color:rgba(255,255,255,.78);min-height:1.5em}
.loader.go .ld-compteur{animation:ld-vibre .12s linear 3}
@keyframes ld-vibre{50%{transform:translateX(1px)}}

/* ---------- parcours : voiture-école vue de dessus ---------- */
.road3-car{width:86px;height:44px;margin:-22px 0 0 -43px;background:none;box-shadow:none;border-radius:0;display:block;color:inherit}
.road3-car svg{width:100%;height:100%;overflow:visible;animation:none;filter:drop-shadow(0 8px 10px rgba(14,28,78,.38))}
@media (max-width:760px){
  .road3-car{width:44px;height:86px;margin:-43px 0 0 -22px}
  .road3-car svg{width:86px;height:44px;transform:translate(-21px,21px) rotate(90deg)}
}

/* ---------- pastille de localisation, visible dès l'ouverture ---------- */
.h3-lieu{display:inline-flex;align-items:center;gap:12px;padding:7px 8px 7px 7px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;text-decoration:none;box-shadow:0 14px 30px -18px rgba(0,0,0,.6);transition:background-color .25s,transform .25s}
.h3-lieu:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.lieu-pin{position:relative;width:40px;height:40px;flex:none;border-radius:50%;background:var(--rose);display:grid;place-items:center;box-shadow:0 8px 16px -8px rgba(239,90,97,.9)}
.lieu-pin svg{width:20px;height:20px;fill:#fff}
.lieu-pin::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(239,90,97,.55);animation:lieu-onde 2.4s ease-out infinite}
@keyframes lieu-onde{0%{transform:scale(.85);opacity:1}100%{transform:scale(1.35);opacity:0}}
.lieu-txt{display:flex;flex-direction:column;line-height:1.15}
.lieu-txt small{font-size:12px;font-weight:500;color:rgba(255,255,255,.8)}
.lieu-txt b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.lieu-go{font-size:12.5px;font-weight:600;background:#fff;color:var(--bande);padding:8px 12px;border-radius:999px;white-space:nowrap}
.v3 .h3-copy>.h3-lieu{animation:none}
.h3 h1{margin-top:22px}
@media (max-width:760px){
  .h3-lieu{gap:10px;padding:6px 7px 6px 6px}
  .lieu-pin{width:36px;height:36px}
  .lieu-txt b{font-size:16px}
  .lieu-go{padding:7px 10px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){.lieu-pin::after{animation:none}}

/* localisation sur l'écran de chargement */
.ld-lieu{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:#fff;font-size:13px;font-weight:500;letter-spacing:.01em;animation:ld-apparait .6s cubic-bezier(.2,.8,.2,1) .05s both}
.ld-lieu-point{width:8px;height:8px;border-radius:50%;background:#43E08A;box-shadow:0 0 0 4px rgba(67,224,138,.22)}
.ld-compteur{margin-top:18px}

/* ---------- héros smartphone : la vidéo verticale se voit en haut, le texte sur un fondu ---------- */
@media (max-width:760px){
  .h3{display:block;min-height:0;padding:calc(var(--nav-h) + 16px) 0 56px}
  .h3-media{bottom:auto;height:min(76svh,660px)}
  .h3-media video{transform:none!important;object-position:50% 30%}
  .h3-media::after{background:linear-gradient(180deg,rgba(13,27,76,.62) 0%,rgba(13,27,76,.08) 17%,rgba(13,27,76,0) 34%,rgba(18,35,95,.72) 56%,#12235F 80%)}
  .h3-copy{display:flex;flex-direction:column;align-items:flex-start}
  .h3 h1{margin-top:clamp(150px,30svh,270px);font-size:clamp(36px,10.4vw,46px);text-shadow:0 2px 18px rgba(10,20,60,.35)}
  .h3-lead{margin-top:14px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.86)}
  .h3-cta{width:100%;margin-top:22px}
  .h3-cta .btn{flex:1 1 100%}
  .h3-lieu{box-shadow:0 10px 30px -10px rgba(0,0,0,.55)}
}
@media (max-width:760px) and (max-height:780px){
  .h3 h1{margin-top:clamp(84px,14svh,110px)}
  .h3-lead{font-size:14.5px;line-height:1.5}
  .h3-cta{margin-top:18px}
}
