/* ============================================================
   SAPINÉO — tokens
   ============================================================ */
:root{
  --sap-sapin:#1a2e22; --sap-sapin-deep:#131f18; --sap-moyen:#2f4a37;
  --sap-vert-clair:#4e7359; --sap-vert-soft:#6b8f76;
  --sap-or-chaud:#c89a4a; --sap-or-clair:#e8b85e; --sap-or-pale:#f4d590;
  --sap-creme:#f4efe2; --sap-blanc:#ffffff;

  --sap-surface:rgba(255,255,255,0.05);
  --sap-border-glass:rgba(255,255,255,0.22);
  --sap-border-soft:rgba(255,255,255,0.12);
  --sap-divider:rgba(255,255,255,0.08);

  --fg-1:#ffffff;
  --fg-2:rgba(255,255,255,0.74);
  --fg-3:rgba(255,255,255,0.52);
  --fg-4:rgba(255,255,255,0.32);
  --accent:var(--sap-or-clair);

  --page-grad:radial-gradient(140% 100% at 50% 0%, #20392b 0%, #1a2e22 42%, #131f18 100%);
  --body-bg:#131f18;
  --halo-1:radial-gradient(circle, rgba(232,184,94,0.30) 0%, rgba(200,154,74,0.10) 38%, transparent 70%);
  --halo-2:radial-gradient(circle, rgba(78,115,89,0.55) 0%, rgba(47,74,55,0.24) 42%, transparent 75%);
  --halo-3:radial-gradient(circle, rgba(244,239,226,0.10) 0%, transparent 68%);
  --vignette:radial-gradient(ellipse at center, transparent 38%, rgba(0,0,0,0.34) 100%);
  --sel-bg:rgba(232,184,94,0.28); --sel-ink:#ffffff;
  --glass-bg:rgba(255,255,255,0.05);
  --glass-border:rgba(255,255,255,0.22);
  --glass-border-hover:rgba(255,255,255,0.32);
  --glass-shadow:0 24px 60px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.08);
  --glass-shadow-hover:0 28px 64px rgba(0,0,0,0.38),inset 0 1px 0 rgba(255,255,255,0.10);
  --divider:rgba(255,255,255,0.08);
  --pill-bg:rgba(255,255,255,0.05); --pill-border:rgba(255,255,255,0.18);
  --field-bg:rgba(0,0,0,0.22); --field-bg-focus:rgba(0,0,0,0.30);
  --field-border:rgba(255,255,255,0.16); --field-ph:rgba(255,255,255,0.28); --input-ink:#ffffff;
  --header-veil:rgba(19,31,24,0.72); --header-border:rgba(255,255,255,0.08);
  --mark-bg:#131f18; --scroll-border:rgba(255,255,255,0.30); --btn-ink:#131f18;
  --quote-border:rgba(232,184,94,0.40);
  --quote-bg:linear-gradient(180deg, rgba(232,184,94,0.08), rgba(232,184,94,0.02));
  --quote-glow:0 0 50px rgba(200,154,74,0.12), inset 0 1px 0 rgba(255,255,255,0.06);
  --tl-track:rgba(232,184,94,0.18);
  --tl-num-bg:rgba(26,46,34,0.85); --tl-num-bg-lit:rgba(40,33,18,0.90);
  --foot-bg:#131f18; --confirm-veil:rgba(19,31,24,0.60);

  --fd:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
  --fm:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --r-md:14px; --r-lg:22px; --r-xl:28px; --r-pill:999px;

  --glow-gold:0 8px 24px rgba(232,184,94,0.5),0 0 40px rgba(200,154,74,0.33);
  --glow-gold-lg:0 0 60px var(--sap-or-clair),0 0 120px rgba(200,154,74,0.5),inset 0 0 20px rgba(255,255,255,0.6);
  --shadow-glass:0 24px 60px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.08);
  --shadow-doc:0 30px 70px rgba(0,0,0,0.45),0 10px 24px rgba(0,0,0,0.25);

  --ease:cubic-bezier(0.22,1,0.36,1);

  --gut:clamp(22px,5vw,80px);
  --maxw:1080px;
}

*{box-sizing:border-box;}
/* `clip` plutôt que `hidden` : même garde contre un débordement horizontal,
   sans transformer <html> en conteneur de défilement (ce qui casserait les
   ancres et le `position:sticky`). Le garde du corps ne suffisait pas : c'est
   la page entière qui s'élargissait. */
html{scroll-behavior:smooth; overflow-x:clip;}
img,svg,video,canvas{max-width:100%;}
body{
  margin:0; background:var(--body-bg); color:var(--fg-1);
  font-family:var(--fd); -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility; overflow-x:hidden;
  transition:background .5s var(--ease), color .5s var(--ease);
}
a{color:inherit; text-decoration:none;}
::selection{background:var(--sel-bg); color:var(--sel-ink);}

/* ── Fond fixe : dégradé sapin + halos ──────────────────────── */
.bg{position:fixed; inset:0; z-index:-2; overflow:hidden; pointer-events:none;
  background:var(--page-grad); transition:background .5s var(--ease);}
.halo{position:absolute; border-radius:50%; will-change:transform; transition:background .5s var(--ease);}
.halo--gold{top:-18vh; left:-12vw; width:62vw; height:62vw; min-width:520px; min-height:520px;
  background:var(--halo-1); filter:blur(60px);}
.halo--green{bottom:-22vh; right:-14vw; width:70vw; height:70vw; min-width:560px; min-height:560px;
  background:var(--halo-2); filter:blur(70px);}
.halo--cream{top:42%; left:48%; width:42vw; height:42vw; min-width:380px; min-height:380px;
  background:var(--halo-3); filter:blur(60px);}
.bg::after{content:""; position:absolute; inset:0; background:var(--vignette);}

/* ── En-tête (fixe, se voile au défilement) ─────────────────── */
.hdr{position:fixed; top:0; left:0; right:0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--gut);
  border-bottom:0.5px solid transparent;
  transition:background var(--ease) .4s, backdrop-filter .4s var(--ease), border-color .4s var(--ease), padding .4s var(--ease);}
.hdr.veiled{
  background:var(--header-veil);
  -webkit-backdrop-filter:blur(18px) saturate(1.2); backdrop-filter:blur(18px) saturate(1.2);
  border-bottom-color:var(--header-border); padding:13px var(--gut);}
.brand{display:flex; align-items:center; gap:11px;}
.brand .mark{width:30px; height:30px; border-radius:9px; background:var(--mark-bg);
  border:1px solid rgba(232,184,94,0.32); display:flex; align-items:center; justify-content:center; flex-shrink:0;
  transition:background .5s var(--ease);}
.brand .orb{width:12px; height:12px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0%,#e8b85e 45%,#c89a4a 100%); box-shadow:0 0 12px #e8b85e;}
.brand .name{font-weight:700; font-size:19px; letter-spacing:-0.01em;}
.brand .name b{color:var(--accent); font-weight:800;}
.hdr .cta-mini{font-family:var(--fm); font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--btn-ink); font-weight:600; border:none; border-radius:var(--r-pill);
  background:linear-gradient(180deg,#e8b85e 0%,#c89a4a 100%); padding:10px 18px; white-space:nowrap;
  box-shadow:var(--glow-gold), inset 0 1px 0 rgba(255,255,255,0.45);
  display:inline-flex; align-items:center; gap:7px;
  transition:filter .25s var(--ease), box-shadow .3s var(--ease), transform .12s var(--ease);}
.hdr .cta-mini .arr{transition:transform .3s var(--ease);}
.hdr .cta-mini:hover{filter:brightness(1.04);
  box-shadow:0 8px 24px rgba(232,184,94,0.5),0 0 48px rgba(200,154,74,0.4), inset 0 1px 0 rgba(255,255,255,0.5);}
.hdr .cta-mini:hover .arr{transform:translateX(3px);}
.hdr .cta-mini:active{transform:scale(0.98);}

/* ── Grille de mise en page ──────────────────────────────────── */
.section{position:relative; padding:clamp(80px,12vh,140px) var(--gut);
  border-top:0.5px solid var(--divider);}
.wrap{max-width:var(--maxw); margin:0 auto; width:100%;}
.wrap--narrow{max-width:780px;}
.center{text-align:center;}

.overline{font-family:var(--fm); font-size:13px; font-weight:500;
  letter-spacing:3px; text-transform:uppercase; color:var(--fg-3);}
.overline--rules{display:inline-flex; align-items:center; gap:14px;}
.overline--rules::before,.overline--rules::after{content:""; width:30px; height:1px; background:var(--fg-4);}

.title{font-weight:700; line-height:1.06; letter-spacing:-0.025em; margin:0; color:var(--fg-1);
  text-wrap:balance;}
.title .g{color:var(--accent); font-weight:800;}
.t-hero{font-size:clamp(40px,7.4vw,86px);}
.t-h2{font-size:clamp(31px,4.6vw,58px); line-height:1.08;}
.t-h3{font-size:clamp(25px,3.2vw,40px); line-height:1.12;}

.lede{font-weight:400; font-size:clamp(17px,1.9vw,22px); line-height:1.55; color:var(--fg-2);
  margin:0; text-wrap:pretty;}
.body{font-weight:400; font-size:clamp(15.5px,1.55vw,18px); line-height:1.62; color:var(--fg-2);
  margin:0; text-wrap:pretty;}

/* Pastilles et boutons */
.pill{display:inline-flex; align-items:center; gap:10px; padding:9px 18px; border-radius:var(--r-pill);
  background:var(--pill-bg); border:0.5px solid var(--pill-border);
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  font-family:var(--fm); font-size:clamp(10.5px,1.4vw,12px); letter-spacing:1.8px; text-transform:uppercase;
  font-weight:500; color:var(--fg-2); max-width:100%;
  /* Sur un téléphone, « Entreprises du paysage · de l'auto-entrepreneur à la
     PME » ne tient pas sur une ligne. En `nowrap`, le texte élargissait la
     page : tout le contenu centré se décalait et le titre se coupait à gauche.
     Il passe donc à la ligne, centré. Les pastilles courtes des pages produit
     tiennent toujours sur une ligne — `normal` ne coupe que si nécessaire. */
  white-space:normal; flex-wrap:wrap; justify-content:center; text-align:center;
  line-height:1.5;}
.pill .dot{width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent);}

.btn-gold{display:inline-flex; align-items:center; gap:9px; cursor:pointer; border:none;
  font-family:var(--fd); font-weight:700; font-size:clamp(15px,1.5vw,17px); color:var(--btn-ink);
  background:linear-gradient(180deg,#e8b85e 0%,#c89a4a 100%); border-radius:var(--r-pill);
  padding:16px 28px; box-shadow:var(--glow-gold), inset 0 1px 0 rgba(255,255,255,0.45);
  transition:transform .12s var(--ease), box-shadow .3s var(--ease), filter .3s var(--ease);}
.btn-gold:hover{filter:brightness(1.04); box-shadow:0 10px 30px rgba(232,184,94,0.55),0 0 60px rgba(200,154,74,0.4), inset 0 1px 0 rgba(255,255,255,0.5);}
.btn-gold:active{transform:scale(0.98);}
.btn-gold .arr{transition:transform .3s var(--ease);}
.btn-gold:hover .arr{transform:translateX(4px);}

/* ── HÉRO ────────────────────────────────────────────────────── */
.hero{min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:140px var(--gut) 96px; border-top:none; position:relative;}
.hero .pill{margin-bottom:30px;}
.hero .t-hero{max-width:14ch;}
.hero .lede{margin:30px auto 0; max-width:60ch;}
.hero .btn-gold{margin-top:42px;}
.scroll-hint{position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-family:var(--fm); font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--fg-3);}
.scroll-hint .mouse{width:22px; height:34px; border:1.5px solid var(--scroll-border); border-radius:12px; position:relative;}
.scroll-hint .mouse::after{content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  width:3px; height:7px; border-radius:2px; background:var(--accent); animation:scrolldot 1.8s var(--ease) infinite;}
@keyframes scrolldot{0%{opacity:0; transform:translate(-50%,0);}30%{opacity:1;}60%{opacity:1; transform:translate(-50%,11px);}100%{opacity:0; transform:translate(-50%,11px);}}

