:root{--ink:#101419;--blue:#006aff;--lime:#b9ff43;--paper:#f4f5f1;--muted:#6c747c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit;text-decoration:none}
.notice{height:34px;background:var(--ink);color:#dfe5e8;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.07em}
.notice span{color:var(--lime);margin:0 14px}
header{height:82px;background:#fff;display:flex;align-items:center;padding:0 max(5vw,24px);gap:50px;position:sticky;top:0;z-index:20;border-bottom:1px solid #e7e9e4}
.brand{display:flex;align-items:center;gap:9px;font-family:Space Grotesk;font-size:22px;font-weight:700;letter-spacing:-.04em}
.brand-mark{color:#fff;background:var(--blue);padding:9px 7px;transform:skew(-8deg)}
.brand small{display:block;font:700 8px Manrope;letter-spacing:.2em;color:#7c858d}
nav{display:flex;gap:30px;margin:auto;font-size:14px;font-weight:600}
nav a:hover{color:var(--blue)}
.header-cta,.primary{background:var(--blue);color:white;padding:14px 22px;font-weight:700;font-size:14px}
.menu{display:none;border:0;background:none;font-size:24px}
.hero{min-height:650px;background:#11171d;color:#fff;display:grid;grid-template-columns:46% 54%;overflow:hidden}
.hero-copy{padding:105px 5vw 70px;z-index:2}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--lime)}
.eyebrow.dark{color:var(--blue)}
h1{font:700 clamp(52px,6vw,88px)/.93 Space Grotesk;margin:26px 0;letter-spacing:-.065em}
h1 em{color:var(--lime);font-style:normal}
.hero-copy>p{max-width:600px;color:#bfc6cb;font-size:17px;line-height:1.75}
.actions{display:flex;gap:25px;align-items:center;margin:36px 0}
.secondary{font-size:14px;font-weight:700}
.trust{border-top:1px solid #30373d;padding-top:25px;display:flex;gap:22px;font-size:12px;color:#aeb7bd}
.trust span::first-letter{color:var(--lime)}
.hero-visual{position:relative;background:linear-gradient(145deg,#173952,#0b1b27 70%)}
.sun{position:absolute;width:230px;height:230px;border-radius:50%;background:#b9ff43;filter:blur(1px);top:80px;right:12%;opacity:.95}
.mountains{position:absolute;inset:230px 0 0;background:linear-gradient(140deg,transparent 35%,#17313e 35% 49%,transparent 49%),linear-gradient(220deg,transparent 40%,#0e2835 40% 63%,transparent 63%)}
.van{position:absolute;width:480px;height:210px;background:#e8ebea;border-radius:60px 90px 20px 18px;bottom:66px;left:7%;box-shadow:0 25px 50px #061018}
.van:before{content:"";position:absolute;top:-30px;left:70px;width:250px;height:45px;border-radius:6px 15px 2px 2px;background:#dce2df;transform:skew(-14deg)}
.window{position:absolute;width:135px;height:73px;background:#132d3d;right:53px;top:26px;border-radius:8px 43px 3px 3px;transform:skew(7deg)}
.door{position:absolute;left:185px;top:18px;width:3px;height:170px;background:#c3c9c8}
.van b{position:absolute;width:77px;height:77px;border:14px solid #252a2e;background:#78838a;border-radius:50%;bottom:-30px;left:70px}
.van b:last-child{left:auto;right:65px}
.panel{position:absolute;width:280px;height:18px;background:#162931;bottom:282px;left:18%;transform:skew(-14deg);z-index:2;border:2px solid #73838a}
.panel i{display:inline-block;width:23%;height:100%;border-right:1px solid #8da2aa}
.energy-card{position:absolute;right:5%;bottom:75px;background:#fff;color:var(--ink);padding:18px 22px;width:190px;box-shadow:0 20px 40px #06101880}
.energy-card span,.energy-card small{font-size:9px;letter-spacing:.12em;color:#7c858d}
.energy-card strong{display:block;font:700 29px Space Grotesk;margin:4px 0;color:var(--blue)}
.strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;padding:30px 5vw}
.strip>div{display:flex;gap:16px;padding:8px 25px;border-right:1px solid #ddd}
.strip>div:last-child{border:0}
.strip b{color:var(--blue);font:700 12px Space Grotesk}
.strip span{font-weight:700;font-size:14px}
.strip small{font-weight:500;color:var(--muted)}
.products{padding:105px 5vw}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}
.section-head h2,.install h2,.contact h2{font:700 clamp(38px,4vw,58px)/1 Space Grotesk;letter-spacing:-.045em;margin:15px 0}
.section-head p{max-width:430px;color:var(--muted);line-height:1.7}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{background:white;transition:.25s}
.product-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #18212a14}
.product-art{height:270px;position:relative;overflow:hidden}
.solar{background:linear-gradient(150deg,#cbd7db,#7594a1)}
.mini-panel{position:absolute;inset:55px 30px 35px;background:repeating-linear-gradient(90deg,#172934 0 34px,#9ab0b8 35px 37px),repeating-linear-gradient(0deg,transparent 0 28px,#9ab0b8 29px 31px);transform:perspective(500px) rotateX(54deg);border:8px solid #17232a;box-shadow:0 20px 25px #26383e99}
.tag{position:absolute;top:18px;left:18px;background:var(--lime);padding:8px 12px;font-size:9px;font-weight:800;letter-spacing:.1em}
.battery{background:#dce4e2;display:grid;place-items:center}
.battery-box{width:180px;height:125px;border-radius:8px;background:#152025;color:white;padding:30px;box-shadow:0 28px 30px #50656c55}
.battery-box span{font-size:10px;color:var(--lime);letter-spacing:.12em}
.battery-box b{display:block;font:700 28px Space Grotesk;margin-top:8px}
.smart{background:linear-gradient(140deg,#d2d8d4,#a3b2af);display:grid;place-items:center}
.screen{width:190px;height:135px;border:9px solid #171c20;background:#112a38;color:white;border-radius:12px;padding:18px;box-shadow:0 25px 30px #364c5280}
.screen span{font-size:8px;letter-spacing:.15em}
.screen b{display:block;font:700 29px Space Grotesk;color:var(--lime);margin:8px 0}
.screen i{display:inline-block;width:35px;height:18px;background:#1e4b5e;margin-right:5px}
.product-info{padding:28px}
.product-info small{font-size:10px;font-weight:800;color:var(--blue);letter-spacing:.13em}
.product-info h3{font:700 25px Space Grotesk;margin:9px 0}
.product-info p{font-size:14px;color:var(--muted);line-height:1.65;min-height:70px}
.product-info a{display:flex;justify-content:space-between;border-top:1px solid #e6e8e4;padding-top:18px;margin-top:20px;font-size:13px;font-weight:800}
.product-info a span{color:var(--blue)}
.install{background:#10171c;color:white;padding:100px 8vw;display:grid;grid-template-columns:1.5fr .8fr;gap:10vw}
.install>div>p{color:#abb5bb;max-width:650px;line-height:1.8}
.install ul{list-style:none;padding:20px 0 0}
.install li{padding:18px 0;border-top:1px solid #313a40;font-weight:600}
.install li b{color:var(--lime);font-size:11px;margin-right:25px}
.install aside{background:var(--blue);padding:45px;align-self:center}
.install aside span{font-size:10px;font-weight:800;letter-spacing:.15em}
.install aside strong{font:700 32px/1.25 Space Grotesk;display:block;margin:28px 0}
.install aside em{color:var(--lime);font-style:normal}
.install aside p{font-size:13px;color:#dbe8ff}
.contact{text-align:center;padding:105px 20px;background:var(--lime)}
.contact p{max-width:610px;margin:20px auto 35px;line-height:1.7}
.contact-actions{display:flex;justify-content:center;align-items:center;gap:25px}
.contact .primary{background:var(--ink)}
.phone{font-weight:800}
footer{background:#080b0d;color:#aab2b7;padding:50px 5vw;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;font-size:13px}
.brand.light{color:#fff}
.brand.light small{color:#8b959b}
footer>div{display:flex;gap:25px}
footer>small{grid-column:1/-1;border-top:1px solid #252a2d;padding-top:25px}
.product-card,.primary,.header-cta{border-radius:2px}
@media(max-width:900px){nav,.header-cta{display:none}
.menu{display:block;margin-left:auto}
.hero{grid-template-columns:1fr}
.hero-copy{padding:70px 6vw}
.hero-visual{height:450px}
.strip{grid-template-columns:1fr 1fr}
.grid{grid-template-columns:1fr}
.product-art{height:320px}
.install{grid-template-columns:1fr}
.section-head{display:block}
.hero{min-height:auto}
.trust{flex-wrap:wrap}
.van{transform:scale(.8);transform-origin:left bottom}
.energy-card{right:3%}
footer{grid-template-columns:1fr}
footer>small{grid-column:auto}
}
@media(max-width:520px){.notice{font-size:9px}
.hero-copy{padding-top:55px}
.actions,.contact-actions{align-items:flex-start;flex-direction:column}
.strip{grid-template-columns:1fr}
.strip>div{border-right:0;border-bottom:1px solid #ddd}
.hero-visual{height:350px}
.van{left:-5%;transform:scale(.62)}
.panel{left:8%;bottom:215px;transform:scale(.75) skew(-14deg);transform-origin:left}
.energy-card{bottom:25px;transform:scale(.8);transform-origin:right bottom}
.grid .product-art{height:240px}
.install{padding:75px 6vw}
.install aside{padding:30px}
footer>div{flex-direction:column;gap:12px}
}

@media(max-width:900px){nav.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;gap:20px;box-shadow:0 12px 20px #0002}
}
.hero-product{background:#fff;display:flex;align-items:center;justify-content:center;padding:22px}
.hero-product img{display:block;width:100%;height:auto;max-height:606px;object-fit:contain}
.hero-product.hero-lifestyle{padding:0;background:#111}
.hero-product.hero-lifestyle img{height:100%;max-height:none;object-fit:cover;object-position:center}
@media(max-width:900px){.hero-product{height:auto;min-height:390px;padding:16px}
.hero-product img{max-height:none}
}
@media(max-width:520px){.hero-product{min-height:270px;padding:8px}
}


/* Thème clair inspiré de la structure sobre demandée */
body{background:#fff}
.hero{background:#fff;color:var(--ink);border-bottom:1px solid #eceeea}
.hero-copy>p{color:#626b72}
.trust{border-color:#e1e5e1;color:#626b72}
.secondary{color:var(--ink)}
.strip{border-bottom:1px solid #eceeea}
.products{background:#fff}
.install{background:#fff;color:var(--ink);border-top:1px solid #eceeea}
.install>div>p{color:var(--muted)}
.install li{border-color:#e1e5e1}
.install aside{color:#fff}
.contact{background:#f4f5f1}
footer{background:#fff;color:#687078;border-top:1px solid #e2e5e1}
.brand.light{color:var(--ink)}
header{justify-content:space-between}
header nav{margin:0 0 0 auto}
.hero .eyebrow{color:var(--blue)}
h1 em{color:var(--blue)}

.grid{grid-template-columns:repeat(2,1fr)}
.security{background:linear-gradient(145deg,#e1e7e7,#9aabad);display:grid;place-items:center}
.shield{width:120px;height:145px;background:#111a20;clip-path:polygon(50% 0,92% 16%,88% 65%,50% 100%,12% 65%,8% 16%);display:grid;place-items:center;filter:drop-shadow(0 22px 18px #32434a55)}
.shield span{width:52px;height:52px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:#111;font-size:30px;font-weight:800}
@media(max-width:900px){.grid{grid-template-columns:1fr}
}

.team-story{max-width:760px}
.team-story p{color:var(--muted);font-size:16px;line-height:1.8;margin:0 0 18px}
.team-story strong{color:var(--ink);font-weight:800}


/* Direction visuelle sportive et automobile */
:root{--blue:#0057ff;--lime:#baff2a;--ink:#080b0f}
.brand-mark{clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);transform:none;padding:10px 12px;box-shadow:5px 0 0 var(--lime)}
header{height:88px;border-bottom:4px solid var(--ink);position:sticky}
nav a{position:relative;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
nav a:after{content:"";position:absolute;height:3px;left:0;right:100%;bottom:-14px;background:var(--blue);transition:.22s}
nav a:hover:after{right:0}
.hero{min-height:680px;position:relative}
.hero:before{content:"";position:absolute;left:0;top:0;width:9px;height:100%;background:var(--blue)}
.hero-copy{padding-top:120px;position:relative}
.hero-copy:after{content:"";position:absolute;width:145px;height:12px;background:var(--lime);left:5vw;top:87px;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
h1{text-transform:uppercase;font-style:italic;font-weight:700;line-height:.88;letter-spacing:-.075em;text-shadow:3px 3px 0 #dfe4e3}
h1 em{display:inline-block;color:#fff;background:var(--blue);padding:5px 22px 10px 12px;clip-path:polygon(0 0,100% 0,94% 100%,0 100%);text-shadow:none}
.primary,.header-cta{clip-path:polygon(0 0,93% 0,100% 50%,93% 100%,0 100%,7% 50%);padding:17px 30px;text-transform:uppercase;letter-spacing:.04em;transition:.2s}
.primary:hover{background:var(--ink);transform:translateX(5px)}
.secondary{text-transform:uppercase;letter-spacing:.04em}
.hero-product{position:relative;border-left:1px solid #e3e6e3}
.hero-product:after{content:"AUTONOMIE";position:absolute;right:18px;bottom:18px;background:var(--ink);color:#fff;font:800 14px Space Grotesk;padding:10px 16px;border-left:5px solid var(--lime);letter-spacing:.12em}
.strip{border-top:1px solid #e0e3e0}
.strip b{background:var(--ink);color:var(--lime);padding:7px 9px;align-self:flex-start;transform:skew(-8deg)}
.section-head h2,.install h2,.contact h2{text-transform:uppercase;font-style:italic}
.products{position:relative}
.products:before{content:"";position:absolute;top:0;left:5vw;width:90px;height:8px;background:var(--blue)}
.product-card{border:1px solid #d8ddda;border-bottom:5px solid var(--ink);position:relative}
.product-card:before{content:"";position:absolute;top:0;right:0;width:38px;height:7px;background:var(--blue);z-index:2}
.product-card:hover{transform:translateY(-8px);border-bottom-color:var(--blue);box-shadow:12px 16px 0 #dce2df}
.product-info h3{text-transform:uppercase;font-style:italic}
.product-info a{text-transform:uppercase;letter-spacing:.04em}
.install{position:relative;border-top:6px solid var(--ink)}
.install:before{content:"";position:absolute;left:0;top:-6px;width:28%;height:6px;background:var(--blue)}
.install aside{clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%);box-shadow:14px 14px 0 var(--lime)}
.contact{border-top:1px solid #d9ddda}
.contact .primary{background:var(--blue)}
footer{border-top:6px solid var(--ink)}
@media(max-width:900px){.hero-copy:after{left:6vw}
.hero-product{border-left:0;border-top:1px solid #e3e6e3}
.hero{min-height:auto}
}
@media(max-width:520px){header{height:76px}
.hero-copy{padding-top:80px}
.hero-copy:after{top:55px;width:95px;height:8px}
h1{text-shadow:2px 2px 0 #dfe4e3}
.hero-product:after{font-size:11px;right:8px;bottom:8px}
}

/* Logo officiel intégré */
.brand-logo{display:block;flex:0 0 auto;width:250px;height:74px;overflow:hidden}
.brand-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.footer-logo{width:285px;height:121px}
@media(max-width:900px){.brand-logo{width:210px;height:66px}}
@media(max-width:520px){.brand-logo{width:175px;height:58px}.footer-logo{width:230px;height:98px}}

/* Modernisation des vans */
.modernisation{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);background:var(--ink);color:#fff;overflow:hidden}
.modernisation-image{position:relative;min-height:610px;overflow:hidden}
.modernisation-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 62%,rgba(17,23,29,.72))}
.modernisation-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.modernisation-image>span{position:absolute;z-index:2;left:28px;bottom:26px;padding:10px 15px;background:var(--blue);color:#fff;font:800 12px Space Grotesk;letter-spacing:.14em}
.modernisation-copy{padding:82px 5vw 82px 4vw;align-self:center}
.modernisation-copy h2{max-width:650px;margin:14px 0 25px;font:700 clamp(36px,4.2vw,64px)/.98 Space Grotesk;text-transform:uppercase;font-style:italic}
.modernisation-copy>p{max-width:680px;color:#c8d0d5;font-size:16px;line-height:1.75}
.modernisation-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:27px 0}
.modernisation-points span{padding:13px 14px;border-left:4px solid var(--lime);background:#ffffff0b;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.modernisation-copy .modernisation-note{color:#fff;font-weight:700;margin-bottom:28px}
@media(max-width:950px){.modernisation{grid-template-columns:1fr}.modernisation-image{min-height:480px}.modernisation-image:after{background:linear-gradient(0deg,rgba(17,23,29,.5),transparent 55%)}.modernisation-copy{padding:65px 6vw}}
@media(max-width:520px){.modernisation-image{min-height:340px}.modernisation-copy h2{font-size:36px}.modernisation-points{grid-template-columns:1fr}.modernisation-copy{padding:52px 6vw 65px}}

/* Galerie des réalisations */
.realisations{padding:105px 5vw;background:#eef1ef;border-top:6px solid var(--ink);position:relative}
.realisations:before{content:"";position:absolute;top:-6px;left:0;width:32%;height:6px;background:var(--blue)}
.realisations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:430px;gap:20px}
.realisation-card{margin:0;position:relative;overflow:hidden;background:#111;border-bottom:6px solid var(--blue)}
.realisation-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.realisation-card:hover img{transform:scale(1.035)}
.realisation-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#080b0fd9)}
.realisation-card figcaption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}
.realisation-card figcaption span{display:block;color:var(--lime);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:7px}
.realisation-card figcaption strong{font:700 25px Space Grotesk;text-transform:uppercase;font-style:italic}
.realisation-wide:first-child img{object-position:center 55%}
.realisation-wide:last-child img{object-position:center 72%}
.realisation-feature img{object-position:center 58%}
@media(min-width:1000px){.realisations-grid{grid-template-columns:1.25fr .75fr .75fr}.realisation-feature{grid-column:1/-1;height:470px}.realisation-wide:not(.realisation-feature){grid-row:span 2}.realisation-wide:last-child{grid-column:2/span 2;grid-row:auto}}
@media(max-width:700px){.realisations{padding:75px 6vw}.realisations-grid{grid-template-columns:1fr;grid-auto-rows:370px}.realisation-card figcaption strong{font-size:21px}}
