
/* ── RESET ─────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:#101010;color:#eeebe4;
  font-family:'Overused Grotesk',sans-serif;
  font-weight:400;
  font-size:16px;line-height:1.55;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:100%;object-fit:cover;}

/* ── TOKENS ─────────────────────────────── */
:root{
  --bg:    #101010;
  --bg2:   #161618;
  --bg3:   #1e1e22;
  --text:  #eeebe4;
  --muted: #999692;
  --teal:  #5584bd;
  --org:   #ff4500;
  --b:     rgba(238,235,228,.09);
  --bm:    rgba(238,235,228,.16);
  --ease:  cubic-bezier(.25,.46,.45,.94);
  --nh:    72px; /* nav height */
  --fs-body:  17px;  /* all paragraph / description text */
  --fs-small: 14px;  /* footer, small captions */
  --fs-lead:  clamp(14px,1.3vw,16px); /* hero lead */
}

/* ── PROGRESS ───────────────────────────── */
#bar{
  position:fixed;inset:0 0 auto;height:1.5px;width:0;z-index:9000;
  background:linear-gradient(90deg,var(--teal),#5584bd);
  transition:width .08s linear;
}

/* ── NAV ────────────────────────────────── */
#nav{
  position:fixed;inset:0 0 auto;height:var(--nh);z-index:800;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;
  border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s,backdrop-filter .4s;
}
#nav.stuck{
  background:rgba(16,16,16,.88);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-color:var(--b);
}
.nlogo{display:flex;align-items:center;gap:12px;}
.nlogo-svg{height:22px;width:auto;display:block;flex-shrink:0;}
.nlogo-ap{font-family:'Space Mono',monospace;font-size:12px;font-weight:500;
  letter-spacing:.12em;color:var(--text);margin-top:2px;}
.nmark{
  width:34px;height:34px;border:1px solid var(--teal);
  display:grid;place-items:center;
  font-family:'Space Mono',monospace;font-size:11px;font-weight:700;
  color:var(--teal);letter-spacing:.06em;
}
.nname{font-size:11px;font-weight:400;letter-spacing:.18em;
       text-transform:uppercase;color:var(--muted);}

.nlinks{list-style:none;display:flex;gap:32px;}
.nlinks a{font-size:11px;font-weight:400;letter-spacing:.11em;
          text-transform:uppercase;color:var(--muted);
          transition:color .2s;}
.nlinks a:hover{color:var(--text);}

.nr{display:flex;align-items:center;gap:18px;}

/* bordered button */
.cbtn{
  position:relative;display:inline-flex;align-items:center;gap:12px;
  padding:11px 26px;
  font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text);
  border:1px solid rgba(238,235,228,.28);border-radius:4px;
  background:transparent;
  transition:color .25s,border-color .25s;
}
.cbtn:hover{border-color:rgba(255,255,255,.9);}
.cbtn .arr{transition:transform .22s;}
.cbtn:hover .arr{transform:translateX(5px);}

/* solid-fill variant */
.cbtn-solid{
  display:inline-flex;align-items:center;gap:12px;padding:14px 32px;
  font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.15);color:#fff;border-radius:4px;
  border:1px solid transparent;
  transition:border-color .25s;
}
.cbtn-solid .arr{transition:transform .22s;}
.cbtn-solid:hover .arr{transform:translateX(5px);}
.cbtn-solid:hover{border-color:rgba(255,255,255,.9);}
.cbtn-solid.dark:hover,.cbtn-solid.org:hover{background:#8493b5;color:#fff;}
.cbtn-solid.dark,.cbtn-solid.org{background:#fff;color:#080808;}

/* pill (on orange card) */
.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 34px;border-radius:100px;
  font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;
  background:#fff;color:var(--org);
  transition:background .22s;
}
.pill .arr{transition:transform .22s;}
.pill:hover{background:#f5f2ec;}
.pill:hover .arr{transform:translateX(5px);}

/* hamburger */
#hbg{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;width:34px;height:34px;padding:4px;
}
#hbg span{display:block;width:22px;height:1px;background:#fff;
          transition:transform .3s var(--ease),opacity .3s;}

/* ── OVERLAY NAV (right-side panel) ─────── */
#ov-bg{
  position:fixed;inset:0;z-index:840;background:rgba(0,0,0,0);
  pointer-events:none;transition:background .4s;
}
#ov-bg.open{background:rgba(0,0,0,.35);pointer-events:auto;}
#ov{
  position:fixed;top:0;right:0;bottom:0;width:320px;z-index:850;
  background:rgba(10,10,10,.97);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-left:1px solid var(--b);
  transform:translateX(102%);
  transition:transform .55s cubic-bezier(0.16,1,0.3,1);
  overflow-y:auto;
}
#ov.open{transform:translateX(0);}
.ov-hd{display:flex;align-items:center;justify-content:flex-end;padding:28px 28px 0;}
#ov-close{
  background:none;border:none;cursor:pointer;
  font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;
  color:var(--muted);transition:color .2s;font-family:inherit;
}
#ov-close:hover{color:var(--text);}
.ov-inner{padding:44px 44px 72px;}
.ov-item{border-bottom:1px solid rgba(238,235,228,.07);}
.ov-item:first-child{border-top:1px solid rgba(238,235,228,.07);}
.ov-cat{
  display:flex;justify-content:space-between;align-items:center;
  width:100%;background:none;border:none;cursor:pointer;
  color:rgba(238,235,228,.78);font-size:12px;font-weight:300;letter-spacing:.14em;
  text-transform:uppercase;padding:17px 0;
  transition:color .2s;font-family:inherit;
}
.ov-cat:hover{color:var(--text);}
.ov-arr{font-size:12px;opacity:.4;transition:transform .35s cubic-bezier(0.16,1,0.3,1),opacity .2s;line-height:1;}
.ov-item.active .ov-arr{transform:rotate(45deg);opacity:.9;}
.ov-item.active .ov-cat{color:var(--text);}
.ov-sub{
  list-style:none;max-height:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(0.16,1,0.3,1);
}
/* max-height controlled by JS using scrollHeight */
.ov-sub li:last-child{margin-bottom:18px;}
.ov-sub a{
  display:block;padding:9px 0;
  font-size:14px;font-weight:300;letter-spacing:-.01em;
  color:rgba(238,235,228,.55);transition:color .2s,padding-left .2s;
}
.ov-sub a:hover{color:var(--text);padding-left:6px;}

/* ── HERO ───────────────────────────────── */
/* ── HERO V2 — two-column split ─────────── */
.hv{
  position:relative;
  min-height:100vh;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Thin accent rules — top (just below nav) and bottom */
.hv-rule{
  position:absolute;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--teal) 12%,var(--teal) 88%,transparent 100%);
  opacity:.55;
}
.hv-rule-top{top:var(--nh);}
.hv-rule-bot{bottom:0;}

/* Two-column row */
.hv-inner{
  display:flex;align-items:center;
  max-width:1400px;width:100%;margin:0 auto;
  padding:calc(var(--nh) + 60px) 52px 80px;
  gap:60px;
}

/* LEFT column */
.hv-left{
  flex:0 0 56%;max-width:56%;
  display:flex;flex-direction:column;gap:0;
  animation:hvIn 1.1s var(--ease) both;
}
@keyframes hvIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}

/* Stats row */
.hv-stats{
  display:flex;align-items:center;gap:16px;
  margin-bottom:24px;
}
.hv-accent-bar{
  display:inline-block;width:36px;height:5px;
  background:var(--teal);border-radius:1px;flex-shrink:0;
}
.hv-stat{
  font-family:'Space Mono',monospace;
  font-size:10px;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--text);
}
.hv-sep{
  font-family:'Space Mono',monospace;
  font-size:10px;color:var(--teal);
}

/* Wrapper shrinks to title width so lead text right-aligns to the S */
.hv-title-block{
  display:inline-block;
}