/* ── LE PROBLÈME ─────────────────────────────────────────────── */
.prob-grid{display:flex; flex-direction:column; align-items:center; gap:30px; margin-top:38px;}
.prob-grid .body{max-width:62ch; text-align:center;}
.quote-box{margin:8px auto 0; max-width:640px; width:100%;
  border:1px solid var(--quote-border); border-radius:var(--r-lg);
  background:var(--quote-bg);
  box-shadow:var(--quote-glow);
  padding:clamp(24px,4vw,40px); text-align:center;}
.quote-box .qover{font-family:var(--fm); font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--fg-3); margin:0 0 18px;}
.quote-box .q{font-weight:700; font-size:clamp(24px,3.4vw,38px); letter-spacing:-0.02em; color:var(--fg-1); margin:0; line-height:1.15;}
.quote-box .q .g{color:var(--accent); font-weight:800;}

/* ── CHRONOLOGIE (Notre approche) ───────────────────────────── */
.timeline{position:relative; margin-top:54px; max-width:760px; margin-left:auto; margin-right:auto;}
.timeline .rail{position:absolute; left:27px; top:18px; bottom:18px; width:2px; pointer-events:none;}
.timeline .rail svg{position:absolute; inset:0; width:100%; height:100%; overflow:visible;}
.timeline .rail .rail-track{stroke:var(--tl-track);}
#rail-draw{stroke:var(--accent);}
.tl-step{position:relative; display:grid; grid-template-columns:56px 1fr; gap:24px; padding:18px 0;}
.tl-step + .tl-step{margin-top:8px;}
.tl-num{width:56px; height:56px; border-radius:50%; flex-shrink:0;
  border:1.5px solid rgba(232,184,94,0.45); background:var(--tl-num-bg);
  display:flex; align-items:center; justify-content:center; position:relative; z-index:2;
  font-family:var(--fm); font-weight:600; font-size:16px; letter-spacing:1px; color:var(--accent);
  transition:box-shadow .5s var(--ease), border-color .5s var(--ease), background .5s var(--ease);}
.tl-step.lit .tl-num{border-color:var(--accent); box-shadow:var(--glow-gold); background:var(--tl-num-bg-lit);}
.tl-body{padding-top:5px;}
.tl-body h3{font-weight:700; font-size:clamp(20px,2.2vw,26px); letter-spacing:-0.01em; margin:0 0 9px; color:var(--fg-1);}
.tl-body p{font-weight:400; font-size:clamp(15px,1.5vw,17px); line-height:1.6; color:var(--fg-2); margin:0; max-width:54ch;}

/* ── EXEMPLE CONCRET — 3 étapes ─────────────────────────────── */
.devis-intro{max-width:60ch; margin:26px auto 0; text-align:center;}
.devis-stage{position:relative; margin-top:54px;}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; position:relative;}
.vcard{position:relative; border-radius:var(--r-xl); padding:30px 30px 34px;
  background:var(--glass-bg); border:0.5px solid var(--glass-border);
  -webkit-backdrop-filter:blur(24px) saturate(1.2); backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:var(--glass-shadow); display:flex; flex-direction:column; text-align:left;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease), background .5s var(--ease);}
.vcard:hover{border-color:var(--glass-border-hover); box-shadow:var(--glass-shadow-hover);}
.vcard .vhead{display:flex; align-items:center; gap:16px; margin-bottom:26px;}
.step-disc{width:54px; height:54px; border-radius:50%; flex-shrink:0;
  background:radial-gradient(circle at 38% 32%, #ffe6ad 0%, #e8b85e 46%, #c89a4a 100%);
  box-shadow:var(--glow-gold); display:flex; align-items:center; justify-content:center;}
.step-badge{width:38px; height:38px; border-radius:50%; flex-shrink:0;
  border:1.5px solid rgba(232,184,94,0.5); display:flex; align-items:center; justify-content:center;
  font-family:var(--fm); font-size:13px; font-weight:600; letter-spacing:1px; color:var(--accent);}
.vcard h3{font-weight:700; font-size:clamp(20px,2.1vw,24px); letter-spacing:-0.01em; margin:0 0 12px; color:var(--fg-1);}
.vcard p{font-weight:400; font-size:clamp(14.5px,1.45vw,16px); line-height:1.6; color:var(--fg-2); margin:0;}
.devis-close{margin:40px auto 0; text-align:center; max-width:54ch; color:var(--fg-3);
  font-size:clamp(14px,1.4vw,16px); line-height:1.55;}

/* ── QUI JE SUIS ─────────────────────────────────────────────── */
.bf{display:flex; flex-direction:column; align-items:center; text-align:center;}
.bf .mono{width:96px; height:96px; border-radius:24px; margin-bottom:30px;
  background:linear-gradient(150deg, var(--sap-moyen) 0%, var(--sap-sapin-deep) 100%);
  border:0.5px solid rgba(232,184,94,0.35); box-shadow:0 18px 50px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.08);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:34px; letter-spacing:1px; color:var(--sap-creme);}
.bf .t-h3{max-width:18ch;}
.bf .bf-text{margin:30px auto 0; max-width:62ch; text-align:left; display:flex; flex-direction:column; gap:18px;}
.bf .bf-text p{font-weight:400; font-size:clamp(15.5px,1.55vw,18px); line-height:1.62; color:var(--fg-2); margin:0; text-wrap:pretty;}
.approach-intro{margin:24px auto 0; max-width:58ch;}
.pour-qui-text{margin:26px auto 0; max-width:56ch; display:flex; flex-direction:column; gap:18px;}

/* ── FORMULAIRE D'AUDIT ──────────────────────────────────────── */
.audit-head{text-align:center; max-width:720px; margin:0 auto;}
.audit-head .lede{margin:24px auto 0; max-width:56ch;}
.form-glass{margin:48px auto 0; max-width:620px; width:100%;
  background:var(--glass-bg); border:0.5px solid var(--glass-border);
  -webkit-backdrop-filter:blur(24px) saturate(1.2); backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:var(--glass-shadow); border-radius:var(--r-xl); padding:clamp(28px,4vw,44px);
  position:relative; overflow:hidden;}
.field{display:flex; flex-direction:column; gap:9px; margin-bottom:22px;}
.field label{font-family:var(--fm); font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--fg-3);}
.field .optional{font-size:10px; letter-spacing:1px; color:var(--fg-4); margin-left:6px; text-transform:none;}
.field input,.field textarea{font-family:var(--fd); font-size:16px; color:var(--input-ink);
  background:var(--field-bg); border:0.5px solid var(--field-border); border-radius:var(--r-md);
  padding:14px 16px; width:100%; transition:border-color .25s, box-shadow .25s, background .25s;}
.field textarea{resize:vertical; min-height:108px;}
.field input::placeholder,.field textarea::placeholder{color:var(--field-ph);}
.field input:focus,.field textarea:focus{outline:none; border-color:rgba(232,184,94,0.6);
  box-shadow:0 0 0 3px rgba(232,184,94,0.12); background:var(--field-bg-focus);}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:rgba(255,100,80,0.6);}
.field-error{margin:6px 2px 0; font-size:12px; line-height:1.4; color:#c0392b;}
@media (prefers-color-scheme: dark){ .field-error{color:#ff9a8a;} }
.form-glass .btn-gold{width:100%; justify-content:center; margin-top:6px;}
.form-note{font-family:var(--fm); font-size:11px; letter-spacing:0.5px; line-height:1.7; color:var(--fg-4);
  text-align:center; margin:16px 0 0;}
.form-note a{color:var(--fg-3); text-decoration:underline; text-underline-offset:2px;}
.form-note a:hover{color:var(--accent);}
.form-error{font-family:var(--fm); font-size:11px; letter-spacing:0.5px; color:rgba(255,120,100,0.9);
  text-align:center; margin:12px 0 0; display:none;}
.form-error.show{display:block;}

.confirm{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:40px; gap:18px;
  background:var(--confirm-veil); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  opacity:0; visibility:hidden; transition:opacity .5s var(--ease), visibility .5s;}
.confirm.show{opacity:1; visibility:visible;}
.confirm .cdisc{width:64px; height:64px; border-radius:50%;
  background:radial-gradient(circle at 38% 32%, #ffe6ad 0%, #e8b85e 46%, #c89a4a 100%);
  box-shadow:var(--glow-gold); display:flex; align-items:center; justify-content:center;}
.confirm h3{font-weight:700; font-size:26px; letter-spacing:-0.01em; margin:0; color:var(--fg-1);}
.confirm h3 .g{color:var(--accent); font-weight:800;}
.confirm p{font-size:16px; line-height:1.55; color:var(--fg-2); margin:0; max-width:42ch;}

/* ── PIED DE PAGE ────────────────────────────────────────────── */
.foot{padding:54px var(--gut) 48px; border-top:0.5px solid var(--divider);
  background:var(--foot-bg); transition:background .5s var(--ease);}
.foot .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px;}
.foot .fcol-l{display:flex; flex-direction:column; gap:10px; max-width:48ch;}
.foot .name{font-weight:700; font-size:20px; letter-spacing:-0.01em;}
.foot .name b{color:var(--accent); font-weight:800;}
.foot .tagline{font-size:15px; line-height:1.55; color:var(--fg-3); margin:0; text-wrap:pretty;}
.foot .fcol-r{font-family:var(--fm); font-size:13px; letter-spacing:1px; color:var(--fg-3); line-height:1.9; text-align:right;}
.foot .fcol-r a{color:var(--fg-2); transition:color .2s;}
.foot .fcol-r a:hover{color:var(--accent);}
.foot .legal-links{margin-top:16px; display:flex; gap:18px; justify-content:flex-end; flex-wrap:wrap;}
.foot .legal-links a{font-size:11px; letter-spacing:0.5px; color:var(--fg-2); text-decoration:underline; text-underline-offset:2px;}
.foot .legal-links a:hover{color:var(--fg-2);}

/* ── Apparition au défilement ────────────────────────────────── */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1; transform:none;}
[data-stagger]{transition-delay:var(--d,0ms);}

/* ── Bandeau de consentement aux cookies ─────────────────────── */
#cookie-banner{
  position:fixed; bottom:0; left:0; right:0; z-index:9000;
  padding:18px var(--gut);
  background:rgba(19,31,24,0.96);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  border-top:0.5px solid rgba(232,184,94,0.22);
  display:none;
  animation:slideUp .4s var(--ease);}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
#cookie-banner.visible{display:flex;}
.cookie-inner{max-width:var(--maxw); margin:0 auto; width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.cookie-inner p{font-size:14px; line-height:1.55; color:var(--fg-2); margin:0; max-width:70ch;}
.cookie-inner p a{color:var(--accent); text-decoration:underline; text-underline-offset:2px;}
.cookie-btns{display:flex; gap:12px; flex-shrink:0;}
#cookie-ok{font-family:var(--fd); font-weight:700; font-size:14px; color:var(--btn-ink);
  background:linear-gradient(180deg,#e8b85e 0%,#c89a4a 100%); border:none; border-radius:var(--r-pill);
  padding:10px 22px; cursor:pointer; white-space:nowrap;
  box-shadow:var(--glow-gold); transition:filter .2s;}
#cookie-ok:hover{filter:brightness(1.06);}
#cookie-no{font-family:var(--fd); font-size:14px; color:var(--fg-3); background:transparent; border:0.5px solid rgba(255,255,255,0.18);
  border-radius:var(--r-pill); padding:10px 20px; cursor:pointer; white-space:nowrap;
  transition:border-color .2s, color .2s;}
#cookie-no:hover{border-color:rgba(255,255,255,0.36); color:var(--fg-2);}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:860px){
  .hdr .cta-mini{display:none;}
  .cards{grid-template-columns:1fr; gap:20px;}
  .vcard{min-height:0;}
  .timeline .rail{left:24px;}
  .cookie-inner{flex-direction:column; gap:16px;}
  .cookie-btns{width:100%; justify-content:flex-start;}
}
@media (min-width:861px){
  .thread-v{display:none;}
}

