/* Toutes les valeurs viennent de la charte : identite/charte.css (copiée en charte.css par la construction).
   Ne jamais écrire ici une couleur ou une police de la marque en dur. */
:root{
  --bg:var(--lk-fond); --surface:var(--lk-surface); --sunk:var(--lk-creux); --ink:var(--lk-encre); --ink-2:var(--lk-encre-2); --ink-3:var(--lk-encre-3);
  --line:var(--lk-trait); --water:var(--lk-eau); --works:var(--lk-chantier); --power:var(--lk-production); --aube:var(--lk-aube); --ok:var(--lk-ok); --team:var(--lk-equipe);
  --shadow:var(--lk-ombre);
  --display:var(--lk-police-titre); --body:var(--lk-police-texte); --serif:var(--lk-police-accent); --mono:var(--lk-police-donnees);
  --radius:var(--lk-rayon); --card:var(--lk-rayon-carte);
  --voile:color-mix(in srgb,var(--lk-nuit) 92%,transparent);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;margin:0}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:-.035em;text-wrap:balance;margin:0}
h1{font-size:clamp(2.4rem,5.6vw,4.4rem)}
h1 em,h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.8vw,2.8rem)}
h2 em{color:var(--power)}
h3{font-size:1.3rem;font-weight:600;letter-spacing:-.02em;line-height:1.15}
p{margin:0}
.eyebrow,.tag{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0}
.lead{font-size:1.15rem;color:var(--ink-2);max-width:62ch}
:focus-visible{outline:2px solid var(--water);outline-offset:2px}

/* barre de navigation */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.6rem;letter-spacing:var(--lk-approche-logo);text-decoration:none;color:var(--ink)}
.brand svg{width:38px;height:38px;flex:none}
nav.links{display:flex;gap:22px;font-size:.93rem}
nav.links a{text-decoration:none;color:var(--ink-2)}
nav.links a:hover{color:var(--ink)}
@media (max-width:980px){nav.links{display:none}}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem/1 var(--body);padding:13px 20px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);text-decoration:none;cursor:pointer;white-space:nowrap;transition:filter .15s,transform .15s}
.btn.dawn{background:var(--aube);border-color:var(--aube);color:var(--lk-nuit)}
.btn.light{background:color-mix(in srgb,var(--lk-nuit) 35%,transparent);border-color:color-mix(in srgb,var(--lk-sur-nuit) 50%,transparent);color:var(--lk-sur-nuit);backdrop-filter:blur(4px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* en-tête : vallée en 3D, en image puis en vidéo */
.hero-v{position:relative;isolation:isolate;overflow:hidden;background:var(--lk-nuit);color:var(--lk-sur-nuit);min-height:min(86vh,780px);display:flex;align-items:center}
.hero-media{position:absolute;inset:0;z-index:-2}
@media (min-width:1000px){
  .hero-media{left:36%}
  .hero-v::after{background:linear-gradient(90deg,var(--lk-nuit) 0%,var(--lk-nuit) 36%,color-mix(in srgb,var(--lk-nuit) 55%,transparent) 44%,transparent 56%)!important}
  .hero-v .hero{max-width:520px}
  .hero-v h1{font-size:clamp(2.4rem,4.4vw,3.8rem)}
}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 40%}
.hero-media video{opacity:0;transition:opacity 1.2s}
.hero-media video.on{opacity:1}
.hero-v::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--lk-nuit) 85%,transparent) 0%,color-mix(in srgb,var(--lk-nuit) 60%,transparent) 30%,transparent 52%),linear-gradient(0deg,color-mix(in srgb,var(--lk-nuit) 70%,transparent) 0%,transparent 30%)}
.hero-v > .wrap{width:100%}
.hero{display:grid;gap:26px;max-width:640px;padding-block:clamp(56px,9vw,110px) clamp(120px,14vw,170px)}
.hero-v .eyebrow{color:var(--lk-glacier)}
.hero-v h1 em{color:var(--lk-aube-clair)}
.hero-v .lead{color:var(--lk-sur-nuit-2)}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-note{font-family:var(--mono);font-size:.74rem;color:var(--lk-glacier);opacity:.85}
@media (max-width:760px){
  .hero-v{min-height:0;align-items:flex-end}
  .hero-media{bottom:auto;height:300px}
  .hero-v::after{background:linear-gradient(180deg,transparent 0,transparent 200px,var(--lk-nuit) 300px)}
  .hero{padding-top:270px}
  .hero-media img,.hero-media video{object-position:72% 20%}
  .hero .cta .btn{white-space:normal;text-align:center;line-height:1.25;justify-content:center;flex:1 1 100%}
  header.top .btn{padding:10px 14px;font-size:.85rem}
  .brand{font-size:1.4rem}
}

