/* ============================================================
   KNOW YOUR ENEMY — an agnostic, Qur'an-only study
   Shared design system.  Edit tokens here to restyle globally.
   Signature: light filtered through a geometric jali lattice
   (a Sign brought through a screen) — see .hero__lattice.
   ============================================================ */

/* ---- Fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Spectral:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Amiri:ital,wght@0,400;0,700;1,400&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ---- Tokens ---- */
:root{
  /* ground + surfaces */
  --ink:        #0F1422;   /* primary dark ground            */
  --ink-2:      #151C2E;   /* lifted panel                   */
  --ink-3:      #1E2740;   /* raised / hover                 */
  --vellum:     #ECE5D4;   /* parchment reading surface      */
  --vellum-2:   #E4DBC6;   /* deeper vellum / table stripe   */
  --bone:       #F5F0E4;   /* lightest text on ink           */

  /* text */
  --on-ink:     #E9E3D4;   /* body on ink                    */
  --on-vellum:  #1C2030;   /* body on vellum                 */
  --muted-ink:  #9098AC;   /* labels / captions on ink       */
  --muted-vel:  #5B5A4E;   /* captions on vellum             */

  /* accents */
  --brass:      #C2A24A;   /* PRIMARY — illumination / gold  */
  --brass-hi:   #DCC074;   /* brass highlight                */
  --patina:     #5C8C82;   /* SECONDARY — instrument / sign  */
  --patina-hi:  #7FB0A5;
  --oxide:      #AC4A3B;   /* ENEMY accent (KYE only, spare) */
  --oxide-hi:   #C9685A;

  /* lines */
  --line:       rgba(233,227,212,0.14);
  --line-strong:rgba(233,227,212,0.26);
  --line-vel:   rgba(28,32,48,0.16);

  /* type roles */
  --display: 'Cormorant Garamond', Georgia, serif;
  --body:    'Spectral', Georgia, serif;
  --arabic:  'Amiri', 'Cormorant Garamond', serif;
  --ui:      'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --mono:    'IBM Plex Mono', ui-monospace, monospace;

  /* scale */
  --wrap: 1140px;
  --wrap-narrow: 760px;
  --r: 3px;                /* restrained radius            */
  --shadow: 0 1px 0 rgba(0,0,0,.30), 0 18px 50px -28px rgba(0,0,0,.65);
}

/* ---- Reset / base ---- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--ink); color:var(--on-ink);
  font-family:var(--body); font-weight:400; font-size:1.0625rem; line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; }
hr{ border:0; border-top:1px solid var(--line); margin:0; }

/* ---- Layout primitives ---- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(20px,5vw,40px); }
.wrap--narrow{ max-width:var(--wrap-narrow); }
.band{ padding-block:clamp(56px,9vw,108px); position:relative; }
.band--tight{ padding-block:clamp(40px,6vw,64px); }
.band--vellum{ background:var(--vellum); color:var(--on-vellum); }
.band--ink2{ background:var(--ink-2); }
.band--vellum hr{ border-top-color:var(--line-vel); }

/* hairline jali divider between bands */
.rule-jali{ height:22px; background:var(--ink);
  background-image:
    linear-gradient(45deg, transparent 46%, var(--line) 46%, var(--line) 54%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, var(--line) 46%, var(--line) 54%, transparent 54%);
  background-size:22px 22px; opacity:.6;
}

/* ---- Type ---- */
h1,h2,h3,h4{ font-family:var(--display); font-weight:600; line-height:1.08;
  letter-spacing:.005em; margin:0 0 .5em; color:var(--bone); }