@media (max-width:620px){
  .hdr{padding:15px var(--gut);}
  .hdr.veiled{padding:11px var(--gut);}
  .brand .name{font-size:17px;}
  .section{padding:clamp(64px,11vh,96px) var(--gut);}
  .hero{min-height:88vh; padding:118px var(--gut) 84px;}
  .hero .pill{margin-bottom:24px;}
  .hero .lede{margin-top:24px;}
  .hero .btn-gold{margin-top:34px;}
  .btn-gold{padding:15px 24px;}
  .prob-grid{gap:24px; margin-top:30px;}
  .timeline{margin-top:42px;}
  .devis-stage{margin-top:40px;}
  .quote-box{padding:26px 22px;}
  .form-glass{margin-top:38px;}
  .foot .legal-links{justify-content:flex-start;}
}

@media (max-width:560px){
  .t-hero{font-size:clamp(34px,11vw,44px);}
  .t-h2{font-size:clamp(28px,7.4vw,38px);}
  .t-h3{font-size:clamp(23px,6.4vw,30px);}
  .hero .lede,.lede{font-size:16.5px;}
  .tl-step{grid-template-columns:46px 1fr; gap:16px; padding:14px 0;}
  .tl-num{width:46px; height:46px; font-size:14px;}
  .timeline .rail{left:22px;}
  .tl-body h3{font-size:20px;}
  .tl-body p{font-size:15px;}
  .bf .mono{width:78px; height:78px; font-size:27px; border-radius:20px; margin-bottom:24px;}
  .vcard{padding:26px 24px 28px;}
  .vcard .vhead{margin-bottom:20px;}
  .quote-box .q{font-size:clamp(22px,6.6vw,28px);}
  .field{margin-bottom:18px;}
  .scroll-hint{bottom:26px;}
}

@media (max-width:380px){
  :root{--gut:18px;}
  .t-hero{font-size:32px;}
  .brand .name{font-size:16px;}
  .pill{letter-spacing:1.3px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important;
    transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  .reveal{opacity:1; transform:none;}
}

/* ============================================================
   TUNNEL — composants ajoutés (catalogue, pages produit)
   ============================================================ */

/* ── En-tête : navigation ────────────────────────────────────── */
.hdr .navwrap{display:flex; align-items:center; gap:clamp(14px,2.4vw,30px);}
.navlinks{display:flex; align-items:center; gap:clamp(14px,2vw,26px);}
.navlinks a{font-family:var(--fm); font-size:12px; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--fg-3); white-space:nowrap; transition:color .2s var(--ease);}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--accent);}

/* ── Fil d'Ariane ────────────────────────────────────────────── */
.crumb{font-family:var(--fm); font-size:11.5px; letter-spacing:1.8px; text-transform:uppercase;
  color:var(--fg-4); margin-bottom:22px;}
.crumb a{color:var(--fg-3); transition:color .2s;}
.crumb a:hover{color:var(--accent);}
.crumb .sep{margin:0 9px; color:var(--fg-4);}

/* ── Héro de page produit (plus compact que l'accueil) ───────── */
.hero--produit{min-height:auto; padding:clamp(132px,17vh,170px) var(--gut) clamp(64px,9vh,92px);
  align-items:flex-start; text-align:left;}
.hero--produit .wrap{display:flex; flex-direction:column; align-items:flex-start;}
.hero--produit .t-hero{max-width:17ch; font-size:clamp(34px,5.8vw,66px);}
.hero--produit .lede{margin:26px 0 0; max-width:56ch;}
.hero--produit .cta-row{margin-top:36px;}

/* ── Ligne de CTA (bouton + mention prix) ───────────────────── */
.cta-row{display:flex; align-items:center; gap:clamp(16px,2.6vw,28px); flex-wrap:wrap;}
.cta-side{font-family:var(--fm); font-size:12.5px; letter-spacing:1.2px; line-height:1.7; color:var(--fg-3);}
.cta-side b{color:var(--fg-1); font-weight:600;}

/* ── Étiquette de prix ───────────────────────────────────────── */
.price{display:flex; align-items:baseline; gap:9px; flex-wrap:wrap;}
.price .amount{font-weight:800; font-size:clamp(30px,4vw,44px); letter-spacing:-0.03em; color:var(--accent);
  line-height:1;}
.price .unit{font-family:var(--fm); font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:var(--fg-3);}
.price-note{font-family:var(--fm); font-size:11.5px; letter-spacing:1px; line-height:1.7; color:var(--fg-4); margin:10px 0 0;}

/* ── Catalogue : grille de cartes produit ───────────────────── */
.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; align-items:stretch;}
.cat-card{display:flex; flex-direction:column; border-radius:var(--r-xl); padding:32px 30px 30px;
  background:var(--glass-bg); border:0.5px solid var(--glass-border);
  -webkit-backdrop-filter:blur(24px) saturate(1.2); backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:var(--glass-shadow); text-align:left; position:relative; overflow:hidden;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);}
.cat-card:hover{border-color:var(--glass-border-hover); box-shadow:var(--glass-shadow-hover); transform:translateY(-3px);}
.cat-card .tag{font-family:var(--fm); font-size:10.5px; letter-spacing:2px; text-transform:uppercase;
  color:var(--fg-4); margin:0 0 16px;}
.cat-card h3{font-weight:700; font-size:clamp(21px,2.2vw,26px); letter-spacing:-0.015em; margin:0 0 12px; color:var(--fg-1);}
.cat-card .pitch{font-size:15.5px; line-height:1.6; color:var(--fg-2); margin:0 0 22px;}
.cat-card ul{list-style:none; padding:0; margin:0 0 26px; display:flex; flex-direction:column; gap:9px;}
.cat-card li{font-size:14.5px; line-height:1.5; color:var(--fg-3); padding-left:20px; position:relative;}
.cat-card li::before{content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%;
  background:var(--accent); opacity:.75;}
.cat-card .cat-foot{margin-top:auto; padding-top:22px; border-top:0.5px solid var(--divider);}
.cat-card .go{display:inline-flex; align-items:center; gap:8px; margin-top:18px;
  font-family:var(--fm); font-size:12px; letter-spacing:1.6px; text-transform:uppercase; font-weight:600;
  color:var(--accent); transition:gap .25s var(--ease);}
.cat-card:hover .go{gap:13px;}
.cat-card--phare{border-color:rgba(232,184,94,0.42);
  box-shadow:0 24px 60px rgba(0,0,0,0.35), 0 0 46px rgba(200,154,74,0.13), inset 0 1px 0 rgba(255,255,255,0.08);}
.cat-card--phare .tag{color:var(--accent);}

/* ── Périmètre : ce que ça fait / ce que ça ne fait pas ─────── */
.spec{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px;}
.spec-col{border-radius:var(--r-lg); padding:28px 28px 30px;
  background:var(--glass-bg); border:0.5px solid var(--border-soft,var(--sap-border-soft));
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);}
.spec-col h3{font-family:var(--fm); font-size:12px; letter-spacing:2.2px; text-transform:uppercase;
  margin:0 0 20px; font-weight:600;}
.spec-col--in h3{color:var(--accent);}
.spec-col--out h3{color:var(--fg-3);}
.spec-col ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px;}
.spec-col li{font-size:15.5px; line-height:1.55; color:var(--fg-2); padding-left:26px; position:relative;}
.spec-col--in li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--accent); font-weight:700; font-size:14px;}
.spec-col--out li{color:var(--fg-3);}
.spec-col--out li::before{content:"—"; position:absolute; left:0; top:0; color:var(--fg-4); font-weight:700;}
.spec-note{margin:24px 0 0; font-size:14.5px; line-height:1.6; color:var(--fg-3); text-wrap:pretty;}

/* ── Bloc prix de page produit ──────────────────────────────── */
.pbox{margin-top:46px; border-radius:var(--r-xl); overflow:hidden;
  border:1px solid var(--quote-border); background:var(--quote-bg); box-shadow:var(--quote-glow);}
.pbox-main{padding:clamp(28px,4vw,40px); display:flex; flex-wrap:wrap; gap:28px;
  align-items:flex-start; justify-content:space-between;}
.pbox-main .left{min-width:min(100%,260px);}
.pbox-main .guarantee{margin:14px 0 0; font-size:15.5px; line-height:1.6; color:var(--fg-2); max-width:40ch;}
.pbox-lines{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; min-width:min(100%,300px);}
.pbox-lines li{display:flex; justify-content:space-between; gap:18px; align-items:baseline;
  font-size:15px; line-height:1.5; color:var(--fg-2); padding-bottom:13px; border-bottom:0.5px solid var(--divider);}
.pbox-lines li:last-child{border-bottom:none; padding-bottom:0;}
.pbox-lines .k{color:var(--fg-3);}
.pbox-lines .v{font-family:var(--fm); font-size:13.5px; letter-spacing:0.5px; color:var(--fg-1); white-space:nowrap; text-align:right;}
.pbox-foot{padding:20px clamp(28px,4vw,40px); border-top:1px solid rgba(232,184,94,0.22);
  background:rgba(0,0,0,0.16);
  font-family:var(--fm); font-size:11.5px; letter-spacing:0.8px; line-height:1.8; color:var(--fg-4);}

/* ── Point d'attention (aversion à la perte) ────────────────── */
.attn{margin:46px auto 0; max-width:660px; border-radius:var(--r-lg);
  border:0.5px solid var(--sap-border-soft); border-left:2px solid var(--accent);
  background:rgba(0,0,0,0.20); padding:clamp(24px,3.4vw,32px);}
.attn h3{font-family:var(--fm); font-size:11.5px; letter-spacing:2.4px; text-transform:uppercase;
  color:var(--accent); margin:0 0 16px; font-weight:600;}
.attn p{font-size:16px; line-height:1.65; color:var(--fg-2); margin:0; text-wrap:pretty;}
.attn p + p{margin-top:13px;}
.attn .after{color:var(--fg-1);}

/* ── Preuve ──────────────────────────────────────────────────── */
.proof-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; margin-top:46px;}
.proof-card{border-radius:var(--r-lg); padding:28px 26px;
  background:var(--glass-bg); border:0.5px solid var(--sap-border-soft);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);}
.proof-card .who{font-family:var(--fm); font-size:11px; letter-spacing:2px; text-transform:uppercase;
  color:var(--fg-4); margin:0 0 14px;}
.proof-card .what{font-size:16px; line-height:1.6; color:var(--fg-2); margin:0;}
.proof-card .what b{color:var(--fg-1); font-weight:600;}
.proof-card--vide{border-style:dashed; border-color:rgba(255,255,255,0.14); background:rgba(0,0,0,0.14);}
.proof-card--vide .what{color:var(--fg-4);}

/* ── Questions fréquentes ───────────────────────────────────── */
.faq{margin-top:44px; max-width:760px; margin-left:auto; margin-right:auto;}
.faq details{border-bottom:0.5px solid var(--divider); padding:4px 0;}
.faq summary{cursor:pointer; list-style:none; padding:20px 34px 20px 0; position:relative;
  font-weight:600; font-size:clamp(16px,1.7vw,18.5px); line-height:1.45; color:var(--fg-1);
  transition:color .2s var(--ease);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--accent);}
.faq summary::after{content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%);
  font-family:var(--fm); font-size:20px; font-weight:400; color:var(--accent); transition:transform .3s var(--ease);}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq .ans{padding:0 34px 24px 0; margin:0; font-size:15.5px; line-height:1.65; color:var(--fg-2); text-wrap:pretty;}
.faq .ans + .ans{padding-top:0; margin-top:-10px;}

