/* ============================================================
   SORAVO — styles partagés des pages "leviers" (services/*.html)
   Dérivé de la charte d'index.html : néon vivant sur fond noir.
   ============================================================ */
:root{
  --noir:#0E0D0C;--noir-2:#161311;--panel:#1B1714;--cream:#FAF6F0;
  --coral:#FF5A36;--gold:#FFC15E;--mint:#36E2A0;--muted:#9A918699;--muted-s:#9a9189;
  --grad:linear-gradient(120deg,var(--coral),var(--gold));
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* Mobile : le site est déjà sombre — empêche Samsung Internet / Chrome auto-dark de ré-assombrir les couleurs (corail→rouge foncé, crème→gris). Signal principal : <meta name="color-scheme" content="dark"> dans le <head>. */
@media (max-width:768px){
  :root{color-scheme:dark}
  input,textarea,select{color-scheme:light}
}
@media (prefers-color-scheme:dark) and (max-width:768px){
  :root{color-scheme:dark}
}
/* Vrai support déclaré du mode sombre : Samsung Internet affiche alors le thème du site au lieu de forcer son filtre. Valeurs identiques au design de base = aucun changement visuel. */
@media (prefers-color-scheme:dark){
  html{background:var(--noir)}
  body{background:var(--noir);color:var(--cream)}
}
/* Desktop : neutralise la meta pour garder le rendu natif actuel (scrollbars claires). */
@media (min-width:769px){
  :root{color-scheme:light}
}
body{background:var(--noir);color:var(--cream);font-family:'Manrope',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
h1,h2,h3,.serif{font-family:'Newsreader',serif;font-weight:600;letter-spacing:-.01em;line-height:1.12}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:700}
section{position:relative}

/* ---------- NAV ---------- */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(14,13,12,.72);border-bottom:1px solid rgba(250,246,240,.07)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:11px}
.brand .bdg{width:34px;height:34px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center}
.brand .bdg span{font-weight:800;color:var(--noir);font-size:21px;margin-top:-1px}
.brand .wm{font-family:'Fraunces',serif;font-weight:600;font-size:24px}
.brand .wm .ac{font-style:italic;color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-size:.92rem;color:#d8d2c9;transition:color .2s}
.nav-links a:hover{color:var(--cream)}
.nav-right{display:flex;align-items:center;gap:18px}
.lang{display:flex;gap:2px;font-size:.78rem;font-weight:700;color:var(--muted-s)}
.lang button{background:none;border:none;color:var(--muted-s);cursor:pointer;font-weight:700;font-size:.78rem;padding:4px 6px;border-radius:6px}
.lang button.on{color:var(--noir);background:var(--cream)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Manrope';font-weight:700;font-size:.92rem;padding:12px 22px;border-radius:999px;border:none;cursor:pointer;transition:transform .15s,box-shadow .2s}
.btn-primary{background:var(--grad);color:var(--noir);box-shadow:0 8px 26px rgba(255,90,54,.32)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(255,90,54,.42)}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(250,246,240,.25)}
.btn-ghost:hover{border-color:var(--cream)}

/* ---------- Menu déroulant « Services » ---------- */
.has-sub{position:relative}
.has-sub>a::after{content:"▾";font-size:.55rem;margin-left:6px;opacity:.7;vertical-align:2px}
.sub{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,6px);background:rgba(22,19,17,.97);backdrop-filter:blur(14px);border:1px solid rgba(250,246,240,.12);border-radius:16px;padding:10px;min-width:248px;opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s;box-shadow:0 18px 44px rgba(0,0,0,.55);z-index:60}
.sub::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-links .sub a,.sub a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:.92rem;color:#d8d2c9;white-space:nowrap}
.sub a:hover{background:rgba(255,90,54,.14);color:var(--cream)}
.sub a .ic{flex:none}
/* Menu hamburger (mobile) */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid rgba(250,246,240,.2);border-radius:12px;background:rgba(250,246,240,.04);cursor:pointer;padding:0 11px}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--cream);border-radius:2px;transition:transform .25s,opacity .2s}
header.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.nav.open .nav-toggle span:nth-child(2){opacity:0}
header.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-cta{display:none}
/* Barre de contact fixe (mobile) */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;align-items:center;justify-content:center;gap:8px;
  padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:var(--grad);color:var(--noir);
  font-family:'Manrope',sans-serif;font-weight:800;font-size:1rem;box-shadow:0 -8px 30px rgba(0,0,0,.45);border-top:1px solid rgba(255,193,94,.4)}