/* gains, en recouvrement de l'en-tête */
.gains{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:-96px 0 0;box-shadow:var(--shadow)}
@media (max-width:900px){.gains{grid-template-columns:1fr;margin-top:-56px}}
.gain{background:var(--surface);padding:24px;display:grid;gap:10px;align-content:start;position:relative}
.gain::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--c)}
.gain .tag{color:var(--c)}
.gain p:not(.tag){color:var(--ink-2);font-size:.95rem}
.g-eau{--c:var(--water)} .g-chantier{--c:var(--works)} .g-aube{--c:var(--power)}

/* sections */
section.block{padding-block:clamp(56px,8vw,100px)}
section.block + section.block{border-top:1px solid var(--line)}
.sec-head{display:grid;gap:14px;margin-bottom:40px;max-width:780px}

/* captures */
.shot,.zoom{display:block;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit;text-align:left;width:100%}
.shot img,.frame img,.galerie img{display:block;width:100%;height:auto;border-radius:var(--card);border:1px solid var(--line);background:var(--lk-nuit);box-shadow:var(--shadow)}
.zoom:hover img{filter:brightness(1.04)}

/* coup d'œil annoté */
.annot{margin:0;display:grid;gap:20px}
.frame{position:relative}
.pin{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:var(--aube);color:var(--lk-nuit);display:grid;place-items:center;font:600 .9rem var(--mono);box-shadow:0 0 0 5px color-mix(in srgb,var(--aube) 30%,transparent);pointer-events:none}
@media (max-width:600px){.pin{width:22px;height:22px;font-size:.72rem;box-shadow:0 0 0 3px color-mix(in srgb,var(--aube) 30%,transparent)}}
.pins{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p}
@media (max-width:900px){.pins{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pins{grid-template-columns:1fr}}
.pins li{counter-increment:p;position:relative;padding-left:38px;color:var(--ink-2);font-size:.94rem}
.pins li::before{content:counter(p);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--aube);color:var(--lk-nuit);display:grid;place-items:center;font:600 .8rem var(--mono)}
.pins b{color:var(--ink)}

/* pack : deux volets */
.volet{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-bottom:clamp(40px,6vw,72px)}
.volet.rev .volet-txt{order:2}
@media (max-width:900px){.volet{grid-template-columns:1fr}.volet.rev .volet-txt{order:0}}
.volet-txt{display:grid;gap:14px;align-content:start}
.volet-txt > p:not(.num-volet){color:var(--ink-2)}
.num-volet{font:500 .8rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--water);display:flex;align-items:center;gap:10px}
.num-volet::after{content:"";height:1px;width:48px;background:currentColor;opacity:.6}
.num-volet.chantier{color:var(--works)}
.volet h3{font-size:clamp(1.45rem,2.4vw,1.8rem)}
.checks{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.checks li{position:relative;padding-left:24px;color:var(--ink-2);font-size:.96rem}
.checks li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:3px;background:var(--water)}
.checks.chantier li::before{background:var(--works)}
.checks.equipe li::before{background:var(--team)}
.checks b{color:var(--ink);font-weight:600}