/* Main title — one line, matches site heading style exactly */
.hv-title{
  font-size:clamp(48px,5.6vw,86px);
  font-weight:300;
  letter-spacing:-.03em;
  line-height:1.0;
  color:var(--text);
  white-space:nowrap;
  overflow:visible;
  margin-bottom:28px;
}

/* Lead text — right-aligned, lines break under right edge of title */
.hv-lead{
  font-size:clamp(16px,1.4vw,22px);
  font-weight:300;
  line-height:1.65;
  color:var(--muted);
  text-align:right;
  margin-bottom:18px;
}
/* Blue accent bar below lead text */
.hv-lead-bar{
  display:block;
  width:52px;height:5px;
  background:var(--teal);
  border-radius:1px;
  margin-left:auto;
}

/* RIGHT column */
.hv-right{
  flex:1;
  display:flex;align-items:center;justify-content:center;
  animation:hvIn 1.1s .15s var(--ease) both;
}
.hv-book{
  position:relative;
  width:clamp(260px,28vw,400px);
  aspect-ratio:1;
}
/* Shadow layers behind the book for depth */
.hv-book::before,
.hv-book::after{
  content:'';
  position:absolute;inset:0;
  border-radius:4px;
  background:rgba(255,255,255,.04);
}
.hv-book::before{
  transform:rotate(-8deg) translate(-14px,10px);
  box-shadow:0 40px 80px rgba(0,0,0,.7);
  z-index:0;
}
.hv-book::after{
  transform:rotate(-4deg) translate(-7px,5px);
  box-shadow:0 30px 60px rgba(0,0,0,.55);
  z-index:1;
}
.hv-book-img{
  position:relative;z-index:2;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 60px 120px rgba(0,0,0,.65),0 20px 40px rgba(0,0,0,.4);
  transform:rotate(-2deg);
}

