:root{
  --gres:#F0EAE2;
  --gres-fonce:#E3DACE;
  --nuit:#10261F;
  --sapin:#1C4A3A;
  --sapin-clair:#3E7A5F;
  --cuivre:#B4551F;
  --cuivre-clair:#D77A3E;
  --laiton:#E0A356;
  --givre:#A9C6C4;
  --givre-pale:#DCE8E6;
  --encre:#132018;
  --encre-doux:#4A5A50;
  --r:14px;
  --max:1340px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--gres);
  color:var(--encre);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.02;letter-spacing:-.03em;font-weight:800}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums}
a{color:inherit}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}

/* ---------- eyebrow ---------- */
.eyebrow{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cuivre);display:flex;align-items:center;gap:10px;margin-bottom:20px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--cuivre);flex:none}
.on-dark .eyebrow{color:var(--laiton)}
.on-dark .eyebrow::before{background:var(--laiton)}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(240,234,226,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gres-fonce);
}
.bar{display:flex;align-items:center;gap:28px;height:70px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.logo-mark{width:32px;height:32px;flex:none}
.logo-txt{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:16px;letter-spacing:-.02em;line-height:1.05}
.logo-txt span{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-weight:400;font-size:9px;letter-spacing:.14em;color:var(--encre-doux);text-transform:uppercase}
nav{margin-left:auto;display:flex;gap:26px}
nav a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--encre-doux);padding:4px 0;border-bottom:1.5px solid transparent}
nav a:hover{color:var(--sapin);border-color:var(--cuivre)}
.tel-btn{
  flex:none;text-decoration:none;background:var(--sapin);color:#fff;
  padding:11px 18px;border-radius:999px;font-weight:600;font-size:14.5px;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.tel-btn:hover{background:var(--nuit)}
@media(max-width:900px){nav{display:none}.bar{gap:14px}}

/* ---------- hero ---------- */
.hero{padding:76px 0 60px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
h1{font-size:clamp(2.5rem,5.1vw,4.05rem)}
h1 em{font-style:normal;color:var(--cuivre)}
.lede{font-size:19px;color:var(--encre-doux);max-width:34ch;margin-top:24px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{
  text-decoration:none;border:none;cursor:pointer;font-family:inherit;
  padding:15px 26px;border-radius:999px;font-weight:600;font-size:16px;
  display:inline-flex;align-items:center;gap:10px;
}
.btn-primary{background:var(--cuivre);color:#fff}
.btn-primary:hover{background:#9A4718}
.btn-ghost{background:transparent;color:var(--encre);border:1.5px solid var(--gres-fonce)}
.btn-ghost:hover{border-color:var(--sapin);color:var(--sapin)}
.hero-note{margin-top:22px;font-size:13.5px;color:var(--encre-doux);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hero-note b{font-weight:600;color:var(--encre)}
.dot{width:3px;height:3px;border-radius:50%;background:var(--givre);flex:none}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero{padding:48px 0 44px}.lede{max-width:none}}

/* ---------- thermomètre (signature) ---------- */
.thermo{
  background:#fff;border-radius:20px;padding:22px;
  box-shadow:0 1px 0 var(--gres-fonce),0 24px 50px -30px rgba(19,32,24,.45);
}
.thermo-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.thermo-head .k{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--encre-doux)}
.scene{border-radius:12px;overflow:hidden;background:var(--givre-pale);transition:background .5s ease}
.readouts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gres-fonce);border-radius:10px;overflow:hidden;margin-top:16px}
.ro{background:#fff;padding:12px 13px}
.ro .k{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-doux);display:block}
.ro .v{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:25px;letter-spacing:-.03em;margin-top:3px;font-variant-numeric:tabular-nums}
.v-froid{color:var(--sapin-clair)}
.v-chaud{color:var(--cuivre)}
.slider-zone{margin-top:18px}
.slider-labels{display:flex;justify-content:space-between;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11px;color:var(--encre-doux);margin-bottom:6px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;
  background:linear-gradient(90deg,#7FA8C4,#A9C6C4 40%,#E0A356 75%,#B4551F);
  outline:none;cursor:pointer;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:26px;height:26px;border-radius:50%;
  background:var(--nuit);border:4px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:grab;
}
input[type=range]::-moz-range-thumb{
  width:26px;height:26px;border-radius:50%;background:var(--nuit);
  border:4px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:grab;
}
input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid var(--cuivre);outline-offset:2px}
.thermo-cap{font-size:12.5px;color:var(--encre-doux);margin-top:14px;line-height:1.5}

/* ---------- bandeau chiffres ---------- */
.chiffres{border-top:1px solid var(--gres-fonce);border-bottom:1px solid var(--gres-fonce)}
.chiffres .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.ch{padding:34px 30px 34px 0}
.ch + .ch{border-left:1px solid var(--gres-fonce);padding-left:30px}
.ch .n{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(2rem,3.4vw,2.7rem);letter-spacing:-.04em;color:var(--sapin)}
.ch .l{font-size:14.5px;color:var(--encre-doux);margin-top:6px;max-width:24ch}
@media(max-width:760px){.chiffres .wrap{grid-template-columns:1fr}.ch{padding:22px 0}.ch+.ch{border-left:0;border-top:1px solid var(--gres-fonce);padding-left:0}}

/* ---------- sections ---------- */
.sec{padding:86px 0}
.sec-head{max-width:52ch;margin-bottom:48px}
h2{font-size:clamp(1.9rem,3.6vw,2.85rem)}
.sec-head p{margin-top:16px;color:var(--encre-doux);font-size:17.5px}
.on-dark{background:var(--nuit);color:#EFE7DC;position:relative;overflow:hidden}
.on-dark h2{color:#fff}
.on-dark .sec-head p{color:#B6C6BB}
.colombage{position:absolute;inset:0;opacity:.052;pointer-events:none}

/* ---------- principe ---------- */
.cycle{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}
.etape{background:rgba(255,255,255,.045);border:1px solid rgba(224,163,86,.2);border-radius:var(--r);padding:26px}
.etape-n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;color:var(--laiton);letter-spacing:.12em;margin-bottom:18px}
.etape svg{margin-bottom:20px}
.etape h3{font-size:20px;color:#fff;margin-bottom:9px;font-weight:700}
.etape p{font-size:15px;color:#AFC0B4;line-height:1.55}
.principe-note{
  margin-top:28px;border-left:2px solid var(--laiton);padding-left:20px;
  font-size:16px;color:#CBD8CE;max-width:62ch;
}
@media(max-width:820px){.cycle{grid-template-columns:1fr}}

/* ---------- éligibilité ---------- */
.elig-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.checklist{background:#fff;border-radius:20px;padding:8px 26px 26px;box-shadow:0 1px 0 var(--gres-fonce),0 24px 50px -34px rgba(19,32,24,.4)}
.q{padding:20px 0;border-bottom:1px solid var(--gres-fonce);display:flex;align-items:center;gap:16px}
.q:last-of-type{border-bottom:0}
.q p{flex:1;font-size:15.5px;font-weight:500;line-height:1.4}
.q p small{display:block;font-weight:400;color:var(--encre-doux);font-size:13px;margin-top:2px}
.yn{display:flex;gap:6px;flex:none}
.yn button{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;letter-spacing:.06em;
  border:1.5px solid var(--gres-fonce);background:transparent;color:var(--encre-doux);
  padding:8px 13px;border-radius:8px;cursor:pointer;
}
.yn button:hover{border-color:var(--sapin-clair)}
.yn button.on{background:var(--sapin);border-color:var(--sapin);color:#fff}
.yn button.on.no{background:var(--encre-doux);border-color:var(--encre-doux)}
.verdict{
  margin-top:8px;border-radius:12px;padding:18px 20px;font-size:15px;line-height:1.5;
  background:var(--gres);border:1px dashed var(--gres-fonce);color:var(--encre-doux);
}
.verdict.ok{background:#E9F1EA;border:1px solid #BBD6C3;color:var(--sapin)}
.verdict.mid{background:#FBF0E4;border:1px solid #E9CFA9;color:#8A5418}
.verdict b{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:17px;margin-bottom:4px;letter-spacing:-.02em}
.form-card{background:var(--nuit);border-radius:20px;padding:32px;color:#EFE7DC}
.form-card h3{font-size:23px;color:#fff;margin-bottom:8px}
.form-card > p{font-size:14.5px;color:#AFC0B4;margin-bottom:24px}
.field{margin-bottom:15px}
.field label{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:#8FA697;margin-bottom:6px}
.field input,.field select,.field textarea{
  width:100%;font-family:inherit;font-size:15.5px;color:#fff;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:9px;padding:12px 14px;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--laiton);outline-offset:1px;border-color:transparent}
.field select option{background:var(--nuit)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:#9FB4A5;line-height:1.45;margin:6px 0 18px}
.consent input{margin-top:3px;accent-color:var(--laiton);flex:none;width:15px;height:15px}
.form-card .btn-primary{width:100%;justify-content:center}
@media(max-width:920px){.elig-grid{grid-template-columns:1fr;gap:30px}}

/* ---------- parcours ---------- */
.parcours{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:8px}
.pas{padding:0 22px 0 0;position:relative}
.pas::before{content:"";position:absolute;top:11px;left:0;right:0;height:1px;background:var(--gres-fonce)}
.pas .pt{width:11px;height:11px;border-radius:50%;background:var(--gres);border:2.5px solid var(--cuivre);position:relative;margin-top:6px}
.pas h3{font-size:17.5px;margin:20px 0 7px;font-weight:700}
.pas p{font-size:14.5px;color:var(--encre-doux);line-height:1.5}
.pas .dur{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11px;color:var(--cuivre);letter-spacing:.08em;margin-top:9px;display:block}
@media(max-width:900px){.parcours{grid-template-columns:1fr 1fr}.pas{padding-bottom:26px}}
@media(max-width:560px){.parcours{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq{max-width:820px}
details{border-bottom:1px solid var(--gres-fonce)}
summary{
  cursor:pointer;list-style:none;padding:22px 0;font-size:18px;font-weight:600;
  display:flex;align-items:center;gap:18px;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:22px;
  color:var(--cuivre);flex:none;transition:transform .25s ease;
}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 40px 24px 0;color:var(--encre-doux);font-size:16px;max-width:70ch}
summary:focus-visible{outline:2px solid var(--cuivre);outline-offset:3px}

/* ---------- cta final ---------- */
.final{background:var(--sapin);color:#fff;border-radius:24px;padding:52px 48px;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;margin:0 0 86px}
.final h2{font-size:clamp(1.8rem,3.2vw,2.5rem);color:#fff}
.final p{color:#C6DCCE;margin-top:14px;font-size:16.5px;max-width:40ch}
.card-tel{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:26px;text-align:center}
.card-tel .k{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:#A9C6B6}
.card-tel .num{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:clamp(1.7rem,3.4vw,2.2rem);letter-spacing:-.03em;margin:10px 0 4px;color:#fff;text-decoration:none;display:block}
.card-tel .who{font-size:14.5px;color:#C6DCCE}
@media(max-width:820px){.final{grid-template-columns:1fr;padding:36px 26px}}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--gres-fonce);padding:44px 0 30px;font-size:13.5px;color:var(--encre-doux)}
.foot-grid{display:flex;gap:36px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--cuivre)}
.legal{margin-top:26px;padding-top:20px;border-top:1px solid var(--gres-fonce);font-size:12px;line-height:1.6;color:#7A887F;max-width:90ch}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.badge{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--gres-fonce);border-radius:99px;padding:6px 12px;color:var(--encre-doux)}

/* ---------- barre d'appel mobile ---------- */
.call-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(16,38,31,.96);backdrop-filter:blur(10px);
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  gap:10px;align-items:center;
  box-shadow:0 -8px 24px -14px rgba(0,0,0,.5);
}
.call-bar .cb-txt{flex:1;min-width:0;color:#C6DCCE;font-size:12.5px;line-height:1.3}
.call-bar .cb-txt b{display:block;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:-.02em}
.call-bar a{
  flex:none;text-decoration:none;background:var(--cuivre);color:#fff;
  padding:11px 18px;border-radius:999px;font-weight:600;font-size:15px;
  display:flex;align-items:center;gap:8px;
}

/* ---------- tablette ---------- */
@media(max-width:900px){
  .sec{padding:60px 0}
  .final{padding:38px 30px;margin-bottom:60px}
}

/* ---------- mobile ---------- */
@media(max-width:720px){
  body{padding-bottom:78px}
  .call-bar{display:flex}
  .wrap{padding:0 20px}
  .bar{height:62px;gap:12px}
  .tel-btn{padding:10px;border-radius:50%}
  .tel-btn span,.tel-btn .lbl{display:none}
  .tel-btn{font-size:0;width:42px;height:42px;justify-content:center;margin-left:auto}
  .tel-btn svg{width:17px;height:17px}
  h1{font-size:clamp(2.05rem,8.2vw,2.9rem)}
  .hero{padding:34px 0 36px}
  .lede{font-size:17px;margin-top:18px}
  .cta-row{margin-top:26px}
  .cta-row .btn{flex:1;justify-content:center;padding:14px 18px;font-size:15.5px}
  .hero-note{gap:6px;font-size:12.5px}
  .thermo{padding:16px;border-radius:16px}
  .thermo-head{flex-direction:column;align-items:flex-start;gap:2px}
  .ro{padding:10px}
  .ro .v{font-size:21px}
  .sec{padding:52px 0}
  .sec-head{margin-bottom:32px}
  .sec-head p{font-size:16px}
  .etape{padding:22px}
  .cycle{gap:16px}
  .principe-note{font-size:15px;margin-top:22px}
  .checklist{padding:4px 20px 20px;border-radius:16px}
  .form-card{padding:24px 20px;border-radius:16px}
  .duo{grid-template-columns:1fr;gap:0}
  summary{font-size:16.5px;padding:18px 0;gap:12px}
  details p{padding-right:0;font-size:15.5px}
  .final{border-radius:18px;padding:32px 22px;margin-bottom:48px}
  .final p{font-size:15.5px}
  .card-tel{padding:22px 16px}
  footer{padding:34px 0 26px}
  .foot-grid{gap:24px}
}

@media(max-width:430px){
  .q{flex-wrap:wrap;gap:12px;padding:18px 0}
  .q p{flex:1 1 100%;font-size:15px}
  .yn{width:100%}
  .yn button{flex:1;padding:10px 0;font-size:12.5px}
  .readouts{grid-template-columns:1fr 1fr}
  .readouts .ro:last-child{grid-column:1/-1}
  .logo-txt{font-size:14px}
  .logo-txt span{font-size:8px}
}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
/* ================= PAGES INTÉRIEURES ================= */
.page-hero{padding:52px 0 44px;border-bottom:1px solid var(--gres-fonce)}
.fil{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-doux);margin-bottom:22px}
.fil a{text-decoration:none}
.fil a:hover{color:var(--cuivre)}
.fil span{color:var(--gres-fonce);margin:0 8px}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);max-width:19ch}
.page-hero .lede{max-width:56ch;font-size:18.5px;margin-top:20px}
.ph-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
@media(max-width:920px){.ph-grid{grid-template-columns:1fr;gap:34px}.page-hero{padding:32px 0 34px}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.split-34{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start}
@media(max-width:920px){.split,.split-34{grid-template-columns:1fr;gap:32px}}

h3.sub{font-size:22px;margin-bottom:12px;font-weight:700}
.prose p{margin-bottom:16px;color:var(--encre-doux);font-size:16.5px}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--encre);font-weight:600}

/* cartes */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--gres-fonce);border-radius:var(--r);padding:26px}
.card h3{font-size:19px;margin-bottom:9px;font-weight:700}
.card p{font-size:15px;color:var(--encre-doux);line-height:1.55}
.card .tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--cuivre);display:block;margin-bottom:14px}
@media(max-width:900px){.cards,.cards.two{grid-template-columns:1fr}}

/* tableau */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--gres-fonce);border-radius:var(--r);overflow:hidden}
.tbl th,.tbl td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--gres-fonce);font-size:15.5px;vertical-align:top}
.tbl th{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--encre-doux);font-weight:400;background:var(--gres)}
.tbl td b{font-weight:600}
.tbl tr:last-child td{border-bottom:0}
.tbl td small{display:block;color:var(--encre-doux);font-size:13.5px;margin-top:3px}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* encart vigilance */
.alerte{border-radius:var(--r);padding:24px 26px;border-left:3px solid var(--cuivre);background:#FBF2E9}
.alerte h3{font-size:19px;margin-bottom:10px;font-weight:700;color:#8A4516}
.alerte p{font-size:15.5px;color:#6B4A2E;line-height:1.55}
.alerte ul{margin:12px 0 0 0;padding:0;list-style:none}
.alerte li{font-size:15.5px;color:#6B4A2E;padding:9px 0 9px 26px;position:relative;border-top:1px solid #EBD9C4}
.alerte li::before{content:"!";position:absolute;left:0;top:9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-weight:500;color:var(--cuivre)}

/* sélecteur émetteurs */
.emit{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--gres-fonce);opacity:.34;transition:opacity .3s ease}
.emit:last-child{border-bottom:0}
.emit.actif{opacity:1}
.emit .pastille{width:10px;height:10px;border-radius:50%;background:var(--gres-fonce);flex:none;transition:background .3s ease}
.emit.actif .pastille{background:var(--sapin-clair)}
.emit .nom{flex:1;font-size:15.5px;font-weight:500}
.emit .nom small{display:block;font-weight:400;color:var(--encre-doux);font-size:13px}
.emit .plage{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:12.5px;color:var(--encre-doux);flex:none}
.emit.actif .plage{color:var(--sapin)}

/* fiches chantier */
.filtres{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.filtres button{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  background:transparent;border:1.5px solid var(--gres-fonce);color:var(--encre-doux);
  padding:9px 15px;border-radius:999px;cursor:pointer;
}
.filtres button:hover{border-color:var(--sapin-clair)}
.filtres button.on{background:var(--sapin);border-color:var(--sapin);color:#fff}
.fiches{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fiche{background:#fff;border:1px solid var(--gres-fonce);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.fiche .vign{height:112px;position:relative;overflow:hidden}
.fiche .corps{padding:20px;flex:1;display:flex;flex-direction:column}
.fiche .ville{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:800;font-size:20px;letter-spacing:-.02em}
.fiche .meta{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11.5px;color:var(--encre-doux);margin-top:4px;letter-spacing:.04em}
.fiche dl{margin:16px 0 0;font-size:14px;border-top:1px solid var(--gres-fonce)}
.fiche dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gres-fonce)}
.fiche dt{color:var(--encre-doux)}
.fiche dd{font-weight:600;text-align:right}
.fiche .conso{margin-top:16px;padding-top:14px;border-top:1px dashed var(--gres-fonce)}
.fiche .conso .k{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--encre-doux)}
.barre{height:9px;border-radius:99px;margin-top:6px;background:var(--gres-fonce);overflow:hidden}
.barre i{display:block;height:100%;border-radius:99px}
.conso-row{display:flex;justify-content:space-between;font-size:13px;margin-top:5px}
.conso-row b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-weight:500}
@media(max-width:980px){.fiches{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.fiches{grid-template-columns:1fr}}

/* mention maquette */
.placeholder{
  background:#F6E9D8;border:1px dashed #D2A96F;border-radius:10px;
  padding:14px 18px;font-size:13.5px;color:#7A5320;line-height:1.5;margin-bottom:30px;
}
.placeholder b{font-weight:600}

/* zone d'intervention */
.zone-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
@media(max-width:920px){.zone-grid{grid-template-columns:1fr;gap:30px}}
.communes{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.communes span{font-size:13.5px;background:#fff;border:1px solid var(--gres-fonce);border-radius:999px;padding:6px 13px;color:var(--encre-doux)}

/* liste horaires */
.horaires{width:100%;border-collapse:collapse;font-size:15.5px}
.horaires td{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.horaires td:last-child{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13.5px}

/* étapes numérotées verticales */
.vlist{counter-reset:v}
.vitem{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--gres-fonce)}
.vitem:last-child{border-bottom:0}
.vitem .num{
  counter-increment:v;flex:none;width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--cuivre);color:var(--cuivre);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;
  display:flex;align-items:center;justify-content:center;
}
.vitem .num::before{content:counter(v,decimal-leading-zero)}
.vitem h3{font-size:18px;margin-bottom:6px;font-weight:700}
.vitem p{font-size:15.5px;color:var(--encre-doux);line-height:1.55}

/* bandeau cta compact */
.cta-mince{
  background:var(--nuit);border-radius:20px;padding:34px 38px;color:#EFE7DC;
  display:flex;gap:28px;align-items:center;flex-wrap:wrap;justify-content:space-between;
}
.cta-mince h3{font-size:23px;color:#fff;margin-bottom:6px}
.cta-mince p{font-size:15.5px;color:#AFC0B4;max-width:46ch}
@media(max-width:720px){.cta-mince{padding:26px 22px}}

/* grille à cinq colonnes (page Aides) */
.cycle.cinq{grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:1000px){.cycle.cinq{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:620px){.cycle.cinq{grid-template-columns:1fr}}


/* --- garde-fou : le contenu reste visible si l'animation ne demarre pas --- */
.reveal{opacity:1;transform:none}
html.anim .reveal{opacity:0;transform:translateY(18px)}
html.anim .reveal.in{opacity:1;transform:none}

/* --- calage typographique pour polices systeme --- */
h1,h2,h3,.display{line-height:1.09}
h1{letter-spacing:-.028em}
h2{letter-spacing:-.024em}
h3,.card h3,.etape h3,.vitem h3,.fiche .ville{letter-spacing:-.012em;line-height:1.25}
.logo-txt{letter-spacing:-.01em;line-height:1.15}
.ro .v,.ch .n,.card-tel .num{letter-spacing:-.02em}
.eyebrow,.badge,.fil,.filtres button{letter-spacing:.12em}

/* --- FAQ centree dans le conteneur large --- */
#questions .sec-head{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.faq{max-width:820px;margin:0 auto}
details summary{align-items:baseline}
details p{padding:2px 0 24px 0;max-width:none}
@media(max-width:900px){#questions .sec-head{text-align:left}}

/* ================= specifique WordPress ================= */
/* pot de miel anti-spam : hors ecran, jamais visible */
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;opacity:0}
/* barre d'admin WP : l'en-tete colle dessous */
body.admin-bar header{top:32px}
@media(max-width:782px){body.admin-bar header{top:46px}}
/* menu WP : memes styles que la maquette */
header nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
header nav li{margin:0}
header nav .current-menu-item > a,header nav .current_page_item > a{color:var(--sapin);border-color:var(--cuivre)}

/* ================= blog ================= */
.blog-filtres{margin-bottom:34px}
.blog-filtres a{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--gres-fonce);color:var(--encre-doux);padding:9px 15px;border-radius:999px;text-decoration:none}
.blog-filtres a:hover{border-color:var(--sapin-clair)}
.blog-filtres a.on{background:var(--sapin);border-color:var(--sapin);color:#fff}
.blog-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.art-card{background:#fff;border:1px solid var(--gres-fonce);border-radius:var(--r);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.art-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -28px rgba(19,32,24,.45)}
.art-lien{display:flex;flex-direction:column;gap:12px;padding:24px;text-decoration:none;height:100%;box-sizing:border-box}
.art-tete{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.art-cat{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cuivre)}
.art-date{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:11px;color:var(--encre-doux)}
.art-card h2{font-size:19.5px;line-height:1.3;letter-spacing:-.012em}
.art-card p{font-size:14.5px;color:var(--encre-doux);line-height:1.55;flex:1}
.art-suite{font-size:14px;font-weight:600;color:var(--cuivre)}
.blog-pagination{margin-top:40px}
.blog-pagination .nav-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.blog-pagination a,.blog-pagination span.current{border:1.5px solid var(--gres-fonce);border-radius:999px;padding:9px 16px;text-decoration:none;font-size:14px;color:var(--encre-doux)}
.blog-pagination span.current{background:var(--sapin);border-color:var(--sapin);color:#fff}
.art-meta{margin-top:14px;font-size:14px;color:var(--encre-doux)}
.art-meta a{color:var(--cuivre)}
/* corps d'article */
.article-corps{max-width:760px;margin:0 auto;font-size:17.5px;line-height:1.72}
.article-corps p{margin:0 0 20px;color:#33413A}
.article-corps h2{font-size:clamp(1.35rem,2.4vw,1.7rem);margin:38px 0 14px;letter-spacing:-.02em}
.article-corps a{color:var(--cuivre);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.article-corps a:hover{color:#8A3F14}
.article-corps strong{color:var(--encre)}
.article-corps em{font-style:italic}
.lies{margin-top:64px;padding-top:40px;border-top:1px solid var(--gres-fonce)}
.lies-titre{font-size:clamp(1.4rem,2.6vw,1.8rem);margin-bottom:24px}
/* derniers conseils (accueil) */
.derniers .sec-head{margin-bottom:34px}
@media(max-width:980px){.blog-grille{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.blog-grille{grid-template-columns:1fr}.art-lien{padding:20px}.article-corps{font-size:16.5px}}

/* ================= revision typographique : police normale, titres reduits ================= */
h1,h2,h3,.display{font-weight:700;letter-spacing:-.012em}
h1{font-size:clamp(1.85rem,3.3vw,2.65rem)}
.page-hero h1{font-size:clamp(1.7rem,3vw,2.35rem)}
h2{font-size:clamp(1.45rem,2.5vw,2rem)}
.final h2{font-size:clamp(1.4rem,2.3vw,1.85rem)}
.ch .n{font-size:clamp(1.5rem,2.4vw,1.95rem);font-weight:700}
.ro .v{font-weight:700;font-size:22px}
.card-tel .num{font-weight:700;font-size:clamp(1.5rem,2.8vw,1.9rem)}
.lede,.page-hero .lede{font-size:17.5px}
.hero{padding:56px 0 52px}

/* accents en police standard (fin du monospace decoratif) */
.eyebrow,.mono,.thermo-head .k,.ro .k,.etape-n,.yn button,.pas .dur,.fil,
.filtres button,.filtres a,.blog-filtres a,.badge,.field label,.slider-labels,
.fiche .conso .k,.conso-row b,.horaires td:last-child,.fiche .meta,
.art-cat,.art-date,.verdict b,.call-bar .cb-txt b{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.eyebrow,.fil,.badge,.filtres button,.filtres a,.blog-filtres a,.etape-n,
.thermo-head .k,.ro .k,.field label,.fiche .conso .k,.art-cat{letter-spacing:.07em}
.slider-labels,.fiche .meta,.art-date{letter-spacing:.02em}

@media(max-width:720px){
  h1{font-size:clamp(1.6rem,6.2vw,2.05rem)}
  .page-hero h1{font-size:clamp(1.5rem,5.8vw,1.9rem)}
  h2{font-size:clamp(1.35rem,5.4vw,1.7rem)}
  .hero{padding:32px 0 34px}
  .lede,.page-hero .lede{font-size:16px}
}
.logo-txt span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:.09em}

/* mentions legales du pied de page sur toute la largeur */
footer .legal{max-width:none}