/* circuit d'un chantier */
.flow{list-style:none;margin:0 0 clamp(40px,6vw,72px);padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--card);overflow:hidden;counter-reset:f;box-shadow:var(--shadow)}
@media (max-width:900px){.flow{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.flow{grid-template-columns:1fr}}
.flow li{padding:18px 20px;display:grid;gap:6px;align-content:start;background:var(--surface);border-right:1px solid var(--line);counter-increment:f}
.flow li:last-child{border-right:0}
@media (max-width:900px){.flow li{border-bottom:1px solid var(--line)}}
.flow .who{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
.flow .who::before{content:counter(f) " · ";color:var(--ink-3)}
.flow .who.p{color:var(--works)} .flow .who.a{color:var(--power)} .flow .who.l{color:var(--water)}
.flow h3{font-size:1.2rem}
.flow p{color:var(--ink-2);font-size:.9rem}

/* vue terrain */
.terrain{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.terrain img{display:block;width:100%;height:auto;border-radius:22px;border:6px solid var(--lk-nuit);box-shadow:var(--shadow)}
.terrain > div{display:grid;gap:12px;max-width:56ch}
.terrain > div p:not(.eyebrow){color:var(--ink-2)}
@media (max-width:640px){.terrain{grid-template-columns:1fr}.terrain img{max-width:220px;margin:auto}}

/* modules complémentaires */
.mod{display:grid;gap:12px;align-content:start}
.mod .tag{color:var(--water);display:flex;align-items:center;gap:10px}
.mod p:not(.tag){color:var(--ink-2)}
.mod .shot{margin-bottom:6px}
.mod-phare{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--team);border-radius:18px;padding:clamp(20px,3vw,36px);box-shadow:var(--shadow);margin-bottom:28px}
.mod-phare .tag{color:var(--team)}
.mod-txt{display:grid;gap:12px}
@media (max-width:900px){.mod-phare{grid-template-columns:1fr}}
.badge{font:600 .72rem var(--display);letter-spacing:.06em;text-transform:uppercase;background:var(--team);color:var(--lk-nuit);border-radius:999px;padding:4px 10px}
.mods{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:760px){.mods{grid-template-columns:1fr}}
.option{margin-top:28px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start;border:1px dashed var(--lk-trait-2);border-radius:var(--card);padding:22px 24px}
.option .tag{color:var(--ink-3);padding-top:4px}
.option > div{display:grid;gap:8px}
.option h3{font-size:1.15rem}
.option p:not(.tag){color:var(--ink-2);font-size:.95rem;max-width:80ch}
@media (max-width:640px){.option{grid-template-columns:1fr;gap:8px}}

/* moindre impact : avant / après */
.impact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:900px){.impact{grid-template-columns:1fr}}
.impact .sec-head{margin-bottom:24px}
.avap{display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--card);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}
.avap-row{display:grid;grid-template-columns:120px minmax(0,1fr) 150px;gap:14px;align-items:center}
@media (max-width:560px){.avap-row{grid-template-columns:1fr;gap:6px}}
.avap-l{font:500 .8rem var(--mono);color:var(--ink-2)}
.avap-r{font:500 .78rem var(--mono)}
.avap-r.perte{color:var(--lk-perte)} .avap-r.ok{color:var(--ok)}
.avap-track{position:relative;height:34px;border-radius:8px;background:var(--sunk);overflow:hidden}
.avap-track .eau{position:absolute;inset:0;background:var(--water);opacity:.28;clip-path:polygon(0 70%,20% 66%,34% 50%,44% 14%,56% 8%,66% 26%,78% 58%,100% 66%,100% 100%,0 100%)}
.avap-track .chantier{position:absolute;top:8px;bottom:8px;border-radius:5px;background:repeating-linear-gradient(135deg,var(--works) 0 6px,color-mix(in srgb,var(--works) 55%,transparent) 6px 12px)}
.avap-track .chantier.fort{box-shadow:0 0 0 2px var(--lk-perte)}
.avap-leg{display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem;color:var(--ink-3)}
.avap-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}
.k-eau{background:var(--water);opacity:.5} .k-chantier{background:var(--works)}