/* ── Barre d'action collante (mobile) ───────────────────────── */
.sticky-cta{position:fixed; left:0; right:0; bottom:0; z-index:70; display:none;
  padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));
  background:rgba(19,31,24,0.94);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  border-top:0.5px solid rgba(232,184,94,0.22);
  align-items:center; justify-content:space-between; gap:14px;}
.sticky-cta .sc-price{font-family:var(--fm); font-size:12px; letter-spacing:1px; line-height:1.5; color:var(--fg-3);}
.sticky-cta .sc-price b{display:block; font-size:16px; letter-spacing:-0.01em; color:var(--accent); font-weight:800;}
.sticky-cta .btn-gold{padding:13px 22px; font-size:15px;}

/* ── Responsive des ajouts ──────────────────────────────────── */
@media (max-width:980px){
  .cat-grid{grid-template-columns:1fr; gap:20px;}
  .spec{grid-template-columns:1fr; gap:18px;}
}
@media (max-width:860px){
  .navlinks{display:none;}
  .sticky-cta{display:flex;}
  body:has(.sticky-cta){padding-bottom:84px;}
  .hero--produit{padding-top:clamp(112px,15vh,140px);}
}
@media (max-width:620px){
  .cat-grid{margin-top:38px;}
  .pbox-main{flex-direction:column; gap:24px;}
  .pbox-lines .v{font-size:12.5px;}
  .attn{margin-top:34px;}
  .faq summary{font-size:16px; padding-right:30px;}
  .hero--produit .t-hero{font-size:clamp(30px,9vw,40px);}
}

/* ── Bloc chiffre (argument de vente sourcé) ─────────────────── */
.statwrap{margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch;}
.statbox{border-radius:var(--r-xl); padding:clamp(28px,3.6vw,40px);
  background:var(--glass-bg); border:0.5px solid var(--glass-border);
  -webkit-backdrop-filter:blur(24px) saturate(1.2); backdrop-filter:blur(24px) saturate(1.2);
  box-shadow:var(--glass-shadow); display:flex; flex-direction:column;}
.statbox--fort{border-color:rgba(232,184,94,0.42); background:var(--quote-bg);
  box-shadow:0 24px 60px rgba(0,0,0,0.35), 0 0 46px rgba(200,154,74,0.13), inset 0 1px 0 rgba(255,255,255,0.08);}
.statbox .lab{font-family:var(--fm); font-size:11px; letter-spacing:2.4px; text-transform:uppercase;
  color:var(--fg-4); margin:0 0 18px;}
.statbox--fort .lab{color:var(--accent);}
.statbox .big{font-weight:800; font-size:clamp(52px,8vw,86px); line-height:0.95; letter-spacing:-0.04em;
  color:var(--accent); margin:0 0 16px;}
.statbox .say{font-size:clamp(16px,1.8vw,19px); line-height:1.5; color:var(--fg-1); margin:0; font-weight:600;
  text-wrap:pretty;}
.statbox .sub{font-size:15px; line-height:1.6; color:var(--fg-2); margin:14px 0 0; text-wrap:pretty;}
.statbox .src{font-family:var(--fm); font-size:11px; letter-spacing:0.6px; line-height:1.7; color:var(--fg-4);
  margin:auto 0 0; padding-top:20px;}
.statbox .src b{color:var(--fg-3); font-weight:500;}

.statnote{margin:22px auto 0; max-width:70ch; text-align:center;
  font-family:var(--fm); font-size:11.5px; letter-spacing:0.6px; line-height:1.8; color:var(--fg-4);}

@media (max-width:860px){ .statwrap{grid-template-columns:1fr;} }
@media (max-width:620px){ .statwrap{margin-top:34px; gap:18px;} .statbox .big{font-size:clamp(46px,14vw,60px);} }

/* ============================================================
   TUNNEL v2 — bandeau de chiffres, cartes courtes, formulaire qualifiant
   ============================================================ */

/* ── Bandeau de chiffres sous le héro ───────────────────────── */
.hstats{display:flex; align-items:stretch; justify-content:center; gap:clamp(20px,4vw,56px);
  margin:44px auto 0; flex-wrap:wrap;}
.hstat{text-align:center; min-width:150px;}
.hstat .n{display:block; font-weight:800; font-size:clamp(34px,4.6vw,52px); line-height:1;
  letter-spacing:-0.035em; color:var(--accent);}
.hstat .t{display:block; margin-top:10px; font-size:14px; line-height:1.5; color:var(--fg-3);
  max-width:22ch; margin-left:auto; margin-right:auto; text-wrap:pretty;}

/* ── Cartes courtes (problème, avantages) ───────────────────── */
.mini-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin-top:48px;}
.mini{border-radius:var(--r-lg); padding:26px 24px 28px;
  background:var(--glass-bg); border:0.5px solid var(--sap-border-soft);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  transition:border-color .3s var(--ease), transform .3s var(--ease);}
.mini:hover{border-color:var(--glass-border); transform:translateY(-2px);}
.mini .ic{display:flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:12px; margin-bottom:18px; background:rgba(232,184,94,0.12);
  border:0.5px solid rgba(232,184,94,0.30);}
.mini h3{font-weight:700; font-size:17.5px; letter-spacing:-0.01em; margin:0 0 9px; color:var(--fg-1);}
.mini p{font-size:15px; line-height:1.55; color:var(--fg-2); margin:0; text-wrap:pretty;}

/* ── Rappel d'action en fin de section ──────────────────────── */
.cta-band{margin-top:46px; text-align:center;}
.cta-band .btn-gold{margin:0 auto;}
.cta-band .under{display:block; margin-top:16px; font-family:var(--fm); font-size:11.5px;
  letter-spacing:1.2px; color:var(--fg-4);}

/* ── Champs de sélection du formulaire ──────────────────────── */
.field select{font-family:var(--fd); font-size:16px; color:var(--input-ink);
  background:var(--field-bg); border:0.5px solid var(--field-border); border-radius:var(--r-md);
  padding:14px 16px; width:100%; appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8b85e' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:18px;
  padding-right:44px; transition:border-color .25s, box-shadow .25s, background-color .25s;}
.field select:focus{outline:none; border-color:rgba(232,184,94,0.6);
  box-shadow:0 0 0 3px rgba(232,184,94,0.12); background-color:var(--field-bg-focus);}
.field select option{background:#1a2e22; color:#fff;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:560px){ .field-row{grid-template-columns:1fr; gap:0;} }

/* ── Carte large : le sur-mesure dans le catalogue ───────────── */
.cat-card--large{grid-column:1/-1; flex-direction:row; align-items:center; gap:clamp(24px,4vw,48px);
  flex-wrap:wrap; padding:32px clamp(28px,3.4vw,40px);
  border-style:dashed; border-color:rgba(255,255,255,0.18); background:rgba(0,0,0,0.16);}
.cat-card--large:hover{border-style:solid; border-color:var(--glass-border); transform:none;}
.cat-card--large .lft{flex:1 1 340px; min-width:0;}
.cat-card--large h3{margin-bottom:10px;}
.cat-card--large .pitch{margin-bottom:0; max-width:56ch;}
.cat-card--large .rgt{flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-start; gap:14px;}
.cat-card--large .mention{font-family:var(--fm); font-size:11.5px; letter-spacing:1.4px;
  text-transform:uppercase; color:var(--fg-4);}
@media (max-width:720px){ .cat-card--large{flex-direction:column; align-items:flex-start;} }

/* ============================================================
   PASSE ESTHÉTIQUE — corrections de structure
   ============================================================ */

/* 1 · Grilles régulières : plus de rangée orpheline */
.mini-grid{grid-template-columns:repeat(4,1fr);}
.mini-grid--3{grid-template-columns:repeat(3,1fr);}
@media (max-width:1000px){ .mini-grid,.mini-grid--3{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .mini-grid,.mini-grid--3{grid-template-columns:1fr;} }

/* 2 · Chiffres du héro : libellés lisibles, chiffres séparés par un filet */
.hstats{gap:0;}
.hstat{padding:0 clamp(18px,3vw,40px); position:relative;}
.hstat + .hstat::before{content:""; position:absolute; left:0; top:12%; bottom:12%; width:1px;
  background:linear-gradient(180deg,transparent,rgba(232,184,94,0.28),transparent);}
.hstat .t{margin-top:12px; font-size:14.5px; color:var(--fg-2); max-width:20ch;}
@media (max-width:620px){
  .hstats{gap:26px;}
  .hstat + .hstat::before{display:none;}
}

/* 3 · Cartes produit : l'action devient un bouton, pas un lien perdu */
.cat-card .go{padding:11px 20px; border-radius:var(--r-pill);
  border:1px solid rgba(232,184,94,0.34); background:rgba(232,184,94,0.07);
  transition:background .25s var(--ease), border-color .25s var(--ease), gap .25s var(--ease);}
.cat-card .go:hover{background:rgba(232,184,94,0.14); border-color:rgba(232,184,94,0.6);}
.cat-card .price{align-items:baseline; gap:10px;}
.cat-card .amount{font-size:clamp(34px,3.6vw,42px);}

/* 4 · Sur-mesure : invitant, plus « désactivé » */
.cat-card--large{border-style:solid; border-color:rgba(232,184,94,0.20);
  background:linear-gradient(120deg, rgba(232,184,94,0.05), rgba(255,255,255,0.02));}
.cat-card--large:hover{border-color:rgba(232,184,94,0.40); background:linear-gradient(120deg, rgba(232,184,94,0.08), rgba(255,255,255,0.03));}

/* 5 · Séparation des sections : un filet qui se voit sans peser */
:root{--divider:rgba(255,255,255,0.10);}
.section{border-top:none; position:relative;}
.section::before{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:min(100%,var(--maxw)); height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,184,94,0.22) 22%,rgba(232,184,94,0.22) 78%,transparent);}
.hero::before{display:none;}

/* 6 · Rythme : plus d'air autour des titres de section */
.section .center .overline{display:inline-block; margin-bottom:22px;}
.section .center .title{margin-bottom:4px;}

/* ============================================================
   THÈME CLAIR — crème / sapin / or
   Redéfinit les jetons de couleur. Tout ce qui précède les utilise.
   ============================================================ */
