:root{--navy:#0d0e10;--navy2:#17191c;--navy3:#26292e;--d1:#070708;--d2:#09090a;--d3:#121316;--on-accent:#111;--yellow:#ff8a00;--glow:#ff8a0026;--glow2:#ff8a0088;--accent-hover:#ffa33a;--accent-dark:#c96a00;--white:#fff;--grey:#f4f1ec;--text:#1d2128;--muted:#6b675f;--r:14px;--max:1120px}
/* Thème : <html data-theme="orange"> ou "vert" */
:root[data-theme="schneider"]{--yellow:#3dcd58;--glow:#3dcd5826;--glow2:#3dcd5888;--accent-hover:#63dc7a;--accent-dark:#2a9a40;--navy:#0b110d;--navy2:#142019;--navy3:#233329;--d1:#060a07;--d2:#080c09;--d3:#0f1612}
:root[data-theme="vert"]{--yellow:#2ee66b;--glow:#2ee66b24;--glow2:#2ee66b88;--accent-hover:#5cf08c;--accent-dark:#12994a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#fff;padding-bottom:64px}
img,svg{max-width:100%}a{color:var(--navy3)}a:hover{color:#000}
.wrap{width:min(100% - 32px,var(--max));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--yellow);color:#000;padding:8px 14px;z-index:99;border-radius:8px}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
h1,h2,h3{line-height:1.2;color:var(--navy)}h1{font-size:clamp(1.9rem,4.6vw,3.1rem);margin:.2em 0}h2{font-size:clamp(1.4rem,3vw,2rem);margin:1.4em 0 .5em}h3{font-size:1.15rem;margin:.2em 0}
.todo{background:#fff2a8;color:#5a4300;padding:0 4px;border-radius:4px;font-style:normal}
/* header */
.site-header{background:var(--navy);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #0004}
.bar{display:flex;align-items:center;gap:16px;min-height:68px}
.logo{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#fff;line-height:1;margin-right:auto}
.logo-word{font-weight:800;font-size:1.55rem;letter-spacing:.02em;display:flex;align-items:baseline}
.logo-word .bolt{height:.76em;width:.62em;color:var(--yellow);margin:0 .03em}
.logo-sub{font-size:.62rem;letter-spacing:.5em;color:var(--yellow);margin-top:3px;padding-left:.5em;text-transform:uppercase;font-weight:600}
nav#menu ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
nav#menu a{color:#efebe4;text-decoration:none;padding:8px 11px;border-radius:8px;font-weight:600;font-size:.93rem}
nav#menu a:hover,nav#menu a[aria-current]{background:var(--navy3);color:#fff}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer}.burger span{display:block;width:24px;height:3px;background:#fff;margin:4px 0;border-radius:2px}
.btn{display:inline-block;padding:10px 18px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:700}
.btn-yellow{background:var(--yellow);color:#111}.btn-yellow:hover{background:var(--accent-hover);color:#000}
.btn-ghost{border-color:#fff;color:#fff;background:transparent}.btn-ghost:hover{background:#fff2;color:#fff}
.btn-call{border-color:var(--yellow);color:var(--yellow)}.btn-call:hover{background:var(--yellow);color:#000}
.btn-lg{padding:14px 26px;font-size:1.05rem}
/* hero */
.hero{background:radial-gradient(1200px 500px at 80% -10%,var(--glow),transparent),linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:72px 0 80px}
.hero-sm{padding:44px 0 50px}
.hero h1{color:#fff;max-width:20ch}.hero .lead{font-size:1.2rem;max-width:60ch;color:#e6e1d9}
.kicker{color:var(--yellow);text-transform:uppercase;letter-spacing:.25em;font-size:.8rem;font-weight:700;margin:0}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.crumb{padding:12px 0;font-size:.85rem;color:var(--muted)}.crumb a{color:inherit}
/* sections */
.section{padding:36px 0}.narrow{max-width:800px}
.band{background:var(--grey);color:var(--text);border-bottom:1px solid #e6e1d9}.band strong{color:var(--navy)}.trust div{border-left:3px solid var(--yellow);padding-left:12px}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 0}
.trust div{display:flex;flex-direction:column}.trust strong{font-size:1rem}.trust span{font-size:.88rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:#fff;border:1px solid #e6e1d9;border-top:4px solid var(--yellow);border-radius:var(--r);padding:20px;box-shadow:0 4px 14px #0d0e1012}
.card a{font-weight:700}
.ph-img{height:150px;border-radius:10px;background:repeating-linear-gradient(45deg,#ece8e1,#ece8e1 10px,#f6f3ee 10px,#f6f3ee 20px);display:grid;place-items:center;color:var(--muted);margin-bottom:10px}
.split{background:var(--grey);padding:40px 0}.two{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start}
.panel{background:var(--navy);color:#efebe4;padding:24px;border-radius:var(--r)}.panel h2{color:#fff;margin-top:0}.panel a{color:var(--yellow)}.panel .btn-yellow{color:#111}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding:8px 0 8px 48px}
.steps li:before{content:counter(s);position:absolute;left:0;top:6px;width:34px;height:34px;border-radius:50%;background:var(--yellow);color:#111;font-weight:800;display:grid;place-items:center}
.check{list-style:none;padding:0}.check li{padding:4px 0 4px 28px;position:relative}.check li:before{content:"✓";position:absolute;left:0;color:var(--accent-dark);font-weight:800}
.tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.tags li{background:var(--navy);color:#fff;padding:8px 16px;border-radius:999px;font-weight:600}
.svc{padding:22px 0;border-bottom:1px solid #e8e3da;scroll-margin-top:90px}.svc h2{margin-top:0}.price{font-weight:700}
.alert{background:#fff4f4;border-left:5px solid #d33;padding:14px 18px;border-radius:8px;margin:20px 0}
.cta-band{background:var(--navy);color:#fff;text-align:center;padding:48px 0}.cta-band h2{color:#fff;margin-top:0}
details{border:1px solid #e6e1d9;border-radius:10px;margin:10px 0;padding:0 16px}summary{cursor:pointer;font-weight:700;padding:14px 0}details[open] summary{color:var(--navy3)}
/* form */
.form .f{margin-bottom:14px;display:flex;flex-direction:column}label{font-weight:600;margin-bottom:4px}
input,select,textarea{font:inherit;padding:11px 12px;border:1.5px solid #bdb7ab;border-radius:10px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--navy3)}
.f.chk{flex-direction:row;gap:10px;align-items:flex-start}.f.chk input{width:auto;margin-top:5px}.f.chk label{font-weight:400}
.hp{position:absolute;left:-9999px}.invalid{border-color:#d33!important}
#form-status{font-weight:600}.small{font-size:.88rem;color:var(--muted)}
.legal table{border-collapse:collapse;width:100%;font-size:.9rem}.legal td,.legal th{border:1px solid #d8d2c7;padding:8px;text-align:left;vertical-align:top}.legal th{background:var(--grey)}
/* footer */
.site-footer{background:var(--d2);color:#d0cbc1;padding:40px 0 20px}.site-footer h2{color:#fff;font-size:1rem;margin-top:0}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{padding:3px 0}.site-footer a{color:#d0cbc1}.site-footer a:hover{color:var(--yellow)}
.grid4{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.site-footer .logo{align-items:flex-start;margin-bottom:10px}
.copy{margin-top:26px;font-size:.82rem;border-top:1px solid #ffffff22;padding-top:14px}
.bottomnav{display:none}
/* cookie */
.cookie{position:fixed;left:12px;right:12px;bottom:12px;max-width:620px;background:#fff;border:2px solid var(--navy);border-radius:var(--r);padding:16px;z-index:100;box-shadow:0 10px 30px #0006}
.cookie[hidden]{display:none}.cookie .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.cookie .btn-ghost{border-color:var(--navy);color:var(--navy)}
@media(max-width:900px){
 .burger{display:block}.hide-sm{display:none}
 nav#menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy2);padding:10px 16px 16px}
 nav#menu.open{display:block}nav#menu ul{flex-direction:column}
 .two{grid-template-columns:1fr}.trust{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr}
 .btn-call{display:none}
}
@media(max-width:520px){.grid4,.trust{grid-template-columns:1fr}.hero{padding:48px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== v2 : masthead (hero logo) + nav sous le hero ===== */
.topbar{background:var(--d1);color:#bdb7ac;font-size:.82rem}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.topbar a{color:var(--yellow);font-weight:700;text-decoration:none;margin-left:14px}.tb-r{display:flex;gap:6px;align-items:center}
.masthead{position:relative;overflow:hidden;text-align:center;color:#fff;padding:clamp(48px,9vw,110px) 0 clamp(40px,6vw,72px);
 background:radial-gradient(900px 420px at 50% 28%,var(--glow),transparent 70%),linear-gradient(180deg,var(--d3),var(--navy))}
.masthead:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,transparent 1px 4px);pointer-events:none}
.masthead .wrap{position:relative;z-index:1}
.lockup{margin:0;font-weight:800;font-size:clamp(2.6rem,10.5vw,7rem);letter-spacing:.015em;line-height:1;display:flex;justify-content:center;align-items:baseline}
.lockup .bolt{height:.76em;width:.64em;color:var(--yellow);margin:0 .02em;filter:drop-shadow(0 0 16px var(--glow2))}
.lockup-sub{display:flex;align-items:center;justify-content:center;gap:clamp(12px,3vw,32px);margin:clamp(8px,1.5vw,18px) auto 0;max-width:760px}
.lockup-sub i{flex:1;height:3px;background:var(--yellow);border-radius:2px}
.lockup-sub b{font-weight:600;letter-spacing:.55em;text-transform:uppercase;font-size:clamp(.9rem,2.8vw,1.7rem);padding-left:.55em}
.lockup-tag{margin:clamp(18px,3vw,34px) 0 0;text-transform:uppercase;letter-spacing:.3em;font-size:clamp(.68rem,1.7vw,1rem);color:#eae6df}
.lockup-tag em{color:var(--yellow);font-style:normal;margin:0 .6em}
.mast-h1{font-size:clamp(1.15rem,2.6vw,1.7rem);font-weight:600;margin:clamp(26px,4vw,44px) auto 8px;color:#fff;max-width:44ch}
.masthead .lead{color:#d8d2c8;margin:0 auto;max-width:52ch}
.masthead .cta{justify-content:center}
/* nav sous le masthead sur l'accueil : logo compact caché tant que la nav n'est pas collée */
.site-header.on-home .logo{display:none}.site-header.on-home.stuck .logo{display:flex}
.site-header.on-home nav#menu{margin-inline:auto}
.site-header.on-home .bar{justify-content:center}
.site-header{border-top:3px solid var(--yellow)}
@media(min-width:901px){.site-header.on-home .btn-call{display:none}.site-header.on-home.stuck .btn-call{display:inline-block}}
@media(max-width:900px){
 body{padding-bottom:62px}
 .topbar .wrap>span:first-child{display:none}.topbar .wrap{justify-content:center}
 .site-header.on-home .logo{display:flex}.site-header.on-home .bar{justify-content:flex-start}
 .site-header .logo{margin-right:auto}.site-header .logo-word{font-size:1.25rem}
 .bottomnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);border-top:3px solid var(--yellow);padding-bottom:env(safe-area-inset-bottom)}
 .bottomnav a{color:#efebe4;text-decoration:none;text-align:center;font-weight:700;font-size:.82rem;padding:14px 4px}
 .bottomnav a.call{background:var(--yellow);color:#111}
 .cookie{bottom:74px}
}
@media(max-width:520px){.lockup-tag{letter-spacing:.14em;font-size:.66rem}.lockup-tag em{margin:0 .35em}}

/* ===== barre de développement : sélecteur de thème (à retirer en production) ===== */
.devbar{background:#fff;color:#222;border-bottom:2px solid #000;font-size:.8rem;position:relative;z-index:200}
.devbar .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0}
.devbar strong{letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;background:#222;color:#fff;padding:2px 8px;border-radius:4px}
.devbar .opts{display:flex;gap:6px;flex-wrap:wrap}
.devbar button{display:flex;align-items:center;gap:7px;font:inherit;font-weight:600;padding:5px 12px 5px 6px;border:2px solid #d3d3d3;border-radius:999px;background:#fff;color:#222;cursor:pointer}
.devbar button i{width:18px;height:18px;border-radius:50%;background:var(--sw);border:2px solid #111}
.devbar button[aria-pressed="true"]{border-color:#111;background:#111;color:#fff}
.devbar .hint{color:#666;margin-left:auto}
@media(max-width:700px){.devbar .hint{display:none}}
