  :root{
    --bg:#F1EEE6; --bg2:#FBFAF6; --ink:#1A1915; --muted:#6E6A60;
    --line:#E0DBCF; --line2:#EAE6DC; --accent:#2C3BEA; --accent-ink:#fff;
    --soft:rgba(44,59,234,.08); --dot:rgba(26,25,21,.18);
    --font-sans:'Space Grotesk',system-ui,sans-serif;
    --font-mono:'JetBrains Mono',monospace;
    --font-serif:'Newsreader',serif;
  }
  html[data-theme="dark"]{
    --bg:#0C0C0F; --bg2:#161619; --ink:#ECEAE2; --muted:#8C887E;
    --line:#26262B; --line2:#1F1F23; --accent:#7E8DFF; --accent-ink:#0C0C0F;
    --soft:rgba(126,141,255,.14); --dot:rgba(236,234,226,.16);
  }
  /* ===== Alternate visual looks ===== */
  html[data-look="riso"]{
    --bg:#F7F1E3; --bg2:#FFFDF5; --ink:#1B1712; --muted:#7A6E5C;
    --line:#E4D9C2; --line2:#EFE7D5; --accent:#EA4E2B; --accent-ink:#fff;
    --soft:rgba(234,78,43,.1); --dot:rgba(27,23,18,.2);
    --font-sans:'Archivo',system-ui,sans-serif; --font-mono:'Space Mono',monospace; --font-serif:'Newsreader',serif;
  }
  html[data-look="riso"][data-theme="dark"]{
    --bg:#17120C; --bg2:#211A11; --ink:#F5ECDB; --muted:#9C8E77;
    --line:#33291B; --line2:#251D12; --accent:#FF6A4A; --accent-ink:#17120C;
    --soft:rgba(255,106,74,.16); --dot:rgba(245,236,219,.18);
  }
  html[data-look="analog"]{
    --bg:#F0E7D6; --bg2:#F8F2E6; --ink:#33291F; --muted:#82705C;
    --line:#DCCFB8; --line2:#E7DDC9; --accent:#B5623A; --accent-ink:#fff;
    --soft:rgba(181,98,58,.12); --dot:rgba(51,41,31,.2);
    --font-sans:'Bricolage Grotesque',system-ui,sans-serif; --font-mono:'DM Mono',monospace; --font-serif:'Newsreader',serif;
  }
  html[data-look="analog"][data-theme="dark"]{
    --bg:#191410; --bg2:#221A13; --ink:#EFE4D2; --muted:#9F8E77;
    --line:#332A1F; --line2:#241C14; --accent:#D98A5B; --accent-ink:#191410;
    --soft:rgba(217,138,91,.16); --dot:rgba(239,228,210,.16);
  }
  html[data-look="brutal"]{
    --bg:#FFFDF6; --bg2:#FFFFFF; --ink:#0A0A0A; --muted:#5A5A54;
    --line:#0A0A0A; --line2:#D8D8D0; --accent:#4A3AEE; --accent-ink:#fff;
    --soft:rgba(74,58,238,.1); --dot:rgba(10,10,10,.22);
    --font-sans:'Archivo',system-ui,sans-serif; --font-mono:'Space Mono',monospace; --font-serif:'Archivo',system-ui,sans-serif;
  }
  html[data-look="brutal"][data-theme="dark"]{
    --bg:#0C0C0C; --bg2:#151515; --ink:#FAFAF3; --muted:#9A9A90;
    --line:#FAFAF3; --line2:#222222; --accent:#C7FF3E; --accent-ink:#0C0C0C;
    --soft:rgba(199,255,62,.14); --dot:rgba(250,250,243,.2);
  }
  html[data-look="brutal"] [data-industry] > *,
  html[data-look="brutal"] [data-grid] > *,
  html[data-look="brutal"] [data-lead] > *,
  html[data-look="brutal"] [data-art] > *{
    border-width:2px !important; border-radius:0 !important; box-shadow:5px 5px 0 var(--ink) !important;
  }
  html[data-look="noir"]{
    --bg:#EAE6DD; --bg2:#F3EFE7; --ink:#1C1814; --muted:#6E665A;
    --line:#D6CFC1; --line2:#E3DDD0; --accent:#9A7B3F; --accent-ink:#fff;
    --soft:rgba(154,123,63,.12); --dot:rgba(28,24,20,.18);
    --font-sans:'Space Grotesk',system-ui,sans-serif; --font-mono:'JetBrains Mono',monospace; --font-serif:'Spectral',Georgia,serif;
  }
  html[data-look="noir"][data-theme="dark"]{
    --bg:#141110; --bg2:#1D1916; --ink:#EDE6D6; --muted:#948B7A;
    --line:#2E2822; --line2:#211C18; --accent:#C7A15A; --accent-ink:#141110;
    --soft:rgba(199,161,90,.16); --dot:rgba(237,230,214,.16);
  }
  html[data-look="noir"] h3, html[data-look="noir"] h4{ font-family:var(--font-serif); font-weight:500; letter-spacing:-.01em; }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth; scroll-padding-top:84px}
  body{margin:0; background:var(--bg); color:var(--ink);
    font-family:var(--font-sans);
    -webkit-font-smoothing:antialiased;}
  ::selection{background:var(--accent); color:var(--accent-ink)}
  @keyframes riseIn{from{opacity:0; transform:translateY(40px)} to{opacity:1; transform:translateY(0)}}
  @keyframes saneIn{0%{opacity:0; transform:translateY(24px) scale(.82)} 60%{opacity:1} 100%{opacity:1; transform:translateY(0) scale(1)}}
  @keyframes fadeIn{from{opacity:0} to{opacity:1}}
  @keyframes scrollPulse{0%,100%{transform:translateY(0); opacity:.4} 50%{transform:translateY(7px); opacity:1}}
  @keyframes rippleExpand{to{transform:scale(1); opacity:0}}
  @keyframes hintRing{0%{transform:scale(.14); opacity:.65} 65%{opacity:.2} 100%{transform:scale(1); opacity:0}}
  @keyframes hintDrop{0%,100%{transform:translateY(0); opacity:.9} 50%{transform:translateY(-3px); opacity:.55}}
  @keyframes cornerPulse{0%,100%{transform:translateX(-50%) scale(1)} 50%{transform:translateX(-50%) scale(1.05)}}
  @keyframes bookOpen{from{opacity:0; transform:perspective(1400px) rotateY(-32deg) scale(.94)} to{opacity:1; transform:perspective(1400px) rotateY(0) scale(1)}}
  @media (prefers-reduced-motion:reduce){*{animation:none!important; scroll-behavior:auto!important}}
  html{scrollbar-width:none; -ms-overflow-style:none;}
  html::-webkit-scrollbar{width:0; height:0; display:none;}