/* Light mode adjustments */
:root[data-theme="light"] .hv{background:#f0ede8;}
:root[data-theme="light"] .hv-rule{opacity:.18;}
:root[data-theme="light"] .hv-book::before,
:root[data-theme="light"] .hv-book::after{background:rgba(0,0,0,.06);}

/* Responsive */
@media(max-width:900px){
  .hv-inner{flex-direction:column;padding:calc(var(--nh) + 40px) 28px 60px;gap:48px;}
  .hv-left{flex:none;max-width:100%;}
  .hv-right{width:100%;justify-content:flex-start;}
  .hv-book{width:clamp(220px,60vw,320px);}
  .hv-title{font-size:clamp(48px,11vw,80px);}
}

/* ── SECTION COMMON ─────────────────────── */
.sec-label{
  font-size:11px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;
  color:#8a8a8a;margin-bottom:18px;display:block;
}
.sec-label.org{color:#5584bd;}
.sec-rule{width:32px;height:1px;background:#5584bd;margin-bottom:28px;}
.sec-rule.org{background:#5584bd;}
.h2{
  font-size:clamp(25px,3.3vw,48px);font-weight:300;
  line-height:1.14;letter-spacing:.015em;color:var(--text);
}
.body{
  font-size:var(--fs-body);line-height:1.74;
  color:var(--muted);max-width:460px;font-weight:300;
}

/* ── ADM — 4 TALL COLOR CARDS ──────────── */
.adm{background:var(--bg);border-top:1px solid var(--b);padding:140px 52px 80px;}
.adm-hd{
  max-width:1320px;margin:0 auto 72px;
  display:flex;justify-content:space-between;align-items:center;gap:48px;
}
.adm-sub{font-size:var(--fs-body);line-height:1.74;color:var(--muted);font-weight:300;max-width:360px;flex-shrink:0;}

/* ── full-width scroll-revealed card ── */
.adm-card{
  background:var(--text);color:#080808;
  border-radius:28px;padding:72px 64px 64px;
  max-width:1320px;margin:0 auto;
  clip-path:inset(0 100% 0 0 round 28px);
  will-change:clip-path;
  overflow:hidden;
}
.adm-card .h2{color:#080808;}
.adm-card .sec-label{color:#5584bd;}
.adm-card .adm-sub{color:rgba(8,8,8,.55);}
.adm .adm-sub{color:rgba(238,235,228,.72);}
.adm-card .ec-light{box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.08);}

.adm-grid{
  max-width:1320px;margin:0 auto;
  display:flex;
}
.ec{
  flex:1 1 0%;
  min-width:0;
  overflow:hidden;
  padding:40px 36px 40px;min-height:480px;
  border-radius:24px;
  margin-left:-80px;
  position:relative;z-index:1;
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;
  transition:flex-grow .6s cubic-bezier(.4,0,.2,1),margin-left .6s cubic-bezier(.4,0,.2,1),box-shadow .6s cubic-bezier(.4,0,.2,1),background .45s cubic-bezier(.4,0,.2,1);
}
.ec:first-child{margin-left:0;}
.ec-top{display:flex;flex-direction:column;width:100%;}
.ec-n{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;
  opacity:.45;padding-top:4px;
}
.ec-t{
  font-size:clamp(24px,2.4vw,36px);font-weight:400;
  line-height:1.04;letter-spacing:-.025em;
  padding-top:36px;
  width:280px;
}
.ec-body{width:100%;}
.ec-d{font-size:var(--fs-body);line-height:1.66;opacity:.82;font-weight:300;width:280px;margin-bottom:0;}
.ec-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  margin-top:28px;opacity:.75;transition:opacity .2s;
}
.ec-link:hover{opacity:1;}
.ec-teal{background:#8493b5;color:#080808;}
.ec-teal .sc-link,.ec-light .sc-link{color:#080808;}
.ec-dark .sc-link{color:var(--text);}
.ec-org{background:#4372ab;color:#eeebe4;}
.ec-dark{background:var(--bg3);color:var(--text);}
.ec-light{background:var(--text);color:#080808;}

/* ── SPLIT-SCROLL SECTIONS ──────────────── */
/*
  Structure:
    .split  — flex row, full width
      .sp-left  — flex 0 0 50%, position:sticky top:0, height:100vh, align-self:flex-start
      .sp-right — flex 1, cards column

  The cards inside .sp-right are each:
    position:sticky; top:var(--nh); height:calc(100vh - var(--nh))
  All cards have the SAME top value → each card fully covers the previous one
  as the user scrolls. This creates the pinned-card-replace effect.
*/
.split{border-top:1px solid var(--b);}
.split.bg1{background:var(--bg);}
.split.bg2{background:var(--bg2);}
#discover{padding-top:50px;}

.split-row{
  display:flex;
  /* Must NOT have overflow:hidden — kills sticky */
}

/* ── TEXT COLUMN (sticky) ── */
.sp-left{
  flex:0 0 50%;
  position:sticky;top:0;height:100vh;
  align-self:flex-start; /* crucial: don't stretch to match right col */
  padding:72px 72px 0 52px;
}
.sp-left.right{
  order:2;
  padding:72px 52px 0 72px;
}
.sp-text{max-width:500px;}
.sp-text .h2{margin-bottom:24px;}
.sp-text .body{margin-bottom:44px;}

/* ── CARDS COLUMN ── */
.sp-right{flex:1;padding-right:52px;}
.sp-right.left{order:1;padding-right:0;padding-left:52px;}

/* SCROLLING CARDS — rounded, spaced, natural flow */
.sc{
  position:relative;
  min-height:500px;
  border-radius:24px;
  margin:0 0 20px 0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:44px 48px;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .55s var(--ease);
}
.sc:hover{transform:translateY(-5px);box-shadow:0 24px 56px rgba(0,0,0,.28);}
.sp-right .sc:last-child{margin-bottom:40px;}
.sp-right.left .sc{margin:0 0 20px 0;}
.sp-right.left .sc:last-child{margin-bottom:40px;}

/* card colour themes */
.sc-teal{background:#8493b5;color:#080808;}
.sc-teal:hover{background:#8c9cbf;}
.sc-org{background:#4372ab;color:#eeebe4;}
.sc-org:hover{background:#4979b8;}
.sc-dark{background:var(--bg3);color:var(--text);}
.sc-dark:hover{background:#242428;}
.sc-light{background:var(--text);color:#080808;}
.sc-light:hover{background:#e7e4dd;}

.sc-top{
  display:flex;justify-content:space-between;align-items:flex-start;
}
.sc-num{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;opacity:.5;
}
.sc-tag{
  font-size:9px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;opacity:.4;
}
.sc-bot{display:flex;flex-direction:column;gap:14px;}
.sc-title{
  font-size:clamp(23px,2.7vw,41px);font-weight:400;
  line-height:1.02;letter-spacing:-.03em;
}
.sc-desc{font-size:var(--fs-body);line-height:1.66;opacity:.82;max-width:440px;font-weight:300;}
.sc-link{
  display:inline-flex;align-items:center;gap:9px;margin-top:8px;
  font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  opacity:.7;transition:opacity .2s,gap .2s;
}
.sc-link::after{content:'→';}
.sc-link:hover{opacity:1;gap:15px;}
.own-card .sc-link{opacity:1;}
.own-card .sc-link:hover{opacity:.7;gap:15px;}

/* ── PARTNER ────────────────────────────── */
.partner{background:var(--bg2);padding:160px 52px;border-top:1px solid var(--b);}
.partner-w{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;
}
.partner-text .h2{margin-bottom:24px;}
.partner-text .body{margin-bottom:44px;}
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pc{
  padding:36px 28px;border:1px solid var(--b);
  border-radius:20px;
  opacity:0;transform:translateY(18px);
  transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease);
}
.pc.in{opacity:1;transform:none;}
.pc:hover{background:#1c1c20;border-color:var(--bm);box-shadow:0 8px 28px rgba(0,0,0,.22);}
.pc-n{
  font-family:'Space Mono',monospace;font-size:28px;font-weight:700;
  color:#5584bd;opacity:.22;line-height:1;margin-bottom:24px;
}
.pc-t{font-size:clamp(17px,1.6vw,22px);font-weight:300;letter-spacing:-.025em;line-height:1.06;color:var(--text);margin-bottom:10px;}
.pc-d{font-size:var(--fs-small);line-height:1.65;color:var(--muted);font-weight:300;}

/* ── RESEARCH & BOOKS ───────────────────── */
.own{background:var(--bg);padding:160px 52px;border-top:1px solid var(--b);}
.own-w{max-width:1320px;margin:0 auto;display:flex;gap:24px;align-items:stretch;}
.own-card{
  background:#373c4a;border-radius:32px;
  padding:72px 68px;flex:1;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  transition:background .55s var(--ease);
}
.own-card:hover{background:#3e4356;}
.own-card::before{
  content:'';position:absolute;top:-25%;right:-8%;
  width:380px;height:380px;border-radius:50%;
  background:rgba(255,255,255,.05);pointer-events:none;
}
.own-card::after{
  content:'';position:absolute;bottom:-18%;left:-6%;
  width:240px;height:240px;border-radius:50%;
  background:rgba(0,0,0,.1);pointer-events:none;
}
.own-label{
  font-size:9px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:28px;
}
.own-title{
  font-size:clamp(26px,3.4vw,46px);font-weight:300;
  line-height:1.12;letter-spacing:.04em;color:#fff;margin-bottom:28px;
}
.own-desc{
  font-size:var(--fs-body);line-height:1.74;
  color:rgba(255,255,255,.81);margin-bottom:48px;flex:1;font-weight:300;
}
/* right card — black with thin grey border */
.own-card-right{
  background:#0c0c0e;border:1px solid rgba(238,235,228,.07);
  border-radius:32px;padding:72px 68px;flex:1;
  display:flex;flex-direction:column;
  transition:background .55s var(--ease),border-color .55s var(--ease);
}
.own-card-right:hover{background:#111114;border-color:rgba(238,235,228,.11);}
.own-free-label{
  font-size:9px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(238,235,228,.28);margin-bottom:28px;
}
.own-free-title{
  font-size:clamp(26px,3.4vw,46px);font-weight:300;
  line-height:1.12;letter-spacing:.04em;color:var(--text);margin-bottom:28px;
}
.own-free-desc{
  font-size:var(--fs-body);line-height:1.74;
  color:var(--muted);font-weight:300;margin-bottom:48px;flex:1;
}

/* ── FOOTER ─────────────────────────────── */
footer{background:#090909;border-top:1px solid var(--b);padding:88px 52px 52px;}
.ft-w{max-width:1320px;margin:0 auto;}
.ft-top{display:flex;justify-content:space-between;gap:80px;margin-bottom:72px;}
.ft-brand{max-width:300px;}
.ft-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.ft-logo-m{display:flex;align-items:center;}
.ft-logo-m img{height:20px;width:auto;opacity:.7;}
.ft-logo-n{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--text);}
.ft-tagline{font-size:var(--fs-small);line-height:1.72;color:var(--muted);font-weight:300;}
.ft-nav{display:flex;gap:64px;}
.ft-col h4{font-size:9px;font-weight:400;letter-spacing:.25em;text-transform:uppercase;
           color:var(--text);margin-bottom:20px;}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.ft-col a{font-size:var(--fs-small);color:var(--muted);font-weight:300;transition:color .2s;}
.ft-col a:hover{color:var(--text);}
.ft-bot{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:32px;border-top:1px solid var(--b);
}
.ft-copy{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:4px;letter-spacing:.01em;}
.ft-c{font-size:1em;line-height:1;}
.ft-links{display:flex;gap:24px;}
.ft-links a{font-size:11px;color:var(--muted);transition:color .2s;}
.ft-links a:hover{color:var(--text);}

/* ── RESPONSIVE ─────────────────────────── */
@media(max-width:1080px){
  #nav{padding:0 32px;}
  .nlinks{display:none;}
  #hbg{display:flex;}
  .adm{padding:100px 32px 60px;}
  .adm-hd{flex-direction:column;align-items:flex-start;}
  .adm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .ec{margin-left:0;}
  /* kill sticky behavior on mobile — cards go back to normal flow */
  .split-row{flex-direction:column;}
  .sp-left,.sp-left.right{
    flex:none;width:100%;order:0;
    position:relative;top:auto;height:auto;
    padding:80px 32px 40px;
  }
  .sp-right,.sp-right.left{width:100%;order:1;}
  .sc{
    border-radius:20px;
    min-height:380px;margin:0 0 12px 0;
    padding:40px 32px;
  }
  .sp-right.left .sc{margin:0 0 12px 0;}
  .partner-w{grid-template-columns:1fr;gap:56px;}
  .own{padding:100px 32px;}
  .own-w{flex-direction:column;}
  .own-card,.own-card-right{flex:none;width:100%;}
  footer{padding:72px 32px 44px;}
  .ft-top{flex-direction:column;gap:40px;}
  .ft-nav{gap:36px;}
  #ov{padding:100px 32px 64px;}
  .ov-g{grid-template-columns:1fr 1fr;gap:36px 44px;}
}
@media(max-width:680px){
  #nav{padding:0 20px;}
  .adm{padding:80px 20px 60px;}
  .adm-grid{grid-template-columns:1fr;gap:8px;}
  .ec{margin-left:0;min-height:300px;}
  .h-scue{display:none;}
  .partner,.own{padding:80px 20px;}
  .own-card,.own-card-right{padding:52px 40px;}
  .pcards{grid-template-columns:1fr;}
  footer{padding:64px 20px 40px;}
  .ft-nav{flex-direction:column;gap:28px;}
  .ft-bot{flex-direction:column;gap:14px;text-align:center;}
  .system-inner{grid-template-columns:1fr;gap:40px;}
  .system-right{height:240px;}
}


/* ── SYSTEM SECTION ─────────────────────── */
.system-sect{background:var(--bg);border-top:1px solid var(--b);padding:80px 52px 130px;margin:100px 0;}
.system-inner{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.system-title{
  font-size:clamp(25px,3.3vw,48px);font-weight:300;
  letter-spacing:.015em;line-height:1.14;color:var(--text);margin-bottom:24px;
}
.system-rule{width:100%;max-width:360px;height:1px;background:var(--b);margin-bottom:28px;}
.system-body{
  font-size:var(--fs-body);line-height:1.74;color:var(--muted);font-weight:300;
  max-width:360px;margin-bottom:44px;
}
.system-right{position:relative;height:360px;display:flex;align-items:center;justify-content:center;}
.sys-dots{width:100%;height:100%;object-fit:contain;display:block;opacity:0.88;}

/* ── CORNER BRACKET CTA ─────────────────── */
.cta-corner{
  display:inline-flex;align-items:center;gap:10px;padding:16px 36px;
  position:relative;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text);transition:color .25s;
}
.cta-corner::before,.cta-corner::after{
  content:'';position:absolute;width:13px;height:13px;
  border-style:solid;border-color:#5584bd;transition:width .25s,height .25s;
}
.cta-corner::before{top:0;left:0;border-width:1.5px 0 0 1.5px;}
.cta-corner::after{bottom:0;right:0;border-width:0 1.5px 1.5px 0;}
.cta-corner:hover{color:#5584bd;}
.cta-corner:hover::before,.cta-corner:hover::after{width:18px;height:18px;}

/* ── THEME TOGGLE (fixed bottom-left, moon/sun) ─ */
.theme-toggle-fixed{
  position:fixed;left:52px;bottom:22px;z-index:700;
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;
  background:rgba(16,16,16,.88);border:1px solid var(--b);
  cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.theme-toggle-fixed:hover{border-color:var(--bm);background:var(--bg2);}
.theme-toggle-fixed svg{
  width:18px;height:18px;stroke:var(--teal);fill:none;flex-shrink:0;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.icon-moon,.icon-sun{transition:opacity .3s,transform .3s;}
.icon-sun{position:absolute;opacity:0;transform:rotate(90deg) scale(.8);}
:root[data-theme="light"] .icon-moon{opacity:0;transform:rotate(-90deg) scale(.8);}
:root[data-theme="light"] .icon-sun{opacity:1;transform:rotate(0) scale(1);}
@media(max-width:680px){.theme-toggle-fixed{left:20px;}}

/* ── SCROLL CUE LINE ───────────────────────────── */
.scue-l{width:1px;height:32px;background:var(--bm);animation:scuePulse 1.6s ease-in-out infinite;}
@keyframes scuePulse{0%,100%{opacity:.42}50%{opacity:1}}

/* ── HERO EXTRAS ───────────────────────────────── */
.h-mark{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:#888;margin-bottom:28px;
}
.h-lead{
  font-size:var(--fs-lead);font-weight:300;line-height:1.52;letter-spacing:.005em;
  color:rgba(238,235,228,.85);max-width:620px;margin:0 auto 28px;
}
.h-meta{
  display:flex;align-items:center;gap:16px;margin-bottom:36px;
  flex-wrap:wrap;justify-content:center;
}
.h-meta span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.h-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.35;flex-shrink:0;}
.h-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}

/* ── SUBPAGE ───────────────────────────────────── */
.sub-hero{
  background:var(--bg);border-bottom:1px solid var(--b);
  padding:calc(var(--nh) + 80px) 52px 80px;
}
.sub-hero-inner{max-width:780px;margin:0 auto;}
.sub-crumb{
  display:flex;align-items:center;gap:8px;margin-bottom:32px;flex-wrap:wrap;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.sub-crumb a{color:var(--muted);transition:color .2s;}
.sub-crumb a:hover{color:var(--text);}
.sub-crumb-sep{opacity:.35;}
.sub-title{
  font-size:clamp(36px,6vw,88px);font-weight:300;
  letter-spacing:-.03em;line-height:1.0;color:var(--text);margin-bottom:32px;
}
.sub-lead{
  font-size:clamp(16px,1.6vw,19px);line-height:1.74;
  color:var(--muted);max-width:620px;margin-bottom:40px;
}
.sub-meta{
  display:flex;gap:32px;flex-wrap:wrap;
  border-top:1px solid var(--b);padding-top:24px;
}
.sub-meta-item{display:flex;flex-direction:column;gap:4px;}
.sub-meta-item span{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.5;}
.sub-meta-item strong{font-size:12px;font-weight:400;letter-spacing:.04em;color:var(--text);}
.sub-body{background:var(--bg);padding:80px 52px 120px;}
.sub-body-inner{max-width:1000px;margin:0 auto;}
.sub-article{font-size:clamp(16px,1.5vw,19px);line-height:1.82;color:rgba(238,235,228,.62);}
.sub-article p{margin-bottom:1.6em;}
.sub-article p:last-child{margin-bottom:0;}
.sub-back{margin-top:64px;display:inline-block;}
.sub-layout{display:grid;grid-template-columns:200px 1fr;gap:72px;align-items:start;}
.sub-toc{position:sticky;top:calc(var(--nh) + 48px);}
.sub-toc-label{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--teal);opacity:.7;margin-bottom:20px;display:block;}
.sub-toc-list{list-style:none;}
.sub-toc-item{border-left:1px solid var(--b);transition:border-color .25s;}
.sub-toc-item.active{border-color:var(--teal);}
.sub-toc-link{display:block;padding:7px 0 7px 16px;font-size:12px;line-height:1.4;color:var(--muted);transition:color .2s;}
.sub-toc-item.active .sub-toc-link{color:var(--text);}
.sub-toc-link:hover{color:var(--text);}
.sub-article h2{
  font-size:clamp(18px,1.9vw,24px);font-weight:300;
  letter-spacing:-.02em;color:var(--text);
  margin:64px 0 18px;padding-top:8px;
}
.sub-article h2:first-of-type{margin-top:0;}
.sub-article h3{
  font-size:clamp(15px,1.5vw,19px);font-weight:400;
  letter-spacing:-.01em;color:var(--text);opacity:.85;
  margin:40px 0 14px;
}
.sub-article blockquote{
  border-left:2px solid var(--teal);
  margin:32px 0;padding:4px 0 4px 28px;
}
.sub-article blockquote p{
  font-size:clamp(16px,1.6vw,20px);font-style:italic;
  color:var(--text);opacity:.75;margin-bottom:.6em;
}
.pull{
  font-size:clamp(18px,2vw,26px);font-weight:300;font-style:italic;
  line-height:1.46;color:var(--text);opacity:.72;
  margin:48px 0;padding-left:0;text-align:center;
}
.sub-article ul,.sub-article ol{
  margin:20px 0 20px 24px;
  font-size:clamp(15px,1.4vw,18px);line-height:1.82;
  color:rgba(238,235,228,.62);
}
.sub-article li{margin-bottom:.5em;}
.sub-article hr{
  border:none;border-top:1px solid var(--b);margin:48px 0;
}
.sub-article strong{color:var(--text);font-weight:600;}
.sub-article em{font-style:italic;opacity:.85;}
.sub-article code{
  font-family:'Space Mono',monospace;font-size:.82em;
  background:var(--bg3);border:1px solid var(--b);
  border-radius:3px;padding:1px 6px;color:var(--teal);
}
@media(max-width:860px){.sub-layout{grid-template-columns:1fr;}.sub-toc{display:none;}}
.sub-related{background:var(--bg2);border-top:1px solid var(--b);padding:80px 52px;}
.sub-related-hd{
  max-width:1320px;margin:0 auto 48px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.sub-related-label{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--teal);}
.sub-rel-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.sub-rel-card{
  background:var(--bg3);border-radius:20px;padding:36px 32px;
  border:1px solid var(--b);
  transition:background .4s var(--ease),border-color .4s var(--ease);
  display:flex;flex-direction:column;gap:12px;
}
.sub-rel-card:hover{background:var(--bg);border-color:var(--bm);}
.sub-rel-cat{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);opacity:.7;}
.sub-rel-title{font-size:clamp(17px,1.8vw,24px);font-weight:300;letter-spacing:-.02em;color:var(--text);line-height:1.15;}
.sub-rel-desc{font-size:13px;line-height:1.65;color:var(--muted);flex:1;}
.sub-rel-link{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);
  display:inline-flex;align-items:center;gap:7px;margin-top:8px;
  opacity:.7;transition:opacity .2s,gap .2s;
}
.sub-rel-link:hover{opacity:1;gap:12px;}
@media(max-width:1080px){
  .sub-hero,.sub-body,.sub-related{padding-left:32px;padding-right:32px;}
  .sub-rel-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .sub-hero,.sub-body,.sub-related{padding-left:20px;padding-right:20px;}
  .sub-rel-grid{grid-template-columns:1fr;}
  .sub-meta{gap:20px;}
}


/* ═══════════════════════════════════════════════════════════
   LIGHT MODE  —  Liquid Glass  (Apple-Standard Kontraste)
   ═══════════════════════════════════════════════════════════ */

/* ── Token-Overrides ── */
:root[data-theme="light"] {
  --bg:    #f0ede8;
  --bg2:   #e8e4dd;
  --bg3:   rgba(255,255,255,0.68);
  --text:  #1d1d1f;
  --muted: #6e6e73;
  --teal:  #1a56a0;
  --org:   #c13200;
  --b:     rgba(0,0,0,0.09);
  --bm:    rgba(0,0,0,0.18);
}

/* ── Body ── */
:root[data-theme="light"] body {
  background: var(--bg);
  color: var(--text);
}

/* ── Fortschrittsbalken ── */
:root[data-theme="light"] #bar {
  background: linear-gradient(90deg, var(--teal), #4a8fd4);
}

/* ── NAV – Liquid Glass ── */
:root[data-theme="light"] #nav {
  background: transparent;
}
:root[data-theme="light"] #nav.stuck {
  background: rgba(240,237,232,0.82);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-color: rgba(0,0,0,0.08);
}
:root[data-theme="light"] #hbg span { background: var(--text); }
:root[data-theme="light"] .nlogo-ap  { color: var(--text); }
:root[data-theme="light"] .nlinks a  { color: var(--muted); }
:root[data-theme="light"] .nlinks a:hover { color: var(--text); }

/* ── Buttons ── */
:root[data-theme="light"] .cbtn {
  color: var(--text);
  border-color: rgba(0,0,0,0.22);
}
:root[data-theme="light"] .cbtn:hover { border-color: rgba(0,0,0,0.7); }
:root[data-theme="light"] .cbtn-solid {
  background: rgba(0,0,0,0.09);
  color: var(--text);
  border-color: transparent;
}
:root[data-theme="light"] .cbtn-solid:hover { border-color: rgba(0,0,0,0.55); }
:root[data-theme="light"] .cbtn-solid.dark,
:root[data-theme="light"] .cbtn-solid.org { background: var(--text); color: #fff; }

/* ── Hero ── */
:root[data-theme="light"] .h-bg-fb {
  background:
    radial-gradient(ellipse 100% 80% at 15% 55%, rgba(26,86,160,0.10) 0%, transparent 52%),
    radial-gradient(ellipse 80% 100% at 82% 28%, rgba(193,50,0,0.07) 0%, transparent 52%),
    var(--bg);
  animation: none;
  opacity: 1;
}
:root[data-theme="light"] .h-vig {
  background:
    linear-gradient(to bottom, rgba(240,237,232,0.28) 0%, transparent 30%, rgba(240,237,232,0.65) 100%),
    linear-gradient(to right, rgba(240,237,232,0.18), transparent 50%, rgba(240,237,232,0.18));
}
:root[data-theme="light"] .h-brand { color: var(--text); }
:root[data-theme="light"] .h-ofall { color: var(--text); opacity: 0.65; }
:root[data-theme="light"] .h-lead  { color: rgba(29,29,31,0.78); }
:root[data-theme="light"] .h-mark  { color: #999; }
:root[data-theme="light"] .h-meta span { color: var(--muted); }
:root[data-theme="light"] .h-meta-dot  { background: var(--muted); }
:root[data-theme="light"] .scue-l  { background: rgba(0,0,0,0.18); }
:root[data-theme="light"] .h-scue  { color: var(--muted); }

/* ── Abschnitts-Label ── */
:root[data-theme="light"] .sec-label     { color: #888; }
:root[data-theme="light"] .sec-label.org { color: var(--teal); }
:root[data-theme="light"] .h2            { color: var(--text); }
:root[data-theme="light"] .body          { color: var(--muted); }

/* ── ADM – 4 Karten ── */
:root[data-theme="light"] .adm { background: var(--bg); border-top-color: var(--b); }
:root[data-theme="light"] .adm-hd .h2 { color: var(--text); }

:root[data-theme="light"] .adm-card {
  background: rgba(255,255,255,0.80);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--text);
  box-shadow: 0 12px 48px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.9);
}
:root[data-theme="light"] .adm-card .h2      { color: var(--text); }
:root[data-theme="light"] .adm-card .sec-label { color: var(--teal); }
:root[data-theme="light"] .adm-card .adm-sub   { color: var(--muted); }

/* ec-Karten – Liquid Glass */
:root[data-theme="light"] .ec-teal {
  background: rgba(26,86,160,0.82);
  color: #fff;
}
:root[data-theme="light"] .ec-org {
  background: rgba(26,86,160,0.65);
  color: #fff;
}
:root[data-theme="light"] .ec-dark {
  background: rgba(255,255,255,0.62);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.85);
  box-shadow: 0 8px 32px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.8);
}
:root[data-theme="light"] .ec-dark .ec-link { color: var(--text); }
:root[data-theme="light"] .ec-light {
  background: rgba(255,255,255,0.90);
  color: var(--text);
  box-shadow: 0 8px 32px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,1);
}
:root[data-theme="light"] .ec-teal .ec-link,
:root[data-theme="light"] .ec-org  .ec-link  { color: rgba(255,255,255,0.88); }
:root[data-theme="light"] .ec-light .ec-link { color: var(--text); }

/* ── Split-Sections ── */
:root[data-theme="light"] .split       { border-top-color: var(--b); }
:root[data-theme="light"] .split.bg1   { background: var(--bg); }
:root[data-theme="light"] .split.bg2   { background: var(--bg2); }
:root[data-theme="light"] .sp-text .h2,
:root[data-theme="light"] .sp-text .body { color: inherit; }

/* sc-Karten – Liquid Glass */
:root[data-theme="light"] .sc-teal {
  background: rgba(26,86,160,0.82);
  color: #fff;
}
:root[data-theme="light"] .sc-teal:hover { background: rgba(26,86,160,0.94); }
:root[data-theme="light"] .sc-org {
  background: rgba(26,86,160,0.65);
  color: #fff;
}
:root[data-theme="light"] .sc-org:hover  { background: rgba(26,86,160,0.78); }
:root[data-theme="light"] .sc-dark {
  background: rgba(255,255,255,0.62);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.85);
  box-shadow: 0 8px 32px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.8);
}
:root[data-theme="light"] .sc-dark:hover {
  background: rgba(255,255,255,0.82);
}
:root[data-theme="light"] .sc-light {
  background: rgba(255,255,255,0.90);
  color: var(--text);
  box-shadow: 0 8px 32px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,1);
}
:root[data-theme="light"] .sc-light:hover { background: rgba(255,255,255,1); }

:root[data-theme="light"] .sc-teal .sc-link,
:root[data-theme="light"] .sc-org  .sc-link  { color: rgba(255,255,255,0.85); }
:root[data-theme="light"] .sc-dark .sc-link,
:root[data-theme="light"] .sc-light .sc-link { color: var(--text); }

/* ── System-Sektion ── */
:root[data-theme="light"] .system-sect   { background: var(--bg); border-top-color: var(--b); }
:root[data-theme="light"] .system-title  { color: var(--text); }
:root[data-theme="light"] .system-body   { color: var(--muted); }
:root[data-theme="light"] .system-rule   { background: var(--b); }
:root[data-theme="light"] .cta-corner    { color: var(--text); }
:root[data-theme="light"] .cta-corner:hover { color: var(--teal); }
:root[data-theme="light"] .cta-corner::before,
:root[data-theme="light"] .cta-corner::after { border-color: var(--teal); }

/* ── Partner-Karten ── */
:root[data-theme="light"] .partner { background: var(--bg2); border-top-color: var(--b); }
:root[data-theme="light"] .pc {
  background: rgba(255,255,255,0.62);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.85);
  box-shadow: 0 4px 20px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.8);
  color: var(--text);
}
:root[data-theme="light"] .pc:hover {
  background: rgba(255,255,255,0.88);
  border-color: rgba(255,255,255,0.95);
  box-shadow: 0 8px 32px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,1);
}
:root[data-theme="light"] .pc-n { color: var(--teal); opacity: 0.5; }
:root[data-theme="light"] .pc-t { color: var(--text); }
:root[data-theme="light"] .pc-d { color: var(--muted); }

/* ── Research & Books ── */
:root[data-theme="light"] .own { background: var(--bg); border-top-color: var(--b); }
:root[data-theme="light"] .own-card {
  background: rgba(26,86,160,0.80);
}
:root[data-theme="light"] .own-card:hover { background: rgba(26,86,160,0.92); }
:root[data-theme="light"] .own-label    { color: rgba(255,255,255,0.6); }
:root[data-theme="light"] .own-title    { color: #fff; }
:root[data-theme="light"] .own-desc     { color: rgba(255,255,255,0.82); }
:root[data-theme="light"] .own-card .sc-link { color: rgba(255,255,255,0.85); }

:root[data-theme="light"] .own-card-right {
  background: rgba(255,255,255,0.68);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.88);
  box-shadow: 0 8px 32px rgba(0,0,0,0.07), inset 0 1px 0 rgba(255,255,255,0.9);
}
:root[data-theme="light"] .own-card-right:hover {
  background: rgba(255,255,255,0.88);
  border-color: rgba(255,255,255,0.95);
}
:root[data-theme="light"] .own-free-label { color: rgba(29,29,31,0.35); }
:root[data-theme="light"] .own-free-title { color: var(--text); }
:root[data-theme="light"] .own-free-desc  { color: var(--muted); }
:root[data-theme="light"] .own-card-right .sc-link { color: var(--text); }

/* ── Overlay-Nav ── */
:root[data-theme="light"] #ov-bg.open { background: rgba(0,0,0,0.22); }
:root[data-theme="light"] #ov {
  background: rgba(240,237,232,0.92);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border-left-color: rgba(0,0,0,0.08);
}
:root[data-theme="light"] #ov-close         { color: var(--muted); }
:root[data-theme="light"] #ov-close:hover   { color: var(--text); }
:root[data-theme="light"] .ov-item          { border-bottom-color: rgba(0,0,0,0.07); }
:root[data-theme="light"] .ov-item:first-child { border-top-color: rgba(0,0,0,0.07); }
:root[data-theme="light"] .ov-cat           { color: rgba(29,29,31,0.72); }
:root[data-theme="light"] .ov-cat:hover     { color: var(--text); }
:root[data-theme="light"] .ov-item.active .ov-cat { color: var(--text); }
:root[data-theme="light"] .ov-sub a         { color: rgba(29,29,31,0.5); }
:root[data-theme="light"] .ov-sub a:hover   { color: var(--text); }

/* ── Footer ── */
:root[data-theme="light"] footer { background: #e2dfd8; border-top-color: var(--b); }
:root[data-theme="light"] .ft-logo-n  { color: var(--text); }
:root[data-theme="light"] .ft-tagline { color: var(--muted); }
:root[data-theme="light"] .ft-col h4  { color: var(--text); }
:root[data-theme="light"] .ft-col a   { color: var(--muted); }
:root[data-theme="light"] .ft-col a:hover { color: var(--text); }
:root[data-theme="light"] .ft-bot     { border-top-color: var(--b); }
:root[data-theme="light"] .ft-copy    { color: var(--muted); }
:root[data-theme="light"] .ft-links a { color: var(--muted); }
:root[data-theme="light"] .ft-links a:hover { color: var(--text); }
:root[data-theme="light"] .ft-logo-m img { filter: none; opacity: 0.85; }

/* ── Theme-Toggle-Button ── */
:root[data-theme="light"] .theme-toggle-fixed {
  background: rgba(240,237,232,0.88);
  border-color: rgba(0,0,0,0.12);
}
:root[data-theme="light"] .theme-toggle-fixed:hover {
  background: rgba(255,255,255,0.92);
  border-color: rgba(0,0,0,0.22);
}
:root[data-theme="light"] .theme-toggle-fixed svg { stroke: var(--teal); }

/* ── Chat-Panel ── */
:root[data-theme="light"] #chat-panel {
  background: rgba(240,237,232,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-left-color: rgba(0,0,0,0.08);
}
:root[data-theme="light"] .chat-header   { border-bottom-color: var(--b); }
:root[data-theme="light"] .chat-title    { color: var(--text); }
:root[data-theme="light"] .chat-subtitle { color: var(--muted); }
:root[data-theme="light"] #chat-close    { color: var(--muted); }
:root[data-theme="light"] #chat-close:hover { color: var(--text); }
:root[data-theme="light"] .search-input-wrap {
  background: rgba(255,255,255,0.65);
  border-color: rgba(0,0,0,0.10);
}
:root[data-theme="light"] #search-input  { color: var(--text); }
:root[data-theme="light"] #search-input::placeholder { color: var(--muted); }
:root[data-theme="light"] .sr-item {
  background: rgba(255,255,255,0.60);
  border-color: transparent;
}
:root[data-theme="light"] .sr-item:hover {
  background: rgba(255,255,255,0.90);
  border-color: rgba(0,0,0,0.08);
}
:root[data-theme="light"] .sr-title   { color: var(--text); }
:root[data-theme="light"] .sr-excerpt { color: var(--muted); }
:root[data-theme="light"] .msg-user {
  background: rgba(26,86,160,0.12);
  border-color: rgba(26,86,160,0.22);
  color: var(--text);
}
:root[data-theme="light"] .msg-ai {
  background: rgba(255,255,255,0.68);
  border-color: rgba(0,0,0,0.09);
  color: var(--text);
}
:root[data-theme="light"] .chat-input-wrap {
  background: rgba(255,255,255,0.65);
  border-color: rgba(0,0,0,0.10);
}
:root[data-theme="light"] #chat-input { color: var(--text); }
:root[data-theme="light"] #chat-input::placeholder { color: var(--muted); }
:root[data-theme="light"] .chat-input-area { border-top-color: var(--b); }
:root[data-theme="light"] #send-btn { background: var(--teal); }

/* ── Chat-Trigger-Button ── */
:root[data-theme="light"] #chat-trigger {
  background: var(--teal);
  color: #fff;
  box-shadow: 0 4px 24px rgba(26,86,160,0.25);
}
:root[data-theme="light"] #chat-trigger:hover {
  box-shadow: 0 8px 32px rgba(26,86,160,0.38);
}

/* ── Edit-Button (Inline-Edit-Mode) ── */
:root[data-theme="light"] #ap-edit-btn {
  background: rgba(240,237,232,0.92);
  border-color: rgba(0,0,0,0.12);
  color: var(--muted);
}

/* ── Subpages ── */
:root[data-theme="light"] .sub-hero    { background: var(--bg); border-bottom-color: var(--b); }
:root[data-theme="light"] .sub-crumb,
:root[data-theme="light"] .sub-crumb a { color: var(--muted); }
:root[data-theme="light"] .sub-title   { color: var(--text); }
:root[data-theme="light"] .sub-lead    { color: var(--muted); }
:root[data-theme="light"] .sub-meta    { border-top-color: var(--b); }
:root[data-theme="light"] .sub-meta-item span  { color: var(--muted); }
:root[data-theme="light"] .sub-meta-item strong { color: var(--text); }
:root[data-theme="light"] .sub-body    { background: var(--bg); }
:root[data-theme="light"] .sub-article { color: rgba(29,29,31,0.72); }
:root[data-theme="light"] .sub-article h2,
:root[data-theme="light"] .sub-article h3 { color: var(--text); }
:root[data-theme="light"] .sub-article strong  { color: var(--text); }
:root[data-theme="light"] .sub-article code {
  background: rgba(0,0,0,0.06);
  border-color: rgba(0,0,0,0.10);
  color: var(--teal);
}
:root[data-theme="light"] .sub-article blockquote { border-left-color: var(--teal); }
:root[data-theme="light"] .pull { color: var(--text); }
:root[data-theme="light"] .sub-toc-label { color: var(--teal); }
:root[data-theme="light"] .sub-toc-item  { border-left-color: var(--b); }
:root[data-theme="light"] .sub-toc-item.active { border-left-color: var(--teal); }
:root[data-theme="light"] .sub-toc-link  { color: var(--muted); }
:root[data-theme="light"] .sub-toc-item.active .sub-toc-link { color: var(--text); }
:root[data-theme="light"] .sub-related   { background: var(--bg2); border-top-color: var(--b); }
:root[data-theme="light"] .sub-related-label { color: var(--teal); }
:root[data-theme="light"] .sub-rel-card {
  background: rgba(255,255,255,0.62);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-color: rgba(255,255,255,0.85);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
:root[data-theme="light"] .sub-rel-card:hover {
  background: rgba(255,255,255,0.88);
  border-color: rgba(255,255,255,0.96);
}
:root[data-theme="light"] .sub-rel-cat   { color: var(--teal); }
:root[data-theme="light"] .sub-rel-title { color: var(--text); }
:root[data-theme="light"] .sub-rel-desc  { color: var(--muted); }
:root[data-theme="light"] .sub-rel-link  { color: var(--teal); }

/* ═══════════════════════════════════════════════════════════
   GLOBAL — soft transitions on all interactive elements
   ═══════════════════════════════════════════════════════════ */
a,button{transition:color .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease,transform .18s ease;}

/* ═══════════════════════════════════════════════════════════
   NLANG — Nav Language Badge
   ═══════════════════════════════════════════════════════════ */
.nlang{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.10em;text-transform:uppercase;
  color:var(--muted);background:transparent;
  border:1px solid var(--b);border-radius:3px;
  padding:4px 9px;cursor:pointer;
  transition:color .2s,border-color .2s;
}
.nlang:hover{color:var(--text);border-color:var(--bm);}
:root[data-theme="light"] .nlang{color:var(--muted);border-color:rgba(0,0,0,.15);}
:root[data-theme="light"] .nlang:hover{color:var(--text);border-color:rgba(0,0,0,.4);}

/* ═══════════════════════════════════════════════════════════
   APC — Adam Papers Content Overlay  (full-screen)
   ═══════════════════════════════════════════════════════════ */

/* Full-screen panel — fades in from slight translateY */
.apc-panel{
  position:fixed;inset:0;
  width:100%;height:100dvh;
  z-index:1100;
  display:flex;flex-direction:column;
  background:var(--bg);
  opacity:0;transform:translateY(14px);
  transition:opacity .30s ease,transform .30s ease;
  pointer-events:none;
  overflow:hidden;
}
.apc-panel.open{opacity:1;transform:translateY(0);pointer-events:all;}

/* ── Fixed bar (3 rows, always visible) ── */
.apc-bar{
  flex-shrink:0;display:flex;flex-direction:column;
  background:var(--bg2);border-block-end:1px solid var(--b);
  position:relative;z-index:10;
}

/* Row 1: navigation controls */
.apc-bar-r1{
  display:flex;align-items:center;gap:14px;
  padding:0 40px;height:58px;
}
.apc-back{
  display:flex;align-items:center;gap:6px;
  background:transparent;border:none;cursor:pointer;
  color:var(--muted);font-size:10px;letter-spacing:.10em;
  text-transform:uppercase;font-family:'Space Mono',monospace;
  padding:0;flex-shrink:0;
}
.apc-back:hover{color:var(--text);}
.apc-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
/* title — small breadcrumb style, no duplication of big article title */
.apc-panel-title{
  flex:1;text-align:center;
  font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-family:'Space Mono',monospace;
}
.apc-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.apc-action-btn{
  display:flex;align-items:center;gap:5px;
  background:transparent;border:1px solid var(--b);
  border-radius:4px;padding:5px 12px;cursor:pointer;
  color:var(--muted);font-size:10px;letter-spacing:.10em;
  text-transform:uppercase;font-family:'Space Mono',monospace;
}
.apc-action-btn:hover{color:var(--text);border-color:var(--bm);}
.apc-action-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.apc-lang-btn{
  display:flex;align-items:center;gap:5px;
  background:transparent;border:1px solid var(--b);
  border-radius:4px;padding:5px 12px;cursor:pointer;
  color:var(--muted);font-size:10px;letter-spacing:.10em;
  text-transform:uppercase;font-family:'Space Mono',monospace;
}
.apc-lang-btn:hover,.apc-lang-btn.open{color:var(--text);border-color:var(--bm);}
.apc-lang-btn.open{background:rgba(85,132,189,.12);color:var(--teal);border-color:rgba(85,132,189,.36);}
.apc-lang-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;}

/* Row 2: mode toggle */
.apc-bar-r2{
  display:flex;align-items:center;
  padding:0 40px 14px;
}
.apc-mode-toggle{
  display:flex;gap:2px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--b);border-radius:6px;padding:3px;
}
.apc-mode-btn{
  background:transparent;border:none;cursor:pointer;
  color:var(--muted);font-size:10px;letter-spacing:.10em;
  text-transform:uppercase;font-family:'Space Mono',monospace;
  padding:6px 18px;border-radius:4px;
}
.apc-mode-btn.active{background:var(--teal);color:#fff;}
.apc-mode-btn:not(.active):hover{color:var(--text);}

/* Row 3: PERMANENT intelligence bar
   — icon on left is clickable (opens lang panel)
   — message varies with context
   — "Ask" button on right opens chat with topic pre-filled */
.apc-info-strip{
  display:flex;align-items:center;gap:12px;
  padding:10px 40px;
  background:rgba(85,132,189,.10);
  border-block-start:1px solid rgba(85,132,189,.20);
  min-height:44px;
}
/* Globe icon — left, clickable, opens lang panel */
.apc-info-icon{
  flex-shrink:0;display:flex;align-items:center;cursor:pointer;
  color:var(--teal);padding:4px;margin-inline-start:-4px;
  border-radius:4px;
}
.apc-info-icon:hover{background:rgba(85,132,189,.18);}
.apc-info-icon svg{width:17px;height:17px;stroke:var(--teal);fill:none;stroke-width:1.8;stroke-linecap:round;}
/* Message text — fades when updating */
.apc-info-text{
  flex:1;font-size:13px;letter-spacing:.01em;line-height:1.38;
  color:var(--teal);
  transition:opacity .25s ease;
}
.apc-info-text.updating{opacity:0;}
/* "Ask" button — right side */
.apc-info-ask{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
  background:transparent;border:1px solid rgba(85,132,189,.32);
  border-radius:4px;padding:4px 11px;cursor:pointer;
  font-size:10px;letter-spacing:.10em;text-transform:uppercase;
  color:var(--teal);font-family:'Space Mono',monospace;
}
.apc-info-ask:hover{background:rgba(85,132,189,.18);border-color:rgba(85,132,189,.55);}
.apc-info-ask svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* ── Scrollable body ── */
.apc-body{
  flex:1;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--b) transparent;
}
.apc-body::-webkit-scrollbar{width:4px;}
.apc-body::-webkit-scrollbar-thumb{background:var(--bm);border-radius:2px;}

/* Content: centered within full-screen, max readable width */
.apc-content-wrap{
  max-width:740px;margin:0 auto;
  padding:52px 48px 0;
}
.apc-content-area{display:none;}
.apc-content-area.active{display:block;animation:apcFadeIn .25s ease;}
@keyframes apcFadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* Meta line (area · mode · lang) — replaces redundant h1 title */
.apc-meta{
  display:flex;align-items:center;gap:12px;
  margin-block-end:24px;padding-block-end:18px;
  border-block-end:1px solid var(--b);
}
.apc-meta-area{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);font-family:'Space Mono',monospace;
}
.apc-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--muted);flex-shrink:0;}
.apc-meta-mode,.apc-meta-lang{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-family:'Space Mono',monospace;
}
.apc-meta-lang{margin-inline-start:auto;}

