/* Paradoxe — styles de l'accueil et de la page Le code (ex-<style> inline d'index.html + refonte.css, fusionnés nov. 2026).
   Valeurs : /tokens.css. Communs (en-tête, menus) : /site.css. Voir DESIGN.md. */

/* ===== base ===== */
  /* Layout : entrée au sablier → trailer plein écran → site. Pierre sombre, argent du logo, or et bleu de l'Alliance. Fil rouge : le sablier, les deux regards. */
  :root{
    --night:#080a11; --stone:#10131c; --stone-2:#171b27; --azure:#2a5bb8; --azure-deep:#14295a;
    --gold:#d4ae5f; --gold-hi:#f0d690; --silver:#c9ccd3; --parch:#ebe4d2; --mist:#9ca1ad;
    --line:rgba(212,174,95,.26); --line-soft:rgba(201,204,211,.12);
    --night-rgb:8,10,17; --tint:transparent; --plx-filter:saturate(.6) brightness(.62); --hero-filter:saturate(.65) brightness(.78); --join-filter:saturate(.5) brightness(.4);
    --display:'Cinzel','Trajan Pro','Palatino Linotype',Georgia,serif;
    --body:'Alegreya Sans','Helvetica Neue',Arial,sans-serif;
    --quote:'Alegreya',Georgia,serif;
    color-scheme:dark;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  [hidden]{display:none!important}
  html{background:var(--night);scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);-webkit-text-size-adjust:100%}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{background:var(--night);color:var(--parch);font-family:var(--body);font-size:var(--fs-md);line-height:1.65;overflow-x:hidden}
  html.locked,html.locked body{overflow:hidden}
  img{max-width:100%;display:block}
  a{color:inherit}
  button{font:inherit;color:inherit}
  :focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:var(--r-sm)}
  .wrap{width:min(1120px,100%);margin:0 auto;padding-inline:20px}
  h2,h3{font-family:var(--display);font-weight:700;line-height:1.15;text-wrap:balance}
  .eyebrow{font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
  .sec{padding-block:96px}
  .sec-head{display:flex;flex-direction:column;gap:12px;max-width:62ch;margin-bottom:44px}
  .sec-head h2{font-size:var(--fs-2xl);color:var(--parch)}
  .sec-head p{color:var(--mist);text-wrap:pretty}
  .center{text-align:center;align-items:center;margin-inline:auto}

  /* sablier, séparateur */
  .glass{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold)}
  .glass::before,.glass::after{content:"";height:1px;width:min(160px,28vw);background:linear-gradient(90deg,transparent,var(--gold))}
  .glass::after{transform:scaleX(-1)}
  .glass svg{width:22px;height:34px;flex:none}

  /* boutons */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;padding:14px 24px;border-radius:var(--r-sm);font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
  .btn-gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#1b1407;border:0;box-shadow:0 0 0 1px rgba(240,214,144,.4),0 8px 24px rgba(0,0,0,.4)}
  .btn-gold:hover{transform:translateY(-1px);box-shadow:0 0 0 1px var(--gold-hi),0 0 28px rgba(240,214,144,.35)}
  .btn-ghost{background:rgba(var(--night-rgb),.5);border:1px solid var(--line);color:var(--parch)}
  .btn-ghost:hover{border-color:var(--gold)}
  .btn svg{width:20px;height:20px}

  /* ===== entrée : le sablier ===== */
  #gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;overflow:hidden;
    padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));
    background:#05060b;transition:opacity 1s ease,visibility 1s}
  #gate.gone{opacity:0;visibility:hidden}
  .g-light,.g-dark{position:absolute;top:0;bottom:0;width:50%;pointer-events:none}
  .g-light{left:0;background:radial-gradient(90% 70% at 20% 30%,rgba(240,214,144,.16),transparent 60%),linear-gradient(90deg,rgba(42,91,184,.22),transparent)}
  .g-dark{right:0;background:radial-gradient(90% 70% at 80% 70%,rgba(201,204,211,.08),transparent 60%),linear-gradient(270deg,rgba(0,0,0,.6),transparent)}
  #dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
  .g-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:640px;width:100%}
  .g-word{font-family:var(--display);font-weight:900;font-size:var(--fs-hero);letter-spacing:.22em;padding-left:.22em;line-height:1;
    background:linear-gradient(90deg,var(--gold-hi) 0 50%,var(--silver) 50% 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .g-motto{display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.26em;text-transform:uppercase}
  .g-motto .l{color:var(--gold)}
  .g-motto .r{color:var(--silver)}
  .g-motto i{width:1px;height:16px;background:var(--line)}
  #hglass{background:none;border:0;cursor:pointer;padding:6px;border-radius:var(--r-lg);transition:filter .3s}
  #hglass:hover{filter:drop-shadow(0 0 18px rgba(240,214,144,.35))}
  #hglass svg{width:clamp(110px,26vw,150px);height:auto;display:block;overflow:visible;transition:transform 1.2s cubic-bezier(.65,0,.35,1)}
  #gate.flip #hglass svg{transform:rotate(180deg)}
  .stream{stroke-dasharray:3 5;animation:fall .5s linear infinite}
  @keyframes fall{to{stroke-dashoffset:-8}}
  #gate.flip .stream{animation:none;opacity:0}
  .g-hint{font-family:var(--quote);font-style:italic;color:var(--mist);font-size:var(--fs-base);max-width:40ch;text-wrap:balance}
  #gate-yes{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#1b1407;border:0;padding:15px 28px;font-weight:700;font-size:var(--fs-base);letter-spacing:.03em;cursor:pointer;border-radius:var(--r-sm);
    box-shadow:0 0 0 1px rgba(240,214,144,.4),0 10px 30px rgba(0,0,0,.5);transition:transform .15s,box-shadow .15s}
  #gate-yes:hover{transform:translateY(-1px);box-shadow:0 0 0 1px var(--gold-hi),0 0 30px rgba(240,214,144,.35)}
  .g-small{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:var(--fs-sm);color:var(--mist)}
  #gate-skip{background:none;border:0;color:var(--mist);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:var(--fs-sm)}
  #gate-skip:hover{color:var(--parch)}
  #gate .flashw{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,244,210,.9),rgba(240,214,144,.25) 30%,transparent 65%);opacity:0;pointer-events:none}
  #gate.flip .flashw{animation:gflash 1.4s ease-out .9s forwards}
  @keyframes gflash{0%{opacity:0}20%{opacity:1}100%{opacity:.0}}
  @media (prefers-reduced-motion:reduce){.stream{animation:none}#hglass svg{transition:none}}

  /* ===== trailer ===== */
  #intro{position:fixed;inset:0;z-index:99;background:#000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .8s ease}
  #intro.show{opacity:1}
  #intro.gone{opacity:0;pointer-events:none}
  #intro-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;color:rgba(240,214,144,.85);font-family:var(--display,serif);letter-spacing:.2em;font-size:var(--fs-sm);text-transform:uppercase;opacity:0;transition:opacity .4s;pointer-events:none}
  #intro.loading #intro-load{opacity:1;animation:ldp 1.4s ease-in-out infinite}
  @keyframes ldp{50%{opacity:.35}}
  #intro video{width:100%;height:100%;object-fit:contain;background:#000}
  #intro-skip,#intro-unmute{position:absolute;z-index:2;bottom:calc(20px + env(safe-area-inset-bottom,0px));border-radius:var(--r-pill);padding:10px 18px;font-weight:700;font-size:var(--fs-sm);cursor:pointer;
    background:rgba(var(--night-rgb),.75);color:var(--parch);border:1px solid var(--line);transition:opacity .4s,border-color .15s}
  #intro-skip{right:16px;opacity:0;pointer-events:none}
  #intro.can-skip #intro-skip{opacity:1;pointer-events:auto}
  #intro-unmute{left:16px;border-color:var(--gold)}

  /* ===== en-tête ===== */
  .bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(var(--night-rgb),.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
  .bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px}
  .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--parch)}
  .brand svg{width:18px;height:28px;color:var(--gold)}
  .brand span{font-family:var(--display);font-weight:900;font-size:var(--fs-md);letter-spacing:.16em}
  .bar nav{display:flex;align-items:center;gap:22px}
  .bar nav a.lk{white-space:nowrap}
  .bar nav a.lk{text-decoration:none;color:var(--mist);font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;transition:color .15s}
  .bar nav a.lk:hover{color:var(--gold-hi)}
  .bar .btn{padding:10px 16px;font-size:var(--fs-sm)}
  @media (max-width:1100px){.bar nav a.lk:not(.new){display:none}}
  @media (max-width:640px){.bar nav a.lk.new{display:none}}

  /* ===== héros ===== */
  .hero{position:relative;overflow:hidden;padding-block:72px 84px;isolation:isolate}
  .hero-bg{position:absolute;inset:0;z-index:-2;background:var(--bg-hero) center 30%/cover no-repeat;filter:var(--hero-filter);transition:filter .8s}
  .hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--tint),var(--tint)),radial-gradient(70% 70% at 50% 40%,rgba(var(--night-rgb),.15),rgba(var(--night-rgb),.7) 80%),linear-gradient(180deg,rgba(var(--night-rgb),.1) 60%,var(--night))}
  .hero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
  .crest{width:min(560px,100%);aspect-ratio:465/311;border-radius:var(--r-lg);background:var(--logo) center/cover no-repeat;
    box-shadow:0 0 0 1px rgba(212,174,95,.45),0 0 70px rgba(240,214,144,.18),0 28px 60px rgba(0,0,0,.7)}
  .hero h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .tag{font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--line);color:var(--gold-hi);background:rgba(var(--night-rgb),.55);border-radius:var(--r-xs)}
  .tag.blue{border-color:rgba(42,91,184,.7);color:#bcd0ff}
  .pitch{max-width:58ch;color:var(--parch);font-size:var(--fs-md)}
  .ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
  .count{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:center;font-family:var(--display);color:var(--mist);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase}
  .count span{white-space:nowrap}
  .count b{font-size:2.1rem;color:var(--gold-hi);font-weight:900;letter-spacing:.02em;font-variant-numeric:tabular-nums}

  /* ===== deux regards ===== */
  .duo{display:grid;grid-template-columns:1fr auto 1fr;border:1px solid var(--line-soft);border-radius:var(--r-sm);overflow:hidden}
  .side{padding:44px 36px;display:flex;flex-direction:column;gap:14px;min-width:0}
  .side.light{background:linear-gradient(160deg,rgba(42,91,184,.22),rgba(23,27,39,.9) 60%)}
  .side.dark{background:linear-gradient(200deg,rgba(201,204,211,.07),rgba(var(--night-rgb),.95) 60%)}
  .side h3{font-size:var(--fs-xl)}
  .side.light h3{color:var(--gold-hi)}
  .side.dark h3{color:var(--silver)}
  .side .eyebrow{color:var(--mist)}
  .side p{color:var(--mist)}
  .axis{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px 18px;background:var(--stone);border-inline:1px solid var(--line-soft)}
  .axis svg{width:40px;height:62px;color:var(--gold)}
  .axis .sand{animation:sand 6s ease-in-out infinite;transform-origin:50% 50%}
  @keyframes sand{0%,42%{transform:rotate(0)}50%,92%{transform:rotate(180deg)}100%{transform:rotate(180deg)}}
  @media (prefers-reduced-motion:reduce){.axis .sand{animation:none}}
  .motto{margin-top:34px;text-align:center;font-family:var(--quote);font-style:italic;font-size:var(--fs-xl);color:var(--parch);max-width:44ch;margin-inline:auto;text-wrap:balance}
  .motto small{display:block;margin-top:8px;font-family:var(--body);font-style:normal;font-size:var(--fs-sm);color:var(--mist)}
  @media (max-width:820px){
    .duo{grid-template-columns:1fr}
    .axis{flex-direction:row;border-inline:0;border-block:1px solid var(--line-soft);padding:18px}
    .side{padding:32px 22px}
  }

  /* ===== fenêtres d'image ===== */
  .plx{position:relative;height:clamp(300px,62vh,620px);overflow:hidden;clip-path:inset(0);-webkit-clip-path:inset(0)}
  .plx-img{position:fixed;top:0;left:0;width:100%;height:100vh;object-fit:cover;pointer-events:none;filter:var(--plx-filter);transition:filter .8s}
  .plx::before,.plx::after{content:"";position:absolute;left:0;right:0;height:30%;z-index:1;pointer-events:none}
  .plx::before{top:0;background:linear-gradient(var(--night),transparent)}
  .plx::after{bottom:0;background:linear-gradient(transparent,var(--night))}
  .plx-q{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}
  .plx-q p{font-family:var(--quote);font-style:italic;font-size:var(--fs-xl);max-width:30ch;text-shadow:0 2px 18px rgba(0,0,0,.9);text-wrap:balance}
  .plx-q p span{display:block;margin-top:10px;font-family:var(--display);font-style:normal;font-size:var(--fs-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
  @supports (-webkit-touch-callout:none){.plx-img{position:absolute;height:100%}}

  /* ===== activités ===== */
  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
  .card{background:linear-gradient(180deg,var(--stone-2),var(--stone));border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:26px 24px;display:flex;flex-direction:column;gap:10px;min-width:0;transition:border-color .2s,transform .2s}
  .card:hover{border-color:var(--line);transform:translateY(-2px)}
  .card svg{width:30px;height:30px;color:var(--gold)}
  .card h3{font-size:var(--fs-md);color:var(--parch)}
  .card p{color:var(--mist);font-size:var(--fs-base)}
  .card .wink{margin-top:auto;padding-top:10px;border-top:1px solid var(--line-soft);font-family:var(--quote);font-style:italic;color:var(--silver);font-size:var(--fs-base)}

  /* ===== calendrier Forever ===== */
  .tl{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
  .tl::before{content:"";position:absolute;left:0;right:0;top:15px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(212,174,95,.15))}
  .tl li{position:relative;padding:44px 14px 0 0;display:flex;flex-direction:column;gap:6px;min-width:0}
  .tl li::before{content:"";position:absolute;top:8px;left:0;width:16px;height:16px;transform:rotate(45deg);background:var(--night);border:2px solid var(--gold)}
  .tl li.big::before{background:var(--gold);box-shadow:0 0 16px rgba(240,214,144,.6)}
  .tl li.done::before{background:var(--mist);border-color:var(--mist)}
  .tl .d{font-family:var(--display);font-weight:900;font-size:var(--fs-md);color:var(--gold-hi)}
  .tl .t{font-weight:700;color:var(--parch)}
  .tl .x{color:var(--mist);font-size:var(--fs-base)}
  .raids{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
  .raids span{font-size:var(--fs-sm);padding:3px 8px;border:1px solid var(--line);border-radius:var(--r-xs);color:var(--parch);white-space:nowrap}
  .raids b{color:var(--gold-hi);font-variant-numeric:tabular-nums}
  .src{margin-top:26px;font-size:var(--fs-sm);color:var(--mist)}
  .src a{color:var(--silver)}
  @media (max-width:900px){
    .tl{grid-template-columns:1fr;gap:26px;padding-left:34px}
    .tl::before{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--gold),rgba(212,174,95,.15))}
    .tl li{padding:0}
    .tl li::before{left:-34px;top:4px}
  }

  /* ===== le code ===== */
  .code{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  @media (max-width:820px){.code{grid-template-columns:1fr}}
  .code-list details{background:var(--stone);border:1px solid var(--line-soft);border-radius:var(--r-sm);transition:border-color .2s}
  .code-list details[open]{border-color:var(--line);background:var(--stone-2)}
  .code-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px;font-family:var(--display);font-weight:700;font-size:var(--fs-base);color:var(--parch)}
  .code-list summary::-webkit-details-marker{display:none}
  .code-list summary .ic{flex:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;font-size:var(--fs-base);font-family:var(--body)}
  .code-list summary .ch{margin-left:auto;width:12px;height:12px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg);transition:transform .2s;flex:none}
  .code-list details[open] summary .ch{transform:rotate(-135deg)}
  .dbody{padding:0 20px 20px 68px;color:var(--mist);display:flex;flex-direction:column;gap:10px}
  .dbody ul{padding-left:18px;display:flex;flex-direction:column;gap:4px}
  .dbody em{font-family:var(--quote);color:var(--silver)}
  @media (max-width:520px){.dbody{padding-left:20px}}
  .code-tools{display:flex;justify-content:flex-end;margin-bottom:14px}
  .code-tools button{background:none;border:0;color:var(--gold);cursor:pointer;font-weight:700;font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:4px}

  /* ===== rejoindre ===== */
  .join{position:relative;overflow:hidden;isolation:isolate;padding-block:110px}
  .join-bg{position:absolute;inset:0;z-index:-2;background:var(--bg-join) center/cover no-repeat;filter:var(--join-filter);transition:filter .8s}
  .join::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--tint),var(--tint)),linear-gradient(180deg,var(--night),rgba(var(--night-rgb),.55) 30%,rgba(var(--night-rgb),.75) 70%,var(--night))}
  .steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s;margin:10px 0 40px}
  .steps li{counter-increment:s;background:rgba(16,19,28,.85);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:24px 22px;display:flex;flex-direction:column;gap:8px;min-width:0}
  .steps li::before{content:counter(s);font-family:var(--display);font-weight:900;font-size:var(--fs-xl);color:var(--gold)}
  .steps h3{font-size:var(--fs-base)}
  .steps p{color:var(--mist);font-size:var(--fs-base)}
  @media (max-width:820px){.steps{grid-template-columns:1fr}}
  .summary{max-width:46ch;margin:0 auto 34px;text-align:center;font-family:var(--quote);font-style:italic;font-size:var(--fs-xl);text-wrap:balance}
  .join .ctas{margin-top:6px}
  .invite{margin-top:16px;text-align:center;color:var(--mist);font-size:var(--fs-sm)}
  .invite code{font-family:ui-monospace,Consolas,monospace;color:var(--silver);user-select:all}


  /* ===== foyer : Hurlevent ou Forgefer ===== */
  :root[data-foyer="hurlevent"]{--night:#060a15;--night-rgb:6,10,21;--stone:#0d1424;--stone-2:#142039;--line-soft:rgba(150,180,235,.15);--mist:#9ba8c0;
    --tint:rgba(42,91,184,.22);--plx-filter:saturate(.8) brightness(.62) hue-rotate(-6deg);--hero-filter:saturate(.85) brightness(.8);--join-filter:saturate(.7) brightness(.45)}
  :root[data-foyer="forgefer"]{--gold:#d98a4e;--gold-hi:#f4b47c;--line:rgba(217,138,78,.3);
    --night:#0c0806;--night-rgb:12,8,6;--stone:#17100c;--stone-2:#221811;--line-soft:rgba(235,180,135,.14);--mist:#b3a291;--parch:#f0e3cf;--silver:#d9c7b4;
    --tint:rgba(190,80,25,.24);--plx-filter:sepia(.55) saturate(1.15) brightness(.55) hue-rotate(-14deg);--hero-filter:sepia(.5) saturate(1.1) brightness(.72) hue-rotate(-12deg);--join-filter:sepia(.5) saturate(1) brightness(.42) hue-rotate(-12deg)}
  html,body{transition:background-color .8s}
  .card,.code-list details,.steps li,.side,.axis,.home,.bar{transition:background-color .8s,border-color .8s,color .8s}
  :root[data-foyer="forgefer"] .side.light{background:linear-gradient(160deg,rgba(217,120,60,.22),rgba(34,24,17,.9) 60%)}
  :root[data-foyer="forgefer"] .tag.blue{border-color:rgba(217,138,78,.7);color:#ffd2ac}
  #ambient{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:15;mix-blend-mode:screen}
  #toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;transform:translate(-50%,20px);opacity:0;pointer-events:none;
    max-width:min(520px,calc(100vw - 32px));padding:14px 20px;border-radius:var(--r-sm);background:rgba(var(--night-rgb),.92);border:1px solid var(--gold);color:var(--parch);
    box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 24px rgba(0,0,0,.4);text-align:center;transition:opacity .35s,transform .35s}
  #toast.on{opacity:1;transform:translate(-50%,0)}
  #toast b{font-family:var(--display);color:var(--gold-hi);letter-spacing:.06em}
  body,.btn-gold,.eyebrow,.g-word{transition:color .5s,background .5s,border-color .5s}
  .homes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  @media (max-width:820px){.homes{grid-template-columns:1fr}}
  .home{position:relative;text-align:left;cursor:pointer;border-radius:var(--r-sm);padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0;
    background:var(--stone);border:1px solid var(--line-soft);transition:border-color .3s,box-shadow .3s,transform .2s,opacity .3s}
  .home:hover{transform:translateY(-2px);border-color:rgba(230,220,196,.28)}
  .home .art{height:clamp(170px,22vw,230px);position:relative;overflow:hidden;background:#000}
  .home .art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8) brightness(.78);transform:scale(1.02);transition:filter 1.2s ease,transform 6s ease}
  .home .art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 35%,transparent 55%,var(--stone) 100%);transition:background .8s}
  .home:hover .art img{transform:scale(1.06)}
  .home.on .art img{filter:saturate(1.08) brightness(1);transform:scale(1.08)}
  .homes.chosen .home:not(.on) .art img{filter:grayscale(.85) brightness(.45)}
  @media (prefers-reduced-motion:reduce){.home .art img{transition:filter .4s;transform:none!important}}
  .home .art,.home .sub{display:block}
  .home .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
  .home .h3{display:block;font-family:var(--display);font-weight:700;line-height:1.15;font-size:var(--fs-lg);color:var(--parch)}
  .home .sub{font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase}
  .home.sw .sub{color:#f0d690}
  .home.if .sub{color:#f4b47c}
  .home .p{display:block;color:var(--mist);font-size:var(--fs-base)}
  .home .p.joke{font-family:var(--quote);font-style:italic;color:var(--silver)}
  .home .pill{position:absolute;top:14px;right:14px;z-index:1;font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;
    padding:6px 10px;border-radius:var(--r-xs);background:rgba(var(--night-rgb),.75);border:1px solid var(--line-soft);color:var(--mist)}
  .home.on .pill{color:#1b1407;border-color:transparent}
  .home.sw.on{border-color:#f0d690;box-shadow:0 0 0 1px #f0d690,0 0 40px rgba(240,214,144,.18)}
  .home.if.on{border-color:#f4b47c;box-shadow:0 0 0 1px #f4b47c,0 0 40px rgba(244,140,80,.2)}
  .home.sw.on .pill{background:#f0d690}
  .home.if.on .pill{background:#f4b47c}
  .homes.chosen .home:not(.on){opacity:.62}
  .homes.chosen .home:not(.on):hover{opacity:1}
  .tram{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
  .rail{position:relative;width:min(420px,80vw);height:2px;background:repeating-linear-gradient(90deg,var(--mist) 0 6px,transparent 6px 12px)}
  .rail i{position:absolute;top:-5px;left:0;width:22px;height:12px;border-radius:var(--r-sm);background:var(--gold);box-shadow:0 0 12px var(--gold);animation:tram 7s ease-in-out infinite alternate}
  @keyframes tram{to{left:calc(100% - 22px)}}
  @media (prefers-reduced-motion:reduce){.rail i{animation:none;left:calc(50% - 11px)}.home .ember{animation:none}}
  .rail-ends{display:flex;justify-content:space-between;width:min(420px,80vw);font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--mist)}
  .tram p{font-family:var(--quote);font-style:italic;color:var(--parch);font-size:var(--fs-md)}
  .foyer-mini{display:flex;border:1px solid var(--line-soft);border-radius:var(--r-sm);overflow:hidden}
  .foyer-mini button{background:none;border:0;cursor:pointer;padding:7px 10px;font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
  .foyer-mini button[aria-pressed="true"]{background:var(--gold);color:#1b1407}
  @media (max-width:600px){.foyer-mini{display:none}}

  /* bandeau d'annonce */
  .news{position:relative;z-index:21;background:linear-gradient(90deg,rgba(var(--night-rgb),1),var(--stone-2),rgba(var(--night-rgb),1));border-bottom:1px solid var(--line)}
  .news .wrap{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding-block:8px;text-align:center}
  .news a.go{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;text-decoration:none;font-size:var(--fs-base);color:var(--parch)}
  .news .tagn{font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-xs);background:var(--gold);color:#1b1407}
  .news b{font-family:var(--display);letter-spacing:.04em;color:var(--gold-hi)}
  .news .arr{color:var(--gold);transition:transform .2s}
  .news a.go:hover .arr{transform:translateX(3px)}
  .news button{background:none;border:0;color:var(--mist);cursor:pointer;font-size:var(--fs-md);line-height:1;padding:4px 6px;flex:none}
  .news button:hover{color:var(--parch)}
  .bar nav a.lk.new{position:relative;color:var(--gold-hi)}
  .bar nav a.lk.new::after{content:"";position:absolute;top:-4px;right:-9px;width:7px;height:7px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 8px var(--gold-hi)}

  /* ===== jeu ===== */
  .play{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:var(--r-lg);
    background:radial-gradient(70% 90% at 85% 50%,rgba(240,214,144,.08),transparent 70%),linear-gradient(180deg,var(--stone-2),var(--stone))}
  @media (max-width:820px){.play{grid-template-columns:1fr;padding:24px}}
  .play-txt{display:flex;flex-direction:column;gap:14px;min-width:0}
  .play-txt h2{font-size:var(--fs-2xl)}
  .play-txt p{color:var(--mist)}
  .feats{display:flex;flex-wrap:wrap;gap:8px}
  .feats span{font-size:var(--fs-sm);padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(var(--night-rgb),.5)}
  .feats b{color:var(--gold-hi)}
  .mock{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--r-lg);background:rgba(var(--night-rgb),.65);border:1px solid var(--line-soft);min-width:0}
  .mock .tf{display:flex;align-items:center;gap:12px}
  .mock .por{width:52px;height:52px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);background:radial-gradient(circle at 40% 35%,#3a3a3a,#111);border:2px solid var(--gold-hi);box-shadow:0 0 12px rgba(240,214,144,.4)}
  .mock .nm{font-family:var(--display);font-weight:900}
  .mock .nm small{font-family:var(--body);font-weight:700;font-size:var(--fs-xs);letter-spacing:.14em;color:var(--gold-hi);border:1px solid var(--gold);padding:1px 5px;border-radius:var(--r-xs);margin-left:6px}
  .mock .hp,.mock .xp{height:14px;border-radius:var(--r-sm);background:#0a0a0a;border:1px solid rgba(255,255,255,.12);overflow:hidden}
  .mock .hp i{display:block;height:100%;width:34%;background:linear-gradient(180deg,#5ce35f,#2fbf3a 45%,#145c1a);animation:hp 4s ease-in-out infinite alternate}
  .mock .xp i{display:block;height:100%;width:78%;background:linear-gradient(180deg,#b26ae8,#8e44c9 50%,#4d1f73)}
  @keyframes hp{from{width:62%}to{width:8%}}
  .mock .ding{position:absolute;right:16px;top:-16px;font-family:var(--display);font-weight:900;font-size:var(--fs-xl);color:#ffe14a;text-shadow:0 0 18px rgba(255,225,74,.6),0 3px 0 #6b4a00;transform:rotate(6deg)}
  .mock .lg{font-size:var(--fs-sm);display:flex;flex-direction:column;gap:2px}
  .mock .lg span:nth-child(1){color:#3ce13f}.mock .lg span:nth-child(1) b{color:#c06cff}
  .mock .lg span:nth-child(2){color:#ffe14a}
  .mock .lg span:nth-child(3){color:#ffb47a;font-style:italic}
  @media (prefers-reduced-motion:reduce){.mock .hp i{animation:none}}

  /* bouton jeu (en-tête) */
  .btn-play{position:relative;padding:10px 20px 10px 12px;gap:12px;color:var(--parch);background:linear-gradient(180deg,rgba(142,68,201,.28),rgba(var(--night-rgb),.75));
    border:1px solid rgba(178,106,232,.7);box-shadow:0 0 0 1px rgba(178,106,232,.15),0 0 22px rgba(142,68,201,.28);text-align:left}
  .btn-play:hover{border-color:#c993ff;box-shadow:0 0 0 1px rgba(201,147,255,.4),0 0 30px rgba(142,68,201,.45);transform:translateY(-1px)}
  .btn-play .lu{width:40px;height:40px;flex:none;overflow:visible}
  .btn-play .txt{display:flex;flex-direction:column;line-height:1.15}
  .btn-play .txt small{font-weight:500;font-size:var(--fs-xs);color:#cdb6e6}
  .btn-play .new{position:absolute;top:-9px;right:-8px;font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.14em;padding:2px 6px;border-radius:var(--r-xs);background:#b26ae8;color:#14081f}
  .lu .ring{stroke-dasharray:88;stroke-dashoffset:88;animation:fillring 2.4s ease-in-out infinite}
  .lu .arrow{transform-origin:20px 20px;animation:hop 2.4s ease-in-out infinite}
  .lu .cursor{animation:press 2.4s ease-in-out infinite;transform-origin:30px 30px}
  .lu .ripple{transform-origin:29px 29px;animation:ripple 2.4s ease-out infinite;opacity:0}
  @keyframes fillring{0%{stroke-dashoffset:88}55%{stroke-dashoffset:0}70%,100%{stroke-dashoffset:0;opacity:0}}
  @keyframes hop{0%,55%{transform:translateY(0)}65%{transform:translateY(-4px) scale(1.12)}80%,100%{transform:translateY(0)}}
  @keyframes press{0%,40%{transform:translate(0,0)}47%{transform:translate(-1.5px,-1.5px) scale(.9)}54%,100%{transform:translate(0,0)}}
  @keyframes ripple{0%,44%{opacity:0;transform:scale(.3)}48%{opacity:.9}75%,100%{opacity:0;transform:scale(1.6)}}
  @media (prefers-reduced-motion:reduce){.lu .ring,.lu .arrow,.lu .cursor,.lu .ripple{animation:none}.lu .ring{stroke-dashoffset:22}}

  .top5{margin-top:18px;padding:22px 26px;border:1px solid var(--line-soft);border-radius:var(--r-lg);background:rgba(var(--night-rgb),.55)}
  .top5-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
  .top5-h h3{font-size:var(--fs-md)}
  .top5-h a{font-size:var(--fs-sm);color:var(--gold-hi)}
  .top5 ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  @media (max-width:900px){.top5 ol{grid-template-columns:1fr}}
  .top5 li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--stone);min-width:0}
  .top5 li .r{font-family:var(--display);font-weight:900;color:var(--gold);font-size:var(--fs-xs);letter-spacing:.14em}
  .top5 li b{font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top5 li span{color:var(--mist);font-size:var(--fs-sm)}
  .top5 .empty{color:var(--mist)}
  .wboss{margin-top:18px;padding:22px 26px;border:1px solid rgba(63,167,201,.45);border-radius:var(--r-lg);background:linear-gradient(180deg,rgba(63,167,201,.10),rgba(var(--night-rgb),.55))}
  .wb-bar{position:relative;height:28px;border-radius:var(--r-sm);background:#120a0a;border:1px solid var(--line-soft);overflow:hidden}
  .wb-bar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#8a1c12,#d9472b);width:100%;transition:width 1s}
  .wb-bar span{position:relative;display:block;text-align:center;line-height:28px;font-weight:700;font-size:var(--fs-sm);text-shadow:0 1px 3px #000}
  .wb-goal{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}.wb-gh{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--parch)}.wb-gh span{color:var(--mist);font-size:var(--fs-sm)}
  .wb-gb{position:relative;height:12px;border-radius:var(--r-lg);background:#120a0a;border:1px solid var(--line-soft);margin-top:8px;overflow:hidden}.wb-gb i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#b8862b,#ffd36a);width:0;transition:width 1s}
  .wb-s{margin:10px 0 0;color:var(--mist);font-size:var(--fs-base)}.wb-s b{color:var(--parch)}
  footer{border-top:1px solid var(--line-soft);padding-block:48px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
  footer .fm{font-family:var(--display);font-weight:900;letter-spacing:.2em;font-size:var(--fs-lg)}
  footer .fs{font-family:var(--quote);font-style:italic;color:var(--gold)}
  footer .fd{color:var(--mist);font-size:var(--fs-sm);max-width:60ch}

  .reveal{transition:opacity .9s ease,transform .9s ease}
  .js .reveal.pre{opacity:.001;transform:translateY(18px)}
  @media (prefers-reduced-motion:reduce){.js .reveal.pre{opacity:1;transform:none}}
  .contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin:8px auto 0;padding:14px 18px;max-width:640px;border:1px solid rgba(232,196,106,.35);border-radius:var(--r-lg);background:rgba(0,0,0,.35);text-align:center}
  .contact svg{width:26px;height:26px;color:#8ea1ff;flex:none}.contact span{font-size:var(--fs-base)}.contact code{font-family:ui-monospace,Consolas,monospace;color:#ffe08a;font-size:1.05em;user-select:all;padding:1px 6px;border-radius:var(--r-lg);background:rgba(255,255,255,.06)}

  /* ---- équipe Lead ---- */
  .team-h{display:flex;align-items:center;gap:14px;margin:34px 0 16px;font-family:var(--display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
  .team-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
  .team{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
  .mem{display:flex;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(180deg,var(--stone-2),var(--stone));border:1px solid var(--line-soft);border-radius:var(--r-sm);min-width:0;transition:border-color .2s,transform .2s}
  .mem:hover{border-color:var(--line);transform:translateY(-2px)}
  .mem .mono{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:var(--fs-md);color:var(--silver);border:1px solid var(--line-soft);background:radial-gradient(circle at 35% 30%,rgba(201,204,211,.16),rgba(var(--night-rgb),.9))}
  .mem b{display:block;font-family:var(--display);font-size:var(--fs-base);color:var(--parch);letter-spacing:.03em;overflow-wrap:anywhere}
  .mem small{display:block;color:var(--mist);font-size:var(--fs-sm);line-height:1.35}
  .mem.gm{grid-column:1/-1;padding:22px 24px;border-color:var(--line);background:linear-gradient(120deg,rgba(212,174,95,.14),var(--stone) 55%)}
  .mem.gm .mono{width:62px;height:62px;font-size:var(--fs-xl);color:#1b1407;border:0;background:linear-gradient(180deg,var(--gold-hi),var(--gold));box-shadow:0 0 24px rgba(240,214,144,.3)}
  .mem.gm b{font-size:var(--fs-lg);color:var(--gold-hi)}
  .mem.off .mono{color:var(--gold-hi);border-color:var(--line)}
  .team.wide{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  .team.wide .mem{padding:12px 14px}.team.wide .mono{width:38px;height:38px;font-size:var(--fs-base)}
  .rl{display:inline-block;margin-top:4px;font-family:var(--display);font-weight:700;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-xs);border:1px solid var(--line-soft);color:var(--mist)}
  .rl.r-raid{color:#ff9a7a;border-color:rgba(255,120,90,.35)}.rl.r-tech{color:#8fb8ff;border-color:rgba(120,160,255,.35)}.rl.r-pvp{color:#ff7a8a;border-color:rgba(255,90,110,.35)}
  .rl.r-bank{color:var(--gold-hi);border-color:var(--line)}.rl.r-amb{color:#9fe0b0;border-color:rgba(120,220,150,.3)}.rl.r-off{color:var(--silver)}
  .jaina{margin-top:34px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:24px;border:1px solid var(--line);border-radius:var(--r-sm);background:linear-gradient(120deg,rgba(42,91,184,.14),var(--stone) 60%)}
  .jaina .ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-xl);background:rgba(42,91,184,.25);border:1px solid rgba(120,160,255,.4)}
  .jaina h3{font-size:var(--fs-md);color:var(--parch);margin-bottom:6px}.jaina p{color:var(--mist)}.jaina p+p{margin-top:8px}.jaina b{color:var(--parch)}
  .team-note{margin-top:22px;color:var(--mist);font-style:italic;text-wrap:pretty}
  @media (max-width:560px){ .team{grid-template-columns:1fr 1fr;gap:10px} .team.wide{grid-template-columns:1fr 1fr} .mem{flex-direction:column;align-items:flex-start;gap:8px;padding:14px} .mem.gm{flex-direction:row;align-items:center} .jaina{grid-template-columns:1fr;padding:20px} }

  .tools2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
  a.card.tool{text-decoration:none;color:inherit}
  a.card.tool img{width:44px;height:44px;border-radius:var(--r-lg);border:1px solid var(--line)}
  a.card.tool p{color:var(--mist)}
  a.card.tool .go-t{margin-top:auto;font-family:var(--display);font-weight:700;font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hi)}

/* ===== refonte (nov. 2026) : passe après la base ===== */
/* Paradoxe — refonte de l'accueil (nov. 2026). Chargé APRÈS le <style> de index.html : ces règles passent devant.
   Principes : Cinzel réservé au logo, titres en Alegreya en casse normale, pas de halo, pas d'animation d'apparition,
   l'or pour l'action, l'infobulle du jeu comme signature. */
:root{--head:'Alegreya',Georgia,serif}

/* ---------- typo ---------- */
h2,h3,.home .h3{font-family:var(--head);letter-spacing:0;text-transform:none}
.sec-head h2{font-size:var(--fs-2xl);line-height:1.15}
.sec-head .eyebrow,.play-txt .eyebrow,.join .eyebrow{display:none}
.eyebrow{font-family:var(--body);font-weight:500;font-size:var(--fs-base);letter-spacing:0;text-transform:none;color:var(--mist)}
.sec-head.center{align-items:flex-start;text-align:left;margin-inline:0}
.join .sec-head.center{align-items:center;text-align:center;margin-inline:auto}
.sec{padding-block:72px}

/* ---------- barre et bandeau ---------- */
.bar nav a.lk{font-family:var(--body);font-weight:500;font-size:var(--fs-base);letter-spacing:0;text-transform:none}
.bar nav a.lk.new::after{box-shadow:none}
.news{background:var(--night);border-bottom:1px solid var(--line-soft)}
.news .tagn{font-family:var(--body);font-size:var(--fs-xs);letter-spacing:0;text-transform:none;font-weight:700}
.news b{font-family:var(--body);letter-spacing:0}

/* ---------- boutons : plats ---------- */
.btn{transition:background-color .15s,border-color .15s,color .15s;letter-spacing:0}
.btn-gold{background:var(--gold);box-shadow:none}
.btn-gold:hover{background:var(--gold-hi);box-shadow:none;transform:none}
.btn-ghost{background:transparent;border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold);background:var(--stone)}
.btn-play{background:var(--stone);box-shadow:none;border-color:rgba(178,106,232,.6)}
.btn-play:hover{box-shadow:none;transform:none;border-color:#c993ff}
.btn-play .new{font-family:var(--body);letter-spacing:0;font-size:var(--fs-xs)}

/* ---------- héros : texte à gauche, blason et fiche de guilde à droite ---------- */
.hero{padding-block:56px 72px}
.hero .wrap.hero-g{display:grid;gap:36px;align-items:center;text-align:left;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.hero .wrap.hero-g{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.hero h1{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-family:var(--head);font-weight:700;font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.08;color:var(--parch);max-width:18ch;text-wrap:balance}
.hero .pitch{margin:18px 0 0;font-size:var(--fs-md);color:var(--silver)}
.hero .ctas{justify-content:flex-start;margin-top:26px}
.hero-more{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--mist)}
.hero-more a,.hero-more button{color:var(--parch);font:500 1rem var(--body);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.hero-more a:hover,.hero-more button:hover{color:var(--gold-hi);text-decoration-color:currentColor}
.hero-s{display:grid;gap:14px;justify-items:start}
.crest{width:min(480px,100%);border-radius:var(--r-lg);box-shadow:0 0 0 1px rgba(0,0,0,.8),0 18px 40px rgba(0,0,0,.55)}

/* l'infobulle du jeu (même composant que dans les guides) */
.tt{background:linear-gradient(180deg,#0a1230,#060b1d);border:1px solid #8d929c;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px #000,0 0 0 1px #000;padding:12px 16px;color:#fff;font-size:var(--fs-base);line-height:1.45;width:min(480px,100%)}
.tt .tt-t{font-weight:700;color:#ffd100;margin:0 0 4px;font-size:var(--fs-base)}
.tt dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:2px 16px}
.tt dt{color:#c9c9c9}
.tt dd{margin:0;font-weight:500}
.tt dd.al{color:#7fb2ff}
:root[data-foyer="forgefer"] .tt dd.al{color:#7fb2ff}
.tt .count{display:block;margin-top:8px;font-family:var(--body);letter-spacing:0;text-transform:none;font-size:var(--fs-base);color:#1eff00}
.tt .count b{font-size:inherit;color:inherit;font-weight:700}
.tt .count span{white-space:normal}

/* ---------- sections ---------- */
.duo{border-radius:var(--r-sm)}
.side.light,.side.dark{background:var(--stone)}
.motto{text-align:left;margin-inline:0}
.plx{height:clamp(220px,36vh,340px)}
.plx-q{justify-content:flex-start;text-align:left;padding-inline:max(20px,calc((100vw - 1120px)/2 + 20px))}
.plx-q p span{font-family:var(--body);font-size:var(--fs-base);letter-spacing:0;text-transform:none}
.home .sub,.home .pill{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:var(--fs-sm)}
.home.sw.on,.home.if.on{box-shadow:0 0 0 1px currentColor}
.home:hover{transform:none}

/* activités : une liste lisible plutôt que quatre cartes identiques */
#activites .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:8px 48px}
#activites .card{background:none;border:0;border-top:1px solid var(--line-soft);border-radius:0;padding:22px 0 18px;display:grid;grid-template-columns:30px 1fr;gap:6px 14px}
#activites .card:hover{transform:none}
#activites .card svg{grid-row:span 3;width:26px;height:26px;margin-top:3px}
#activites .card .wink{border-top:0;padding-top:0;margin-top:4px}

/* outils */
a.card.tool{background:var(--stone)}
a.card.tool:hover{transform:none}
a.card.tool .go-t{font-family:var(--body);font-size:var(--fs-base);letter-spacing:0;text-transform:none}
.top5 li .r{font-family:var(--body);letter-spacing:0;font-size:var(--fs-sm)}

/* règlement */
#code summary .ic{display:none}

/* guides (nouvelle section) */
.gx{display:grid;gap:32px 56px;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.gx h3{font-size:var(--fs-md);margin-bottom:10px;color:var(--parch)}
.gx-dj{list-style:none;padding:0;margin:0;border-top:1px solid var(--line-soft)}
.gx-dj li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.gx-dj a{color:var(--parch);text-decoration:none;font-weight:500}
.gx-dj a:hover{color:var(--gold-hi);text-decoration:underline}
.gx-dj span{color:var(--mist);font-variant-numeric:tabular-nums}
.gx-cls{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.gx-cls a{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--stone);color:var(--c);font-weight:700;text-decoration:none}
.gx-cls a:hover{border-color:var(--c)}
.gx-cls img{border-radius:var(--r-sm);border:1px solid #000}
.gx-all{margin-top:20px}

/* ---------- pas d'animation d'apparition : le contenu est là tout de suite ---------- */
.js .reveal.pre{opacity:1;transform:none}
.reveal{transition:none}
.card:hover,.home:hover{transform:none}

/* ---------- capitales espacées restantes : en casse normale (Cinzel reste réservé au logo) ---------- */
.foyer-mini button,.rail-ends,.rl,.tag,.tl .d,.team-h,.code-list summary,#toast b,.mem .mono,.mem b,.steps li::before{font-family:var(--body);letter-spacing:0;text-transform:none}
.foyer-mini button{font-size:var(--fs-sm);font-weight:500}
.team-h{font-size:var(--fs-base);font-weight:700;color:var(--mist)}
.tag,.rl{font-size:var(--fs-xs);font-weight:700}
.rail-ends{font-size:var(--fs-sm)}
.tl .d{font-size:var(--fs-base);font-weight:700}
.mem b{font-family:var(--head);font-size:var(--fs-md)}
.code-list summary{font-size:var(--fs-base);font-weight:700}

/* héros : côté texte assombri pour la lisibilité */
.hero::after{background:linear-gradient(var(--tint),var(--tint)),linear-gradient(90deg,rgba(var(--night-rgb),.9) 0%,rgba(var(--night-rgb),.62) 50%,rgba(var(--night-rgb),.4) 100%),linear-gradient(180deg,transparent 55%,var(--night))}
@media (max-width:959px){.hero::after{background:linear-gradient(var(--tint),var(--tint)),linear-gradient(180deg,rgba(var(--night-rgb),.75),rgba(var(--night-rgb),.85) 60%,var(--night))}}

/* pied de page : liens du site */
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin:14px auto 6px;max-width:640px}
.fnav a{color:var(--parch);text-decoration:none;font-weight:500}
.fnav a:hover{color:var(--gold-hi);text-decoration:underline}

/* ===== page Le code + liens de préparation (nov. 2026) ===== */
.pg-head{padding-block:var(--sp-8) var(--sp-5)}
.pg-head h1{font-size:var(--fs-2xl);line-height:1.1;margin:0 0 var(--sp-4)}
.pg-head p{max-width:var(--prose);font-size:var(--fs-md);color:var(--mist);margin:0}
.page-code #activites{padding-top:var(--sp-5)}
.cta-code .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-5);text-align:center}
.cta-code p{margin:0;font-family:var(--quote);font-style:italic;font-size:var(--fs-xl);color:var(--parch)}
.prep{margin:var(--sp-5) 0 0;padding-top:var(--sp-4);border-top:1px solid var(--line-soft);color:var(--mist);font-size:var(--fs-base)}
.prep a{color:var(--gold);text-underline-offset:3px}
.prep a:hover{color:var(--gold-hi)}
.ic-snd{width:1em;height:1em;vertical-align:-.15em}