/* galerie, sur fond clair */
section.galerie-bloc{background:var(--lk-surface-2)}
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.galerie figure{margin:0;display:grid;gap:10px;align-content:start}
.galerie .g-large{grid-column:1 / -1}
.galerie figcaption{font-size:.9rem;color:var(--ink-2)}
.galerie figcaption b{color:var(--ink)}
@media (max-width:980px){.galerie{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.galerie{grid-template-columns:1fr}}
.app-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:32px}
.app-cta small{color:var(--ink-3);font-size:.84rem}

/* pour qui */
.profils{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1000px){.profils{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.profils{grid-template-columns:1fr}}
.profil{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:var(--card);padding:22px;display:grid;gap:10px;align-content:start;box-shadow:var(--shadow)}
.profil .tag{color:var(--c)}
.profil p:not(.tag){color:var(--ink-2);font-size:.94rem}
.p-amg{--c:var(--power)} .p-proj{--c:var(--works)} .p-qse{--c:var(--team)} .p-dir{--c:var(--water)}

/* aussi dans le pack */
.sous-titre{font:500 .8rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px}
.aussi{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:clamp(40px,6vw,72px)}
@media (max-width:1000px){.aussi{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.aussi{grid-template-columns:1fr}}
.aussi figure{margin:0;display:grid;gap:10px;align-content:start}
.aussi img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:top left;border-radius:var(--card);border:1px solid var(--line);background:var(--lk-nuit);box-shadow:var(--shadow)}
.aussi figcaption{font-size:.9rem;color:var(--ink-2)}
.aussi figcaption b{color:var(--ink)}

/* module production */
.mod-prod{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,36px);box-shadow:var(--shadow)}
.mod-prod .tag{color:var(--power)}
.mod-prod .avap{margin:8px 0 0;box-shadow:none;background:var(--bg)}
.mod-prod .shot img{max-height:560px;object-fit:cover;object-position:top}
@media (max-width:900px){.mod-prod{grid-template-columns:1fr}}

/* mise en place */
.miseenplace{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:m}
@media (max-width:1000px){.miseenplace{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.miseenplace{grid-template-columns:1fr}}
.miseenplace li{counter-increment:m;display:grid;gap:8px;align-content:start}
.miseenplace img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 30%;border-radius:var(--card);border:1px solid var(--line);background:var(--lk-nuit)}
.miseenplace li:last-child img{object-position:center 12%}
.miseenplace h3{font-size:1.1rem}
.miseenplace h3::before{content:counter(m) " · ";font:500 .9rem var(--mono);color:var(--power)}
.miseenplace p{color:var(--ink-2);font-size:.92rem}

/* confiance */
.confiance{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
@media (max-width:1000px){.confiance{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.confiance{grid-template-columns:1fr}}
.conf{background:var(--surface);padding:22px;display:grid;gap:8px;align-content:start}
.conf h3{font-size:1.1rem}
.conf h3::before{content:"";display:block;width:26px;height:3px;border-radius:2px;background:var(--ok);margin-bottom:12px}
.conf p{color:var(--ink-2);font-size:.93rem}

/* questions fréquentes */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);align-items:start}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr}}
.faq{display:grid;gap:10px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--card);padding:0 20px}
.faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 1.2rem var(--mono);color:var(--power)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--ink-2);padding-bottom:16px}

/* démarrer */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
@media (max-width:1060px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.steps{grid-template-columns:1fr}}
.step{display:grid;gap:8px;align-content:start;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--aube);border-radius:var(--card);padding:20px;box-shadow:var(--shadow)}
.step .n{font-family:var(--mono);font-size:.8rem;color:var(--ink-3)}
.step p:not(.n){color:var(--ink-2);font-size:.95rem}

