/* ============================================
   HISTOIRE DES REMÈDES
   Charte commune (matrice Gold Signal / Dette française), accent POURPRE
   ============================================ */

:root {
  --bg: #faf9f6;
  --bg-card: #ffffff;
  --bg2: #f4f2ee;
  --bg3: #efece6;
  --text: #1a1a1a;
  --text2: #4a4a4a;
  --text3: #888;
  --border: #ddd;
  --border-light: #eee;
  --accent: #7c2b2b;
  --accent-deep: #5e1f1f;
  --accent-bg: rgba(124,43,43,0.08);
  --ochre: #c08a2e;
  --ochre-d: #b07e26;
  --green: #2f6355;
  --mist: #5f646c;
  --hair: #e3e0d9;
  --ink: #1b1e26;
  --red: #7c2b2b;
  --teal: #2f6355;
  --dim: #cdd1d6;
  --paper: #f5f7f9;
  --font-title: 'EB Garamond', Georgia, 'Times New Roman', serif;
  --font-body: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body { background:var(--bg); color:var(--text); font-family:var(--font-body); line-height:1.55; min-height:100vh; display:flex; flex-direction:column; }
main { flex:1; }

/* BARRE DE NAVIGATION HORIZONTALE (pages intérieures) */
.nav-bar { position:sticky; top:0; z-index:100; background:var(--bg); padding:0 28px; border-bottom:0.5px solid rgba(0,0,0,0.08); }
.nav-bar__line1 { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0; min-height:36px; }
.nav-bar__brand { display:flex; align-items:baseline; text-decoration:none; flex-shrink:0; cursor:pointer; }
.nav-bar__name { font-family:var(--font-title); font-size:24px; font-weight:500; color:var(--accent-deep); letter-spacing:0.01em; line-height:1; white-space:nowrap; }
.nav-bar__links { display:flex; align-items:center; flex:1; justify-content:center; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.nav-bar__link { font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:0.04em; text-transform:uppercase; color:var(--text); text-decoration:none; padding:6px 10px; white-space:nowrap; cursor:pointer; transition:opacity 0.12s; opacity:0.6; }
.nav-bar__link:hover { opacity:0.85 !important; }
.nav-bar__link--active { opacity:1 !important; border-bottom:2px solid var(--accent); }
.nav-bar__arrow { color:var(--accent); font-size:13px; margin:0 4px; opacity:0.4; }

/* HERO ÉDITORIAL (accueil) */
.home-hero { padding:26px 24px 8px; text-align:center; max-width:760px; margin:0 auto; }
.home-hero__tagline { white-space:nowrap; font-family:var(--font-title); font-size:clamp(26px, 9.4vw, 44px); font-weight:400; color:#1a1a1a; line-height:1.15; font-style:normal; margin:0 auto 14px; max-width:620px; }
.home-hero__rule { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 14px; }
.home-hero__rule-line { flex:0 1 56px; min-width:16px; height:1px; background:var(--accent); opacity:0.55; }
.home-hero__rule-label { font-family:var(--font-mono); font-size:12px; color:var(--accent-deep); letter-spacing:0.14em; text-transform:uppercase; white-space:nowrap; }
.home-hero__sub .l1 { white-space:nowrap; }
.home-hero__sub { font-family:var(--font-title); font-size:clamp(14px, 4.7vw, 19px); font-weight:400; color:#3a3a3a; line-height:1.25; font-style:italic; max-width:520px; margin:0 auto; }

/* SOMMAIRE VERTICAL (accueil) */
.nav-menu { padding:14px 28px 12px; background:var(--bg); }
.nav-tl { position:relative; padding-left:48px; max-width:700px; margin:0 auto; }
.nav-tl__line { position:absolute; left:15px; top:8px; bottom:8px; width:2px; background:linear-gradient(to bottom, rgba(124,43,43,0.08), rgba(124,43,43,0.35)); border-radius:1px; }
.nav-tl__arrow { position:absolute; left:11px; bottom:0; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:7px solid rgba(124,43,43,0.4); }
.nav-tl__item { display:flex; align-items:center; padding:14px 0; text-decoration:none; cursor:pointer; position:relative; border-top:1px solid rgba(0,0,0,0.03); transition:opacity 0.12s; color:inherit; }
.nav-tl__item:first-child { border-top:none; }
.nav-tl__item:hover { opacity:0.8; }
.nav-tl__item--soon { cursor:default; }
.nav-tl__item--soon:hover { opacity:1; }
.nav-tl__dot { position:absolute; left:-40px; width:12px; height:12px; border-radius:50%; background:var(--bg); border:2px solid rgba(124,43,43,0.25); z-index:1; }
.nav-tl__dot--dashed { border-style:dashed; border-color:rgba(124,43,43,0.4); }
.nav-tl__content { flex:1; }
.nav-tl__label { font-family:var(--font-mono); font-size:13.5px; font-weight:500; letter-spacing:0.03em; text-transform:uppercase; color:var(--text); opacity:0.7; }
.nav-tl__desc { font-family:var(--font-body); font-size:12.5px; color:#999; margin-top:3px; }
.nav-tl__item--soon .nav-tl__label { opacity:0.35; }

/* ZONE DE CONTENU */
.shell { max-width:960px; margin:0 auto; padding:8px 0 0; width:100%; }
.wrap { max-width:640px; margin:0 auto; padding:0 24px; }
.page-head { padding:14px 0 12px; }
.page-head h1 { font-family:var(--font-title); font-size:30px; font-weight:500; color:var(--text); margin:0 0 6px; line-height:1.25; }
.page-head .tempo { font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent-deep); margin:0 0 12px; }
.page-head .sub { font-family:var(--font-body); font-size:16px; color:var(--text2); margin:0 0 8px; line-height:1.55; max-width:620px; }
.page-head .hint { font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text3); margin:14px 0 0; display:flex; align-items:center; gap:8px; }
.page-head .hint .arrow { color:var(--ochre-d); }

/* PIED DE PAGE */
.site-footer { padding:16px 28px 20px; border-top:1px solid rgba(0,0,0,0.04); display:flex; justify-content:center; background:var(--bg); }
.site-footer__inner { display:flex; align-items:center; gap:14px; }
.site-footer__name { font-size:11px; color:#8a8983; font-weight:500; letter-spacing:0.5px; }
.site-footer__date { font-family:var(--font-mono); font-size:10px; color:#8a8983; margin-top:1px; }
.site-footer__bar { width:0.5px; height:20px; background:rgba(0,0,0,0.15); flex-shrink:0; }
.site-footer__src { font-size:10px; color:#8a8983; opacity:0.7; line-height:1.55; letter-spacing:0.2px; }
@media (max-width:560px){ .site-footer__inner{ flex-direction:column; align-items:center; gap:8px; text-align:center; } .nav-bar{ padding:0 14px; } }

/* ============================================
   GALERIES, DESCENTES, COMPTES (propres aux remèdes)
   ============================================ */

  .ruban-zone{position:relative;margin:22px 0 6px;}
  .scroller{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);scrollbar-width:thin;}
  .ruban{display:block;height:300px;width:1400px;}
  .fade{position:absolute;top:1px;bottom:1px;width:34px;pointer-events:none;}
  .fade.r{right:0;background:linear-gradient(90deg,rgba(238,240,243,0),#faf9f6);}
  .swipe{position:absolute;right:14px;bottom:12px;pointer-events:none;font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre-d);display:flex;align-items:center;gap:7px;background:#faf9f6;padding:4px 8px;border-radius:999px;border:1px solid var(--hair);animation:nudge 1.6s ease-in-out infinite;}
  @keyframes nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(6px);}}
  @media (prefers-reduced-motion:reduce){.swipe{animation:none;}}
  .swipe.gone{display:none;}
  .cell{cursor:pointer;}
  .cell .hit{fill:transparent;}
  .pname{font-family:"IBM Plex Sans",sans-serif;font-size:13.5px;font-weight:600;fill:var(--ink);}
  .divider{stroke:#8a8f98;stroke-width:1.3;stroke-dasharray:4 5;opacity:.9;}
  .legend{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0 0;font-family:"IBM Plex Sans",sans-serif;font-size:.82rem;color:var(--mist);}
  .legend span{display:inline-flex;align-items:center;gap:7px;}
  .sw{width:13px;height:13px;border-radius:3px;display:inline-block;}
  .sw.red{background:var(--red);opacity:.75;}.sw.green{background:var(--green);opacity:.7;}
  .sw.line{width:16px;height:0;border-top:2.5px solid var(--ochre-d);}
  .caveat{font-family:"IBM Plex Sans",sans-serif;font-size:.78rem;color:var(--mist);font-style:italic;margin:12px 0 0;}
  .foot{padding:24px 0 60px;color:var(--mist);}.foot p{margin:0;font-size:.98rem;max-width:48ch;font-style:italic;}

  /* Overlays */
  .overlay{position:fixed;inset:0;background:#faf9f6;z-index:40;overflow-y:auto;-webkit-overflow-scrolling:touch;display:none;}
  .overlay.open{display:block;}
  .bar{position:sticky;top:0;z-index:5;background:rgba(238,240,243,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--hair);}
  .bar .wrap{display:flex;align-items:center;gap:14px;padding-top:14px;padding-bottom:14px;}
  .back{background:transparent;border:1px solid var(--ink);border-radius:999px;padding:8px 15px;cursor:pointer;font-family:"IBM Plex Sans",sans-serif;font-size:.88rem;color:var(--ink);}
  .bar .where{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;}
  .where.red{color:var(--red);}.where.green{color:var(--green);}
  .p-head{padding:30px 0 6px;}.p-head h2{font-weight:600;font-size:1.9rem;line-height:1.08;margin:0 0 12px;}.p-head .lede{font-size:1.04rem;margin:0;max-width:46ch;}

  /* Reserve, panneau court */
  .res-list{list-style:none;margin:18px 0 0;padding:0;}
  .res-list li{border-left:2px solid var(--red);padding:2px 0 2px 16px;margin:0 0 18px;}
  .res-list .d{font-family:"IBM Plex Mono",monospace;font-size:.86rem;color:var(--red);margin:0 0 4px;}
  .res-list p{margin:0;font-size:1.0rem;max-width:46ch;}
  .res-note{margin:8px 0 0;font-size:1.0rem;font-style:italic;color:var(--mist);max-width:46ch;}

  /* Le puits, dégradé continu */
  .stop{padding:26px 0;}
  .stop.pad{padding-top:96px;}
  .stop.pad .inner::before{top:-96px;}
  .stop .inner{position:relative;padding-left:44px;}
  .stop .inner::before{content:"";position:absolute;left:11px;top:-26px;bottom:-26px;width:2px;background:var(--ochre-d);opacity:.5;}
  .cran{position:absolute;left:0;top:2px;width:24px;text-align:center;}
  .cran .tick{display:block;width:15px;height:15px;margin:0 auto;border-radius:3px;background:#faf9f6;border:2px solid var(--ochre-d);transform:rotate(45deg);}
  .cran .num{display:block;font-family:"IBM Plex Mono",monospace;font-size:.64rem;color:var(--mist);margin-top:8px;}
  .prac{font-weight:600;font-size:1.24rem;line-height:1.2;margin:0 0 7px;}
  .belief{margin:0 0 9px;font-size:1.02rem;max-width:44ch;}
  .src{font-family:"IBM Plex Sans",sans-serif;font-size:.79rem;color:var(--mist);margin:0;}
  .now{margin:11px 0 0;font-size:.96rem;font-style:italic;max-width:44ch;}
  .now .lbl{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre-d);margin-right:8px;}
  .cartel{margin:12px 0 2px;border:1px solid var(--hair);border-radius:8px;padding:12px 14px;background:rgba(255,255,255,.4);}
  .cartel .ph{font-family:"IBM Plex Mono",monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin:0 0 7px;}
  .cartel .work{font-style:italic;font-size:.98rem;margin:0 0 3px;}
  .cartel .meta{font-family:"IBM Plex Sans",sans-serif;font-size:.8rem;color:var(--mist);margin:0;}
  .stop.mid .src{color:#3f434a;}

  /* Texte clair dans les profondeurs */
  .stop.drk{color:var(--dim);}
  .stop.drk .prac{color:#f4f1ea;text-shadow:0 1px 2px rgba(0,0,0,.35);}
  .stop.drk .belief{color:#dfe2e6;text-shadow:0 1px 2px rgba(0,0,0,.35);}
  .stop.drk .src{color:#9aa0a8;}
  .stop.drk .now{color:#cdd2d8;}
  .stop.drk .cran .tick{background:#1c1f27;border-color:var(--ochre);}
  .stop.drk .inner::before{background:var(--ochre);opacity:.6;}
  .stop.drk .cartel{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05);}
  .stop.drk .cartel .meta,.stop.drk .cartel .ph{color:#9aa0a8;}

  /* Tranches croyance (7) */
  .k1{background:linear-gradient(#faf9f6,#e9ecf0);}
  .k2{background:linear-gradient(#e9ecf0,#dde1e6);}
  .k3{background:linear-gradient(#dde1e6,#c8ccd3);}
  .k4{background:linear-gradient(#c8ccd3,#a8aeb6);}
  .k5{background:linear-gradient(#a8aeb6,#23262e);}
  .k6{background:linear-gradient(#23262e,#191c23);}
  .k7{background:linear-gradient(#191c23,#0f1116);}
  /* Tranches preuve (5) */
  .q1{background:linear-gradient(#faf9f6,#e7eaef);}
  .q2{background:linear-gradient(#e7eaef,#d2d6dc);}
  .q3{background:linear-gradient(#d2d6dc,#9aa0a8);}
  .q4{background:linear-gradient(#9aa0a8,#23262e);}
  .q5{background:linear-gradient(#23262e,#0f1116);}

  .surface{background:linear-gradient(#0f1116,#faf9f6);padding:40px 0 64px;}
  .surface .p1{color:#e6e9ee;margin:0 0 18px;font-size:1.04rem;max-width:48ch;}
  .surface .p2{color:var(--ink);margin:0 0 20px;font-size:1.04rem;max-width:48ch;font-style:italic;}

  /* Science, bascule au cran 3 */
  .sc1{background:linear-gradient(#faf9f6,#e7eaef);}
  .sc2{background:linear-gradient(#e7eaef,#cfd3d9);}
  .sc3{background:linear-gradient(#cfd3d9,#23262e);padding-top:96px;}
  .sc3 .inner::before{top:-96px;}
  .sc4{background:linear-gradient(#23262e,#191c23);}
  .sc5{background:linear-gradient(#191c23,#0f1116);}
  /* Marketing, registre clinique clair */
  .gallery{background:linear-gradient(#faf9f6,#e6eaf0);}
  .gallery .stop + .stop{border-top:1px solid #dce0e5;}
  .tag{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre-d);border:1px solid var(--ochre-d);border-radius:999px;padding:2px 10px;margin:0 0 10px;}
  .surface.lite{background:#e6eaf0;padding:36px 0 64px;}
  .surface.lite p{color:var(--ink);margin:0 0 18px;font-size:1.04rem;max-width:50ch;}
  .surface.lite .p2{color:var(--mist);}
  /* Pastilles de champ rouge / vert */
  .field{display:inline-flex;align-items:center;gap:7px;font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:999px;border:1px solid;background:rgba(255,255,255,.5);}
  .field .fsw{width:11px;height:11px;border-radius:3px;display:inline-block;}
  .field.red{color:#7c2b2b;border-color:rgba(124,43,43,.45);}
  .field.red .fsw{background:#7c2b2b;opacity:.82;}
  .field.green{color:#2f6355;border-color:rgba(47,99,85,.45);}
  .field.green .fsw{background:#2f6355;opacity:.82;}
  .stub{padding:56px 0;}.stub h2{font-weight:600;font-size:1.7rem;margin:0 0 12px;}.stub p{font-size:1.04rem;max-width:46ch;margin:0 0 10px;}
  .stub .todo{font-family:"IBM Plex Mono",monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre-d);margin-top:16px;}

  body.js-reveal .stop .inner{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease;}
  body.js-reveal .stop.is-in .inner{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){body.js-reveal .stop .inner{opacity:1;transform:none;transition:none;}}

  /* Onglet 2, classes propres */
  .case{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(47,99,85,.4);border-radius:999px;padding:4px 12px;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.5);margin:26px 0 0;}
  .case .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);display:inline-block;}
  .col{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre-d);margin:0 0 6px;}
  .fig{display:flex;align-items:baseline;gap:10px;margin:0 0 8px;flex-wrap:wrap;}
  .fig .big{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:1.9rem;color:var(--ink);letter-spacing:-.02em;}
  .fig .u{font-size:.9rem;color:var(--mist);}
  .read{margin:2px 0 0;font-size:1.0rem;max-width:47ch;}
  #tab-modele .src{font-family:"IBM Plex Mono",monospace;font-size:.74rem;}
  .chart-cap{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin:0 0 8px;}
  svg.bars{display:block;width:100%;height:auto;max-width:360px;}
  .synth{background:#e6eaf0;padding:34px 0;border-top:1px solid var(--hair);}
  .synth .k{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre-d);margin:0 0 10px;}
  .synth p{margin:0 0 14px;font-size:1.06rem;max-width:50ch;}
  .grid-tool{background:var(--paper,#f5f7f9);border:1px solid var(--hair);border-radius:12px;padding:18px 18px 8px;margin:22px 0 0;}
  .grid-tool .k{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:0 0 10px;}
  .grid-tool ol{margin:0;padding:0 0 0 2px;list-style:none;}
  .grid-tool li{font-size:.98rem;padding:7px 0;border-bottom:1px solid var(--hair);}
  .grid-tool li:last-child{border-bottom:0;}
  .surface2{background:linear-gradient(#e6eaf0,#faf9f6);padding:40px 0 66px;}
  .surface2 .k{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:0 0 12px;}
  .surface2 h2{font-weight:600;font-size:1.7rem;margin:0 0 14px;letter-spacing:-.01em;}
  .surface2 p{margin:0 0 16px;font-size:1.06rem;max-width:50ch;}
  .surface2 .last{font-weight:600;}
  /* Coquille du site */
  .site-top{max-width:640px;margin:0 auto;padding:22px 22px 0;}

  /* Sous-titre temporel des onglets */
  .tempo{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre-d);margin:-6px 0 12px;}
  /* Galerie noire (gradation de l'emprise), styles scopes */
  #gn .gnintro{padding:6px 0 2px;}
  #gn .movttl{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre-d);margin:26px 0 8px;}
  #gn .gnlede{font-size:1.03rem;max-width:50ch;margin:0 0 10px;}
  #gn .guard{border:1px solid var(--hair);border-radius:10px;background:rgba(255,255,255,.45);padding:13px 15px;margin:12px 0 0;font-size:.95rem;color:#3a3f47;max-width:52ch;}
  #gn .guard b{color:var(--ink);}
  #gn .axis{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mist);margin:18px 0 4px;}
  #gn .grade{font-family:"IBM Plex Mono",monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre-d);margin:0 0 6px;}
  #gn .desc{margin:0 0 9px;font-size:1.03rem;max-width:48ch;}
  #gn .fignum{font-family:"IBM Plex Mono",monospace;font-weight:500;color:var(--ink);}
  #gn .tell{margin:0;font-size:.96rem;max-width:47ch;color:#3a3f47;}
  #gn .tell .lbl{font-family:"IBM Plex Mono",monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre-d);margin-right:8px;}
  #gn .pres{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.04em;color:var(--ochre-d);margin:4px 0 0;}
  #gn .gz1{background:linear-gradient(#faf9f6,#e9ecf0);}
  #gn .gz2{background:linear-gradient(#e9ecf0,#e2e5ea);}
  #gn .gz3{background:linear-gradient(#e2e5ea,#d3d8de);}
  #gn .gz4{background:linear-gradient(#d3d8de,#bcc2ca);}
  #gn .gz5{background:linear-gradient(#bcc2ca,#23262e);padding-top:96px;}
  #gn .gz5 .inner::before{top:-96px;}
  #gn .gz6{background:linear-gradient(#23262e,#191c23);}
  #gn .gz7{background:linear-gradient(#191c23,#141720);}
  #gn .gz8{background:linear-gradient(#141720,#0d0f14);}
  #gn .drk{color:#cdd1d6;}
  #gn .drk .prac{color:#f4f2ec;text-shadow:0 1px 2px rgba(0,0,0,.35);}
  #gn .drk .desc{color:#e2e5e9;text-shadow:0 1px 2px rgba(0,0,0,.35);}
  #gn .drk .desc .fignum{color:#fff;}
  #gn .drk .tell{color:#c7ccd2;}
  #gn .drk .src{color:#9aa0a8;}
  #gn .drk .grade{color:var(--ochre);}
  #gn .drk .cran .tick{background:#151820;border-color:var(--ochre);}
  #gn .drk .inner::before{background:var(--ochre);opacity:.6;}
  #gn .gnsurface{background:linear-gradient(#0d0f14,#faf9f6);padding:42px 0 46px;}
  #gn .gnsurface .k{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#c08a2e;margin:0 0 12px;}
  #gn .gnsurface .p1{color:#e6e9ee;margin:0 0 16px;font-size:1.05rem;max-width:50ch;}
  #gn .gnsurface .p2{color:var(--ink);margin:0 0 16px;font-size:1.05rem;max-width:50ch;}
  #gn .gnsurface .last{color:var(--ink);font-weight:600;}

  /* Accueil vertical : la colonne du temps est la ligne de demarcation */
  .vpt circle{transition:r .15s ease;}

  /* ===== Accueil : rail pourpre (modèle Gold Signal) ===== */
  .tabs.show{display:block;}
  @media (min-width:560px){.home h1{font-size:2.9rem;}}

/* Encadrés d'introduction des galeries */
.reserve { border-left:3px solid var(--red); background:rgba(124,43,43,0.05); border-radius:0 8px 8px 0; padding:14px 16px; margin:8px 0 4px; }
.reserve .k { font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--red); margin:0 0 8px; }
.reserve p { font-size:1.0rem; max-width:48ch; margin:0; }
.site-footer__sig { display:flex; flex-direction:column; align-items:flex-start; }
@media (max-width:560px){ .site-footer__sig{ align-items:center; } }

/* Nav-bar mobile : deux étages, empilement en blocs (robuste) */
@media (max-width:640px){
  .nav-bar{ padding:0 16px; }
  .nav-bar__line1{ display:block; padding:10px 0 0; min-height:0; }
  .nav-bar__brand{ display:block; padding-bottom:8px; }
  .nav-bar__links{ display:flex; align-items:center; justify-content:flex-start; width:auto; border-top:0.5px solid rgba(0,0,0,0.06); padding:7px 0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .nav-bar__link{ padding:6px 8px 6px 0; }
  .nav-bar__arrow{ margin:0 2px; }
  .nav-bar__right{ display:none; }
}

/* Partage en pied de page */
.site-footer__partage { position:relative; display:flex; align-items:center; justify-content:center; }
.site-footer__share { background:none; border:0; padding:6px; color:#8a8983; cursor:pointer; line-height:0; border-radius:50%; }
.site-footer__share:hover { color:var(--accent-deep); background:rgba(124,43,43,.06); }
.site-footer__copie { position:absolute; top:100%; left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:10px; color:var(--accent-deep); white-space:nowrap; }
@media (max-width:560px){ .site-footer__bar { width:150px; height:0.5px; } }

/* Barre d'onglets : défilement sans barre visible */
.nav-bar__links { scrollbar-width:none; -ms-overflow-style:none; }
.nav-bar__links::-webkit-scrollbar { display:none; height:0; }

@media (max-width:560px){ .page-head h1 { font-size:25px; line-height:1.22; } }