/* Body text — full color, generous leading */
.apc-content-area p{
  font-size:var(--fs-body);line-height:1.76;
  color:var(--text);
  margin-block-end:22px;
}
.apc-content-area p:last-child{margin-block-end:0;}
/* Section headers — small caps, AP style */
.apc-content-area h2{
  font-size:10px;font-weight:400;
  font-family:'Space Mono',monospace;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--teal);
  margin-block:36px 14px;
  padding-block-end:8px;
  border-block-end:1px solid rgba(85,132,189,.20);
}

/* "Want to know more?" */
.apc-wnm-wrap{padding-block-end:80px;}
.apc-wnm{
  max-width:740px;margin:40px auto 0;
  padding:40px 48px 36px;
  border-block-start:1px solid var(--b);
}
.apc-wnm-label{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--teal);font-family:'Space Mono',monospace;margin-block-end:6px;
}
.apc-wnm-title{font-size:18px;font-weight:400;color:var(--text);margin-block-end:22px;}
.apc-wnm-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:12px;margin-block-end:24px;
}
.apc-wnm-card{
  background:var(--bg2);border:1px solid var(--b);
  border-radius:8px;padding:16px;cursor:pointer;
  display:flex;flex-direction:column;gap:6px;
}
.apc-wnm-card:hover{background:var(--bg3);border-color:var(--bm);transform:translateY(-2px);}
.apc-wnm-cat{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);font-family:'Space Mono',monospace;}
.apc-wnm-t{font-size:13px;font-weight:400;color:var(--text);line-height:1.3;}
.apc-wnm-d{font-size:12px;color:var(--muted);line-height:1.4;}
.apc-wnm-ai{
  display:flex;align-items:center;gap:16px;
  padding:16px 20px;
  background:rgba(85,132,189,.08);border:1px solid rgba(85,132,189,.20);
  border-radius:8px;cursor:pointer;
}
.apc-wnm-ai:hover{background:rgba(85,132,189,.16);border-color:rgba(85,132,189,.36);transform:translateY(-1px);}
.apc-wnm-ai-icon{width:36px;height:36px;border-radius:50%;background:var(--teal);display:grid;place-items:center;flex-shrink:0;}
.apc-wnm-ai-icon svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.apc-wnm-ai-text{flex:1;}
.apc-wnm-ai-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-family:'Space Mono',monospace;margin-block-end:3px;}
.apc-wnm-ai-q{font-size:14px;color:var(--text);}
.apc-wnm-ai-arr{color:var(--teal);font-size:18px;line-height:1;}