:root{
  /* Encres */
  --fg-1:#16281d;
  --fg-2:rgba(22,40,29,0.80);
  --fg-3:rgba(22,40,29,0.58);
  --fg-4:rgba(22,40,29,0.40);
  --accent:#96671c;                 /* or foncé : lisible sur crème */
  --btn-ink:#1a2e22;

  /* Fonds */
  --body-bg:#f2ece0;
  --page-grad:radial-gradient(150% 110% at 50% -10%, #fdfbf5 0%, #f6f1e6 38%, #eee7d8 100%);
  --halo-1:radial-gradient(circle, rgba(200,154,74,0.20) 0%, rgba(200,154,74,0.06) 40%, transparent 70%);
  --halo-2:radial-gradient(circle, rgba(107,143,118,0.24) 0%, rgba(107,143,118,0.08) 44%, transparent 75%);
  --halo-3:radial-gradient(circle, rgba(255,255,255,0.55) 0%, transparent 68%);
  --vignette:radial-gradient(ellipse at center, transparent 55%, rgba(122,104,72,0.10) 100%);

  /* Surfaces vitrées → cartes claires */
  --glass-bg:rgba(255,255,255,0.76);
  --glass-border:rgba(22,40,29,0.13);
  --glass-border-hover:rgba(22,40,29,0.24);
  --glass-shadow:0 16px 40px rgba(60,52,34,0.09), inset 0 1px 0 rgba(255,255,255,0.9);
  --glass-shadow-hover:0 22px 52px rgba(60,52,34,0.13), inset 0 1px 0 rgba(255,255,255,0.95);
  --sap-surface:rgba(255,255,255,0.70);
  --sap-border-soft:rgba(22,40,29,0.12);
  --sap-border-glass:rgba(22,40,29,0.14);
  --divider:rgba(22,40,29,0.11);
  --sap-divider:rgba(22,40,29,0.11);

  /* En-tête, pastilles, champs */
  --header-veil:rgba(250,247,239,0.86);
  --header-border:rgba(22,40,29,0.10);
  --pill-bg:rgba(255,255,255,0.70);
  --pill-border:rgba(22,40,29,0.14);
  --field-bg:#ffffff;
  --field-bg-focus:#ffffff;
  --field-border:rgba(22,40,29,0.16);
  --field-ph:rgba(22,40,29,0.34);
  --input-ink:#16281d;

  /* Encadrés dorés */
  --quote-border:rgba(200,154,74,0.42);
  --quote-bg:linear-gradient(170deg, rgba(232,184,94,0.14), rgba(232,184,94,0.05));
  --quote-glow:0 14px 40px rgba(150,103,28,0.10), inset 0 1px 0 rgba(255,255,255,0.8);

  /* Divers */
  --sel-bg:rgba(200,154,74,0.34);
  --sel-ink:#16281d;
  --mark-bg:#1a2e22;
  --scroll-border:rgba(22,40,29,0.28);
  --foot-bg:#1a2e22;                /* pied sombre : ancre la page */
  --confirm-veil:rgba(250,247,239,0.86);

  /* Ombres et halos dorés, atténués pour un fond clair */
  --glow-gold:0 8px 20px rgba(150,103,28,0.26), 0 2px 6px rgba(150,103,28,0.16);
  --glow-gold-lg:0 0 36px rgba(200,154,74,0.45), inset 0 0 14px rgba(255,255,255,0.55);
  --shadow-glass:var(--glass-shadow);
}

/* ── Reprises des valeurs codées en dur ─────────────────────── */
body{color:var(--fg-1);}
.pbox-foot{background:rgba(22,40,29,0.045); border-top-color:rgba(200,154,74,0.30);}
.attn{background:rgba(255,255,255,0.60);}
.proof-card--vide{background:rgba(22,40,29,0.04); border-color:rgba(22,40,29,0.14);}
.sticky-cta{background:rgba(250,247,239,0.95); border-top-color:rgba(200,154,74,0.30);}
#cookie-banner{background:rgba(250,247,239,0.97); border-top-color:rgba(200,154,74,0.30);}
#cookie-no{border-color:rgba(22,40,29,0.20); color:var(--fg-2);}
#cookie-no:hover{border-color:rgba(22,40,29,0.40); color:var(--fg-1);}
.field select option{background:#fff; color:#16281d;}
.mini .ic{background:rgba(200,154,74,0.14); border-color:rgba(200,154,74,0.38);}
.cat-card .go{border-color:rgba(150,103,28,0.34); background:rgba(200,154,74,0.10);}
.cat-card .go:hover{background:rgba(200,154,74,0.20); border-color:rgba(150,103,28,0.60);}
.statbox .src{color:var(--fg-3);}
.spec-col--out li::before{color:var(--fg-3);}
.hdr.veiled{box-shadow:0 1px 0 rgba(22,40,29,0.06), 0 8px 24px rgba(60,52,34,0.06);}

/* Le pied de page reste sombre : ses encres repassent en clair */
.foot{color:#fff;}
.foot .name{color:#fff;}
.foot .name b{color:var(--sap-or-clair);}
.foot .tagline{color:rgba(255,255,255,0.62);}
.foot .fcol-r{color:rgba(255,255,255,0.60);}
.foot .fcol-r a{color:rgba(255,255,255,0.86);}
.foot .fcol-r a:hover{color:var(--sap-or-clair);}
.foot .legal-links a{color:rgba(255,255,255,0.78);}
.foot .legal-links a:hover{color:rgba(255,255,255,0.80);}

/* Boutons dorés : encre sapin, ombre douce */
.btn-gold,.hdr .cta-mini,#cookie-ok{
  background:linear-gradient(180deg,#e6b45c 0%,#c2913f 100%);
  box-shadow:var(--glow-gold), inset 0 1px 0 rgba(255,255,255,0.55);}
.btn-gold:hover,.hdr .cta-mini:hover,#cookie-ok:hover{
  box-shadow:0 10px 26px rgba(150,103,28,0.32), inset 0 1px 0 rgba(255,255,255,0.6);}

/* Disques dorés (étapes) : le glyphe intérieur reste sapin */
.step-disc{box-shadow:0 8px 20px rgba(150,103,28,0.22);}
.pill .dot{box-shadow:0 0 8px rgba(200,154,74,0.7);}
.brand .orb{box-shadow:0 0 8px rgba(200,154,74,0.65);}


/* ── Motif de courbes de niveau (topographie) ────────────────── */
.topo{position:relative; isolation:isolate;}
.topo::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='900' viewBox='0 0 900 900'><g fill='none' stroke='%233d6b28' stroke-width='1.15' stroke-opacity='1'><path d='M934.8 430.0L931.6 451.6L927.2 473.0L921.5 494.1L914.8 514.8L907.0 535.2L898.0 555.2L887.8 574.8L876.3 593.8L863.4 612.2L849.0 629.7L833.1 646.3L815.6 661.8L796.8 675.9L776.7 688.7L755.5 700.2L733.5 710.2L710.9 718.8L687.9 726.3L664.8 732.8L641.8 738.4L618.8 743.4L596.0 747.9L573.3 752.2L550.6 756.1L527.8 759.9L504.9 763.4L481.7 766.4L458.2 768.9L434.3 770.4L410.2 770.8L386.0 769.7L361.9 767.1L338.2 762.6L315.1 756.3L292.9 748.0L271.8 738.0L252.1 726.3L233.9 713.1L217.1 698.9L201.7 683.9L187.6 668.3L174.4 652.5L161.9 636.6L149.8 620.7L137.8 605.0L125.7 589.4L113.2 573.8L100.4 558.1L87.3 542.0L74.0 525.3L60.9 508.0L48.2 489.9L36.5 470.8L26.1 450.8L17.5 430.0L11.1 408.5L7.2 386.5L5.9 364.1L7.6 341.8L12.0 319.7L19.2 298.1L28.9 277.1L40.9 257.0L54.9 237.8L70.7 219.6L88.0 202.4L106.6 186.3L126.2 171.3L146.8 157.3L168.2 144.4L190.4 132.6L213.3 122.1L236.9 113.0L261.1 105.3L285.8 99.3L310.9 95.0L336.3 92.5L361.6 91.9L386.8 93.2L411.5 96.1L435.5 100.6L458.7 106.3L481.0 112.9L502.4 120.2L523.0 127.7L542.8 135.2L562.2 142.3L581.4 148.9L600.7 154.8L620.3 160.1L640.6 164.9L661.7 169.3L683.7 173.7L706.5 178.5L730.1 183.8L754.2 190.2L778.3 198.0L802.0 207.4L824.9 218.5L846.6 231.6L866.4 246.4L884.1 263.1L899.3 281.2L911.9 300.7L921.8 321.2L929.0 342.5L933.7 364.2L936.0 386.2L936.3 408.1L934.8 430.0Z'/><path d='M874.2 423.0L871.6 441.3L867.8 459.3L863.1 477.1L857.3 494.7L850.7 511.9L843.1 528.8L834.6 545.3L824.8 561.4L813.9 576.9L801.8 591.8L788.3 605.8L773.6 618.8L757.6 630.8L740.6 641.6L722.7 651.3L704.1 659.7L685.0 667.1L665.6 673.4L646.1 678.8L626.6 683.6L607.2 687.8L587.9 691.6L568.8 695.2L549.6 698.6L530.4 701.8L511.0 704.7L491.4 707.3L471.5 709.3L451.4 710.6L431.0 711.0L410.6 710.1L390.2 707.8L370.1 704.1L350.6 698.7L331.8 691.7L314.1 683.2L297.4 673.3L282.0 662.3L267.8 650.2L254.8 637.5L242.9 624.4L231.7 611.0L221.2 597.5L211.0 584.2L200.8 570.9L190.6 557.7L180.0 544.5L169.2 531.2L158.1 517.6L146.9 503.6L135.8 488.9L125.1 473.6L115.2 457.5L106.4 440.6L99.1 423.0L93.7 404.8L90.4 386.2L89.4 367.4L90.7 348.5L94.5 329.8L100.5 311.5L108.7 293.8L118.9 276.8L130.8 260.6L144.1 245.2L158.7 230.7L174.4 217.1L191.0 204.4L208.4 192.6L226.5 181.6L245.2 171.7L264.6 162.8L284.5 155.1L305.0 148.6L325.9 143.5L347.1 139.9L368.5 137.8L389.9 137.3L411.2 138.4L432.0 140.9L452.3 144.6L472.0 149.4L490.8 155.1L508.9 161.2L526.3 167.6L543.1 173.9L559.4 179.9L575.6 185.5L591.9 190.5L608.5 195.0L625.6 199.0L643.5 202.7L662.1 206.5L681.4 210.4L701.3 215.0L721.6 220.4L742.0 227.0L762.1 234.9L781.4 244.3L799.7 255.3L816.5 267.9L831.4 281.9L844.3 297.3L854.9 313.7L863.3 331.1L869.4 349.0L873.3 367.4L875.3 385.9L875.5 404.5L874.2 423.0Z'/><path d='M824.8 416.0L822.6 431.5L819.4 446.7L815.4 461.8L810.6 476.6L805.0 491.1L798.6 505.4L791.3 519.4L783.1 533.0L773.9 546.1L763.6 558.6L752.2 570.4L739.8 581.5L726.3 591.6L712.0 600.8L696.8 608.9L681.1 616.0L665.0 622.2L648.6 627.6L632.1 632.2L615.6 636.2L599.2 639.8L582.9 643.0L566.7 646.0L550.5 648.9L534.3 651.6L517.9 654.1L501.4 656.2L484.6 658.0L467.5 659.0L450.3 659.3L433.1 658.6L415.8 656.7L398.9 653.5L382.4 649.0L366.5 643.1L351.5 635.9L337.4 627.5L324.4 618.2L312.4 608.0L301.5 597.3L291.3 586.1L281.9 574.8L273.0 563.5L264.4 552.2L255.8 541.0L247.2 529.8L238.3 518.7L229.1 507.4L219.7 496.0L210.2 484.1L200.9 471.7L191.8 458.7L183.4 445.1L176.0 430.9L169.9 416.0L165.3 400.6L162.5 384.9L161.7 369.0L162.8 353.0L166.0 337.3L171.1 321.8L178.0 306.8L186.6 292.5L196.6 278.8L207.9 265.8L220.3 253.5L233.5 242.0L247.5 231.3L262.2 221.3L277.5 212.1L293.3 203.7L309.7 196.2L326.5 189.6L343.8 184.2L361.5 179.9L379.4 176.8L397.5 175.0L415.6 174.6L433.6 175.5L451.2 177.6L468.4 180.8L484.9 184.8L500.9 189.6L516.2 194.8L530.8 200.2L545.0 205.5L558.8 210.6L572.5 215.3L586.3 219.5L600.3 223.3L614.8 226.7L629.9 229.9L645.6 233.0L661.9 236.4L678.7 240.2L695.9 244.8L713.1 250.3L730.1 257.0L746.4 265.0L761.9 274.3L776.0 284.9L788.7 296.8L799.6 309.8L808.5 323.7L815.6 338.3L820.8 353.5L824.1 369.0L825.8 384.7L826.0 400.4L824.8 416.0Z'/><path d='M784.9 409.0L783.0 422.1L780.3 435.0L776.9 447.7L772.9 460.2L768.1 472.5L762.7 484.6L756.6 496.4L749.7 507.8L741.9 518.9L733.2 529.5L723.6 539.5L713.0 548.8L701.7 557.4L689.5 565.1L676.7 572.0L663.5 578.0L649.8 583.3L636.0 587.8L622.1 591.7L608.1 595.1L594.3 598.1L580.5 600.8L566.8 603.4L553.1 605.8L539.4 608.1L525.6 610.2L511.6 612.0L497.4 613.5L483.0 614.4L468.4 614.6L453.8 614.0L439.3 612.4L425.0 609.7L411.0 605.9L397.6 600.9L384.9 594.8L373.1 587.7L362.0 579.8L351.9 571.2L342.6 562.2L334.1 552.8L326.2 543.2L318.6 533.6L311.3 524.1L304.1 514.6L296.8 505.2L289.3 495.8L281.5 486.3L273.6 476.6L265.6 466.5L257.6 456.1L250.0 445.1L242.9 433.6L236.7 421.6L231.5 409.0L227.6 396.0L225.2 382.7L224.5 369.3L225.5 355.8L228.2 342.5L232.5 329.4L238.3 316.8L245.6 304.6L254.1 293.0L263.6 282.1L274.0 271.7L285.2 262.0L297.1 252.9L309.5 244.5L322.4 236.7L335.8 229.6L349.6 223.2L363.8 217.7L378.4 213.1L393.4 209.5L408.5 206.9L423.8 205.4L439.1 205.0L454.3 205.8L469.2 207.5L483.7 210.2L497.7 213.7L511.2 217.7L524.1 222.1L536.5 226.6L548.5 231.1L560.1 235.4L571.7 239.4L583.3 243.0L595.2 246.2L607.4 249.0L620.2 251.7L633.4 254.4L647.2 257.2L661.4 260.5L675.9 264.3L690.5 269.0L704.8 274.7L718.7 281.4L731.7 289.3L743.7 298.2L754.3 308.3L763.5 319.2L771.1 331.0L777.1 343.4L781.5 356.2L784.3 369.3L785.7 382.5L785.8 395.8L784.9 409.0Z'/><path d='M752.9 402.0L751.4 413.0L749.1 423.9L746.2 434.7L742.8 445.2L738.8 455.6L734.2 465.8L729.0 475.8L723.2 485.5L716.6 494.9L709.2 503.8L701.1 512.3L692.2 520.2L682.6 527.4L672.3 533.9L661.5 539.7L650.3 544.8L638.8 549.3L627.1 553.1L615.3 556.4L603.6 559.2L591.9 561.8L580.2 564.1L568.6 566.2L557.1 568.3L545.5 570.2L533.8 572.0L522.0 573.5L510.0 574.8L497.8 575.5L485.5 575.7L473.2 575.2L460.9 573.9L448.8 571.6L437.0 568.3L425.7 564.1L415.0 559.0L404.9 553.0L395.6 546.4L387.1 539.1L379.2 531.4L372.0 523.5L365.3 515.4L358.9 507.3L352.8 499.2L346.7 491.2L340.5 483.3L334.1 475.3L327.6 467.3L320.9 459.1L314.1 450.6L307.4 441.8L301.0 432.5L295.0 422.8L289.7 412.6L285.3 402.0L282.0 391.0L280.0 379.8L279.4 368.4L280.2 357.0L282.5 345.8L286.1 334.8L291.1 324.1L297.2 313.8L304.4 304.0L312.4 294.7L321.3 286.0L330.7 277.8L340.7 270.1L351.2 263.0L362.1 256.4L373.4 250.4L385.1 245.0L397.1 240.4L409.5 236.5L422.1 233.4L434.9 231.2L447.8 230.0L460.8 229.6L473.6 230.3L486.2 231.8L498.4 234.0L510.2 237.0L521.6 240.3L532.5 244.1L543.0 247.9L553.1 251.7L563.0 255.3L572.8 258.7L582.6 261.7L592.6 264.4L603.0 266.8L613.7 269.1L624.9 271.4L636.6 273.8L648.6 276.5L660.9 279.8L673.2 283.7L685.3 288.5L697.0 294.2L708.0 300.8L718.1 308.4L727.1 316.9L734.9 326.1L741.3 336.1L746.4 346.5L750.0 357.4L752.4 368.5L753.6 379.6L753.7 390.9L752.9 402.0Z'/><path d='M727.7 395.0L726.4 404.3L724.5 413.5L722.0 422.6L719.1 431.5L715.7 440.3L711.9 448.9L707.5 457.4L702.5 465.6L697.0 473.5L690.8 481.0L683.9 488.2L676.4 494.8L668.3 500.9L659.6 506.5L650.5 511.4L641.0 515.7L631.3 519.4L621.4 522.7L611.4 525.4L601.5 527.9L591.6 530.0L581.8 532.0L572.0 533.8L562.2 535.5L552.4 537.1L542.5 538.6L532.5 539.9L522.4 541.0L512.1 541.6L501.8 541.8L491.3 541.4L480.9 540.2L470.7 538.3L460.8 535.6L451.2 532.0L442.1 527.7L433.6 522.6L425.8 517.0L418.6 510.9L411.9 504.4L405.8 497.7L400.2 490.8L394.8 484.0L389.6 477.2L384.4 470.4L379.2 463.7L373.8 457.0L368.3 450.2L362.6 443.2L356.9 436.1L351.2 428.6L345.8 420.8L340.7 412.6L336.3 404.0L332.6 395.0L329.8 385.7L328.1 376.2L327.6 366.6L328.3 357.0L330.2 347.5L333.3 338.2L337.5 329.1L342.6 320.5L348.7 312.2L355.5 304.4L362.9 297.0L370.9 290.0L379.4 283.5L388.3 277.5L397.5 272.0L407.0 266.9L416.9 262.4L427.1 258.4L437.5 255.1L448.2 252.5L459.0 250.7L469.9 249.6L480.8 249.4L491.6 249.9L502.3 251.2L512.6 253.1L522.6 255.5L532.3 258.4L541.5 261.5L550.3 264.8L558.9 268.0L567.2 271.1L575.5 273.9L583.8 276.5L592.3 278.7L601.0 280.8L610.1 282.7L619.6 284.6L629.4 286.6L639.6 289.0L649.9 291.7L660.3 295.1L670.5 299.1L680.4 303.9L689.7 309.5L698.3 315.9L705.9 323.1L712.5 330.9L717.9 339.3L722.1 348.1L725.3 357.3L727.3 366.7L728.3 376.1L728.4 385.6L727.7 395.0Z'/><path d='M708.2 388.0L707.1 395.9L705.4 403.7L703.4 411.3L700.9 418.9L698.1 426.3L694.8 433.6L691.1 440.7L686.9 447.6L682.2 454.3L677.0 460.7L671.2 466.7L664.8 472.4L658.0 477.5L650.6 482.2L642.9 486.3L634.9 490.0L626.7 493.1L618.3 495.9L609.9 498.2L601.5 500.3L593.2 502.1L584.9 503.7L576.6 505.3L568.3 506.7L560.1 508.1L551.7 509.4L543.3 510.5L534.7 511.4L526.0 511.9L517.2 512.1L508.4 511.7L499.7 510.7L491.0 509.1L482.6 506.8L474.5 503.8L466.9 500.1L459.7 495.8L453.0 491.1L446.9 485.9L441.3 480.4L436.2 474.7L431.4 469.0L426.9 463.2L422.5 457.4L418.1 451.7L413.7 446.0L409.1 440.4L404.5 434.6L399.7 428.8L394.8 422.7L390.1 416.4L385.5 409.8L381.2 402.8L377.4 395.6L374.3 388.0L371.9 380.2L370.5 372.1L370.1 364.0L370.7 355.9L372.3 347.9L374.9 340.0L378.4 332.4L382.8 325.0L387.9 318.0L393.7 311.4L400.0 305.2L406.7 299.3L413.9 293.8L421.3 288.7L429.1 284.0L437.2 279.7L445.5 275.9L454.1 272.6L462.9 269.8L471.9 267.6L481.1 266.0L490.3 265.2L499.6 264.9L508.7 265.4L517.7 266.4L526.4 268.1L534.9 270.2L543.0 272.6L550.8 275.2L558.3 278.0L565.5 280.7L572.6 283.3L579.5 285.7L586.6 287.8L593.7 289.8L601.1 291.5L608.8 293.1L616.8 294.7L625.1 296.4L633.7 298.4L642.4 300.7L651.2 303.5L659.9 307.0L668.2 311.0L676.1 315.8L683.3 321.2L689.7 327.2L695.3 333.8L699.9 340.9L703.5 348.4L706.1 356.1L707.8 364.0L708.7 372.0L708.7 380.0L708.2 388.0Z'/><path d='M693.5 381.0L692.5 387.7L691.1 394.2L689.4 400.7L687.3 407.1L684.9 413.4L682.2 419.5L679.0 425.5L675.5 431.4L671.5 437.0L667.1 442.4L662.2 447.5L656.8 452.3L651.0 456.7L644.8 460.6L638.3 464.1L631.5 467.2L624.6 469.9L617.5 472.2L610.4 474.1L603.3 475.9L596.3 477.4L589.3 478.8L582.3 480.1L575.3 481.3L568.3 482.5L561.2 483.6L554.1 484.5L546.9 485.2L539.5 485.7L532.1 485.8L524.7 485.5L517.3 484.7L510.0 483.3L502.8 481.4L496.0 478.8L489.5 475.7L483.5 472.1L477.9 468.1L472.7 463.7L468.0 459.1L463.6 454.3L459.6 449.4L455.7 444.5L452.0 439.7L448.3 434.8L444.6 430.0L440.8 425.2L436.8 420.4L432.8 415.4L428.7 410.3L424.6 405.0L420.8 399.4L417.1 393.5L413.9 387.4L411.3 381.0L409.3 374.4L408.1 367.6L407.8 360.7L408.3 353.9L409.6 347.1L411.8 340.4L414.8 334.0L418.5 327.8L422.8 321.9L427.7 316.3L433.0 311.0L438.7 306.0L444.8 301.4L451.1 297.1L457.7 293.1L464.5 289.5L471.5 286.3L478.8 283.5L486.2 281.1L493.8 279.3L501.6 278.0L509.4 277.2L517.2 277.0L524.9 277.4L532.5 278.3L539.9 279.7L547.0 281.4L553.9 283.5L560.5 285.7L566.8 288.0L572.9 290.3L578.9 292.5L584.8 294.5L590.7 296.4L596.7 298.0L603.0 299.5L609.5 300.8L616.2 302.2L623.3 303.6L630.5 305.3L637.9 307.2L645.3 309.6L652.6 312.5L659.7 316.0L666.3 320.0L672.4 324.5L677.9 329.6L682.6 335.2L686.4 341.2L689.5 347.5L691.7 354.1L693.1 360.8L693.9 367.5L693.9 374.3L693.5 381.0Z'/><path d='M682.8 374.0L682.0 379.6L680.8 385.2L679.4 390.7L677.6 396.0L675.6 401.3L673.2 406.5L670.6 411.6L667.6 416.6L664.3 421.4L660.5 425.9L656.4 430.2L651.8 434.2L646.9 437.9L641.7 441.3L636.2 444.2L630.5 446.8L624.6 449.1L618.6 451.0L612.6 452.7L606.6 454.2L600.7 455.5L594.7 456.6L588.8 457.7L582.9 458.8L577.0 459.8L571.1 460.7L565.0 461.5L558.9 462.1L552.7 462.5L546.5 462.6L540.2 462.3L533.9 461.6L527.7 460.5L521.7 458.8L516.0 456.7L510.5 454.0L505.4 451.0L500.6 447.6L496.3 443.9L492.3 440.0L488.6 435.9L485.2 431.8L481.9 427.7L478.8 423.6L475.7 419.5L472.5 415.4L469.3 411.4L465.9 407.3L462.5 403.1L459.1 398.8L455.7 394.3L452.4 389.6L449.3 384.6L446.6 379.4L444.4 374.0L442.7 368.4L441.7 362.7L441.4 356.9L441.8 351.1L443.0 345.3L444.8 339.7L447.3 334.3L450.5 329.0L454.1 324.0L458.2 319.3L462.7 314.9L467.5 310.7L472.6 306.8L478.0 303.1L483.5 299.8L489.3 296.7L495.3 294.0L501.4 291.6L507.7 289.6L514.1 288.0L520.7 286.9L527.2 286.3L533.8 286.1L540.4 286.4L546.8 287.2L553.0 288.4L559.1 289.9L564.9 291.6L570.4 293.5L575.8 295.4L580.9 297.4L586.0 299.2L591.0 300.9L596.0 302.5L601.1 303.9L606.3 305.1L611.8 306.2L617.5 307.4L623.5 308.6L629.6 310.0L635.9 311.7L642.1 313.7L648.3 316.1L654.3 319.0L659.9 322.4L665.0 326.3L669.6 330.6L673.6 335.3L676.9 340.4L679.4 345.7L681.3 351.2L682.5 356.9L683.1 362.6L683.2 368.3L682.8 374.0Z'/><path d='M675.6 367.0L674.9 371.8L673.9 376.4L672.7 381.1L671.2 385.6L669.5 390.1L667.5 394.5L665.3 398.8L662.7 403.0L659.9 407.0L656.7 410.9L653.2 414.5L649.4 417.9L645.3 421.0L640.9 423.8L636.2 426.3L631.4 428.5L626.4 430.4L621.4 432.1L616.3 433.5L611.2 434.7L606.2 435.8L601.2 436.8L596.2 437.8L591.2 438.6L586.2 439.5L581.2 440.2L576.1 440.9L570.9 441.4L565.7 441.8L560.4 441.8L555.1 441.6L549.8 441.0L544.6 440.1L539.5 438.7L534.6 436.8L530.0 434.6L525.6 432.1L521.6 429.2L518.0 426.1L514.6 422.8L511.5 419.3L508.6 415.9L505.8 412.4L503.2 408.9L500.5 405.4L497.9 402.0L495.1 398.6L492.3 395.1L489.4 391.6L486.5 387.9L483.6 384.1L480.9 380.1L478.3 376.0L476.0 371.6L474.1 367.0L472.7 362.3L471.8 357.4L471.6 352.5L471.9 347.6L472.9 342.8L474.5 338.0L476.6 333.4L479.3 329.0L482.3 324.8L485.8 320.8L489.6 317.0L493.7 313.5L498.0 310.2L502.5 307.1L507.2 304.3L512.1 301.7L517.1 299.4L522.3 297.4L527.6 295.7L533.0 294.4L538.6 293.4L544.1 292.9L549.7 292.7L555.2 293.0L560.6 293.7L565.9 294.6L571.0 295.9L575.9 297.4L580.6 299.0L585.1 300.6L589.5 302.2L593.8 303.8L598.0 305.3L602.2 306.6L606.5 307.7L611.0 308.8L615.6 309.7L620.4 310.7L625.5 311.8L630.6 312.9L635.9 314.3L641.2 316.0L646.4 318.1L651.5 320.6L656.2 323.4L660.6 326.7L664.5 330.3L667.8 334.3L670.6 338.6L672.7 343.1L674.3 347.8L675.3 352.5L675.9 357.4L675.9 362.2L675.6 367.0Z'/><path d='M671.3 360.0L670.7 364.0L669.9 368.0L668.8 371.9L667.6 375.7L666.1 379.5L664.4 383.2L662.5 386.9L660.4 390.4L658.0 393.8L655.3 397.1L652.4 400.1L649.1 403.0L645.6 405.6L641.9 408.0L638.0 410.1L633.9 412.0L629.7 413.6L625.4 415.0L621.2 416.2L616.9 417.2L612.6 418.2L608.4 419.0L604.2 419.8L600.0 420.5L595.7 421.2L591.5 421.9L587.2 422.4L582.8 422.9L578.4 423.2L573.9 423.2L569.4 423.1L564.9 422.6L560.5 421.7L556.2 420.6L552.1 419.0L548.2 417.2L544.6 415.0L541.2 412.6L538.1 409.9L535.2 407.1L532.6 404.2L530.1 401.3L527.8 398.3L525.6 395.4L523.4 392.5L521.1 389.6L518.8 386.7L516.4 383.8L514.0 380.8L511.5 377.7L509.1 374.5L506.7 371.1L504.5 367.6L502.6 363.9L501.0 360.0L499.8 356.0L499.1 351.9L498.9 347.8L499.2 343.6L500.0 339.5L501.3 335.5L503.1 331.6L505.4 327.9L508.0 324.3L510.9 321.0L514.1 317.8L517.6 314.8L521.2 312.0L525.0 309.4L529.0 307.0L533.1 304.8L537.4 302.9L541.7 301.2L546.2 299.7L550.8 298.6L555.5 297.8L560.2 297.4L564.9 297.3L569.6 297.5L574.1 298.0L578.6 298.9L582.9 299.9L587.1 301.2L591.0 302.5L594.8 303.9L598.5 305.3L602.1 306.6L605.7 307.8L609.2 308.9L612.9 309.9L616.7 310.8L620.6 311.6L624.7 312.4L628.9 313.3L633.3 314.3L637.7 315.5L642.2 316.9L646.6 318.7L650.9 320.8L654.9 323.2L658.6 325.9L661.9 329.0L664.7 332.4L667.0 336.0L668.9 339.8L670.2 343.8L671.1 347.8L671.5 351.9L671.5 355.9L671.3 360.0Z'/></g></svg>");
  background-repeat:no-repeat;
  background-position:right -180px top -120px;
  background-size:760px auto;
  opacity:0.085;}
.topo--gauche::after{background-position:left -220px bottom -160px;}
@media (max-width:860px){ .topo::after{background-size:520px auto; opacity:0.06;} }

/* ── Schéma de parcours (illustration produit) ───────────────── */
.schema{margin:0 auto; max-width:900px; width:100%;}
.schema svg{width:100%; height:auto; display:block; overflow:visible;}
.schema .s-ink{stroke:var(--fg-1); opacity:.42;}
.schema .s-fill{fill:var(--fg-1); opacity:.06;}
.schema .s-or{stroke:var(--accent);}
.schema .s-or-f{fill:var(--accent);}
.schema .s-card{fill:var(--glass-bg); stroke:var(--glass-border);}
.schema .s-lab{fill:var(--fg-3); font-family:var(--fm); font-size:13px; letter-spacing:1.6px; text-transform:uppercase;}
.schema .s-dash{stroke:var(--accent); stroke-opacity:.55; stroke-dasharray:5 7; stroke-linecap:round;}
.schema-wrap{margin-top:46px; padding:clamp(26px,4vw,44px) clamp(20px,3vw,36px);
  border-radius:var(--r-xl); background:var(--glass-bg); border:0.5px solid var(--glass-border);
  box-shadow:var(--glass-shadow);}
@media (max-width:620px){ .schema-wrap{padding:22px 14px;} .schema .s-lab{font-size:15px;} }

/* ── Correctifs de contraste des glyphes (thème clair) ───────── */
/* Les icônes sont dessinées en or : sur un disque doré elles disparaissent. */
.step-disc svg path,.step-disc svg circle,.step-disc svg rect,
.step-disc svg line,.step-disc svg polyline{stroke:#1a2e22;}
.step-disc svg rect[fill],.step-disc svg path[fill="#1a2e22"]{fill:#1a2e22;}
/* Sur carte blanche, l'or clair manque de contraste : on descend d'un ton. */
.mini .ic svg path,.mini .ic svg circle,.mini .ic svg rect,.mini .ic svg line{stroke:#8a5f18;}
.cdisc svg path{stroke:#1a2e22;}

/* ============================================================
   CHARTE VERTE — feuillage clair / feuille profonde
   S'applique par-dessus le thème clair. Les jetons dorés sont
   redéfinis en verts : tout ce qui les utilise suit sans retouche.
   ============================================================ */
:root{
  /* Verts */
  --v-clair:#8fc153;          /* jeune pousse — aplats, boutons */
  --v-moyen:#5f9438;          /* feuille */
  --v-profond:#3d6b28;        /* encre d'accent, lisible sur fond clair */
  --v-tres-clair:#dbeac6;     /* fonds très doux */
  --v-foret:#1b2e1d;          /* encre principale */

  /* Les anciens jetons dorés deviennent verts */
  --sap-or-chaud:#5f9438;
  --sap-or-clair:#8fc153;
  --sap-or-pale:#c3de9c;
  --accent:#3d6b28;

  /* Encres */
  --fg-1:#1b2e1d;
  --fg-2:rgba(27,46,29,0.86);
  /* Ces deux-là portent du vrai texte — surtitres, notes, mentions de prix.
     À 0,58 et 0,40 sur crème, ils tombaient à 2,3:1 : illisibles au soleil,
     sur un téléphone, sur un chantier. Relevés au seuil AA (4,5:1). */
  --fg-3:rgba(27,46,29,0.74);
  --fg-4:rgba(27,46,29,0.72);
  --btn-ink:#17280f;

  /* Fonds : crème verdie */
  --body-bg:#edf2e4;
  --page-grad:radial-gradient(150% 110% at 50% -10%, #f9fcf3 0%, #f1f6e9 38%, #e6eeda 100%);
  --halo-1:radial-gradient(circle, rgba(143,193,83,0.26) 0%, rgba(143,193,83,0.08) 40%, transparent 70%);
  --halo-2:radial-gradient(circle, rgba(95,148,56,0.22) 0%, rgba(95,148,56,0.07) 44%, transparent 75%);
  --halo-3:radial-gradient(circle, rgba(255,255,255,0.60) 0%, transparent 68%);
  --vignette:radial-gradient(ellipse at center, transparent 55%, rgba(45,70,40,0.09) 100%);

  /* Surfaces */
  --glass-bg:rgba(255,255,255,0.80);
  --glass-border:rgba(27,46,29,0.13);
  --glass-border-hover:rgba(61,107,40,0.30);
  --glass-shadow:0 16px 40px rgba(40,64,32,0.09), inset 0 1px 0 rgba(255,255,255,0.9);
  --glass-shadow-hover:0 22px 52px rgba(40,64,32,0.13), inset 0 1px 0 rgba(255,255,255,0.95);
  --sap-border-soft:rgba(27,46,29,0.12);
  --divider:rgba(27,46,29,0.11);
  --header-veil:rgba(246,250,240,0.88);
  --header-border:rgba(27,46,29,0.10);
  --pill-bg:rgba(255,255,255,0.74);
  --pill-border:rgba(61,107,40,0.20);
  --field-border:rgba(27,46,29,0.16);
  --field-ph:rgba(27,46,29,0.34);
  --input-ink:#1b2e1d;

  /* Encadrés */
  --quote-border:rgba(95,148,56,0.42);
  --quote-bg:linear-gradient(170deg, rgba(143,193,83,0.18), rgba(143,193,83,0.06));
  --quote-glow:0 14px 40px rgba(61,107,40,0.10), inset 0 1px 0 rgba(255,255,255,0.85);

  --sel-bg:rgba(143,193,83,0.42);
  --sel-ink:#1b2e1d;
  --mark-bg:#22421f;
  --foot-bg:#22421f;
  --confirm-veil:rgba(246,250,240,0.88);
  --glow-gold:0 8px 20px rgba(61,107,40,0.26), 0 2px 6px rgba(61,107,40,0.16);
}

/* ── Boutons : jeune pousse, encre forêt ────────────────────── */
.btn-gold,.hdr .cta-mini,#cookie-ok{
  background:linear-gradient(180deg,#93c757 0%,#5f9438 100%);
  box-shadow:var(--glow-gold), inset 0 1px 0 rgba(255,255,255,0.42);}
.btn-gold:hover,.hdr .cta-mini:hover,#cookie-ok:hover{
  box-shadow:0 10px 26px rgba(61,107,40,0.32), inset 0 1px 0 rgba(255,255,255,0.5);}

/* ── Pastilles et disques ───────────────────────────────────── */
.step-disc,.confirm .cdisc{
  background:radial-gradient(circle at 38% 30%, #cfe9a6 0%, #8fc153 46%, #5f9438 100%);
  box-shadow:0 8px 20px rgba(61,107,40,0.24);}
.brand .orb{background:radial-gradient(circle at 35% 30%,#fff 0%,#8fc153 45%,#5f9438 100%);
  box-shadow:0 0 8px rgba(95,148,56,0.6);}
.pill .dot{box-shadow:0 0 8px rgba(95,148,56,0.65);}
.mini .ic{background:rgba(143,193,83,0.20); border-color:rgba(95,148,56,0.42);}
.mini .ic svg path,.mini .ic svg circle,.mini .ic svg rect,.mini .ic svg line{stroke:#3d6b28;}
.step-badge{border-color:rgba(95,148,56,0.55);}

/* ── Filets, bordures et lueurs ─────────────────────────────── */
.section::before{background:linear-gradient(90deg,transparent,rgba(95,148,56,0.26) 22%,rgba(95,148,56,0.26) 78%,transparent);}
.hstat + .hstat::before{background:linear-gradient(180deg,transparent,rgba(95,148,56,0.32),transparent);}
.pbox-foot{background:rgba(27,46,29,0.045); border-top-color:rgba(95,148,56,0.30);}
.sticky-cta,#cookie-banner{background:rgba(246,250,240,0.96); border-top-color:rgba(95,148,56,0.30);}
.cat-card .go{border-color:rgba(61,107,40,0.34); background:rgba(143,193,83,0.14);}
.cat-card .go:hover{background:rgba(143,193,83,0.26); border-color:rgba(61,107,40,0.60);}
.cat-card--phare{border-color:rgba(95,148,56,0.42);
  box-shadow:0 18px 46px rgba(40,64,32,0.10), 0 0 30px rgba(143,193,83,0.16), inset 0 1px 0 rgba(255,255,255,0.9);}
.cat-card--large{border-color:rgba(95,148,56,0.24);
  background:linear-gradient(120deg, rgba(143,193,83,0.12), rgba(255,255,255,0.40));}
.cat-card--large:hover{border-color:rgba(95,148,56,0.48);
  background:linear-gradient(120deg, rgba(143,193,83,0.20), rgba(255,255,255,0.50));}
.statbox--fort{border-color:rgba(95,148,56,0.42);
  box-shadow:0 18px 46px rgba(40,64,32,0.10), 0 0 30px rgba(143,193,83,0.14), inset 0 1px 0 rgba(255,255,255,0.9);}

/* ── Champs ─────────────────────────────────────────────────── */
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:rgba(95,148,56,0.70); box-shadow:0 0 0 3px rgba(143,193,83,0.22);}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d6b28' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}

/* ── Pied de page vert forêt ────────────────────────────────── */
.foot .name b{color:#a8d474;}
.foot .fcol-r a:hover{color:#a8d474;}

/* ── Boutons : vert clair franc ──────────────────────────────── */
.btn-gold,.hdr .cta-mini,#cookie-ok{
  background:linear-gradient(180deg,#a6d46c 0%,#7cb843 100%);
  color:#16280d;
  box-shadow:0 8px 20px rgba(95,148,56,0.28), 0 2px 6px rgba(61,107,40,0.14),
             inset 0 1px 0 rgba(255,255,255,0.5);}
.btn-gold:hover,.hdr .cta-mini:hover,#cookie-ok:hover{
  filter:brightness(1.05);
  box-shadow:0 12px 28px rgba(95,148,56,0.34), inset 0 1px 0 rgba(255,255,255,0.6);}
.sticky-cta .sc-price b{color:var(--accent);}

/* ============================================================
   PANNEAU DE DÉMONSTRATION (héro) — les outils en action
   ============================================================ */
.demo{margin:clamp(46px,6vh,72px) auto 0; width:100%; max-width:920px; text-align:left;
  border-radius:var(--r-xl); overflow:hidden;
  background:rgba(255,255,255,0.86); border:0.5px solid var(--glass-border);
  -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px);
  box-shadow:0 24px 60px rgba(40,64,32,0.13), inset 0 1px 0 rgba(255,255,255,0.9);}

.demo-head{display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:15px clamp(18px,2.4vw,26px); border-bottom:0.5px solid var(--divider);
  background:rgba(143,193,83,0.09);}
.demo-head .live{display:flex; align-items:center; gap:10px;
  font-family:var(--fm); font-size:12px; letter-spacing:1.6px; text-transform:uppercase;
  font-weight:600; color:var(--accent);}
.demo-head .live .dot{width:8px; height:8px; border-radius:50%; background:#7cb843;
  box-shadow:0 0 0 0 rgba(124,184,67,0.55); animation:pulse 2.4s var(--ease) infinite;}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(124,184,67,0.5);}
  70%{box-shadow:0 0 0 9px rgba(124,184,67,0);}
  100%{box-shadow:0 0 0 0 rgba(124,184,67,0);}}
.demo-head .note{font-family:var(--fm); font-size:11px; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--fg-4);}

.demo-body{display:grid; grid-template-columns:210px 1fr;}
.demo-stats{padding:clamp(20px,2.6vw,28px); border-right:0.5px solid var(--divider);
  display:flex; flex-direction:column; gap:26px; justify-content:center;
  background:rgba(143,193,83,0.045);}
.demo-stats .s .k{display:block; font-family:var(--fm); font-size:10.5px; letter-spacing:1.8px;
  text-transform:uppercase; color:var(--fg-4); margin-bottom:8px;}
.demo-stats .s .v{display:block; font-weight:800; font-size:40px; line-height:1;
  letter-spacing:-0.035em; color:var(--accent);}
.demo-stats .s .u{display:block; margin-top:7px; font-size:13px; line-height:1.45; color:var(--fg-3);}

.demo-feed{padding:8px clamp(14px,2vw,20px);}
.feed-row{display:flex; align-items:center; gap:14px; padding:16px 8px;}
.feed-row + .feed-row{border-top:0.5px solid var(--divider);}
.feed-row .ic{flex:0 0 auto; width:36px; height:36px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(143,193,83,0.18); border:0.5px solid rgba(95,148,56,0.34);}
.feed-row .ic svg path,.feed-row .ic svg circle,.feed-row .ic svg rect{stroke:#3d6b28;}
.feed-row .txt{flex:1 1 auto; min-width:0;}
.feed-row .t{display:block; font-weight:700; font-size:15.5px; letter-spacing:-0.005em;
  color:var(--fg-1); margin-bottom:3px;}
.feed-row .d{display:block; font-size:13.5px; line-height:1.45; color:var(--fg-3);}
.status{flex:0 0 auto; font-family:var(--fm); font-size:10.5px; letter-spacing:1.5px;
  text-transform:uppercase; font-weight:600; padding:6px 12px; border-radius:var(--r-pill);
  color:#2c5a1d; background:rgba(143,193,83,0.26); border:0.5px solid rgba(95,148,56,0.38);
  white-space:nowrap;}

@media (max-width:760px){
  .demo-body{grid-template-columns:1fr;}
  .demo-stats{flex-direction:row; gap:0; border-right:none; border-bottom:0.5px solid var(--divider);}
  .demo-stats .s{flex:1 1 0;}
  .demo-stats .s + .s{border-left:0.5px solid var(--divider); padding-left:22px;}
  .demo-stats .s .v{font-size:34px;}
  .feed-row{flex-wrap:wrap; padding:14px 4px;}
  .feed-row .txt{flex:1 1 60%;}
  .status{margin-left:50px;}
}
@media (max-width:420px){
  .demo-head{flex-direction:column; align-items:flex-start; gap:8px;}
  .feed-row .d{font-size:13px;}
}

/* ═════════════════════════════════════════════════════════════
   PAGES SIMPLES — 404, merci, mentions légales, confidentialité
   Elles avaient chacune leur feuille de style recopiée, restée
   sur l'ancienne charte sapin/or : quatre pages du site ne
   ressemblaient plus au site. Elles utilisent désormais les
   mêmes jetons que le reste — elles suivront le prochain
   changement de charte sans qu'on y touche.
   ═════════════════════════════════════════════════════════════ */

.hero--court{min-height:auto;
  padding:clamp(126px,16vh,170px) var(--gut) clamp(52px,7vh,80px);}
.hero--court .t-h2{max-width:18ch;}
.hero--court .lede{margin:22px auto 0; max-width:56ch;}

.cta-duo{display:flex; flex-wrap:wrap; gap:12px;
  justify-content:center; align-items:center; margin-top:40px;}
.btn-ligne{display:inline-flex; align-items:center; gap:8px;
  padding:15px 26px; border-radius:var(--r-pill);
  border:1px solid var(--glass-border); background:var(--pill-bg);
  color:var(--fg-1); font-weight:600; font-size:15px; text-decoration:none;
  transition:border-color .25s var(--ease), color .25s var(--ease);}
.btn-ligne:hover,.btn-ligne:focus-visible{border-color:var(--accent); color:var(--accent);}

/* Le disque de confirmation, repris de l'exemple de l'accueil. */
.hero--court .step-disc{margin:0 auto 28px;}
.hero--court .step-disc svg{width:26px; height:26px; color:var(--btn-ink);}

/* ── Textes suivis : mentions légales, confidentialité ──────── */
.prose{max-width:76ch; margin:0 auto;}
.prose .date{font-family:var(--fm); font-size:12px; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--fg-3); margin:0 0 42px;}
.prose h2{font-family:var(--fd); font-weight:700; letter-spacing:-0.01em;
  font-size:clamp(19px,2.1vw,23px); color:var(--fg-1); margin:44px 0 12px;}
.prose h2:first-of-type{margin-top:0;}
.prose p,.prose li{font-size:16px; line-height:1.68; color:var(--fg-2);
  margin:0 0 14px; text-wrap:pretty;}
.prose ul{padding-left:20px; margin:0 0 18px;}
.prose li{margin:0 0 8px;}
.prose strong{color:var(--fg-1); font-weight:600;}
.prose a{color:var(--accent); text-decoration:underline; text-underline-offset:3px;}
.prose .encart{border-radius:var(--r-lg); padding:18px 22px; margin:0 0 30px;
  background:var(--glass-bg); border:0.5px solid var(--glass-border);}
.prose .encart p{margin:0; font-size:15px;}
.prose .signature{margin-top:46px; padding-top:22px;
  border-top:0.5px solid var(--divider); font-size:14px; color:var(--fg-3);}

/* Un bouton qui se lit comme un lien — le lien « javascript: »
   qu'il remplace ne passait aucune politique de sécurité. */
.lien-bouton{background:none; border:0; padding:0; font:inherit;
  color:var(--accent); text-decoration:underline; text-underline-offset:3px;
  cursor:pointer;}
.lien-bouton:hover,.lien-bouton:focus-visible{opacity:.78;}

/* ── Tableau de texte suivi (guide) ──────────────────────────── */
.prose .tableau{width:100%; overflow-x:auto; margin:0 0 26px;}
.prose table{width:100%; border-collapse:collapse; font-size:15px;}
.prose th,.prose td{text-align:left; padding:12px 14px; vertical-align:top;
  border-bottom:0.5px solid var(--divider);}
.prose th{font-family:var(--fm); font-size:11.5px; letter-spacing:1.4px;
  text-transform:uppercase; color:var(--fg-3); font-weight:500;
  border-bottom:1px solid var(--glass-border);}
.prose td{color:var(--fg-2); line-height:1.55;}
.prose td strong{color:var(--fg-1);}
.prose .tableau + .note{margin-top:-14px; font-size:14px; color:var(--fg-3);}

/* Sommaire du guide — ce que les moteurs lisent en premier. */
.sommaire{border-radius:var(--r-lg); padding:22px 26px; margin:0 0 38px;
  background:var(--glass-bg); border:0.5px solid var(--glass-border);}
.sommaire p{font-family:var(--fm); font-size:11.5px; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--fg-3); margin:0 0 12px;}
.sommaire ol{margin:0; padding-left:20px;}
.sommaire li{margin:0 0 6px; font-size:15px; color:var(--fg-2);}
.sommaire a{color:var(--fg-1); text-decoration:none;}
.sommaire a:hover{color:var(--accent); text-decoration:underline;}
.devis-close a{color:var(--accent); text-decoration:underline; text-underline-offset:3px;}