/* qui sommes-nous */
.nous{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:900px){.nous{grid-template-columns:1fr}}
.nous .sec-head{margin-bottom:0}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px}
.stats div{border-top:2px solid var(--aube);padding-top:10px;display:grid;gap:2px}
.stats b{font:700 1.7rem var(--display);letter-spacing:-.04em;color:var(--ink)}
.stats span{font-size:.84rem;color:var(--ink-2)}
.savoirs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
@media (max-width:560px){.savoirs{grid-template-columns:1fr}}
.savoir{background:var(--surface);padding:22px;display:grid;gap:8px;align-content:start}
.savoir h3{font-size:1.12rem}
.savoir h3::before{content:"";display:block;width:26px;height:3px;border-radius:2px;background:var(--water);margin-bottom:12px}
.savoir p{color:var(--ink-2);font-size:.93rem}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.contact form{display:grid;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--card);padding:22px;box-shadow:var(--shadow)}
.contact input,.contact select,.contact textarea{width:100%;font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink)}
.contact label{font-size:.85rem;font-weight:600;display:grid;gap:6px}
.contact .ok{font-size:.9rem;color:var(--ok)}

/* pied de page */
footer{background:var(--lk-nuit);color:var(--lk-sur-nuit-2);padding-block:32px;font-size:.85rem}
footer a{color:var(--lk-sur-nuit)}
footer .brand{color:var(--lk-sur-nuit);font-size:1.3rem}
footer .brand svg{width:30px;height:30px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* loupe */
dialog#loupe{padding:0;border:0;background:transparent;max-width:min(96vw,1800px);max-height:94vh}
dialog#loupe::backdrop{background:color-mix(in srgb,var(--lk-nuit) 88%,transparent)}
dialog#loupe img{display:block;max-width:100%;max-height:92vh;border-radius:var(--card)}
dialog#loupe form{position:absolute;top:10px;right:10px}
dialog#loupe .fermer{width:40px;height:40px;border-radius:50%;border:0;background:var(--lk-nuit);color:var(--lk-sur-nuit);font-size:1.5rem;line-height:1;cursor:pointer}

/* page développement : en-tête illustré (charte E « Aube alpine ») */
.hero-e{position:relative;overflow:hidden;background:var(--lk-nuit);color:var(--lk-sur-nuit);isolation:isolate}
.hero-e .scene{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-e::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--voile) 0%,color-mix(in srgb,var(--lk-nuit) 66%,transparent) 42%,transparent 74%)}
.hero-e .hero{padding-block:clamp(56px,9vw,112px) clamp(110px,12vw,150px)}
.hero-e .eyebrow{color:var(--lk-glacier)}
.hero-e h1 em{color:var(--lk-aube-clair)}
.hero-e .lead{color:var(--lk-sur-nuit-2)}
@media (max-width:760px){.hero-e .scene{left:auto;right:0;width:calc(100% + 520px)}}
.roadmap{display:grid;border:1px solid var(--line);border-radius:var(--card);overflow:hidden}
.phase{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px;background:var(--surface);border-bottom:1px solid var(--line)}
.phase:last-child{border-bottom:0}
@media (max-width:760px){.phase{grid-template-columns:1fr;gap:10px}}
.phase .st{display:grid;gap:8px;align-content:start}
.phase .st .n{font:500 .8rem var(--mono);color:var(--ink-3)}
.phase .body{display:grid;gap:10px}
.phase .body p{color:var(--ink-2)}
.unit{font-family:var(--mono);font-size:.8rem;color:var(--ink-3)}
.uses{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
@media (max-width:1100px){.uses{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.uses{grid-template-columns:1fr}}
.use{border-top:3px solid var(--line);padding-top:12px;display:grid;gap:6px;align-content:start}
.use p{color:var(--ink-2);font-size:.92rem}
.pill{display:inline-flex;align-items:center;gap:6px;font:600 .72rem var(--display);letter-spacing:.07em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:2px 9px;white-space:nowrap;width:max-content}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.ok{color:var(--ok)} .pill.off{color:var(--ink-3)} .pill.info{color:var(--water)}
.legal{margin-top:16px;font-size:.8rem;color:var(--ink-3);max-width:80ch}

/* pages légales (mentions légales, confidentialité) */
.prose{max-width:78ch}
.prose h2{font-size:1.25rem;margin:28px 0 8px}
.prose ul{padding-left:1.2em}
.prose li{margin:4px 0}
mark.a-completer{background:var(--lk-chantier-doux);color:var(--lk-encre);padding:0 .3em;border-radius:4px;font-size:.9em}