/* ── Language side panel ── */
.apc-lang-panel{
  position:absolute;inset-block:0;inset-inline-end:0;
  width:min(300px,88vw);
  background:var(--bg2);
  border-inline-start:1px solid var(--bm);
  display:flex;flex-direction:column;
  transform:translateX(calc(100% + 1px));
  transition:transform .28s cubic-bezier(.25,.46,.45,.94);
  z-index:20;
}
.apc-lang-panel.open{transform:translateX(0);}
.apc-lang-panel-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;height:58px;
  border-block-end:1px solid var(--b);
}
.apc-lang-panel-title{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:'Space Mono',monospace;}
.apc-lang-close{background:transparent;border:none;cursor:pointer;color:var(--muted);font-size:22px;line-height:1;padding:0;}
.apc-lang-close:hover{color:var(--text);}
.apc-lang-list{flex:1;overflow-y:auto;padding:8px;}
.apc-lang-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 14px;border-radius:6px;cursor:pointer;
}
.apc-lang-item:hover{background:rgba(255,255,255,.05);transform:translateX(3px);}
.apc-lang-item.active{background:rgba(85,132,189,.14);}
.apc-lang-item.unavailable{opacity:.30;cursor:default;pointer-events:none;}
.apc-lang-meta{display:flex;align-items:center;gap:10px;}
.apc-lang-name{font-size:14px;color:var(--text);}
.apc-lang-code{font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:var(--muted);font-family:'Space Mono',monospace;}
.apc-lang-item.active .apc-lang-code{color:var(--teal);}
.apc-lang-check{color:var(--teal);font-size:14px;}

