
/* === H2 (27-28/10/2026) : ajouts de la keynote — contexte, preuves de production, avant la visite, terrain, fil ===
   Même système : trois fonds, Source Serif 4 pour les titres et les chiffres, l'orange marque n'écrit jamais de texte
   (le point orange reste la signature : il ne sert ici qu'au bout du fil). */

/* H2-1. Le sol bouge : trois chiffres sourcés, filet d'encre au-dessus de chacun */
.sol-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:72px;align-items:end}
.sol-top .h2{margin-top:24px;max-width:none}
.sol-top .lead{max-width:32em}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(28px,3.4vw,56px);margin:clamp(48px,5vw,72px) 0 0;padding:0;list-style:none}
.stats3 li{border-top:1.5px solid var(--ink);padding-top:22px;display:flex;flex-direction:column}
.stats3 .n{font-family:var(--f-title);font-weight:600;font-size:clamp(52px,6.2vw,92px);line-height:.95;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:lining-nums}
.stats3 .n small{font-size:.42em;letter-spacing:-.01em;margin-left:.12em}
.stats3 .x{margin-top:18px;font-size:var(--t-body);line-height:1.55;color:var(--ink-2);max-width:26em}
.stats3{grid-template-rows:auto auto auto}
.stats3 li{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.stats3 .s{margin-top:0;padding-top:14px;font-size:13.5px;line-height:1.5;color:var(--ink-3)}
.stats3 .s a{color:inherit;text-decoration-color:var(--line-2);text-underline-offset:3px}
.stats3 .s a:hover{color:var(--ink);text-decoration-color:var(--mark)}
.sol-foot{margin-top:clamp(48px,5vw,72px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.sol-foot .chute{margin:0;font-family:var(--f-title);font-weight:600;font-size:clamp(26px,2.6vw,38px);line-height:1.12;letter-spacing:-.018em;color:var(--ink);text-wrap:balance}

/* H2-2. Preuves de production, sous la preuve 4 h → 30 min (nuit) */
.chiffre:has(.prod3){padding-top:clamp(90px,9vw,140px)}
.prod3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px;margin:clamp(48px,5vw,72px) auto 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.prod3 li{padding:26px 18px 6px;border-left:1px solid rgba(255,255,255,.14);text-align:center}
.prod3 li:first-child{border-left:0}
.prod3 .n{display:block;font-family:var(--f-title);font-weight:600;font-size:clamp(40px,4.4vw,64px);line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:lining-nums}
.prod3 .n small{font-size:.5em;letter-spacing:0;margin-left:.08em;color:var(--on-ink-2)}
.prod3 .x{display:block;margin-top:12px;font-size:15.5px;line-height:1.45;color:var(--on-ink-2);text-wrap:balance}
.prod-note{max-width:44em;margin:22px auto 0;font-size:14px;line-height:1.55;color:var(--on-ink-3);text-align:center}
.prod-note b{font-weight:600;color:var(--on-ink-2)}

/* H2-3. Avant la visite (Géorisques) et autres ateliers à capture claire */
.puces{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.puces li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5;color:var(--ink-2)}
.puces li::before{content:"";position:absolute;left:2px;top:23px;width:12px;height:1.5px;background:var(--ink)}
.puces b{font-weight:600;color:var(--ink)}
.bg-night .puces{border-color:rgba(255,255,255,.14)}
.bg-night .puces li{border-color:rgba(255,255,255,.14);color:var(--on-ink-2)}
.bg-night .puces li::before{background:#fff}
.atelier-text .lead{margin-top:20px}
.refs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.refs li{font-family:var(--f-text);font-weight:500;font-size:13.5px;letter-spacing:0;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-pill);padding:6px 12px;background:var(--white)}
.bg-white .refs li{background:var(--paper)}
.bg-white .plate.light{background:var(--paper);border-color:var(--line-2)}
.regard .atelier-in .h2-m{font-size:clamp(32px,3.3vw,48px);line-height:1.05}
#etape-1 .tour-img{max-width:600px;margin-inline:auto}

/* H2-4. Le trio de terrain passe à six (deux rangées de trois) */
.trio.six{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:761px){.trio.six>div{padding-bottom:22px}.trio.six>div:nth-child(n+4){border-top:1px solid var(--line)}}

/* H2-5. Trois écrans : croquis au trait */
.ecrans-top{max-width:60em}
.ecrans-top .h2{margin-top:24px;max-width:16em;text-wrap:balance}
.ecrans-top .lead{margin-top:22px;max-width:34em}
.ecrans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin:0;padding:0;list-style:none}
.ecrans li{display:flex;flex-direction:column}
.ecrans svg{width:auto;height:96px;align-self:flex-start;color:var(--ink)}
.ecrans .ou{margin-top:18px;font-family:var(--f-title);font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--ink)}
.ecrans .ap{margin-top:4px;font-family:var(--f-mono);font-weight:500;font-size:12.5px;letter-spacing:0;color:var(--ink-3)}
.ecrans .x{margin-top:10px;font-size:16px;line-height:1.5;color:var(--ink-2)}

/* H2-6. Le fil : chaque conclusion garde sa trace */
.fil-sect .fil-top{max-width:46em}
.fil-top .h2{margin-top:24px}
.fil-sect .fil-top .lead{margin-top:22px}
.fil{position:relative;margin:clamp(56px,6vw,84px) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));counter-reset:f}
.fil::before{content:"";position:absolute;left:8px;right:calc(100% / 6 - 8px);top:8px;height:1.5px;background:var(--ink)}
.fil li{position:relative;padding:40px 14px 0 0}
.fil li::before{content:"";position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;background:var(--white);border:1.5px solid var(--ink);box-sizing:border-box}
.fil li:last-child::before{background:var(--mark);border-color:var(--mark);width:17px;height:17px}
.fil .k{display:block;font-family:var(--f-mono);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.fil .t{display:block;margin-top:8px;font-family:var(--f-title);font-weight:600;font-size:21px;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
.fil .x{display:block;margin-top:8px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.fil-foot{margin-top:clamp(40px,4vw,56px);display:flex;flex-wrap:wrap;gap:12px 28px;align-items:baseline}
.fil-foot .chute{margin:0;font-family:var(--f-title);font-weight:600;font-size:clamp(24px,2.3vw,32px);letter-spacing:-.015em;color:var(--ink)}

/* H2-7. Grand « 6 sur 10 » (Rédaction IA) */
.sixdix{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;margin-top:clamp(36px,4vw,52px);padding:24px 0 0;border-top:1.5px solid var(--ink)}
.sixdix .n{font-family:var(--f-title);font-weight:600;font-size:clamp(56px,6vw,88px);line-height:.9;letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.sixdix .n small{font-size:.38em;letter-spacing:-.01em;color:var(--ink-3)}
.sixdix p{margin:0;font-size:var(--t-body);line-height:1.6;color:var(--ink-2)}
.sixdix p+p{margin-top:8px}
.sixdix p.note{margin-top:10px;font-size:14px;line-height:1.55;color:var(--ink-3)}

@media (max-width:1100px){
  .sol-top{grid-template-columns:minmax(0,1fr);gap:28px}
  .fil{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:44px}
  .fil::before{display:none}
  .fil li{border-top:1.5px solid var(--ink);padding-top:30px}
  .fil li::before{top:-9px}
}
@media (max-width:760px){
  .stats3{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:36px}
  .stats3 li{display:flex;grid-row:auto}
  .stats3 .s{margin-top:auto}
  .prod3{grid-template-columns:minmax(0,1fr)}
  .prod3 li{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .prod3 li:first-child{border-top:0}
  .ecrans{grid-template-columns:minmax(0,1fr);gap:32px}
  .ecrans li{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:18px;align-items:start}
  .ecrans svg{grid-row:1/4;width:64px;height:56px}
  .ecrans .ou{margin-top:0}
  .trio.six{grid-template-columns:minmax(0,1fr)}
  .sixdix{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media (max-width:560px){
  .fil{grid-template-columns:minmax(0,1fr);row-gap:0;border-left:1.5px solid var(--ink);margin-left:8px}
  .fil li{border-top:0;padding:0 0 28px 28px}
  .fil li::before{left:-9px;top:4px}
  .fil li:last-child{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){.fil li,.stats3 li,.prod3 li{transition:none}}
@media print{.stats3 .n,.prod3 .n{color:#000}}
.stats3 sup{font-size:.68em;line-height:0}
.sixdix p{max-width:46em}.sixdix p.note{max-width:none}
.prod-note,.fil-foot .chute{text-wrap:balance}
/* H3 (28/10) : accueil raccourci */
.voices .vh3{margin:clamp(48px,5vw,72px) 0 22px;font-family:var(--f-title);font-weight:600;font-size:clamp(24px,2.2vw,30px);letter-spacing:-.012em;color:var(--ink)}
.final .final-prix{max-width:40em;margin:18px auto 0;font-size:15px;line-height:1.55;color:var(--ink-2);text-align:center}
.final .final-prix a{color:var(--ink);font-weight:600;text-underline-offset:3px;text-decoration-color:var(--mark)}

/* H3-2. Les quatre blocs du dossier : alternance clair / nuit, survol (le point s'allume) */
.blocs4-d li{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,background-color .35s}
.blocs4-d li:nth-child(even),.blocs4-d li.on:nth-child(even){background:var(--graphite);border-color:var(--graphite);color:#fff}
.blocs4-d li:nth-child(odd),.blocs4-d li.on:nth-child(odd){background:var(--paper);border-color:var(--line);color:var(--ink);box-shadow:none}
.blocs4-d li:nth-child(even) .bc,.blocs4-d li:nth-child(even) h3{color:#fff}
.blocs4-d li:nth-child(even) .bn,.blocs4-d li:nth-child(even) .bc small{color:var(--on-ink-3)}
.blocs4-d li:nth-child(even) .bs{border-top-color:rgba(255,255,255,.14);color:var(--on-ink-3)}
.blocs4-d li:nth-child(even) .bw{color:var(--on-ink-2)}
.blocs4-d li:nth-child(odd) .bc,.blocs4-d li:nth-child(odd) h3{color:var(--ink)}
.blocs4-d li:nth-child(odd) .bn,.blocs4-d li:nth-child(odd) .bc small,.blocs4-d li:nth-child(odd) .bs{color:var(--ink-3)}
.blocs4-d li:nth-child(odd) .bs{border-top-color:var(--line)}
.blocs4-d li:nth-child(odd) .bw{color:var(--ink-2)}
.blocs4-d .bc{transition:transform .35s cubic-bezier(.2,.7,.2,1);transform-origin:left bottom}
.blocs4-d .pt{transition:color .25s}
@media (hover:hover){
  .blocs4-d li:hover{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(16,35,63,.45)}
  .blocs4-d li:nth-child(odd):hover{border-color:var(--ink)}
  .blocs4-d li:hover .bc{transform:scale(1.06)}
  .blocs4-d li:hover .pt{color:var(--mark)}
  .blocs4-d li:nth-child(even):hover .pt{color:#F28C4E}
}

/* H3-3. Bulles au survol : références (Au bureau) et rôles */
.tips li,.tips span{position:relative;cursor:default;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.tips [data-tip]::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);width:max-content;max-width:240px;padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff;font-family:var(--f-text);font-weight:400;font-size:13px;line-height:1.4;letter-spacing:0;text-align:center;white-space:normal;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:5;box-shadow:0 10px 24px -12px rgba(7,15,28,.6)}
.tips [data-tip]::before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);width:10px;height:10px;background:var(--ink);transform:translate(-50%,4px) rotate(45deg);opacity:0;transition:opacity .2s,transform .2s;z-index:5}
@media (hover:hover){
  .tips [data-tip]:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}
  .tips [data-tip]:hover::after{opacity:1;transform:translate(-50%,0)}
  .tips [data-tip]:hover::before{opacity:1;transform:translate(-50%,0) rotate(45deg)}
}
.bg-night .tips [data-tip]::after,.bg-night .tips [data-tip]::before{background:#fff;color:var(--ink)}

/* H3-4. Fiche technique : chiffres clés, trois colonnes, signature */
.fon-fiche .wrap.center{text-align:left}
.fiche2{max-width:1080px;margin:0 auto;border:1.5px solid var(--ink);border-radius:24px;background:var(--paper);overflow:hidden}
.f2-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:22px clamp(22px,3.4vw,44px);background:var(--ink);color:#fff}
.f2-t{margin:0;font-family:var(--f-title);font-weight:600;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.015em;color:#fff}
.f2-sub{margin:0;font-family:var(--f-mono);font-weight:500;font-size:12.5px;color:var(--on-ink-3)}
.f2-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line-2)}
.f2-kpi li{padding:26px clamp(18px,2.4vw,32px) 24px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.f2-kpi li:first-child{border-left:0}
.f2-kpi b{font-family:var(--f-title);font-weight:600;font-size:clamp(44px,4.6vw,64px);line-height:.95;letter-spacing:-.04em;color:var(--ink)}
.f2-kpi span{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.f2-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--white)}
.fc{padding:26px clamp(18px,2.4vw,32px) 22px;border-left:1px solid var(--line)}
.fc:first-child{border-left:0}
.fc h3{margin:0 0 12px;font-family:var(--f-mono);font-weight:500;font-size:12.5px;letter-spacing:.02em;color:var(--ink-3)}
.fc dl{margin:0}
.fc dl>div{padding:11px 0;border-top:1px solid var(--line)}
.fc dt{font-family:var(--f-title);font-weight:600;font-size:17px;color:var(--ink)}
.fc dd{margin:3px 0 0;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.f2-you{margin:0;padding:20px clamp(22px,3.4vw,44px);border-top:1.5px solid var(--ink);font-family:var(--f-title);font-weight:600;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.01em;color:var(--ink);background:var(--paper)}
@media (max-width:900px){.f2-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.f2-kpi li:nth-child(3){border-left:0}.f2-kpi li:nth-child(n+3){border-top:1px solid var(--line)}.f2-cols{grid-template-columns:minmax(0,1fr)}.fc{border-left:0;border-top:1px solid var(--line-2)}.fc:first-child{border-top:0}}
@media (max-width:560px){.f2-head{flex-direction:column;gap:4px}}
@media (prefers-reduced-motion:reduce){.blocs4-d li,.blocs4-d .bc,.tips li,.tips span,.tips [data-tip]::after,.tips [data-tip]::before{transition:none}}
.js .blocs4-d li.rv.in{transition:opacity 1s var(--ease),transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;transition-delay:0s}
@media (hover:hover){.js .blocs4-d li.rv.in:hover{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.js .blocs4-d li.rv.in:hover{transform:none}}
/* H3-5. Le point final dans le pied de page et sur les titres des pages légales */
.phero-legal h1 .pf{display:inline-block;animation:none}
.foot .tag .pf{width:.24em;height:.24em}

/* H3-6. Extrait d'analyse en texte réel (remplace l'image p07) */
.extract.x2{padding:clamp(24px,3vw,36px) 0 clamp(26px,3vw,38px)}
.x2 .ex-head{flex-wrap:wrap}
.x2-tag{margin-left:auto;font-family:var(--f-mono);font-weight:500;font-size:12.5px;color:#9AA4B5}
.x2-body{display:grid;gap:14px;padding:0 clamp(20px,3vw,40px)}
.x2-r{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;margin:0;font-size:16px;line-height:1.65;color:#C9D0DB}
.x2-t{font-family:var(--f-mono);font-weight:500;font-size:12.5px;line-height:26px;text-align:right;color:#8F99AA}
.x2-r.ok .x2-t{color:#E7EAF0}
.x2-r.vf .x2-t{color:var(--mark-on-ink)}
.x2-r.ok .x2-u{color:#F1F3F7;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:rgba(255,255,255,.5);text-decoration-skip-ink:none}
.x2-r.vf .x2-u{color:#F1F3F7;background:rgba(242,140,78,.12);box-shadow:inset 0 -2px 0 var(--mark-on-ink);padding:1px 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.x2-u b{font-family:var(--f-mono);font-weight:500;font-size:.88em;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:1px 6px;white-space:nowrap}
@media (max-width:760px){.x2-r{grid-template-columns:minmax(0,1fr);gap:2px}.x2-t{text-align:left;line-height:1.6}.x2-tag{margin-left:0;flex-basis:100%;padding-left:15px}}
/* bulles : hors du flux tant qu'elles ne sont pas affichées (évite tout débordement horizontal) */
.tips [data-tip]::after,.tips [data-tip]::before{display:none}
@keyframes tipin{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media (hover:hover){.tips [data-tip]:hover::after,.tips [data-tip]:hover::before{display:block;animation:tipin .2s ease-out both}}
@media (prefers-reduced-motion:reduce){.tips [data-tip]:hover::after,.tips [data-tip]:hover::before{animation:none}}