.mobile-bar:active{filter:brightness(.95)}

/* ---------- HERO de page ---------- */
.page-hero{padding:84px 0 64px;text-align:left;overflow:hidden;isolation:isolate}
/* Photo de fond ultra HD propre à chaque levier (image inline sur .hero-photo) */
.page-hero .hero-photo{position:absolute;inset:0;z-index:0;pointer-events:none;background-size:cover;background-position:center}
.page-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  radial-gradient(480px 340px at 18% -10%,rgba(255,90,54,.26),transparent 70%),
  radial-gradient(420px 320px at 88% 16%,rgba(255,193,94,.16),transparent 70%),
  radial-gradient(380px 320px at 60% 110%,rgba(54,226,160,.08),transparent 70%)}
.page-hero .wrap{position:relative;z-index:2}
.crumb{font-size:.82rem;color:var(--muted-s);margin-bottom:26px}
.crumb a{color:#cfc8bf;border-bottom:1px solid rgba(250,246,240,.2)}
.crumb a:hover{color:var(--cream)}
.page-hero h1{font-size:clamp(34px,5.6vw,62px);margin-top:16px;max-width:18ch}
.page-hero h1 .it{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero .hero-sub{font-size:clamp(16px,1.9vw,19px);color:#cfc8bf;max-width:62ch;margin:20px 0 0}
@media(min-width:881px){.sec-head.oneline{max-width:none}.sec-head.oneline h2{white-space:nowrap;font-size:clamp(26px,3.6vw,42px)}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-micro{margin-top:16px;font-size:.82rem;color:var(--muted-s)}

/* ---------- Bandeau des 5 leviers ---------- */
/* Sous-en-tête des 5 solutions (sticky sous la nav principale) */
.lev-strip{background:#fff;border-bottom:1px solid rgba(14,13,12,.1);position:sticky;top:70px;z-index:40;box-shadow:0 6px 18px rgba(14,13,12,.04)}
.lev-strip .wrap{display:flex;gap:2px;justify-content:center;align-items:center;flex-wrap:wrap;padding-top:0;padding-bottom:0}
.lev-strip a{font-size:.92rem;color:#5b534b;font-weight:600;padding:16px 18px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s}
.lev-strip a:hover{color:var(--noir)}
.lev-strip a.on{color:#c2502f;border-bottom-color:#c2502f}

/* ---------- SECTIONS ---------- */
.sec{padding:88px 0;background:var(--cream);color:var(--noir)}
.sec .eyebrow{color:#c2502f}
.sec-head{max-width:640px}
.sec-head h2{font-size:clamp(28px,4.4vw,44px);margin-top:14px}
.sec-head p{color:#5b534b;margin-top:14px;font-size:1.05rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.hl{background:linear-gradient(transparent 62%,rgba(255,90,54,.34) 62%);padding:0 .06em}
.hl2{background:linear-gradient(transparent 62%,rgba(255,193,94,.4) 62%);padding:0 .06em}
.note-hand{font-family:'Caveat',cursive;font-size:1.4rem;color:#c2502f;display:inline-block;transform:rotate(-2deg);margin-top:18px}
.note-hand.gold{color:var(--gold)}

/* ---------- Cartes "problème" ---------- */
.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
.pain{background:#fff;border:1px solid rgba(14,13,12,.1);border-radius:20px;padding:28px}
.pain.tilt{transform:rotate(.7deg)}
.pain h3{font-size:1.28rem;display:flex;gap:11px;align-items:baseline}
.pain h3 .x{color:var(--coral);font-family:'Manrope';font-weight:800;flex:none}
.pain p{color:#6a625a;margin-top:10px;font-size:.95rem}

/* ---------- Section crème : bénéfices + livrables ---------- */
.why{background:var(--cream);color:var(--noir)}
.why .eyebrow{color:#c2502f}
.why .sec-head h2{color:var(--noir)}
.why .sec-head p{color:#5b534b}
.eq-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.eq-col{background:#fff;border:1px solid rgba(14,13,12,.12);border-radius:20px;padding:30px}
.eq-col h3{font-size:1.22rem;color:var(--noir)}
.eq-col ul{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:11px}
.eq-col li{color:#5b534b;padding-left:26px;position:relative;font-size:.97rem}
.eq-col li::before{content:"✦";position:absolute;left:0;color:#a39a90}
.eq-col.human{border:2px solid rgba(255,90,54,.5);transform:rotate(-1deg);box-shadow:8px 10px 0 rgba(255,90,54,.12)}
.eq-col.human li::before{content:"✓";color:#c2502f;font-weight:800}

/* ---------- PROCESS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;counter-reset:s}
.step{position:relative;padding:28px 22px;border:1px solid rgba(14,13,12,.1);border-radius:18px;background:#fff}
.step::before{counter-increment:s;content:"0" counter(s);font-family:'Newsreader',serif;font-weight:600;font-size:2rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-size:1.18rem;margin-top:10px}
.step p{color:#6a625a;margin-top:8px;font-size:.92rem}

/* ---------- Manifesto (page site web) ---------- */
.manifesto{padding:88px 0;border-top:1px solid rgba(14,13,12,.08);background:var(--cream);color:var(--noir)}
.manifesto .big-quote{font-family:'Newsreader',serif;font-weight:600;font-size:clamp(26px,4vw,46px);line-height:1.18;max-width:24ch;letter-spacing:-.01em}
.manifesto .sub2{color:#5b534b;margin-top:20px;max-width:62ch;font-size:1.06rem}

/* ---------- Comparatif site d'usine vs Soravo ---------- */
.vs-row{display:grid;grid-template-columns:.65fr 1fr 1fr;gap:26px;padding:32px 0;border-top:1px solid rgba(14,13,12,.12);align-items:start}
.vs-row:last-of-type{border-bottom:1px solid rgba(14,13,12,.12)}
.vs-theme{font-family:'Newsreader',serif;font-weight:600;font-size:1.35rem;padding-top:14px}
.vs-col h4{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;margin-bottom:10px}
.vs-col.them h4{color:#8d857c}
.vs-col.us h4{color:#1f9e6f}
.vs-col p{font-size:.95rem;color:#6a625a}
.vs-col.us{background:rgba(54,226,160,.05);border:1px solid rgba(54,226,160,.28);border-radius:16px;padding:18px 22px}
.vs-col.us p{color:#235c46}
.vs-col.them{padding:18px 2px}

/* ---------- Formules (accordéon, section crème) ---------- */
.formules{margin-top:44px}
.formule{background:#fff;border:1px solid rgba(14,13,12,.12);border-radius:20px;margin-bottom:16px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.formule.open{border-color:rgba(255,90,54,.55);box-shadow:8px 10px 0 rgba(255,90,54,.1)}
.formule-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;background:none;border:none;cursor:pointer;text-align:left}
.formule-head h3{font-family:'Newsreader',serif;font-weight:600;font-size:clamp(22px,3vw,32px);color:var(--noir)}
.formule-head .tag{flex:none;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#c2502f;border:1px solid rgba(194,80,47,.4);border-radius:999px;padding:6px 13px}
.formule-body{max-height:0;overflow:hidden;transition:max-height .45s ease}
.formule-in{padding:2px 28px 28px;display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:start}
.formule-in .desc p{color:#5b534b;font-size:.99rem}
.formule-in .desc .btn{margin-top:20px}
.formule-in .devis{font-size:.84rem;color:#8d857c;margin-top:12px}
.formule-in ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding-top:4px}
.formule-in li{color:#4a433c;font-size:.94rem;padding-left:24px;position:relative}
.formule-in li::before{content:"↳";position:absolute;left:0;color:#c2502f;font-weight:700}

/* ---------- Pill « maquette 48 h » (héros) ---------- */
.hero-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(54,226,160,.45);background:rgba(54,226,160,.09);border-radius:999px;padding:8px 17px;font-size:.8rem;font-weight:700;color:var(--cream);margin:26px 0 4px}
.hero-pill .pulse{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);animation:pillPulse 2s ease-in-out infinite;flex:none}
@keyframes pillPulse{50%{opacity:.4}}
@media (prefers-reduced-motion:reduce){.hero-pill .pulse{animation:none}}

/* ---------- Univers / secteurs (section crème) ---------- */
.uni-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.uni{background:#fff;border:1px solid rgba(14,13,12,.12);border-radius:18px;padding:24px 22px;transition:transform .2s,border-color .2s,box-shadow .2s}
.uni:hover{transform:translateY(-4px);border-color:rgba(255,90,54,.5);box-shadow:0 10px 24px rgba(14,13,12,.08)}
.uni .ic{font-size:26px;line-height:1}
.uni h3{font-size:1.08rem;color:var(--noir);margin-top:12px}
.uni p{color:#6a625a;font-size:.86rem;margin-top:8px;line-height:1.55}

/* ---------- Bandeau GEO inclus ---------- */
.geo-band{background:var(--noir-2);border-block:1px solid rgba(250,246,240,.08)}
.geo-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:52px;align-items:center;padding:80px 0}
.geo-grid h2{font-size:clamp(26px,4vw,40px)}
.geo-grid .txt p{color:#cfc8bf;margin-top:16px;font-size:1.05rem}
.geo-card{background:var(--panel);border:1px solid rgba(54,226,160,.4);border-radius:22px;padding:32px}
.geo-card ul{list-style:none;display:flex;flex-direction:column;gap:12px;color:#cfc8bf;font-size:.98rem}
.geo-card li{padding-left:26px;position:relative}
.geo-card li::before{content:"✓";position:absolute;left:0;color:var(--mint);font-weight:800}
.geo-card .more{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-weight:700;font-size:.92rem;color:var(--mint)}
.geo-card .more:hover{text-decoration:underline}

/* ---------- Empathie + Disponible (« Parlons franchement ») ---------- */
.emp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.emp-grid h2{font-size:clamp(26px,4vw,40px)}
.emp-grid .txt p{color:#5b534b;margin-top:16px;font-size:1.05rem}
.dispo-card{background:#fff;border:1px solid rgba(54,226,160,.55);border-radius:22px;padding:32px}
.dispo-head{display:flex;align-items:center;gap:12px;font-family:'Newsreader',serif;font-weight:600;font-size:1.45rem}
.dispo-dot{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint);animation:pulseDot 2s ease-in-out infinite;flex:none}
@keyframes pulseDot{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.dispo-dot{animation:none}}
.dispo-card ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:12px;color:#5b534b;font-size:.98rem}

/* ---------- « Les pièges du marché » (cartes à éviter) ---------- */
.avoid-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
.avoid{background:#fff;border:1px solid rgba(14,13,12,.1);border-radius:20px;padding:28px}
.avoid.tilt{transform:rotate(.7deg)}
.avoid h3{font-size:1.28rem;display:flex;gap:11px;align-items:baseline}
.avoid h3 .x{color:var(--coral);font-family:'Manrope';font-weight:800;flex:none}
.avoid p{color:#6a625a;margin-top:10px;font-size:.95rem}
.avoid .fix{margin-top:14px;color:#1f9e6f;font-size:.9rem;font-weight:600}

/* ---------- Cartes « décryptage » (vulgarisation) ---------- */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.info{background:#fff;border:1px solid rgba(14,13,12,.1);border-radius:20px;padding:30px;transition:transform .2s,border-color .2s}
.info:hover{transform:translateY(-4px);border-color:rgba(255,193,94,.5)}
.info .ic{width:52px;height:52px;border-radius:14px;background:rgba(255,90,54,.12);border:1px solid rgba(255,90,54,.25);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.info h3{font-size:1.32rem;color:var(--noir)}
.info p{color:#6a625a;margin-top:10px;font-size:.96rem}

/* ---------- Cartes « objectif » (objectif → solution) ---------- */
.obj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.obj{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(14,13,12,.1);border-radius:20px;padding:28px;transition:transform .2s,border-color .2s}
.obj:hover{transform:translateY(-4px);border-color:rgba(255,90,54,.5)}
.obj .ic{font-size:30px;line-height:1}
.obj h3{font-size:1.22rem;color:var(--noir);margin-top:14px}
.obj p{color:#6a625a;margin-top:9px;font-size:.94rem;flex:1}
.obj .sol{margin-top:16px;font-size:.82rem;color:#1f9e6f;font-weight:700;letter-spacing:.02em}
.obj .more{margin-top:8px;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.9rem;color:#c2502f}
.obj .more:hover{text-decoration:underline}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-top:44px}
.qa{border-bottom:1px solid rgba(14,13,12,.12)}
.qa button{width:100%;text-align:left;background:none;border:none;color:var(--noir);cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Newsreader',serif;font-weight:600;font-size:1.22rem}
.qa button .plus{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(14,13,12,.28);display:flex;align-items:center;justify-content:center;font-family:'Manrope';font-size:1.1rem;transition:transform .25s}
.qa.open button .plus{transform:rotate(45deg);background:var(--grad);color:var(--noir);border-color:transparent}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .3s ease;color:#5b534b}
.qa .ans p{padding-bottom:24px;font-size:1rem}

/* ---------- CTA ---------- */
.cta{padding:100px 0;background:linear-gradient(135deg,var(--coral),var(--gold))}
.cta-box{background:linear-gradient(135deg,rgba(255,90,54,.14),rgba(54,226,160,.08)),var(--cream);border:1px solid rgba(14,13,12,.12);border-radius:28px;padding:clamp(34px,4vw,56px);max-width:760px;margin:0 auto;color:var(--noir);text-align:center;position:relative;overflow:hidden;box-shadow:0 26px 60px rgba(14,13,12,.22)}
.cta-box h2{font-size:clamp(30px,5vw,50px);color:var(--noir)}
.cta-box p{margin:16px auto 0;max-width:48ch;font-size:1.1rem;color:#2a1a12}
.cta-box .btn{margin-top:28px;background:var(--noir);color:var(--cream);padding:16px 30px;font-size:1rem}
.cta-box .btn:hover{transform:translateY(-2px)}
.cta-box .mini{margin-top:16px;font-size:.78rem;color:#3a2418}

/* ---------- FOOTER ---------- */
footer{padding:64px 0 40px;border-top:1px solid rgba(250,246,240,.08)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot p{color:var(--muted-s);font-size:.92rem;margin-top:14px;max-width:34ch}
.foot h4{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;font-weight:700}
.foot a{display:block;color:#cfc8bf;font-size:.95rem;padding:5px 0}
.foot a:hover{color:var(--cream)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:24px;border-top:1px solid rgba(250,246,240,.08);color:var(--muted-s);font-size:.85rem}
.ph{outline:1px dashed rgba(255,193,94,.5);outline-offset:3px;border-radius:3px}

/* ---------- Effets ---------- */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--grad);z-index:100;box-shadow:0 0 12px rgba(255,90,54,.6)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

@media (prefers-reduced-motion:reduce){
  .progress{display:none}
  .reveal{opacity:1;transform:none;transition:none}
}

/* ---------- PAGES LÉGALES ---------- */
.legal{max-width:840px;margin-top:6px}
.legal h2{font-family:'Newsreader',serif;font-weight:600;font-size:1.5rem;color:var(--noir);margin-top:40px}
.legal h3{font-family:'Newsreader',serif;font-weight:600;font-size:1.14rem;color:var(--noir);margin-top:26px}
.legal p,.legal li{color:#5b534b;font-size:1rem;line-height:1.7}
.legal p{margin-top:12px}
.legal ul{margin-top:12px;padding-left:22px}
.legal li{margin-top:7px}
.legal strong{color:var(--noir)}
.legal a{color:#c2502f;text-decoration:underline}
.legal .upd{color:var(--muted-s);font-size:.88rem;margin-top:6px}
.legal .todo{display:block;background:rgba(255,193,94,.16);border:1px dashed rgba(180,120,20,.55);border-radius:12px;padding:13px 16px;color:#8a6a12;font-size:.92rem;margin-top:16px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:880px){
  /* --- Navigation mobile : menu hamburger --- */
  .nav-toggle{display:inline-flex}
  .nav-right .btn-primary{display:none}
  .nav-links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;
    background:rgba(14,13,12,.98);backdrop-filter:blur(14px);border-bottom:1px solid rgba(250,246,240,.1);
    padding:8px 0 18px;max-height:calc(100vh - 70px);overflow-y:auto;box-shadow:0 24px 50px rgba(0,0,0,.5)}
  header.nav.open .nav-links{display:flex}
  .nav-links>a,.has-sub>a{padding:15px 28px;font-size:1.06rem;border-bottom:1px solid rgba(250,246,240,.06)}
  .has-sub{position:static}
  .has-sub>a::after{float:right;opacity:.6}
  .sub{position:static;opacity:1;visibility:visible;transform:none;background:rgba(250,246,240,.03);
    border:none;border-radius:0;box-shadow:none;padding:2px 0 6px;min-width:0;display:block}
  .sub::before{display:none}
  .sub a{padding:13px 28px 13px 46px}
  .nav-cta{display:flex;margin:16px 24px 0;justify-content:center}
  /* Sous-en-tête solutions : barre défilante (non sticky) sur mobile */
  .lev-strip{position:static}
  .lev-strip .wrap{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:0;-webkit-overflow-scrolling:touch}
  .lev-strip a{padding:14px 15px;font-size:.86rem}
  /* --- grilles --- */
  .steps,.foot{grid-template-columns:1fr}
  .steps{gap:14px}
  .pain-grid,.eq-grid,.vs-row,.formule-in,.geo-grid,.emp-grid,.avoid-grid{grid-template-columns:1fr;gap:24px}
  .uni-grid,.info-grid,.obj-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .vs-theme{padding-top:0}
  .geo-grid{padding:64px 0}
  .formule-head{padding:20px 22px}
  .formule-in{padding:2px 22px 24px}
  /* --- Barre de contact fixe --- */
  .mobile-bar{display:flex}
  body{padding-bottom:74px}
}
@media(max-width:540px){
  .wrap{padding:0 20px}
  .uni-grid,.info-grid,.obj-grid{grid-template-columns:1fr}
  .eq-col.human{transform:none}
  .pain.tilt,.avoid.tilt{transform:none}
  .sec{padding:54px 0}
  .page-hero{padding:60px 0 50px}
  .page-hero h1{font-size:clamp(32px,9vw,46px)}
  .hero-cta{flex-direction:column;gap:12px}
  .hero-cta .btn{width:100%;justify-content:center}
  .cta .btn{width:100%;justify-content:center}
}