/* ── Light mode ── */
:root[data-theme="light"] .apc-panel{background:var(--bg);}
:root[data-theme="light"] .apc-bar{background:rgba(240,237,232,.98);border-block-end-color:rgba(0,0,0,.09);}
:root[data-theme="light"] .apc-action-btn{color:var(--muted);border-color:rgba(0,0,0,.14);}
:root[data-theme="light"] .apc-action-btn:hover{color:var(--text);border-color:rgba(0,0,0,.38);}
:root[data-theme="light"] .apc-lang-btn{color:var(--muted);border-color:rgba(0,0,0,.14);}
:root[data-theme="light"] .apc-lang-btn:hover,:root[data-theme="light"] .apc-lang-btn.open{color:var(--text);border-color:rgba(0,0,0,.38);}
:root[data-theme="light"] .apc-lang-btn.open{background:rgba(26,86,160,.08);color:var(--teal);}
:root[data-theme="light"] .apc-mode-toggle{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.10);}
:root[data-theme="light"] .apc-mode-btn{color:var(--muted);}
:root[data-theme="light"] .apc-mode-btn.active{background:var(--teal);color:#fff;}
:root[data-theme="light"] .apc-info-strip{background:rgba(26,86,160,.07);border-block-start-color:rgba(26,86,160,.15);}
:root[data-theme="light"] .apc-content-area p{color:rgba(29,29,31,.88);}
:root[data-theme="light"] .apc-content-area h2{color:var(--teal);}
:root[data-theme="light"] .apc-wnm{border-block-start-color:rgba(0,0,0,.09);}
:root[data-theme="light"] .apc-wnm-card{background:rgba(255,255,255,.72);border-color:rgba(0,0,0,.09);}
:root[data-theme="light"] .apc-wnm-card:hover{background:rgba(255,255,255,.95);}
:root[data-theme="light"] .apc-wnm-ai{background:rgba(26,86,160,.07);border-color:rgba(26,86,160,.18);}
:root[data-theme="light"] .apc-wnm-ai:hover{background:rgba(26,86,160,.14);}
:root[data-theme="light"] .apc-lang-panel{background:rgba(240,237,232,.99);border-inline-start-color:rgba(0,0,0,.09);}
:root[data-theme="light"] .apc-lang-item:hover{background:rgba(0,0,0,.04);}
:root[data-theme="light"] .apc-lang-item.active{background:rgba(26,86,160,.09);}

/* ── Responsive ── */
@media(max-width:860px){
  .apc-content-wrap,.apc-wnm{max-width:100%;padding-inline:36px;}
}
@media(max-width:620px){
  .apc-bar-r1{padding:0 18px;height:50px;}
  .apc-bar-r2{padding:0 18px 12px;}
  .apc-info-strip{padding:9px 18px;}
  .apc-content-wrap{padding:30px 20px 0;}
  .apc-wnm{padding:30px 20px 24px;}
  .apc-wnm-grid{grid-template-columns:1fr;}
  .apc-action-btn span{display:none;}
}
@media(max-width:400px){
  .apc-actions{gap:5px;}
  .apc-panel-title{display:none;}
}
