/* Accueil E&V AUTO — sections et animations */
.home main{padding-top:0}
.home .nav{background:rgba(12,13,15,.55)}
.h-lab{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.h-lab:before{content:"";width:18px;height:1px;background:currentColor}
.h-dark .h-lab{color:#5aa9ff}
.h-dark{background:#0E0F11;color:#fff}
.h-sec{padding:128px 0}
.h-h2{font-size:clamp(36px,4.6vw,64px);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin-top:18px;max-width:18ch}
.h-sub{font-size:20px;color:var(--ink2);margin-top:18px;max-width:52ch}.h-dark .h-sub{color:rgba(255,255,255,.66)}
.h-btn-w{background:#fff;color:#0E0F11}.h-btn-w:hover{background:#e9eaee;color:#0E0F11}
.h-btn-o{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.h-btn-o:hover{background:rgba(255,255,255,.08);color:#fff}
/* héros épinglé */
.h-hero{position:relative;height:300vh;background:#0E0F11;color:#fff}
.h-hero-in{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.h-hero-media{position:absolute;inset:0;transform-origin:50% 60%;will-change:transform}
.h-hero-media image-slot,.h-hero-media img{position:absolute;inset:0;width:100%;height:100%}.h-hero-media img{object-fit:cover;object-position:50% 40%}
.h-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,17,0) 0%,rgba(14,15,17,.15) 40%,rgba(14,15,17,.92) 100%),linear-gradient(90deg,rgba(14,15,17,.7) 0%,rgba(14,15,17,.3) 50%,rgba(14,15,17,0) 75%);pointer-events:none}
.h-hero-txt{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(40px,8vh,96px);pointer-events:none}
.h-lines{position:relative;height:calc(3 * 1.02em);font-size:clamp(40px,6.2vw,100px);font-weight:600;letter-spacing:-.04em;line-height:1.02}
.h-line{position:absolute;left:0;bottom:0;max-width:15ch;margin:0;font:inherit;letter-spacing:inherit;opacity:0;transform:translateY(.45em);filter:blur(6px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}
.h-line.on{opacity:1;transform:none;filter:none}.h-line.past{opacity:0;transform:translateY(-.45em);filter:blur(6px)}
.h-hero-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;flex-wrap:wrap;pointer-events:auto}
.h-prog{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.h-prog-t{position:relative;width:120px;height:1px;background:rgba(255,255,255,.22)}.h-prog-t i{position:absolute;inset:0;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
/* marques */
.h-brands{padding:56px 0 64px;border-top:1px solid rgba(255,255,255,.08);overflow:hidden}
.h-brands p{text-align:center;font-size:14px;color:rgba(255,255,255,.55);letter-spacing:.02em}
.h-track{display:flex;gap:64px;width:max-content;margin-top:30px;will-change:transform}
.h-track span{font-size:30px;font-weight:600;letter-spacing:-.02em;color:rgba(255,255,255,.4);white-space:nowrap;transition:color .3s}.h-track span:hover{color:#fff}
/* cartes empilées */
.h-stack{list-style:none;margin:64px 0 0;padding:0;display:grid;gap:28px}
.h-card{position:sticky;top:calc(var(--nav) + 28px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(620px,74vh);background:#0E0F11;color:#fff;border-radius:28px;overflow:hidden;transform-origin:50% 0;will-change:transform}
.h-card-txt{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start}
.h-card-n{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5aa9ff}
.h-card h3{font-size:clamp(30px,3.4vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin-top:22px}
.h-card p{margin-top:18px;color:rgba(255,255,255,.7);font-size:18px;max-width:40ch}
.h-card .actions{margin-top:auto;padding-top:32px}
.h-card-media{position:relative;min-height:280px}.h-card-media image-slot,.h-card-media img{position:absolute;inset:0;width:100%;height:100%}.h-card-media img{object-fit:cover}
.h-card:nth-child(2){background:#16171b}.h-card:nth-child(3){background:var(--blue)}.h-card:nth-child(3) .h-card-n{color:#fff;opacity:.8}.h-card:nth-child(3) p{color:rgba(255,255,255,.85)}
/* simulateur */
.h-sim{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;margin-top:56px}
.h-sim-f,.h-sim-r{border-radius:28px;padding:clamp(28px,3.4vw,48px)}
.h-sim-f{background:#fff;border:1px solid var(--line)}
.h-sim-r{background:#0E0F11;color:#fff;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}
.h-q{margin-bottom:30px}.h-q>span{display:block;font-size:15px;font-weight:600;margin-bottom:12px}
.h-seg{display:flex;flex-wrap:wrap;gap:8px}
.h-seg button{font:inherit;font-size:15px;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.h-seg button:hover{border-color:var(--ink)}.h-seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.h-sim-f .row{margin-top:4px}
.h-sim-k{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.h-sim-v{font-size:clamp(40px,4.6vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1;margin-top:14px;transition:opacity .4s,transform .6s cubic-bezier(.16,1,.3,1)}
.h-sim-v.sw{opacity:0;transform:translateY(14px)}
.h-sim-d{margin-top:16px;color:rgba(255,255,255,.7);font-size:17px;max-width:38ch;transition:opacity .4s}
.h-sim-l{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;width:100%}
.h-sim-l li{display:flex;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:15px}.h-sim-l li span:first-child{color:rgba(255,255,255,.55)}
.h-sim-r .actions{margin-top:auto;padding-top:30px}
/* compteur */
.h-ben{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);margin-top:72px;align-items:start}
.h-odo-wrap{position:sticky;top:calc(var(--nav) + 64px);border-radius:28px;background:#16171b;padding:clamp(32px,4vw,56px);min-height:min(520px,64vh);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.h-odo{display:flex;align-items:flex-end;gap:.04em;font-size:clamp(110px,13vw,200px);font-weight:600;letter-spacing:-.05em;line-height:1}
.h-dig{height:1em;overflow:hidden}.h-strip{display:flex;flex-direction:column;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.h-strip span{height:1em;line-height:1em}
.h-unit{font-size:.28em;letter-spacing:-.02em;margin:0 0 .22em .18em;color:#5aa9ff;transition:opacity .35s}
.h-odo-cap{font-size:15px;color:rgba(255,255,255,.55);letter-spacing:.02em}
.h-odo-dots{display:flex;gap:8px}.h-odo-dots i{width:28px;height:2px;background:rgba(255,255,255,.18);transition:background .4s}.h-odo-dots i.on{background:#fff}
.h-ben-l{list-style:none;margin:0;padding:0}
.h-ben-l li{padding:16vh 0;border-top:1px solid rgba(255,255,255,.1);opacity:.32;transition:opacity .7s cubic-bezier(.16,1,.3,1)}.h-ben-l li:first-child{padding-top:4vh;border-top:0}.h-ben-l li:last-child{padding-bottom:8vh}.h-ben-l li.on{opacity:1}
.h-ben-n{font-size:13px;font-weight:600;letter-spacing:.14em;color:#5aa9ff}
.h-ben-l h3{font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.08;margin-top:14px}
.h-ben-l p{margin-top:14px;color:rgba(255,255,255,.66);font-size:18px;max-width:40ch}
.h-ben-fig{display:none;font-size:56px;font-weight:600;letter-spacing:-.04em;margin-top:6px}
/* onglets */
.h-tabs{display:flex;gap:6px;margin-top:48px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.h-tab{position:relative;font:inherit;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:16px 18px;border:0;background:none;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:color .3s}
.h-tab:hover,.h-tab[aria-selected="true"]{color:var(--ink)}
.h-tab i{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform-origin:0 50%;transform:scaleX(0)}
.h-tab[aria-selected="true"] i{animation:tabFill var(--dur,7s) linear forwards}.h-tabs.paused .h-tab[aria-selected="true"] i{animation:none;transform:scaleX(1)}
@keyframes tabFill{to{transform:scaleX(1)}}
.h-panels{position:relative;margin-top:40px}
.h-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center}
.h-panel[hidden]{display:none}
.h-panel-media{border-radius:28px;overflow:hidden}
.h-panel .h-in{animation:pIn .9s cubic-bezier(.16,1,.3,1) both}.h-panel .h-in+.h-in{animation-delay:.08s}
@keyframes pIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.h-panel h3{font-size:clamp(28px,3vw,42px);font-weight:600;letter-spacing:-.03em;line-height:1.08;margin-top:16px}
.h-panel p{margin-top:16px;color:var(--ink2);font-size:18px}
/* engagement */
.h-state{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px);align-items:center}
.h-state blockquote{margin:0;font-size:clamp(28px,3.4vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.h-state-who{margin-top:28px;display:flex;gap:40px;flex-wrap:wrap;font-size:15px}.h-state-who b{display:block;font-weight:600}.h-state-who span{color:var(--ink2)}
/* contact */
.h-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.h-check{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}
.h-check li{display:flex;gap:14px;align-items:center;font-size:18px}.h-check li:before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--blue) 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='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.h-info{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:15px}.h-info b{display:block;margin-bottom:4px}.h-info span{color:var(--ink2)}
/* FAQ */
.h-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.h-faq .h-tabs{margin-top:28px}
/* final */
.h-final{padding:160px 0 140px;overflow:hidden;text-align:center}
.h-final-t{font-size:clamp(48px,9vw,148px);font-weight:600;letter-spacing:-.05em;line-height:.98;white-space:nowrap;will-change:transform}
.h-final-t span{display:block}.h-final-t span:nth-child(2){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.6)}
@media (max-width:900px){
.h-sec{padding:88px 0}.h-card{grid-template-columns:1fr;position:relative;top:auto;min-height:0}.h-card-media{min-height:240px;order:-1}
.h-sim,.h-ben,.h-panel,.h-state,.h-contact,.h-faq{grid-template-columns:1fr}
.h-odo-wrap{display:none}.h-ben-fig{display:block}.h-ben-l li{padding:40px 0;opacity:1}.h-ben-l li:first-child{padding-top:0}
.h-final-t{white-space:normal}.h-info{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.h-hero{height:auto}.h-hero-in{position:relative;height:auto;min-height:100vh}.h-line{position:relative;opacity:1;transform:none;filter:none;display:none}.h-line:first-child{display:block}.h-lines{height:auto}.h-card{position:relative;top:auto}.h-ben-l li{opacity:1}}
.h-seg button{white-space:nowrap;line-height:1.2}
@media (min-width:901px){.h-hero-bar{padding-right:90px}}
/* Visuel d’accueil fourni : conserver le slogan et les trois véhicules en entier. */
.h-hero.h-hero-banner{height:auto;padding-top:var(--nav);background:#050505}
.h-hero-banner .h-hero-in{position:relative;height:auto;min-height:0;overflow:visible}
.h-hero-banner .h-hero-media{position:relative;inset:auto;width:100%;max-width:1200px;margin:0 auto;will-change:auto}
.h-hero-banner .h-hero-media img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.h-hero-banner .h-hero-media:after{display:none}
.h-hero-banner .h-hero-txt{position:relative;padding:22px 0 44px;pointer-events:auto}
.h-hero-copy{font-size:17px;line-height:1.55;color:rgba(255,255,255,.78)}
.h-hero-banner .h-hero-bar{margin-top:20px;padding-right:0}
@media(max-width:600px){
 .h-hero-banner .h-hero-txt{padding:22px 0 32px}
 .h-hero-copy{font-size:15px}
 .h-hero-banner .actions{display:grid;grid-template-columns:1fr;width:100%}
 .h-hero-banner .btn{width:100%}
}