.band--vellum h1,.band--vellum h2,.band--vellum h3,.band--vellum h4{ color:#20242F; }
h1{ font-size:clamp(2.6rem,6vw,4.6rem); font-weight:600; letter-spacing:-.01em; }
h2{ font-size:clamp(1.9rem,3.6vw,2.9rem); }
h3{ font-size:clamp(1.35rem,2.2vw,1.7rem); }
h4{ font-size:1.18rem; }
p{ margin:0 0 1.05em; }
strong{ font-weight:600; }
em{ font-style:italic; }

.lede{ font-size:clamp(1.18rem,2vw,1.42rem); line-height:1.62; font-weight:300; color:var(--bone); }
.band--vellum .lede{ color:#2A2E3A; }

.eyebrow{ font-family:var(--ui); font-weight:600; font-size:.74rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--brass);
  margin:0 0 1.1rem; display:inline-flex; align-items:center; gap:.6em; }
.eyebrow--patina{ color:var(--patina-hi); }
.eyebrow--oxide{ color:var(--oxide-hi); }
.eyebrow::before{ content:""; width:26px; height:1px; background:currentColor; opacity:.7; }

/* Arabic */
.ar{ font-family:var(--arabic); direction:rtl; font-weight:400;
  font-size:1.5em; line-height:2.0; color:var(--brass-hi); }
.band--vellum .ar{ color:#7A5E1F; }
.ar--lg{ font-size:2.1em; line-height:1.9; }
.gloss{ font-style:italic; color:var(--muted-ink); }
.band--vellum .gloss{ color:var(--muted-vel); }
.ref{ font-family:var(--mono); font-size:.82em; color:var(--patina-hi); white-space:nowrap; }
.band--vellum .ref{ color:#3F6F66; }

/* ---- Nav ---- */
.nav{ position:sticky; top:0; z-index:50; background:rgba(15,20,34,.86);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line); }
.nav__in{ display:flex; align-items:center; gap:1.5rem; min-height:66px; }
.brand{ display:flex; align-items:baseline; gap:.6rem; text-decoration:none; margin-right:auto; }
.brand__mark{ font-family:var(--display); font-weight:700; font-size:1.32rem; color:var(--bone);
  letter-spacing:.005em; }
.brand__mark b{ color:var(--brass); font-weight:700; }
.brand__sub{ font-family:var(--mono); font-size:.62rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted-ink); }
.nav__links{ display:flex; align-items:center; gap:.25rem; list-style:none; margin:0; padding:0; }
.nav__links a{ font-family:var(--ui); font-size:.82rem; letter-spacing:.02em; text-decoration:none;
  color:var(--on-ink); padding:.5rem .7rem; border-radius:var(--r); display:inline-flex; align-items:center; gap:.45em;
  transition:background .15s, color .15s; white-space:nowrap; }
.nav__links a:hover{ background:var(--ink-3); color:var(--bone); }
.nav__links a.is-active{ color:var(--brass-hi); }
.nav__links a.is-active::after{ content:""; }
.nav__dot{ width:6px; height:6px; border-radius:50%; background:var(--oxide); display:inline-block; }
.nav__lock{ font-family:var(--mono); font-size:.62rem; letter-spacing:.12em; color:var(--muted-ink);
  border:1px solid var(--line); padding:.3rem .55rem; border-radius:999px; text-transform:uppercase; }
.nav__toggle{ display:none; }

/* ---- Buttons ---- */
.btn{ font-family:var(--ui); font-weight:600; font-size:.86rem; letter-spacing:.01em;
  text-decoration:none; display:inline-flex; align-items:center; gap:.55em;
  padding:.78em 1.25em; border-radius:var(--r); border:1px solid transparent; cursor:pointer;
  transition:transform .12s, background .15s, border-color .15s, color .15s; }
.btn:active{ transform:translateY(1px); }
.btn--primary{ background:var(--brass); color:#1A1406; }
.btn--primary:hover{ background:var(--brass-hi); }
.btn--ghost{ border-color:var(--line-strong); color:var(--bone); }
.btn--ghost:hover{ border-color:var(--brass); color:var(--brass-hi); }
.band--vellum .btn--ghost{ border-color:var(--line-vel); color:#26303f; }
.band--vellum .btn--ghost:hover{ border-color:#7A5E1F; color:#5C4715; }
.btn-row{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }

/* ---- HERO ---- */
.hero{ position:relative; overflow:hidden; background:var(--ink); }
.hero__lattice{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero__glow{ position:absolute; left:50%; top:42%; transform:translate(-50%,-50%);
  width:min(120vw,1100px); aspect-ratio:1; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(194,162,74,.20) 0%, rgba(92,140,130,.10) 34%, transparent 64%);
  animation:breathe 9s ease-in-out infinite; }
@keyframes breathe{ 0%,100%{ opacity:.75; transform:translate(-50%,-50%) scale(1); }
  50%{ opacity:1; transform:translate(-50%,-50%) scale(1.06); } }
.hero__in{ position:relative; z-index:1; padding-block:clamp(72px,13vw,150px); text-align:center; }
.hero h1{ margin:0 0 .12em; }
.hero h1 .light{ color:var(--brass); font-style:italic; font-weight:500; }
.hero__ar{ margin:.5rem 0 .2rem; }
.hero__ar .ar{ color:var(--brass-hi); }
.hero__say{ font-family:var(--ui); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted-ink); margin:.3rem 0 1.7rem; }
.hero .lede{ max-width:62ch; margin-inline:auto; }
.hero__meta{ display:flex; gap:1.4rem; justify-content:center; flex-wrap:wrap; margin-top:1.9rem;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; color:var(--muted-ink); text-transform:uppercase; }
.hero__meta span{ display:inline-flex; align-items:center; gap:.5em; }
.hero__meta i{ width:5px; height:5px; border-radius:50%; background:var(--patina); font-style:normal; }

/* ---- Standard / pillars ---- */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-vel);
  border:1px solid var(--line-vel); border-radius:var(--r); overflow:hidden; margin-top:2.2rem; }
.pillar{ background:var(--vellum); padding:1.9rem 1.6rem; }
.pillar__n{ font-family:var(--mono); font-size:.72rem; color:#9A7C2A; letter-spacing:.1em; }
.pillar h3{ margin:.5rem 0 .4rem; font-size:1.32rem; }
.pillar p{ margin:0; font-size:.97rem; color:#3A3E48; }

/* ---- ar-Rahman axis band ---- */
.axis{ background:
    radial-gradient(900px 380px at 50% -10%, rgba(92,140,130,.16), transparent 70%),
    var(--ink); }
.axis__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.axis__verses{ display:flex; flex-direction:column; gap:1.1rem; }
.vcard{ border:1px solid var(--line); border-left:2px solid var(--brass); border-radius:var(--r);
  background:rgba(255,255,255,.018); padding:1.1rem 1.25rem; }
.vcard .ar{ font-size:1.45em; }
.vcard__g{ margin:.35rem 0 0; font-size:.96rem; color:var(--on-ink); }
.vcard__r{ margin-top:.5rem; }
.vcard--patina{ border-left-color:var(--patina); }
.axis blockquote{ margin:1.2rem 0 0; padding-left:1.1rem; border-left:2px solid var(--line-strong);
  font-style:italic; color:var(--bone); }
.flag{ font-family:var(--ui); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  display:inline-block; padding:.22em .6em; border-radius:999px; border:1px solid var(--line-strong);
  color:var(--patina-hi); margin-top:1rem; }

/* ---- Adjudication table ---- */
.adj{ margin-top:2.3rem; border:1px solid var(--line-vel); border-radius:var(--r); overflow:hidden; }
.adj__row{ display:grid; grid-template-columns:1.4fr 1.5fr .9fr; gap:0;
  border-top:1px solid var(--line-vel); background:var(--vellum); }
.adj__row:first-child{ border-top:0; }
.adj__row:nth-child(even){ background:var(--vellum-2); }
.adj__head{ background:#23293C !important; color:var(--bone); }
.adj__head > div{ font-family:var(--ui); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted-ink); padding:.85rem 1.15rem; }
.adj__cell{ padding:1.05rem 1.15rem; border-left:1px solid var(--line-vel); }
.adj__cell:first-child{ border-left:0; }
.adj__claim{ font-size:1rem; color:#23262F; }
.adj__claim .who{ display:block; font-family:var(--ui); font-size:.68rem; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:.35rem; }
.adj__verdict{ font-size:.98rem; color:#2C303C; }
.adj__verses{ font-family:var(--mono); font-size:.78rem; line-height:1.75; color:#3F6F66; }
.adj__verses a{ text-decoration:none; border-bottom:1px solid transparent; }
.adj__verses a:hover{ border-bottom-color:currentColor; }

.tag{ font-family:var(--ui); font-weight:600; font-size:.64rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.2em .55em; border-radius:3px; display:inline-block; }
.tag--a{ background:rgba(92,140,130,.18); color:#2C5A50; }
.tag--b{ background:rgba(172,74,59,.14); color:#8A3528; }
.tag--lean{ background:rgba(194,162,74,.20); color:#7A5E14; }
.tag--enemy{ background:#2A1512; color:var(--oxide-hi); }

/* ---- Section cards grid (nav into deep pages) ---- */
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; margin-top:2.3rem; }
.card{ display:flex; flex-direction:column; gap:.5rem; text-decoration:none; color:var(--on-ink);
  background:var(--ink-2); border:1px solid var(--line); border-radius:var(--r); padding:1.5rem 1.5rem 1.35rem;
  transition:transform .14s, border-color .15s, background .15s; position:relative; overflow:hidden; }
.card:hover{ transform:translateY(-2px); border-color:var(--brass); background:var(--ink-3); }
.card__n{ font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; color:var(--brass); }
.card h3{ margin:.1rem 0 .15rem; color:var(--bone); }
.card p{ margin:0; font-size:.95rem; color:var(--muted-ink); }
.card__go{ font-family:var(--ui); font-size:.78rem; color:var(--brass-hi); margin-top:.4rem; letter-spacing:.02em; }
.card--enemy{ border-color:rgba(172,74,59,.4); }
.card--enemy:hover{ border-color:var(--oxide); }
.card--enemy .card__n,.card--enemy .card__go{ color:var(--oxide-hi); }
.card--soon{ opacity:.72; }
.card--soon .card__n{ color:var(--muted-ink); }

/* ---- Provenance / verify ---- */
.prov{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:2rem; }
.prov__doc{ background:var(--ink-2); border:1px solid var(--line); border-radius:var(--r); padding:1.2rem 1.3rem; }
.prov__top{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem 1rem; justify-content:space-between; }
.prov__name{ font-family:var(--display); font-size:1.18rem; color:var(--bone); }
.prov__algo{ font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; color:var(--patina-hi);
  text-transform:uppercase; }
.prov__hash{ font-family:var(--mono); font-size:.8rem; word-break:break-all; color:var(--brass-hi);
  background:#0B0F1A; border:1px solid var(--line); border-radius:var(--r); padding:.7rem .8rem; margin-top:.7rem; }
.verify{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:.8rem; }
.verify input[type=file]{ font-family:var(--ui); font-size:.78rem; color:var(--muted-ink); }
.verify input[type=file]::file-selector-button{ font-family:var(--ui); font-size:.78rem; cursor:pointer;
  background:var(--ink-3); color:var(--bone); border:1px solid var(--line-strong); border-radius:var(--r);
  padding:.45em .8em; margin-right:.7em; }
.verify__result{ font-family:var(--mono); font-size:.78rem; }
.verify__result.is-ok{ color:var(--patina-hi); }
.verify__result.is-bad{ color:var(--oxide-hi); word-break:break-all; }
.verify__result.is-pending{ color:var(--muted-ink); }
.codeblock{ font-family:var(--mono); font-size:.82rem; line-height:1.7; color:var(--on-ink);
  background:#0B0F1A; border:1px solid var(--line); border-radius:var(--r); padding:1rem 1.1rem; overflow-x:auto;
  margin:1rem 0 0; }
.codeblock .c{ color:var(--muted-ink); }

/* ---- Prose container (methodology, etc.) ---- */
.prose{ max-width:var(--wrap-narrow); }
.prose h2{ margin-top:2.2em; }
.prose h3{ margin-top:1.7em; }
.prose ul,.prose ol{ margin:0 0 1.1em; padding-left:1.3em; }
.prose li{ margin:.4em 0; }
.prose .callout{ border-left:2px solid var(--brass); background:rgba(194,162,74,.06);
  padding:1rem 1.2rem; border-radius:0 var(--r) var(--r) 0; margin:1.4em 0; }
.band--vellum .prose .callout{ background:rgba(154,124,42,.09); }
.dropcap::first-letter{ font-family:var(--display); font-weight:600; float:left; line-height:.78;
  font-size:3.4em; padding:.06em .12em 0 0; color:var(--brass); }
.band--vellum .dropcap::first-letter{ color:#9A7C2A; }

/* ---- Document scaffold (The Sign / KYE) ---- */
.dochead{ display:flex; flex-direction:column; gap:.4rem; }
.doc-meta{ font-family:var(--mono); font-size:.74rem; letter-spacing:.06em; color:var(--muted-ink);
  display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; margin-top:.6rem; }
.toc{ margin-top:2rem; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.toc__title{ font-family:var(--ui); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted-ink); padding:.85rem 1.2rem; background:var(--ink-2); border-bottom:1px solid var(--line); }
.toc a{ display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:baseline;
  padding:.85rem 1.2rem; text-decoration:none; color:var(--on-ink); border-top:1px solid var(--line); }
.toc a:first-of-type{ border-top:0; }
.toc a:hover{ background:var(--ink-2); }
.toc .s{ font-family:var(--mono); font-size:.84rem; color:var(--brass); min-width:3.2em; }
.toc .t{ font-family:var(--display); font-size:1.12rem; color:var(--bone); }
.toc .d{ font-size:.86rem; color:var(--muted-ink); text-align:right; max-width:40%; }
/* The TOC sits on the light vellum band (KYE / The Sign) — remap its dark-ground
   colours to ink-on-parchment so the index lines are readable, not near-white. */
.band--vellum .toc{ border-color:var(--line-vel); }
.band--vellum .toc__title{ color:var(--muted-vel); background:var(--vellum-2); border-bottom-color:var(--line-vel); }
.band--vellum .toc a{ color:var(--on-vellum); border-top-color:var(--line-vel); }
.band--vellum .toc a:hover{ background:var(--vellum-2); }
.band--vellum .toc .s{ color:#7A5E1F; }
.band--vellum .toc .t{ color:#20242F; }
.band--vellum .toc .d{ color:var(--muted-vel); }
/* Auto-linked Qur'an references (verse → quran.eblessing.co reader). Subtle, but clearly clickable. */
.verse-ref-link{ color:inherit; text-decoration:underline; text-decoration-color:var(--brass);
  text-underline-offset:2px; text-decoration-thickness:1px; cursor:pointer; transition:color .15s ease; }
.verse-ref-link:hover{ color:var(--brass-hi); text-decoration-color:var(--brass-hi); }
.band--vellum .verse-ref-link{ text-decoration-color:#7A5E1F; }
.band--vellum .verse-ref-link:hover{ color:#7A5E1F; }

.doc-section{ scroll-margin-top:84px; padding-block:clamp(28px,4vw,44px); border-top:1px solid var(--line); }
.doc-section:first-of-type{ border-top:0; }
.doc-section__h{ display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; }
.doc-section__s{ font-family:var(--mono); font-size:1rem; color:var(--brass); }
.doc-section__d{ color:var(--muted-ink); font-style:italic; margin:.5rem 0 1.1rem; max-width:64ch; }
.placeholder{ border:1px dashed var(--line-strong); border-radius:var(--r); padding:1.3rem 1.4rem;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.015) 0 10px, transparent 10px 20px);
  color:var(--muted-ink); font-family:var(--mono); font-size:.82rem; }
.placeholder b{ color:var(--brass-hi); font-weight:500; }
.placeholder .hint{ display:block; margin-top:.5rem; color:var(--muted-ink); font-family:var(--body); font-style:italic; }

/* ---- Behind the Curtain (transcript) ---- */
.exchange{ border-top:1px solid var(--line); padding-block:clamp(26px,4vw,40px); scroll-margin-top:84px; }
.exchange:first-of-type{ border-top:0; }
.exchange__tag{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted-ink); margin-bottom:1rem; display:flex; align-items:center; gap:.7em; }
.exchange__tag b{ color:var(--brass); font-weight:500; }
.block{ border-radius:var(--r); padding:1.2rem 1.35rem; margin:0 0 1rem; }
.block__label{ font-family:var(--ui); font-weight:600; font-size:.7rem; letter-spacing:.14em;
  text-transform:uppercase; margin-bottom:.6rem; display:flex; align-items:center; gap:.55em; }
.block--prompt{ background:rgba(92,140,130,.08); border:1px solid rgba(92,140,130,.28); }
.block--prompt .block__label{ color:var(--patina-hi); }
.block--reason{ background:rgba(194,162,74,.06); border:1px solid rgba(194,162,74,.26); border-left:2px solid var(--brass); }
.block--reason .block__label{ color:var(--brass-hi); }
.block--output{ background:var(--ink-2); border:1px solid var(--line); }
.block--output .block__label{ color:var(--muted-ink); }
.block__paste{ color:var(--muted-ink); font-family:var(--mono); font-size:.8rem; font-style:normal; }
.block--reason .seal{ font-family:var(--ui); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted-ink); border:1px solid var(--line); padding:.18em .5em; border-radius:999px; margin-left:auto; }

/* ---- Critique stub ---- */
.stub{ text-align:center; max-width:60ch; margin-inline:auto; }
.stub__badge{ font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--oxide-hi); border:1px solid rgba(172,74,59,.4); border-radius:999px; padding:.4em .9em; display:inline-block; }

/* ---- Footer ---- */
.foot{ background:#0A0E18; border-top:1px solid var(--line); color:var(--muted-ink); }
.foot__in{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem; padding-block:clamp(40px,6vw,64px); }
.foot h4{ font-family:var(--ui); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--on-ink); margin:0 0 1rem; }
.foot a{ color:var(--muted-ink); text-decoration:none; display:block; padding:.22rem 0; font-size:.92rem;
  font-family:var(--ui); }
.foot a:hover{ color:var(--brass-hi); }
.foot__note{ font-size:.88rem; line-height:1.6; }
.foot__fam a{ display:inline; color:var(--patina-hi); }
.foot__bar{ border-top:1px solid var(--line); padding-block:1.2rem; display:flex; flex-wrap:wrap;
  gap:.6rem 1.4rem; justify-content:space-between; font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; }

/* ---- Accessibility ---- */
:focus-visible{ outline:2px solid var(--brass-hi); outline-offset:2px; border-radius:2px; }
.skip{ position:absolute; left:-9999px; top:0; }
.skip:focus{ left:8px; top:8px; z-index:100; background:var(--brass); color:#1a1406;
  padding:.6em 1em; border-radius:var(--r); font-family:var(--ui); font-weight:600; }

@media (prefers-reduced-motion: reduce){
  .hero__glow{ animation:none; }
  .card:hover,.btn:active{ transform:none; }
}

/* ---- Responsive ---- */
@media (max-width:900px){
  .axis__grid{ grid-template-columns:1fr; }
  .foot__in{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .nav__toggle{ display:inline-flex; margin-left:auto; background:transparent; border:1px solid var(--line-strong);
    color:var(--bone); border-radius:var(--r); padding:.5em .7em; font-family:var(--ui); font-size:.8rem; cursor:pointer; }
  .nav__links{ display:none; position:absolute; top:66px; left:0; right:0; flex-direction:column; align-items:stretch;
    gap:0; background:var(--ink-2); border-bottom:1px solid var(--line); padding:.5rem; }
  .nav__links.is-open{ display:flex; }
  .nav__links a{ padding:.85rem 1rem; }
  .nav__lock{ display:none; }
  .pillars{ grid-template-columns:1fr; }
  .adj__row{ grid-template-columns:1fr; }
  .adj__cell{ border-left:0; border-top:1px solid var(--line-vel); }
  .adj__cell:first-child{ border-top:0; }
  .adj__head{ display:none; }
  .cards{ grid-template-columns:1fr; }
  .toc a{ grid-template-columns:auto 1fr; }
  .toc .d{ display:none; }
  .foot__in{ grid-template-columns:1fr; }
}
