/* rajeshrmahapatra.com — contemporary professional design system */

/* ── tokens ─────────────────────────────────────────── */
:root{
  --bg:#f6f7fc; --bg-raise:#ffffff;
  --paper:#ffffff; --instrument:#eef1ff;
  --ink:#111426; --ink-soft:#343852; --muted:#68708a; --faint:#9aa1b5;
  --line:#dce1ee; --line-soft:#e9edf6;
  --t-agentic:#5b5cf6;
  --t-gov:#00a884;
  --t-memory:#f59e0b;
  --t-research:#0891b2;
  --t-mind:#f05e89;
  --t-atlas:#8b5cf6;
  --t-lapis:#4361ee;
  --t-copper:#14b8a6;
  --t-saffron:#f59e0b;
  --phos:#5b5cf6; --phos-dim:rgba(91,92,246,.10); --phos-glow:rgba(91,92,246,.20);
  --machine:#4361ee; --mind:#f05e89; --vermilion:#f97362;
  --sel:rgba(91,92,246,.18);
  --shadow:0 18px 48px -30px rgba(42,47,91,.42);
  --shadow-soft:0 12px 30px -24px rgba(42,47,91,.34);
  --plate:#ffffff;
  --f-display:'Manrope','Inter',system-ui,sans-serif;
  --f-body:'Inter',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.4,.64,1);
  --r:10px;
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#0c1020; --bg-raise:#141a2e;
  --paper:#11172a; --instrument:#171e38;
  --ink:#f6f7fb; --ink-soft:#d5d8e8; --muted:#a6acc3; --faint:#717b9c;
  --line:#2d3757; --line-soft:#222c49;
  --t-agentic:#8b8cff; --t-gov:#4cddb8; --t-memory:#ffc45c; --t-research:#5ed3e9;
  --t-mind:#ff8cad; --t-atlas:#bd9cff; --t-lapis:#8ca2ff; --t-copper:#5ee0cf; --t-saffron:#ffc45c;
  --phos:#8b8cff; --phos-dim:rgba(139,140,255,.14); --phos-glow:rgba(139,140,255,.28);
  --machine:#8ca2ff; --mind:#ff8cad; --vermilion:#ff9a86;
  --sel:rgba(139,140,255,.24);
  --shadow:0 20px 52px -30px rgba(0,0,0,.72);
  --shadow-soft:0 14px 34px -25px rgba(0,0,0,.62);
  --plate:#ffffff;
  color-scheme:dark;
}

/* domain seasoning: machine vs mind. Sparse use only. */
[data-domain="machine"]{--accent:var(--machine)}
[data-domain="mind"]{--accent:var(--mind)}
:root{--accent:var(--muted)}

/* ── base ───────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:clip}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  background:
    radial-gradient(circle at 100% -10%, color-mix(in srgb,var(--t-atlas) 11%,transparent) 0, transparent 30rem),
    radial-gradient(circle at -8% 24%, color-mix(in srgb,var(--t-research) 8%,transparent) 0, transparent 26rem),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink-soft);
  font-family:var(--f-body); font-size:clamp(18px,1.15vw,20px); line-height:1.72;
  font-variant-numeric:lining-nums;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100vh;
}
::selection{background:var(--sel);color:var(--ink)}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus{outline:none}
:focus-visible{outline:1.5px solid var(--phos);outline-offset:2px;border-radius:var(--r)}

/* ── type utilities ─────────────────────────────────── */
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums lining-nums}
.label{
  font-family:var(--f-body); font-size:.82rem; letter-spacing:.015em; font-weight:650;
  color:var(--muted); font-variant-numeric:tabular-nums lining-nums;
}
h1,h2,h3{font-family:var(--f-display);font-weight:680;color:var(--ink);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
table{font-variant-numeric:tabular-nums lining-nums}

/* ── global nav ─────────────────────────────────────── */
.gnav{
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; gap:1.4rem;
  padding:.85rem 1.6rem;
  background:color-mix(in srgb, var(--bg) 86%, transparent);
  backdrop-filter:blur(10px) saturate(1.1);
  border-bottom:1px solid var(--line-soft);
}
.gnav .brand{font-family:var(--f-display);font-size:1.02rem;color:var(--ink);white-space:nowrap;letter-spacing:.01em}
.gnav .brand em{font-style:normal;color:var(--phos)}
.gnav .links{display:flex;gap:1.15rem;margin-left:auto;align-items:center;flex-wrap:wrap}
.gnav .links a{
  font-family:var(--f-body); font-size:.88rem; letter-spacing:.005em; font-weight:650;
  color:var(--muted);
  padding:.25rem 0; border-bottom:1px solid transparent;
  transition:color .18s var(--ease), border-color .18s var(--ease);
}
.gnav .links a:hover{color:var(--ink)}
.gnav .links a.on{color:var(--ink);border-bottom:2.5px solid var(--phos);font-weight:500}
.gnav .kbd,.gnav .tbtn{
  font-family:var(--f-mono); font-size:.64rem; letter-spacing:.06em; color:var(--muted);
  border:1px solid var(--line); border-radius:var(--r); padding:.28rem .55rem;
  background:var(--bg-raise);
  transition:transform .08s linear, color .18s, border-color .18s;
}
.gnav .kbd:hover,.gnav .tbtn:hover{color:var(--phos);border-color:var(--phos)}
.gnav .kbd:active,.gnav .tbtn:active{transform:translateY(1px)}
@media(max-width:860px){
  .gnav{flex-wrap:wrap;gap:.5rem .9rem;padding:.7rem 1rem}
  .gnav .links{gap:.85rem;margin-left:0;width:100%;order:3}
}
@media(max-width:600px){
  .gnav .kbd,.gnav .tbtn{display:none}
  .gnav .links{gap:.65rem;flex-wrap:nowrap;justify-content:space-between}
  .gnav .links a{font-size:.77rem;letter-spacing:0}
}

/* ── footer ─────────────────────────────────────────── */
.gfoot{
  border-top:1px solid var(--line-soft); margin-top:5rem;
  padding:2.2rem 1.6rem 2.6rem;
  display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap;
}
.gfoot .c{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.08em;color:var(--faint);display:flex;align-items:center;gap:.6rem}
.gfoot .links{display:flex;gap:.9rem 1.3rem;flex-wrap:wrap}
.gfoot .links a{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.12em;color:var(--muted)}
.gfoot .links a:hover{color:var(--ink)}
/* the breathing dot: alive, therefore phosphor */
.breath{width:5px;height:5px;border-radius:50%;background:var(--phos);box-shadow:0 0 6px var(--phos-glow);animation:breathe 11s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.25;transform:scale(.85)}45%,55%{opacity:.9;transform:scale(1.15)}}
@media (prefers-reduced-motion: reduce){.breath{animation:none;opacity:.5}}

/* ── materials ──────────────────────────────────────── */
.m-paper{background:var(--paper)}
.m-instrument{background:var(--instrument)}
.panel{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft)}

/* ── controls ───────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--f-body);font-size:.86rem;letter-spacing:.005em;font-weight:650;
  
  color:var(--ink-soft);background:var(--bg-raise);
  border:1px solid var(--line);border-radius:var(--r);
  padding:.55rem 1.05rem;
  transition:transform .08s linear,border-color .18s,color .18s,background .18s;
}
.btn:hover{border-color:var(--phos);color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn.primary{border-color:var(--phos);color:var(--phos)}
.btn.primary:hover{background:var(--phos-dim)}
.chip{
  font-family:var(--f-body);font-size:.78rem;letter-spacing:.005em;font-weight:650;
  
  border:1px solid var(--line);border-radius:var(--r);
  padding:.3rem .7rem;color:var(--muted);background:transparent;
  transition:transform .08s linear,border-color .15s,color .15s,background .15s;
}
.chip:hover{color:var(--ink);border-color:var(--muted)}
.chip:active{transform:translateY(1px)}
.chip.on{color:var(--phos);border-color:var(--phos);background:var(--phos-dim)}
input[type="search"],input[type="text"]{
  font-family:var(--f-body);font-size:.88rem;color:var(--ink);
  background:var(--instrument);border:1px solid var(--line);border-radius:var(--r);
  padding:.55rem .8rem;width:100%;
  transition:border-color .18s;
}
input[type="search"]:focus,input[type="text"]:focus{border-color:var(--phos)}
input::placeholder{color:var(--faint)}

/* interactive rows: hover physics, 1-2px, spring */
.irow{
  display:block;border-bottom:1px solid var(--line-soft);
  transition:transform .22s var(--spring), background .18s;
}
.irow:hover{transform:translateX(2px);background:color-mix(in srgb, var(--bg-raise) 60%, transparent)}
@media (prefers-reduced-motion: reduce){
  .irow:hover{transform:none}
  .btn:active,.chip:active,.gnav .kbd:active{transform:none}
}

/* ── long-form prose (paper material) ───────────────── */
.prose{font-family:var(--f-body);color:var(--ink-soft);max-width:72ch;font-size:clamp(18px,1.3vw,20px);line-height:1.7}
.prose p{margin:0 0 1.15em}
.prose strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 68%,color-mix(in srgb,var(--t-saffron) 24%,transparent) 68%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.prose h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin:2.4em 0 .7em;scroll-margin-top:5rem}
.prose h3{font-size:clamp(1.35rem,2vw,1.7rem);margin:2em 0 .6em;scroll-margin-top:5rem}
.prose a{color:var(--ink);border-bottom:1px solid var(--line);transition:border-color .15s}
.prose a:hover{border-bottom-color:var(--phos)}
.prose blockquote{border-left:2px solid var(--line);padding:.2em 0 .2em 1.2em;margin:1.4em 0;color:var(--muted);font-style:italic}
.prose code{font-family:var(--f-mono);font-size:.86em;background:var(--instrument);border:1px solid var(--line-soft);border-radius:var(--r);padding:.08em .35em;font-variant-numeric:lining-nums}
.prose pre{background:var(--instrument);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;overflow-x:auto;margin:1.4em 0;line-height:1.55}
.prose pre code{background:none;border:0;padding:0;font-size:.8rem;color:var(--ink-soft)}
.prose ul,.prose ol{margin:0 0 1.15em 1.3em}
.prose li{margin-bottom:.4em}
.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.92rem}
.prose th{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;color:var(--muted);text-align:left;padding:.5em .8em;border-bottom:1px solid var(--line)}
.prose td{padding:.55em .8em;border-bottom:1px solid var(--line-soft);vertical-align:top}
.prose figure{margin:2em 0}
.prose figcaption{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;color:var(--muted);margin-top:.6rem}
.prose .mermaid-wrap{max-width:100%;margin:2.2em 0;padding:1rem;border:1px solid var(--line);border-top:3px solid var(--terr);border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft);overflow:auto}
.prose .mermaid-wrap pre.mermaid{margin:0;min-width:620px;border:0;background:transparent;padding:.5rem;color:var(--ink-soft);white-space:pre}
.prose .mermaid-wrap.rendered pre.mermaid{min-width:820px;display:flex;justify-content:center}
.prose .mermaid-wrap svg{width:100%;max-width:none!important;height:auto}
.prose .mermaid-wrap figcaption{border-top:1px solid var(--line-soft);padding-top:.65rem;margin-top:.7rem}
@media(max-width:760px){.prose .mermaid-wrap{margin-left:-.4rem;margin-right:-.4rem;padding:.65rem}.prose .mermaid-wrap pre.mermaid{min-width:720px}}

/* Native architecture views replace third-party diagram rendering. */
.architecture-view{margin:2.2em 0;padding:1rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--bg-raise),color-mix(in srgb,var(--instrument) 72%,var(--bg-raise)));box-shadow:var(--shadow);overflow-x:auto}
.architecture-view .dv-svg{display:block;width:100%;min-width:760px;height:auto}
.dv-edge,.dv-message{fill:none;stroke:var(--muted);stroke-width:1.6;opacity:.72}
.dv-edge-hypothesis,.dv-message-response{stroke-dasharray:8 7}
.dv-edge-strong{stroke-width:2.4}
.dv-svg marker path{fill:var(--muted)}
.dv-edge-label,.dv-message-label{font-family:var(--f-mono);font-size:11px;fill:var(--muted);text-anchor:middle}
.dv-node rect:first-child{fill:var(--bg-raise);stroke:var(--line);stroke-width:1.2;filter:drop-shadow(0 10px 12px color-mix(in srgb,var(--ink) 8%,transparent))}
.dv-node .dv-cap{stroke:none}
.dv-node-text{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink);font:600 15px/1.35 var(--f-display);padding:0 4px}
.dv-accent-0 .dv-cap,.dv-person.dv-accent-0{fill:var(--t-agentic)}
.dv-accent-1 .dv-cap,.dv-person.dv-accent-1{fill:var(--t-research)}
.dv-accent-2 .dv-cap,.dv-person.dv-accent-2{fill:var(--t-gov)}
.dv-accent-3 .dv-cap,.dv-person.dv-accent-3{fill:var(--t-atlas)}
.dv-accent-4 .dv-cap,.dv-person.dv-accent-4{fill:var(--t-memory)}
.dv-accent-5 .dv-cap,.dv-person.dv-accent-5{fill:var(--t-mind)}
.dv-groups{display:flex;gap:8px;flex-wrap:wrap;font:500 11px/1.3 var(--f-mono);color:var(--muted)}
.dv-groups span{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raise)}
.dv-lane{stroke:var(--line);stroke-width:1.2;stroke-dasharray:5 7}
.dv-person{stroke:none}
.dv-person-label{font-family:var(--f-display);font-size:13px;font-weight:700;fill:#fff;text-anchor:middle}
@media(max-width:760px){.architecture-view{margin-left:-.45rem;margin-right:-.45rem;padding:.65rem;border-radius:14px}.architecture-view .dv-svg{min-width:700px}}

/* Bring legacy inline architecture art into the current palette. */
svg [stroke="#2b59c9"],svg [stroke="#2f4e9e"],svg [stroke="#3a648e"]{stroke:var(--t-agentic)}
svg [stroke="#0e7a4e"],svg [stroke="#15734f"],svg [stroke="#3e7a5e"]{stroke:var(--t-gov)}
svg [stroke="#0c7d85"]{stroke:var(--t-research)}
svg [stroke="#6d3fa0"],svg [stroke="#7b5ea7"]{stroke:var(--t-atlas)}
svg [stroke="#a8741a"],svg [stroke="#b8730f"]{stroke:var(--t-memory)}
svg [fill="#2b59c9"],svg [fill="#2f4e9e"],svg [fill="#3a648e"]{fill:var(--t-agentic)}
svg [fill="#0e7a4e"],svg [fill="#15734f"],svg [fill="#3e7a5e"]{fill:var(--t-gov)}
svg [fill="#0c7d85"]{fill:var(--t-research)}
svg [fill="#6d3fa0"],svg [fill="#7b5ea7"]{fill:var(--t-atlas)}
svg [fill="#a8741a"],svg [fill="#b8730f"]{fill:var(--t-memory)}
svg [fill="#fff"],svg [fill="#ffffff"]{fill:var(--bg-raise)}
.prose hr{border:0;border-top:1px solid var(--line-soft);margin:2.5em 0}
.prose strong{color:var(--ink);font-weight:600}

/* consulting-grade reasoning furniture: content must supply the argument */
.prose .decision-box,.prose .framework-box,.prose .evidence-box,.prose .control-box{
  position:relative;margin:2em 0;padding:1.15rem 1.25rem 1.05rem;
  border:1px solid var(--line);border-left:4px solid var(--terr);border-radius:var(--r);
  background:linear-gradient(135deg,color-mix(in srgb,var(--terr) 7%,var(--bg-raise)),var(--bg-raise) 68%);
  box-shadow:var(--shadow-soft);font-size:.96em;
}
.prose .evidence-box{border-left-color:var(--t-research)}
.prose .control-box{border-left-color:var(--t-gov)}
.prose .box-label{
  display:block;margin:0 0 .7rem;font-family:var(--f-mono);font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--terr)
}
.prose .decision-box p:last-child,.prose .framework-box p:last-child,
.prose .evidence-box p:last-child,.prose .control-box p:last-child{margin-bottom:0}
.prose .framework-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  margin:2em 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  background:var(--line);box-shadow:var(--shadow-soft)
}
.prose .framework-grid>section{padding:1rem 1.1rem;background:var(--bg-raise)}
.prose .framework-grid h3{margin:0 0 .45rem;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;color:var(--terr)}
.prose .framework-grid p{margin:0;font-size:.9em;line-height:1.55}
.prose .matrix-caption{
  margin:-.9rem 0 1.8rem;font-family:var(--f-mono);font-size:.64rem;
  letter-spacing:.06em;color:var(--muted)
}
@media(max-width:680px){.prose .framework-grid{grid-template-columns:1fr}}

/* meta rows under titles */
.meta{display:flex;gap:1.2rem;flex-wrap:wrap;font-family:var(--f-mono);font-size:.85rem;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums lining-nums}
.dochead .workdeck{max-width:66ch;margin-top:1rem;color:var(--muted);font-size:1.02rem;line-height:1.65}
.meta b{color:var(--ink);font-weight:500}

/* reading progress: alive, phosphor, hairline */
#rprog{position:fixed;top:0;left:0;height:1.5px;width:0;background:var(--phos);z-index:300;box-shadow:0 0 8px var(--phos-glow)}

/* skip link */
.skip{position:absolute;left:-9999px;top:0;z-index:400;background:var(--bg-raise);color:var(--ink);padding:.6rem 1rem;font-family:var(--f-mono);font-size:.7rem}
.skip:focus{left:.5rem;top:.5rem}

/* status line */
.status{
  font-family:var(--f-mono);font-size:.85rem;letter-spacing:.05em;color:var(--muted);
  font-variant-numeric:tabular-nums lining-nums;
  display:flex;gap:1.6rem;flex-wrap:wrap;align-items:center;
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--instrument);padding:.7rem 1rem;
}
.status .live{color:var(--phos)}
.status .k{color:var(--faint)}

/* generic page frame */
.wrap{max-width:1100px;margin:0 auto;padding:0 1.6rem}
.narrow{max-width:46rem;margin:0 auto;padding:0 1.6rem}

/* ── page layer: hubs, reading, home, papers ────────── */
.hubhero{padding:5.5rem 1.6rem 2.2rem}
.hubhero h1{font-size:clamp(2.6rem,5vw,4rem);margin:.8rem 0 1.1rem;font-weight:380}
.hubhero .sub{max-width:64ch;color:var(--muted);font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.6}
.hubhero .meta{margin-top:1.1rem}
.crumb a:hover{color:var(--ink)}
.hubvisual{padding-top:.6rem;padding-bottom:3.6rem}
.hubvisual svg{display:block;width:100%;height:auto;background:var(--plate);border:1px solid var(--line);border-top:3px solid var(--t-agentic);border-radius:var(--r);box-shadow:var(--shadow-soft)}
.hubbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding-top:.4rem;padding-bottom:1.6rem;position:sticky;top:3.2rem;z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px)}
.hubbar input{max-width:24rem}
.hubsec{margin:2.2rem 0}
.hubhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:.3rem}
.hubhead h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400}
.hub-series-link{margin-left:auto;color:var(--phos);font:650 .74rem/1.35 var(--f-mono);letter-spacing:.035em}
.hub-series-link:hover{text-decoration:underline;text-underline-offset:.22rem}
.hubrow{display:grid;grid-template-columns:1fr auto;gap:.15rem 1.2rem;padding:.85rem .4rem;align-items:baseline}
.hubrow .ht{color:var(--ink);font-size:1.25rem;font-family:var(--f-display);font-weight:430}
.hubrow .hx{grid-column:1;color:var(--muted);font-size:.85rem;line-height:1.55}
.hubrow .hm{grid-row:1 / span 2;align-self:center;font-size:.85rem;color:var(--muted);letter-spacing:.06em}
.hubrow:hover .ht{color:var(--phos)}

/* reading page */
.dochead{padding:5rem 1.6rem 1.4rem}
.dochead h1{font-size:clamp(2.4rem,4.6vw,3.6rem);margin:.9rem 0 1.1rem;font-weight:380}
.m-paper{padding-bottom:3rem}
.leadvisual{padding-top:.8rem;padding-bottom:2rem}
.leadvisual .mermaid-wrap,.leadvisual .work-lead{
  margin:0;padding:1rem;border:1px solid var(--line);border-top:3px solid var(--terr,var(--t-agentic));
  border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft);overflow:auto
}
.leadvisual pre.mermaid{margin:0;min-width:760px;border:0;background:transparent;padding:.5rem;color:var(--ink-soft);white-space:pre}
.leadvisual .mermaid-wrap.rendered pre.mermaid{min-width:900px;display:flex;justify-content:center}
.leadvisual .mermaid-wrap svg{width:100%;max-width:none!important;height:auto}
.leadvisual .work-lead svg{display:block;width:100%;height:auto;background:var(--plate)}
@media(max-width:760px){
  .leadvisual{padding-left:1rem;padding-right:1rem}
  .leadvisual .mermaid-wrap,.leadvisual .work-lead{padding:.6rem}
  .leadvisual pre.mermaid{min-width:760px}
}
.reading{display:block;padding-top:1.8rem}
.mtoc{position:static;max-width:70rem;margin:0 auto 1.5rem;border:1px solid var(--line);background:var(--bg-raise)}
.mtoc summary{cursor:pointer;padding:.72rem 1rem;font-family:var(--f-body);font-size:.78rem;font-weight:700;color:var(--ink);list-style-position:inside}
.mtoc nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.4rem;padding:.65rem 1rem 1rem;border-top:1px solid var(--line-soft)}
.mtoc:not([open]) nav{display:none}
.mtoc a{display:block;font-family:var(--f-body);font-size:.76rem;letter-spacing:0;color:var(--muted);padding:.28rem 0;line-height:1.4;transition:color .15s}
.mtoc a.sub{padding-left:.65rem;font-size:.7rem;border-left:1px solid var(--line-soft)}
.mtoc a:hover{color:var(--ink)}
.mtoc a.on{color:var(--phos)}
@media(max-width:760px){.mtoc nav{grid-template-columns:1fr}.mtoc a.sub{padding-left:.5rem}}
.pn{display:flex;justify-content:space-between;gap:1.5rem;padding-top:2.4rem;padding-bottom:1rem}
.pn a{display:flex;flex-direction:column;gap:.25rem;max-width:44%;color:var(--ink-soft);font-family:var(--f-display)}
.pn a:hover{color:var(--phos)}
.pn-next{text-align:right;margin-left:auto}

/* home */
.home-hero{padding:4.5rem 0 2rem;border-bottom:1px solid var(--line-soft)}
.herogrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2.5rem;align-items:center;margin-bottom:2rem}
@media(max-width:960px){.herogrid{grid-template-columns:1fr}.heroviz{order:2}}
.herotext h1{font-size:clamp(1.9rem,4.4vw,3.1rem);margin:1rem 0 1.1rem;font-weight:380}
.herotext .sub{color:var(--muted);max-width:36rem;line-height:1.8;font-size:.98rem}
/* constellation: the one bold thing */
#constellation{width:100%;height:auto;display:block}
#constellation .e{stroke:var(--line);stroke-width:1}
#constellation .e.bridge{stroke-dasharray:3 5;stroke:var(--faint)}
#constellation .n{cursor:pointer;outline:none}
#constellation .n circle{fill:var(--bg);stroke:var(--muted);stroke-width:1.2;transition:stroke .2s,fill .2s,r .2s}
#constellation .n text{fill:var(--muted);font-family:var(--f-mono);font-size:11.5px;text-anchor:middle;letter-spacing:.06em;transition:fill .2s}
#constellation .n.machine circle{stroke:color-mix(in srgb, var(--machine) 55%, var(--muted))}
#constellation .n.mind circle{stroke:color-mix(in srgb, var(--mind) 55%, var(--muted))}
#constellation .n:hover circle,#constellation .n:focus-visible circle{stroke:var(--phos);fill:var(--phos-dim);filter:drop-shadow(0 0 6px var(--phos-glow))}
#constellation .n:hover text,#constellation .n:focus-visible text{fill:var(--ink)}
.status a{color:var(--ink-soft);border-bottom:1px solid var(--line)}
.status a:hover{color:var(--phos);border-color:var(--phos)}
/* doors */
.doors{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:stretch;padding-top:3.4rem;padding-bottom:1rem}
@media(max-width:860px){.doors{grid-template-columns:1fr}.bridgewords{flex-direction:row !important;flex-wrap:wrap;justify-content:center;padding:0 !important;min-width:0}}
.door{border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.6rem 1.5rem;background:var(--bg-raise);box-shadow:var(--shadow-soft);transition:transform .25s var(--spring),border-color .2s}
.door h2{font-size:1.7rem;margin:.5rem 0 .7rem;font-weight:400}
.door p{color:var(--muted);font-size:.92rem;line-height:1.7}
.door .doorgo{display:block;margin-top:1.1rem;font-size:.68rem;letter-spacing:.1em;color:var(--faint);transition:color .2s}
.door:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}
.door:hover .doorgo{color:var(--phos)}
.bridgewords{display:flex;flex-direction:column;justify-content:center;gap:.55rem;padding:0 .3rem;opacity:.35;transition:opacity .3s}
.doors:hover .bridgewords{opacity:.9}
.bridgewords span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;color:var(--muted);text-align:center}
/* library rows */
.librows{border-top:1px solid var(--line)}
.librow{display:grid;grid-template-columns:auto 1fr auto;gap:1.6rem;align-items:center;padding:1.35rem .4rem}
.librow .lk{font-size:.66rem;color:var(--faint);letter-spacing:.1em}
.librow h3{font-size:1.35rem;font-weight:400;display:flex;align-items:center;gap:.6rem}
.librow p{color:var(--muted);font-size:.88rem;line-height:1.6;max-width:42rem;margin-top:.2rem}
.librow .ln{font-size:.68rem;color:var(--faint);letter-spacing:.06em;white-space:nowrap}
.librow:hover h3{color:var(--phos)}
.blip{width:6px;height:6px;border-radius:50%;background:var(--phos);box-shadow:0 0 8px var(--phos-glow);display:inline-block;animation:blip 3.2s ease-out infinite}
@keyframes blip{0%{opacity:1}70%{opacity:.25}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.blip{animation:none}}
/* portals */
.portals{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;padding-top:.4rem}
@media(max-width:760px){.portals{grid-template-columns:1fr}}
.portal{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 7%, var(--bg-raise)), var(--bg-raise) 55%);padding:2.4rem 1.8rem 2rem;min-height:12rem;box-shadow:var(--shadow);transition:transform .25s var(--spring),border-color .2s}
.portal h3{font-size:1.8rem;font-weight:380;margin:.6rem 0 .8rem}
.portal p{color:var(--muted);font-size:.92rem;line-height:1.7;max-width:30rem}
.portal:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}
/* now */
.nowgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;padding-top:.4rem}
.now-item{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raise);padding:1.1rem 1.2rem;box-shadow:var(--shadow-soft)}
.now-item p{font-size:.88rem;color:var(--muted);line-height:1.65;margin-top:.4rem}
.now-item[data-domain="machine"] .label{color:var(--machine)}
.now-item[data-domain="mind"] .label{color:var(--mind)}
/* journey */
.journeymap svg{width:100%;height:auto}
.routeline{stroke:var(--line);stroke-width:1.2;stroke-dasharray:2 4}
.stop circle{fill:var(--bg);stroke:var(--muted);stroke-width:1.2;transition:stroke .2s,fill .2s}
.stop text{fill:var(--ink-soft);font-family:var(--f-mono);font-size:11px;text-anchor:middle;letter-spacing:.05em}
.stop .stopnote{fill:var(--faint);font-size:9.5px;opacity:0;transition:opacity .2s}
.stop:hover .stopnote,.stop:focus .stopnote{opacity:1}
.stop:hover circle,.stop:focus circle{stroke:var(--phos);fill:var(--phos-dim)}
/* contact */
.contact{padding-top:4rem;padding-bottom:2rem}
.contact h2{font-size:1.6rem;font-weight:400;max-width:36rem;margin-bottom:1.4rem}
.ctlinks{display:flex;gap:.7rem;flex-wrap:wrap}
/* sections spacing on home */
main > section{margin-top:clamp(5rem,9vw,9rem)}

/* papers instrument */
.m-instrument{padding-bottom:3rem}
.m-instrument .hubbar{background:color-mix(in srgb, var(--instrument) 92%, transparent)}
.histo{margin-top:1.6rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);padding:.9rem .9rem .6rem}
.histo svg{width:100%;height:96px;display:block}
.histo .bar rect{fill:var(--muted);opacity:.55;transition:fill .12s,opacity .12s;cursor:pointer}
.histo .bar:hover rect,.histo .bar:focus rect{fill:var(--phos);opacity:1}
.histo .bar.on rect{fill:var(--phos);opacity:1;filter:drop-shadow(0 0 4px var(--phos-glow))}
.histo text{fill:var(--faint);font-family:var(--f-mono);font-size:9px;text-anchor:middle}
.histo figcaption{margin-top:.5rem}
.papers .psec{border:1px solid var(--line-soft);border-radius:var(--r);margin:.6rem 0;background:var(--bg)}
.psec-h{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;width:100%;text-align:left;padding:1rem 1.1rem;transition:background .15s}
.psec-h:hover{background:var(--bg-raise)}
.psec-h h2{font-size:1.05rem;font-weight:450;font-family:var(--f-display);color:var(--ink)}
.psec-h .arrow{color:var(--faint);font-size:.7rem;transition:transform .2s var(--ease)}
.psec.open .psec-h .arrow{transform:rotate(90deg)}
.psec-h .pid{font-size:.66rem;color:var(--faint)}
.psec-h .cnt{font-size:.68rem;color:var(--muted)}
.psec-h .cnt .done{color:var(--phos)}
.psec-h .pbar{grid-column:1 / -1;height:2px;background:var(--line-soft);border-radius:1px;overflow:hidden;display:none}
.psec-h .pbar span{display:block;height:100%;width:0;background:var(--phos);transition:width .3s var(--ease)}
.psec.has-progress .pbar{display:block}
.psec .plist{display:none;border-top:1px solid var(--line-soft)}
.psec.open .plist{display:block}
.prow{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;padding:.85rem 1rem;border-bottom:1px solid var(--line-soft);align-items:baseline}
.prow:last-child{border-bottom:0}
.prow .pid{font-size:.64rem;color:var(--faint);letter-spacing:.03em}
.prow .pt b{font-weight:500;color:var(--ink);font-family:var(--f-body);font-size:.95rem}
.prow .pa{display:block;color:var(--muted);font-size:.8rem}
.prow .pmeta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;margin-top:.3rem;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.035em}
.prow .ptype,.prow .paudit,.prow .psource{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.12rem .42rem;line-height:1.35}
.prow .ptype{color:var(--muted);background:var(--bg-raise)}
.prow .paudit{color:var(--t-copper);border-color:color-mix(in srgb,var(--t-copper) 45%,var(--line))}
.prow .paudit.resolved{color:var(--phos);border-color:color-mix(in srgb,var(--phos) 40%,var(--line))}
.prow .psource{color:var(--t-research);text-decoration:none}
.prow .psource:hover{border-color:var(--t-research);color:var(--ink)}
.prow .pnote{display:block;color:var(--muted);font-size:.83rem;line-height:1.55;margin-top:.15rem}
.prow .py{font-size:.68rem;color:var(--faint)}
/* read-state mark: a mechanical checkbox */
.pmark{width:13px;height:13px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);align-self:center;transition:transform .08s linear,background .15s,border-color .15s;position:relative;top:1px}
.pmark:active{transform:translateY(1px)}
.pmark[data-state="reading"]{border-color:var(--mind);background:color-mix(in srgb, var(--mind) 30%, var(--bg))}
.pmark[data-state="read"]{border-color:var(--phos);background:var(--phos);box-shadow:0 0 5px var(--phos-glow)}
.pmark[data-state="later"]{border-color:var(--machine);background:repeating-linear-gradient(45deg,transparent,transparent 2px,var(--machine) 2px,var(--machine) 3px)}
/* radar rows */
.rrow{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.8rem .4rem}
.rarea{font-size:.64rem;color:var(--phos);letter-spacing:.08em}
.ryear{margin:2.4rem 0}
/* facts (about) */
.facts{margin-top:2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raise);padding:1.4rem 1.5rem;box-shadow:var(--shadow-soft)}
.facts dt{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;font-variant-caps:all-small-caps;color:var(--faint);margin-top:.9rem}
.facts dt:first-child{margin-top:0}
.facts dd{color:var(--ink);font-size:.95rem;margin:.15rem 0 0}
.facts a{border-bottom:1px solid var(--line)}
.facts a:hover{color:var(--phos);border-color:var(--phos)}
/* reveal */
.rv{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* figures: hand-authored diagrams assume a light ground. Give them a plate. */
.prose svg{display:block;background:var(--plate);border:1px solid var(--line);border-radius:var(--r);padding:14px 10px;margin:0 auto}
.prose figure > svg + figcaption, .prose figcaption{max-width:60ch}

/* radar radial */
.radarfig{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);padding:1rem;margin:1.4rem 0 .6rem}
.radarfig svg{width:100%;height:auto;display:block}
.rring{fill:none;stroke:var(--line-soft);stroke-width:1}
.rlabel{fill:var(--faint);font-family:var(--f-mono);font-size:11px}
.blipdot{cursor:pointer;opacity:.85;transition:r .12s}
.blipdot:hover,.blipdot:focus{opacity:1;r:5;outline:none;stroke:var(--phos);stroke-width:2}
.rlegend{display:flex;gap:.4rem .9rem;flex-wrap:wrap;margin:0 0 1rem}
.rleg{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.06em;color:var(--muted);display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}
.rleg:hover{color:var(--ink)}
.rleg .dot{width:7px;height:7px;border-radius:50%;display:inline-block}

/* command palette */
#palette{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:color-mix(in srgb, var(--bg) 55%, transparent);backdrop-filter:blur(3px)}
#palette[hidden]{display:none}
.palbox{width:min(620px,92vw);background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.palbox input{border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--bg-raise);font-size:.95rem;padding:.9rem 1rem}
.palbox input:focus{border-color:var(--phos)}
.palist{max-height:46vh;overflow:auto;margin:0;list-style:none}
.palist li{padding:.6rem 1rem;display:flex;gap:.8rem;align-items:baseline;cursor:pointer;border-bottom:1px solid var(--line-soft)}
.palist li:last-child{border-bottom:0}
.palist li.on{background:var(--phos-dim)}
.palist li .k{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;color:var(--faint);min-width:4.6rem}
.palist li .t{color:var(--ink);font-size:.92rem}
.palist li .t small{color:var(--muted)}
.palhint{font-family:var(--f-mono);font-size:.62rem;color:var(--faint);padding:.5rem 1rem;border-top:1px solid var(--line-soft);display:flex;gap:1.2rem}

/* reading extras */
.prose h2 .hlink{opacity:0;margin-left:.4rem;font-family:var(--f-mono);font-size:.7em;color:var(--faint);border:0;vertical-align:middle}
.prose h2:hover .hlink,.prose h2 .hlink:focus-visible{opacity:1}
.prose h2 .hlink:hover{color:var(--phos)}
.fnpop{position:absolute;z-index:60;max-width:340px;background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:.7rem .9rem;font-size:.85rem;line-height:1.6;color:var(--ink-soft)}
dialog.figzoom{border:1px solid var(--line);border-radius:var(--r);background:var(--plate);padding:1rem;max-width:94vw;max-height:92vh;overflow:auto}
dialog.figzoom::backdrop{background:rgba(10,14,12,.6)}
dialog.figzoom svg{min-width:900px}
.figbtn{position:absolute;top:.5rem;right:.5rem;opacity:0}
.figwrap{position:relative;display:block;max-width:100%}
.figwrap:focus-visible{outline:3px solid color-mix(in srgb,var(--phos) 55%,transparent);outline-offset:4px}
.figwrap:hover .figbtn,.figbtn:focus-visible{opacity:1}
body.focusmode .gnav,body.focusmode .mtoc,body.focusmode .gfoot,body.focusmode .pn{display:none}
body.focusmode .reading{grid-template-columns:1fr}

/* papers density */
body[data-density="compact"] .prow{padding:.35rem 1rem;gap:.6rem}
body[data-density="compact"] .prow .pnote{display:none}
body[data-density="compact"] .prow .pa{display:inline;margin-left:.4rem}
body[data-density="compact"] .prow .pmeta{display:none}

/* view transitions: fast crossfade with 2px drift */
@view-transition{navigation:auto}
@keyframes vt-in{from{opacity:0;transform:translateY(2px)}to{opacity:1}}
@keyframes vt-out{from{opacity:1}to{opacity:0}}
::view-transition-old(root){animation:vt-out .12s var(--ease) both}
::view-transition-new(root){animation:vt-in .16s var(--ease) both}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* meditate */
.medwrap{min-height:78vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;background:var(--instrument)}
.medorb{width:120px;height:120px;border-radius:50%;border:1px solid var(--phos);box-shadow:0 0 40px var(--phos-glow), inset 0 0 30px var(--phos-dim);animation:box 16s ease-in-out infinite}
@keyframes box{0%{transform:scale(.72)}25%{transform:scale(1)}50%{transform:scale(1)}75%{transform:scale(.72)}100%{transform:scale(.72)}}
@media(prefers-reduced-motion:reduce){.medorb{animation:none;transform:scale(.86)}}
.medphase{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.22em;color:var(--muted);min-height:1.2em}
.related{margin:2.5rem auto 0;border-top:1px solid var(--line);padding-top:1.4rem}
.relgroup{margin:1.2rem 0}
.relgroup .label{margin-bottom:.3rem}

/* mobile reading: nothing may force the column wide */
.prose{min-width:0}
@media(max-width:1020px){.reading{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
  .prose table{display:block;overflow-x:auto;white-space:nowrap}
  .prose table td,.prose table th{white-space:normal;min-width:9rem}
  .prose pre{max-width:100%}
  .mind-figure .figwrap{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
  .mind-figure .figwrap svg{width:700px;min-width:700px;max-width:none}
}


/* territory accents: colour is identity, glow stays reserved for life */
[data-cat="architecture"]{--terr:var(--t-agentic)}
[data-cat="deployment"]{--terr:var(--t-gov)}
[data-cat="gcp"]{--terr:var(--t-lapis)}
[data-cat="aws"]{--terr:var(--t-memory)}
[data-cat="design"]{--terr:var(--t-atlas)}
[data-cat="research"]{--terr:var(--t-research)}
[data-cat="consciousness"]{--terr:var(--t-mind)}
[data-cat="spirituality"]{--terr:var(--t-saffron)}
:root{--terr:var(--t-research)}

/* reading pages wear their territory */
.m-paper{border-top:3px solid var(--terr);
 background:linear-gradient(180deg, color-mix(in srgb, var(--terr) 5%, var(--paper)), var(--paper) 26rem)}
.dochead .crumb span:last-child{color:var(--terr)}
.dochead .meta b{color:var(--terr)}
.mtoc a.on{color:var(--terr)}
#rprog{background:var(--terr);box-shadow:0 0 8px color-mix(in srgb, var(--terr) 40%, transparent)}
.prose h2{position:relative}
.prose h2::before{content:"";position:absolute;left:-1.1rem;top:.28em;bottom:.28em;width:3px;background:var(--terr);opacity:.55}
@media(max-width:760px){.prose h2::before{display:none}}
.prose a:hover{color:var(--terr);border-bottom-color:var(--terr)}
.related .label{color:var(--terr)}

/* hub sections wear territory too */
.hubsec .hubhead h2{color:var(--terr)}
.hubsec{border-left:3px solid color-mix(in srgb, var(--terr) 55%, transparent);padding-left:1.1rem}
.hubrow:hover .ht{color:var(--terr)}

/* ══ homepage v3: cadence ══ */
/* 1. expansive hero: chromatic field, dominant constellation */
.hero3{
 background:
  radial-gradient(52% 68% at 82% 30%, color-mix(in srgb, var(--t-mind) 6%, transparent), transparent 70%),
  radial-gradient(46% 60% at 12% 12%, color-mix(in srgb, var(--t-agentic) 7%, transparent), transparent 70%),
  radial-gradient(30% 42% at 50% 100%, color-mix(in srgb, var(--t-research) 5%, transparent), transparent 70%),
  var(--bg);
 border-bottom:1px solid var(--line-soft); padding:3.2rem 0 1.8rem}
.hero3grid{max-width:1240px;margin:0 auto;padding:0 1.6rem;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem;align-items:center}
@media(max-width:980px){.hero3grid{grid-template-columns:1fr}}
.hero3text h1{font-size:clamp(1.8rem,3.6vw,2.7rem);margin:.9rem 0 1rem;font-weight:390}
.hero3text .sub{color:var(--muted);max-width:34rem;line-height:1.75;font-size:.95rem}
.herohint{margin-top:1.4rem;max-width:30rem;line-height:1.6 !important;font-size:.62rem !important}
.hero3 .status{margin-top:1.6rem}
#constellation{width:100%;height:auto;display:block}
#constellation .ce{fill:none;stroke:var(--line);stroke-width:1.1;transition:stroke .25s,opacity .25s,stroke-width .25s}
#constellation .ce.bridge{stroke:color-mix(in srgb, var(--t-mind) 55%, var(--line));stroke-dasharray:4 6}
#constellation .cn{cursor:pointer;outline:none}
#constellation .cn circle{fill:color-mix(in srgb, var(--nc) 16%, var(--bg));stroke:var(--nc);stroke-width:1.6;transition:all .25s var(--spring)}
#constellation .cn .halo{fill:none;stroke:color-mix(in srgb, var(--nc) 30%, transparent);stroke-width:1;opacity:0;transition:opacity .25s}
#constellation .cn text{fill:var(--nc);font-family:var(--f-mono);font-size:13px;text-anchor:middle;letter-spacing:.05em;font-weight:500;transition:fill .2s}
#constellation .cn:hover .halo,#constellation .cn:focus-visible .halo{opacity:1}
#constellation .cn:hover text,#constellation .cn:focus-visible text{fill:var(--ink)}
#constellation.focusing .cn{opacity:.22}
#constellation.focusing .cn.lit{opacity:1}
#constellation.focusing .ce{opacity:.1}
#constellation.focusing .ce.lit{opacity:1;stroke-width:1.8}
#constellation .ce.lit{stroke:color-mix(in srgb, var(--phos) 60%, var(--line))}
@media(max-width:980px){#constellation{max-height:52vw}}

/* 2. bridge: two chromatic fields joined by an arc */
.bridge3{position:relative;padding:3.4rem 0 1rem;max-width:1100px;margin:0 auto}
.bridgearc{position:absolute;inset:2.4rem 1.6rem auto;width:calc(100% - 3.2rem);height:110px;pointer-events:none}
.bridgearc path{stroke:color-mix(in srgb, var(--t-mind) 35%, var(--line));stroke-dasharray:3 6;stroke-width:1.2}
.bridge3grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;padding:0 1.6rem;align-items:stretch}
@media(max-width:860px){.bridge3grid{grid-template-columns:1fr}}
.bfield{position:relative;border:1px solid color-mix(in srgb, var(--terr) 30%, var(--line));border-top:3px solid var(--terr);
 border-radius:var(--r);padding:1.7rem 1.6rem 1.5rem;
 background:linear-gradient(170deg, color-mix(in srgb, var(--terr) 7%, var(--bg-raise)), var(--bg-raise) 60%);
 box-shadow:var(--shadow-soft);transition:transform .25s var(--spring),box-shadow .25s}
.bfield .label{color:var(--terr)}
.bfield h2{font-size:1.65rem;margin:.5rem 0 .7rem;font-weight:400}
.bfield p{color:var(--muted);font-size:.92rem;line-height:1.7}
.bfield .doorgo{display:block;margin-top:1.1rem;font-size:.68rem;letter-spacing:.1em;color:var(--terr)}
.bfield:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.bwordscol{display:flex;flex-direction:column;justify-content:center;gap:.55rem;padding:0 .3rem}
.bwordscol span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;color:var(--muted);text-align:center}
@media(max-width:860px){.bwordscol{flex-direction:row;flex-wrap:wrap;justify-content:center;min-width:0}}

/* 3. selected work: dense architecture stories */
.worksec{margin-top:clamp(5rem,9vw,9rem);padding:2.8rem 0 3rem;background:var(--instrument);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.workgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}
.wcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .22s var(--spring),box-shadow .25s}
.wcard .wdiag{border-bottom:2px solid var(--terr);background:#fbfaf6;max-height:170px;overflow:hidden;display:flex;align-items:flex-start}
.wcard .wdiag svg{width:100%;height:auto;display:block}
.wcard h3{font-size:1.15rem;font-weight:450;padding:.9rem 1.1rem .2rem;color:var(--ink)}
.wcard p{color:var(--muted);font-size:.84rem;line-height:1.6;padding:0 1.1rem}
.wcard .doorgo{padding:.7rem 1.1rem 1rem;font-size:.64rem;letter-spacing:.1em;color:var(--terr)}
.wcard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

/* decision-grade series: the professional authority layer */
.seriessec{padding:clamp(4.5rem,8vw,8rem) 0 3.5rem;background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--t-gov) 4%,var(--bg)));border-bottom:1px solid var(--line-soft)}
.serieslede{max-width:64ch;color:var(--ink-soft);font-family:var(--f-display);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.55;margin:1rem 0 1.8rem}
.seriesgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.seriescard{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--terr) 30%,var(--line));border-top:3px solid var(--terr);border-radius:var(--r);background:var(--bg-raise);padding:1.4rem 1.3rem;box-shadow:var(--shadow-soft);transition:transform .22s var(--spring),box-shadow .22s}
.seriescard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.seriescard .label{color:var(--terr);font-size:.82rem}
.seriescard h3{font-size:clamp(1.25rem,1.9vw,1.55rem);font-weight:420;margin:.75rem 0}
.seriescard p{color:var(--muted);font-size:.9rem;line-height:1.65;flex:1}
.seriesmeta{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line-soft);margin-top:1.1rem;padding-top:.75rem;color:var(--faint);font-size:.75rem}
.seriesfoot{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
@media(max-width:940px){.seriesgrid{grid-template-columns:1fr}}

/* 4. observatory: five different instruments */
.obsec{margin-top:clamp(5rem,9vw,9rem)}
.obsgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.1rem;grid-auto-rows:minmax(120px,auto)}
.obs{border:1px solid color-mix(in srgb, var(--terr) 26%, var(--line));border-radius:var(--r);padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.55rem;background:var(--bg-raise);box-shadow:var(--shadow-soft);transition:transform .22s var(--spring),box-shadow .25s;overflow:hidden}
.obs:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.obs .label{color:var(--terr)}
.obs h3{font-size:1.28rem;font-weight:420}
.obs p{color:var(--muted);font-size:.85rem;line-height:1.6;margin-top:auto}
.obs-papers{grid-column:span 4;background:linear-gradient(165deg, color-mix(in srgb, var(--terr) 6%, var(--bg-raise)), var(--bg-raise) 55%)}
.obs-radar{grid-column:span 2;grid-row:span 2;background:#0d1411;border-color:#26332c}
.obs-radar h3{color:#e8e4d9}
.obs-radar p{color:#8e897a}
.obs-writing{grid-column:span 2}
.obs-graph{grid-column:span 2;background:linear-gradient(160deg, color-mix(in srgb, var(--terr) 6%, var(--bg-raise)), var(--bg-raise) 60%)}
.obs-research{grid-column:span 6}
@media(max-width:980px){.obsgrid{grid-template-columns:1fr 1fr}.obs{grid-column:span 2 !important;grid-row:auto !important}}
.minihisto{width:100%;height:64px}
.minihisto rect{fill:color-mix(in srgb, var(--terr) 72%, var(--bg))}
.miniradar{width:min(190px,80%);margin:0 auto}
.miniradar .rings circle{fill:none;stroke:#26332c;stroke-width:1}
.miniradar .sweep{stroke:#6fd2a8;stroke-width:1.2;opacity:.8;transform-origin:90px 90px;animation:sweep 9s linear infinite;filter:drop-shadow(0 0 3px rgba(111,210,168,.5))}
@keyframes sweep{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.miniradar .sweep{animation:none;opacity:.4}}
.minigraph{width:min(230px,90%)}
.minigraph .mge{stroke:var(--line);stroke-width:1.1}
.minigraph .mgb{stroke:color-mix(in srgb, var(--t-mind) 55%, var(--line));stroke-dasharray:3 4;stroke-width:1.1}
.wfrags{display:flex;flex-direction:column;gap:.5rem}
.wfrag{display:flex;gap:.6rem;align-items:baseline}
.wfrag .chip{pointer-events:none;font-size:.56rem}
.wfrag p{font-size:.78rem !important;color:var(--ink-soft) !important;font-style:italic;margin:0 !important}
.rmotif{display:flex;gap:.5rem;align-items:center;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;color:var(--terr);padding:.8rem 0}
.rmotif span:not(.arr){border:1px solid color-mix(in srgb, var(--terr) 40%, transparent);border-radius:var(--r);padding:.3rem .55rem}
.rmotif .arr{color:var(--faint)}

/* 5. atlas band: immersive, each its own world */
.atlband{margin-top:clamp(5rem,9vw,9rem);padding:2.6rem 0 3rem;
 background:linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--t-atlas) 4%, var(--bg)))}
.atlgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:820px){.atlgrid{grid-template-columns:1fr}}
.atl{position:relative;border-radius:var(--r);padding:2.6rem 1.9rem 2.2rem;min-height:15rem;overflow:hidden;box-shadow:var(--shadow);transition:transform .25s var(--spring)}
.atl:hover{transform:translateY(-3px)}
.atl h3{font-size:1.9rem;font-weight:380;margin:.6rem 0 .8rem}
.atl p{font-size:.92rem;line-height:1.7;max-width:30rem}
.atl .glyph{position:absolute;right:-.1em;top:-.25em;font-size:7.5rem;line-height:1;opacity:.1;font-weight:600;pointer-events:none}
.atl-sam{background:linear-gradient(150deg,#f6ecd8,#f1e3c6);border:1px solid #e0cfa8;color:#3d2f1a}
.atl-sam .label{color:#b0512e}
.atl-sam h3{color:#2c2113}
.atl-sam p{color:#6a5a3d}
.atl-sam .glyph{color:#b0512e;font-family:Georgia,serif}
[data-theme="dark"] .atl-sam{background:linear-gradient(150deg,#2a2314,#211b0e);border-color:#4a3d22;color:#e8dcc0}
[data-theme="dark"] .atl-sam h3{color:#f0e6cc}
[data-theme="dark"] .atl-sam p{color:#b3a380}
.atl-krei{background:linear-gradient(155deg,#15201b,#0e1613);border:1px solid #2c4438;color:#cfe0d5}
.atl-krei .label{color:#7ec2a0}
.atl-krei h3{color:#e6f0e9}
.atl-krei p{color:#8fae9d}
.atl-krei .glyph{color:#4e8a6e}

/* 6-8. intimate now, quiet journey, quiet contact */
.nowsec{margin-top:clamp(5rem,9vw,9rem)}
.journeysec{margin-top:3.4rem;opacity:.92}
.stop.cur circle{stroke:var(--t-agentic);fill:color-mix(in srgb, var(--t-agentic) 20%, var(--bg))}

/* papers orientation layer */
.histo .notch{stroke:var(--faint);stroke-width:.7;stroke-dasharray:2 3}
.histo .notchlbl{fill:var(--muted);font-family:var(--f-mono);font-size:9.5px;text-anchor:middle}
.histo .bar rect{opacity:.75;transition:opacity .12s,filter .12s;cursor:pointer}
.histo .bar:hover rect,.histo .bar:focus rect{opacity:1}
.histo .bar.on rect{opacity:1;filter:drop-shadow(0 0 4px var(--phos-glow));stroke:var(--phos);stroke-width:1}
.compbar{margin-top:1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);padding:.9rem}
.compbar svg{width:100%;height:16px;display:block;border-radius:1px;overflow:hidden}
.clegend{display:flex;gap:.35rem 1.1rem;flex-wrap:wrap;margin-top:.6rem;font-family:var(--f-mono);font-size:.62rem;color:var(--muted);letter-spacing:.03em}
.cleg{display:inline-flex;align-items:center;gap:.35rem}
.cleg .dot{width:7px;height:7px;border-radius:1px;display:inline-block}

/* ══ pass 3: the living field ══ */
.herostmt{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.08;margin:1rem 0 1.2rem;font-weight:410}
.herostmt .hs-machine{color:var(--t-agentic)}
.herostmt .hs-mind{color:var(--t-mind);font-style:italic}
.hero3grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem}
@media(max-width:980px){.hero3grid{grid-template-columns:minmax(0,1fr);gap:0}.hero3viz{margin-top:1.2rem}}
.mobileflow{display:none}
@media(max-width:600px){
  .hero3viz{display:none}.hero3{padding-bottom:2.2rem}
  .mobileflow{display:grid;grid-template-columns:1fr auto 1fr auto 1.35fr;gap:.45rem;align-items:center;margin:1.4rem 1.35rem 0;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.03em;color:var(--muted)}
  .mobileflow span{min-height:3.2rem;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-top:2px solid var(--t-agentic);background:var(--bg-raise);padding:.35rem}
  .mobileflow b{font-weight:400;color:var(--phos)}
}
#constellation .depth circle{fill:none;stroke:var(--line-soft);stroke-width:1}
#constellation .depth line{stroke:var(--line-soft);stroke-width:.7;stroke-dasharray:1 7}
#constellation .ce{stroke-width:1.3}
#constellation .ce.me{stroke:color-mix(in srgb, var(--t-agentic) 34%, var(--line))}
#constellation .ce.xe{stroke:color-mix(in srgb, var(--t-mind) 36%, var(--line))}
#constellation .ce.be,#constellation .ce.bridge{stroke:color-mix(in srgb, var(--t-mind) 50%, var(--line));stroke-dasharray:4 6}
#constellation .cn .core{fill:color-mix(in srgb, var(--nc) 22%, var(--bg));stroke:var(--nc);stroke-width:2}
#constellation .cn text{font-weight:500;letter-spacing:.04em;paint-order:stroke;stroke:var(--bg);stroke-width:3px;fill:var(--nc)}
/* progressive resolve on load + slow living drift */
@media(prefers-reduced-motion:no-preference){
 #constellation .cn{opacity:0;animation:nodein .7s var(--ease) forwards;animation-delay:calc(var(--i)*.12s)}
 #constellation .edges{opacity:0;animation:edgein 1.2s var(--ease) forwards .9s}
 #constellation .cn .core{animation:nodebreathe 9s ease-in-out infinite;animation-delay:calc(var(--i)*.9s);transform-origin:center;transform-box:fill-box}
}
@keyframes nodein{from{opacity:0}to{opacity:1}}
@keyframes edgein{from{opacity:0}to{opacity:1}}
@keyframes nodebreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.10)}}
.fieldcaption{font-size:.64rem;letter-spacing:.08em;color:var(--muted);text-align:center;margin-top:.2rem;min-height:1.2em}
.fieldcaption b{color:var(--ink)}

/* work grid: flagship-first composition */
.workgrid{grid-template-columns:repeat(6,1fr)}
.wcard{grid-column:span 2}
.wcard:first-child{grid-column:span 4;grid-row:span 1}
.wcard:first-child .wdiag{max-height:300px}
.wcard:first-child h3{font-size:1.5rem}
@media(max-width:980px){.workgrid{grid-template-columns:1fr 1fr}.wcard,.wcard:first-child{grid-column:span 2}}

/* research pulse */
.pulsesec{margin-top:clamp(5rem,9vw,9rem);padding:2.2rem 0 2.4rem;background:linear-gradient(180deg, color-mix(in srgb, var(--t-research) 5%, var(--bg)), var(--bg));border-top:1px solid var(--line-soft)}
.pulserow{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:.7rem .3rem;align-items:baseline}
.pulserow .pdot{width:7px;height:7px;border-radius:50%;background:var(--phos);box-shadow:0 0 7px var(--phos-glow);align-self:center;animation:blip 3.2s ease-out infinite}
.pulserow:nth-child(odd) .pdot{animation-delay:1.4s}
.pulserow .pa{display:block;color:var(--muted);font-size:.8rem}
.pulserow b{font-weight:500;color:var(--ink);font-size:.95rem}

/* papers observatory opening */
.canon{padding:2.6rem 0 1rem}
.canonstats{display:flex;gap:3.2rem;flex-wrap:wrap;align-items:baseline;margin:.8rem 0 1.6rem}
.canonstats .cs b{font-family:var(--f-display);font-weight:420;font-size:clamp(2.6rem,5.5vw,4.2rem);color:var(--t-research);font-variant-numeric:lining-nums;display:block;line-height:1}
.canonstats .cs span{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;color:var(--muted)}
.milestones{margin:1.8rem 0 .6rem}
.milestones svg{width:100%;height:84px;display:block}
.milestones .mline{stroke:var(--line);stroke-width:1.4}
.milestones .mdot{fill:var(--bg);stroke:var(--t-research);stroke-width:2}
.milestones .mdot.now{fill:var(--phos);stroke:var(--phos);filter:drop-shadow(0 0 5px var(--phos-glow))}
.milestones text{font-family:var(--f-mono);fill:var(--muted);font-size:11px;text-anchor:middle;letter-spacing:.06em}
.milestones .myr{fill:var(--faint);font-size:10px}
.eras{display:flex;gap:.6rem 1.6rem;flex-wrap:wrap;margin:.8rem 0 0}
.eras span{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;color:var(--muted)}
.eras b{font-weight:500}

/* library landing: three machines */
.machine-panel{border:1px solid var(--line);border-radius:var(--r);margin:1.4rem 0;padding:2rem 2rem 1.7rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2rem;align-items:center;box-shadow:var(--shadow-soft);transition:transform .22s var(--spring),box-shadow .25s}
.machine-panel:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
@media(max-width:860px){.machine-panel{grid-template-columns:1fr}}
.machine-panel h2{font-size:1.8rem;font-weight:400;margin:.5rem 0 .7rem}
.machine-panel p{color:var(--muted);font-size:.94rem;line-height:1.7}
.machine-panel .label{color:var(--terr)}
.book-count{display:flex;align-items:baseline;justify-content:center;gap:.7rem;color:var(--terr)}
.book-count strong{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(1.9rem,4vw,3.2rem);font-weight:400;line-height:1}
.book-count span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.book-shelf-head{padding-bottom:3.2rem}
.book-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;padding-bottom:5rem}
.book-collection-card{--collection-accent:var(--t-gov);display:flex;min-height:22rem;flex-direction:column;padding:clamp(1.6rem,4vw,3rem);border:1px solid var(--line);border-top:5px solid var(--collection-accent);border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft);color:var(--ink);text-decoration:none;transition:transform .22s var(--spring),box-shadow .22s}
.book-collection-card.machine{--collection-accent:var(--t-agentic)}.book-collection-card.consciousness{--collection-accent:var(--t-atlas)}.book-collection-card.mind{--collection-accent:var(--t-saffron)}
.book-collection-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.book-collection-card .label{color:var(--collection-accent)}
.book-collection-card h2{margin:.8rem 0 1rem;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:430;line-height:1.02}
.book-collection-card.consciousness h2{font-size:clamp(1.9rem,2.2vw,2.1rem)}
.book-collection-card p{max-width:46rem;color:var(--muted);font:400 1rem/1.75 var(--f-body)}
.book-collection-card strong{margin-top:auto;padding-top:1.6rem;color:var(--collection-accent);font:700 .82rem/1.4 var(--f-mono)}
.ledi-shelf-head{padding:1rem 0 2rem;border-top:1px solid var(--line)}
.ledi-shelf-head h2{margin:.65rem 0 1rem;font-size:clamp(2.6rem,6vw,5.5rem);font-weight:420;line-height:.98}
.ledi-shelf-head>p{max-width:58rem;color:var(--muted);font:400 1.05rem/1.75 var(--f-body)}
.book-sequence-note{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.4rem;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.book-sequence-note .live-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--t-saffron);box-shadow:0 0 0 4px color-mix(in srgb,var(--t-saffron) 14%,transparent)}
.book-shelf{display:grid;gap:1.4rem;padding-bottom:4rem}
.book-card{position:relative;display:grid;grid-template-columns:minmax(160px,24%) minmax(0,1fr);min-height:25rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg-raise);box-shadow:var(--shadow-soft)}
.book-register{position:relative;display:flex;align-items:center;justify-content:center;min-height:100%;border-right:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--t-saffron) 9%,var(--bg-raise)),var(--bg-raise) 72%)}
.book-register span{position:relative;z-index:2;font:400 clamp(4.6rem,10vw,8.5rem)/1 'Source Serif 4',Georgia,serif;color:color-mix(in srgb,var(--t-saffron) 80%,var(--ink))}
.book-register i{position:absolute;left:16%;right:16%;height:1px;background:var(--line)}
.book-register i:nth-of-type(1){top:24%}.book-register i:nth-of-type(2){top:50%}.book-register i:nth-of-type(3){top:76%}
.abhinavagupta-shelf-head .kicker,.abhinavagupta-book-card .label{color:var(--t-atlas)}
.abhinavagupta-shelf .book-register{background:linear-gradient(145deg,color-mix(in srgb,var(--t-atlas) 10%,var(--bg-raise)),var(--bg-raise) 72%)}
.abhinavagupta-shelf .book-register span{color:color-mix(in srgb,var(--t-atlas) 82%,var(--ink))}
.abhinavagupta-shelf .book-card-copy .btn.primary{border-color:var(--t-atlas);background:var(--t-atlas)}
.book-card-copy{padding:clamp(2rem,5vw,4.4rem)}
.book-card h2{margin:.6rem 0 .1rem;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:420;line-height:1.04}
.book-burmese{margin:0 0 1rem;color:var(--t-saffron);font-family:'Noto Sans Myanmar',sans-serif;font-size:1.05rem}
.book-subtitle{font-family:'Source Serif 4',Georgia,serif;font-size:1.3rem!important;color:var(--ink)!important}
.book-card-copy>p{max-width:52rem;color:var(--muted);line-height:1.7}
.book-meta{display:flex;gap:1.2rem;margin:1.5rem 0 2rem;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.book-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.book-method{max-width:58rem;margin-bottom:5rem;padding-top:1rem;border-top:1px solid var(--line)}
.book-method h2{margin:.7rem 0 1rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:430}
.book-method p{color:var(--muted);font-size:1.02rem;line-height:1.8}
.ai-shelf-head{padding-bottom:3.2rem}.ai-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;padding-bottom:5rem}
.ai-book-card{--book-accent:var(--t-agentic);display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-top:5px solid var(--book-accent);border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft)}
.ai-accent-indigo{--book-accent:#5B5CF6}.ai-accent-teal{--book-accent:#00A884}.ai-accent-coral{--book-accent:#F97362}.ai-accent-lavender{--book-accent:#8B5CF6}.ai-accent-sky{--book-accent:#0891B2}.ai-accent-saffron{--book-accent:#F59E0B}
.ai-book-cover{display:grid;min-height:18rem;align-content:space-between;padding:1.5rem;border-bottom:1px solid var(--line);background:linear-gradient(132deg,var(--bg-raise) 0 68%,color-mix(in srgb,var(--book-accent) 14%,var(--bg-raise)) 68% 100%);color:var(--ink);text-decoration:none}
.ai-book-cover span,.ai-book-cover small{color:var(--book-accent);font:750 .68rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.ai-book-cover strong{max-width:12ch;font:600 clamp(1.85rem,3vw,3rem)/.98 var(--f-display);letter-spacing:-.035em}
.ai-book-cover small{width:max-content;max-width:100%;padding:.35rem .48rem;border:1px solid var(--book-accent)}
.ai-book-copy{display:flex;flex:1;flex-direction:column;padding:1.3rem}.ai-book-copy>.label{color:var(--book-accent)}
.ai-book-copy h2{margin:.55rem 0 .75rem;font:600 clamp(1.35rem,2vw,1.8rem)/1.08 var(--f-display)}
.ai-book-copy>p:not(.label){color:var(--muted);font-size:.9rem;line-height:1.62}
.ai-book-copy .btn{align-self:flex-start;margin-top:1.1rem}
.ai-book-meta{display:flex;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line-soft);color:var(--faint);font-size:.68rem}
@media(max-width:1100px){.book-collection-grid{grid-template-columns:1fr}}
@media(max-width:980px){.ai-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.book-collection-grid,.ai-book-grid{grid-template-columns:1fr}.book-collection-card{min-height:19rem}.book-card{grid-template-columns:1fr}.book-register{min-height:11rem;border-right:0;border-bottom:1px solid var(--line)}.book-register span{font-size:5.2rem}.book-card-copy{padding:2rem 1.35rem}.book-meta,.ai-book-meta{flex-wrap:wrap}.ai-book-cover{min-height:16rem}}
.mp-papers{background:linear-gradient(160deg, color-mix(in srgb, var(--t-research) 7%, var(--bg-raise)), var(--bg-raise) 60%)}
.mp-radar{background:#0d1411;border-color:#26332c}
.mp-radar h2{color:#e8e4d9}
.mp-radar p{color:#8e897a}
.mp-graph{background:linear-gradient(160deg, color-mix(in srgb, var(--t-atlas) 7%, var(--bg-raise)), var(--bg-raise) 60%)}
.mp-viz{min-height:150px;display:flex;align-items:center;justify-content:center}
.mp-viz svg{width:100%;max-width:430px;height:auto}

/* article: editorial lede */
.prose > p:first-of-type{font-size:clamp(20px,1.8vw,24px);line-height:1.58;color:var(--ink);max-width:68ch}
.prose > p:first-of-type::first-letter{font-family:var(--f-display);font-size:3.1em;line-height:.82;float:left;padding:.06em .12em 0 0;color:var(--terr)}

/* writing: featured layer + territory band */
.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.6rem 0 2.4rem}
@media(max-width:900px){.featured{grid-template-columns:1fr}}
.feat{border:1px solid color-mix(in srgb, var(--terr) 30%, var(--line));border-top:3px solid var(--terr);border-radius:var(--r);padding:1.5rem 1.4rem 1.3rem;background:linear-gradient(170deg, color-mix(in srgb, var(--terr) 6%, var(--bg-raise)), var(--bg-raise) 55%);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.6rem;transition:transform .22s var(--spring)}
.feat:hover{transform:translateY(-2px)}
.feat .label{color:var(--terr)}
.feat h3{font-size:1.3rem;font-weight:420}
.feat p{color:var(--muted);font-size:.87rem;line-height:1.65}
.terrband{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.4rem}
.terrband a{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;padding:.35rem .75rem;border:1px solid color-mix(in srgb, var(--terr) 45%, transparent);border-radius:var(--r);color:var(--terr);transition:transform .08s linear,background .15s}
.terrband a:hover{background:color-mix(in srgb, var(--terr) 9%, transparent)}
.terrband a:active{transform:translateY(1px)}

/* observatory (radar v2) */
.obsgrid2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.6rem;align-items:start}
@media(max-width:980px){.obsgrid2{grid-template-columns:1fr}}
.radarfig2{border:1px solid var(--line);border-radius:var(--r);background:
 radial-gradient(closest-side at 50% 51%, color-mix(in srgb, var(--phos) 5%, transparent), transparent 75%), var(--bg);
 padding:1rem}
[data-theme="dark"] .radarfig2{background:radial-gradient(closest-side at 50% 51%, rgba(111,210,168,.06), transparent 75%), var(--instrument)}
.radarfig2 svg{width:100%;height:auto;display:block}
.oring{fill:none;stroke:var(--line);stroke-width:1}
.orlbl{fill:var(--faint);font-family:var(--f-mono);font-size:10.5px;text-anchor:middle;letter-spacing:.12em}
.osweep{stroke:var(--phos);stroke-width:1.3;opacity:.75;transform-origin:470px 315px;animation:sweep 14s linear infinite;filter:drop-shadow(0 0 4px var(--phos-glow))}
@media(prefers-reduced-motion:reduce){.osweep{animation:none;opacity:.3}}
.ob{cursor:pointer;opacity:.88;transition:opacity .15s}
.ob:hover,.ob:focus{opacity:1;outline:none;stroke:var(--ink);stroke-width:1.4}
.ob.sel{stroke:var(--phos);stroke-width:2.4;filter:drop-shadow(0 0 5px var(--phos-glow))}
.ob.grad{stroke:var(--ink);stroke-width:1;stroke-dasharray:1.5 1.5}
.ograd-demo{stroke:var(--ink);stroke-width:1;stroke-dasharray:1.5 1.5;opacity:.7}
#opanel{position:sticky;top:4.2rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raise);box-shadow:var(--shadow-soft);padding:1.2rem 1.3rem;min-height:14rem}
#opanel h3{font-size:1.2rem;font-weight:450;margin:.5rem 0 .4rem}
.opanel-hint,.opanel-note{color:var(--muted);font-size:.88rem;line-height:1.65}
.opanel-meta{font-size:.68rem;color:var(--faint);letter-spacing:.04em}
.olegend{display:flex;gap:.35rem .5rem;flex-wrap:wrap;width:100%;margin-top:.5rem}
.oleg{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);border-radius:var(--r);padding:.28rem .55rem;display:inline-flex;align-items:center;gap:.35rem;transition:transform .08s linear,border-color .15s,color .15s}
.oleg:hover{color:var(--ink);border-color:var(--muted)}
.oleg:active{transform:translateY(1px)}
.oleg.on{color:var(--ink);border-color:var(--phos);background:var(--phos-dim)}
.oleg .dot{width:7px;height:7px;border-radius:50%}
.oleg .cnt{color:var(--faint)}
.oleg .vel{color:var(--phos)}

/* research dossiers */
.dossier{margin:3rem 0;padding:2.4rem 0 2.8rem;border-top:3px solid var(--terr);
 background:linear-gradient(180deg, color-mix(in srgb, var(--terr) 5%, var(--bg)), var(--bg) 30rem)}
.dossq{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;max-width:46rem;margin:.7rem 0 0;color:var(--ink)}
.dossgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2.4rem;margin-top:1.8rem;align-items:start}
.dossier.flip .dossgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.dossier.flip .dossfig{order:2}
@media(max-width:980px){.dossgrid,.dossier.flip .dossgrid{grid-template-columns:1fr}.dossier.flip .dossfig{order:0}}
.dossfig svg{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r);display:block;background:#fbfaf6}
.dossbody .label{color:var(--terr);margin:1.1rem 0 .3rem}
.dossbody .label:first-child{margin-top:0}
.dossthesis{color:var(--ink-soft);line-height:1.75}
.dossfind{margin:0 0 0 1.2rem;color:var(--muted);font-size:.92rem;line-height:1.65}
.dossfind li{margin-bottom:.35rem}
.dosscontrib{color:var(--ink-soft);font-size:.94rem}
.dossbody .ctlinks{margin-top:1.3rem}

/* profile: direct introduction, portrait and downloadable CV */
.profilehero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,310px);gap:clamp(2rem,6vw,5rem);align-items:center;padding:5.5rem 1.6rem 3rem}
.profilecopy h1{font-size:clamp(2.8rem,6vw,5rem);font-weight:380;line-height:1.02;margin:1rem 0 .55rem;max-width:11ch}
.profilerole{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.13em;color:var(--phos);text-transform:uppercase}
.profileposition{font-family:var(--f-body);font-size:clamp(1.12rem,1.7vw,1.38rem);line-height:1.65;color:var(--ink-soft);max-width:58ch;margin:1.25rem 0 1.5rem}
.profileactions{display:flex;gap:.65rem;flex-wrap:wrap}
.profileportrait{margin:0;position:relative}
.profileportrait::before{content:"";position:absolute;inset:-10px 10px 10px -10px;border:1px solid var(--line);border-top:3px solid var(--phos);border-radius:var(--r);z-index:-1}
.profileportrait img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center 35%;border-radius:var(--r);background:var(--instrument);filter:saturate(.88) contrast(1.02)}
@media(max-width:780px){.profilehero{grid-template-columns:1fr;padding-top:3.8rem}.profileportrait{width:min(72vw,270px);grid-row:1;margin-left:10px}.profilecopy h1{max-width:14ch}}

/* about: two panes converging on shared questions */
.aboutsplit{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:860px){.aboutsplit{grid-template-columns:1fr}}
.apane{border:1px solid color-mix(in srgb, var(--terr) 30%, var(--line));border-top:3px solid var(--terr);border-radius:var(--r);padding:1.6rem 1.5rem;background:linear-gradient(170deg, color-mix(in srgb, var(--terr) 6%, var(--bg-raise)), var(--bg-raise) 60%)}
.apane .label{color:var(--terr);font-size:.75rem}
.apane p{color:var(--muted);font-size:.93rem;line-height:1.7;margin:.7rem 0 1rem}
.tchips{display:flex;gap:.4rem;flex-wrap:wrap}
.tchip{font-family:var(--f-mono);font-size:.63rem;letter-spacing:.06em;border:1px solid color-mix(in srgb, var(--terr) 40%, transparent);color:var(--terr);border-radius:var(--r);padding:.28rem .6rem}
.sqsec{margin-top:3rem;padding:2.6rem 0 2rem;background:linear-gradient(180deg, var(--instrument), var(--bg));border-top:1px solid var(--line-soft)}
.sq{margin:2rem 0;padding-bottom:1.6rem;border-bottom:1px solid var(--line-soft)}
.sq h3{font-size:1.5rem;font-weight:400;margin-bottom:.9rem}
.sqgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:760px){.sqgrid{grid-template-columns:1fr}}
.sqside{border-left:3px solid var(--terr);padding:.2rem 0 .2rem 1rem}
.sqside .label{color:var(--terr)}
.sqside p{color:var(--ink-soft);font-size:.92rem;line-height:1.7;margin-top:.25rem}
.sqrel{margin-top:.8rem;color:var(--faint)}

/* practice lineage: substantiated work history separate from publication dates */
.lineage{max-width:980px}
.lineage-item{display:grid;grid-template-columns:10rem 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);position:relative}
.lineage-item::before{content:"";position:absolute;left:9.58rem;top:2.25rem;width:8px;height:8px;border-radius:50%;background:var(--bg);border:2px solid var(--phos)}
.lineage-period{color:var(--phos);font-size:.86rem;letter-spacing:.08em;padding-top:.35rem}
.lineage-body{padding-left:1rem}
.lineage-body h2{font-size:clamp(1.45rem,2.4vw,2rem);font-weight:410;margin-bottom:.55rem}
.lineage-body>p{color:var(--ink-soft);font-size:1.02rem;line-height:1.65}
.lineage-detail{color:var(--muted)!important;font-size:.92rem!important;line-height:1.65!important;margin-top:.7rem!important;max-width:70ch}
.lineage-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.lineage-links a{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--r);padding:.42rem .7rem}
.lineage-links a:hover{color:var(--phos);border-color:var(--phos)}
@media(max-width:700px){.lineage-item{grid-template-columns:1fr;gap:.5rem}.lineage-item::before{display:none}.lineage-body{padding-left:0}}

.colophoncopy{max-width:48rem;color:var(--ink-soft);font-family:var(--f-body);font-size:1.05rem;line-height:1.7}
.colophoncopy p{padding:1rem 0;margin:0;border-top:1px solid var(--line-soft)}
.colophoncopy strong{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.1em;color:var(--ink);text-transform:uppercase}

/* ══ UX pass: wayfinding + progressive disclosure ══ */
.kicker{font-family:var(--f-body);font-size:.84rem;letter-spacing:.005em;font-weight:700;color:var(--terr,var(--muted));margin-bottom:.45rem}
.kicker .knum{color:var(--faint)}
/* what-i-do paths */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:900px){.paths{grid-template-columns:1fr}}
.path{border-top:3px solid var(--terr);padding:1.6rem 0 1rem;transition:transform .22s var(--spring)}
.path h3{font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:410;margin:.3rem 0 .5rem;color:var(--ink)}
.path p{color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:30ch}
.path .doorgo{display:block;margin-top:.9rem;color:var(--terr);font-size:.85rem;letter-spacing:.08em}
.path:hover{transform:translateY(-2px)}
/* compact archive rows: title + meta only */
.hubrow.compact{grid-template-columns:1fr auto;padding:.7rem .4rem}
.hubrow.compact .hx{display:none}
/* current signal strip */
.signalstrip{display:flex;gap:2rem;align-items:baseline;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--r);background:var(--instrument);padding:1.2rem 1.4rem;font-size:1.05rem}
.signalstrip .label{margin:0}
.signalstrip p{color:var(--ink-soft);margin:0}
/* work page: flagship vs compact */
.flaggrid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
@media(max-width:900px){.flaggrid{grid-template-columns:1fr}}
.morework .hubrow .hx{display:none}
/* writing territories grid */
.terrgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
@media(max-width:1000px){.terrgrid{grid-template-columns:1fr 1fr}}
.terrcell{border-top:3px solid var(--terr);padding:1rem 0 .6rem;transition:transform .2s var(--spring)}
.terrcell:hover{transform:translateY(-2px)}
.terrcell h3{font-size:1.3rem;font-weight:430;color:var(--ink)}
.terrcell .cnt{font-family:var(--f-mono);font-size:1.4rem;color:var(--terr);font-variant-numeric:lining-nums}
.terrcell p{color:var(--muted);font-size:.92rem;line-height:1.5}
/* papers: overview | curriculum modes + navigator */
.pmodes{display:flex;gap:.4rem;margin:1.4rem 0 0}
.pmode{font-family:var(--f-body);font-size:.92rem;letter-spacing:.005em;font-weight:650;padding:.6rem 1.4rem;border:1px solid var(--line);border-bottom:3px solid transparent;border-radius:var(--r);color:var(--muted);transition:all .15s}
.pmode.on{color:var(--ink);border-bottom-color:var(--phos);background:var(--bg-raise);font-weight:500}
.pmode:hover{color:var(--ink)}
body.mode-curriculum .p-overview{display:none}
body.mode-overview .p-curriculum{display:none}
.curgrid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2rem;align-items:start}
@media(max-width:1080px){.curgrid{grid-template-columns:1fr}.curnav{display:none}}
.curnav{position:sticky;top:4.4rem;max-height:calc(100vh - 6rem);overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raise);padding:1rem .4rem 1rem 1rem}
.curnav .label{margin-bottom:.5rem}
.curnav a{display:flex;gap:.6rem;align-items:baseline;font-family:var(--f-mono);font-size:.8rem;color:var(--muted);padding:.32rem .4rem;border-radius:var(--r);line-height:1.35}
.curnav a:hover{color:var(--ink);background:var(--instrument)}
.curnav a.on{color:var(--phos);background:var(--phos-dim)}
.curnav a .n{color:var(--faint);min-width:1.7em}
.secmark{font-family:var(--f-mono);font-size:.8rem;letter-spacing:.16em;color:var(--faint);padding:.8rem 1rem 0}
.psec-h h2{font-size:1.35rem}

/* ══ Editorial systems journal · August 2026 ═══════════════════════════════
   The interface is deliberately flatter and quieter than a portfolio
   template. Colour identifies territory; typography and rules carry hierarchy. */
:root{
  --bg:#ffffff; --bg-raise:#ffffff; --paper:#ffffff; --instrument:#f4f5ff;
  --ink:#111426; --ink-soft:#343852; --muted:#68708a; --faint:#949bb0;
  --line:#d8ddec; --line-soft:#e9ecf5;
  --t-agentic:#5b5cf6; --t-gov:#0d9488; --t-memory:#d97706;
  --t-research:#0284c7; --t-mind:#f05e89; --t-atlas:#8b5cf6;
  --t-lapis:#4361ee; --t-copper:#14b8a6; --t-saffron:#d97706;
  --phos:#5b5cf6; --phos-dim:rgba(91,92,246,.08); --phos-glow:transparent;
  --machine:#4361ee; --mind:#f05e89; --vermilion:#f97362;
  --sel:rgba(91,92,246,.16);
  --shadow:none; --shadow-soft:none; --plate:#ffffff;
  --f-display:'Space Grotesk',system-ui,sans-serif;
  --f-body:'Space Grotesk',system-ui,sans-serif;
  --f-prose:'Source Serif 4',Georgia,serif;
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;
  --r:3px;
}
[data-theme="dark"]{
  --bg:#11130f; --bg-raise:#171a15; --paper:#151713; --instrument:#20231d;
  --ink:#f3f2eb; --ink-soft:#d6d7cf; --muted:#a5a89d; --faint:#777b70;
  --line:#3a3e35; --line-soft:#292d26;
  --t-agentic:#8e7eff; --t-gov:#4cc9ad; --t-memory:#ffb347;
  --t-research:#64c9df; --t-mind:#ff779f; --t-atlas:#b596ff;
  --t-lapis:#83a6ff; --t-copper:#5ad3c0; --t-saffron:#ffc15c;
  --phos:#8e7eff; --phos-dim:rgba(142,126,255,.11); --plate:#171a15;
}

body{
  background:var(--bg);
  background-attachment:scroll;
  font-size:clamp(16.5px,1vw,18px);
  line-height:1.64;
}
h1,h2,h3{font-weight:600;letter-spacing:-.042em;line-height:1.08}

/* Navigation behaves like a publication masthead, not an app toolbar. */
.gnav{
  padding:.82rem clamp(1rem,3vw,2.5rem);
  background:color-mix(in srgb,var(--bg) 96%,transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ink);
}
.gnav .brand{font-size:.98rem;font-weight:600;letter-spacing:-.025em}
.gnav .brand em{color:var(--ink);border-bottom:3px solid var(--phos)}
.gnav .links{gap:clamp(.8rem,2vw,1.55rem)}
.gnav .links a{font-size:.82rem;font-weight:600;letter-spacing:-.01em}
.gnav .links a.on{border-bottom-color:var(--phos)}
.gnav .kbd,.gnav .tbtn{border-radius:50%;background:transparent;border-color:var(--line);letter-spacing:0}

.wrap{max-width:1180px;padding-left:clamp(1.15rem,3vw,2.2rem);padding-right:clamp(1.15rem,3vw,2.2rem)}
.narrow{max-width:1180px;padding-left:clamp(1.15rem,3vw,2.2rem);padding-right:clamp(1.15rem,3vw,2.2rem)}
.m-paper,.m-instrument{background:var(--bg);padding-bottom:3rem}
.panel,.status,.signalstrip{border-radius:0;box-shadow:none}

/* Page openings use a compact editorial grid. */
.hubhero,.dochead{padding-top:clamp(3.1rem,7vw,6rem);padding-bottom:clamp(1.6rem,3vw,2.5rem)}
.hubhero h1,.dochead h1{
  font-size:clamp(2.8rem,6.8vw,5.6rem);
  font-weight:600;line-height:.98;letter-spacing:-.065em;
  margin:1rem 0 1.3rem;max-width:16ch;
}
.hubhero .sub{max-width:58ch;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.55;color:var(--ink-soft)}
.dochead .meta{border-top:1px solid var(--line);padding-top:.8rem;margin-top:1.4rem;font-size:.72rem;letter-spacing:.035em}
.dochead .workdeck{max-width:64ch;font-size:1.04rem;line-height:1.55;color:var(--ink-soft)}
.crumb.label{font-size:.72rem;font-weight:600;letter-spacing:0;color:var(--muted)}
.dochead h1{font-size:clamp(2.8rem,5.2vw,4.7rem);max-width:20ch}
.paper-brief{
  max-width:68ch;margin:.2rem 0 0;font-family:var(--f-prose);
  font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.58;color:var(--ink-soft);
  text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;
  overflow-wrap:break-word;
}
.article-taxonomy{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem;max-width:62rem}
.series-mark,.tag-mark,.hub-taxonomy{
  font-family:var(--f-body);font-size:.7rem;line-height:1.3;color:var(--ink-soft);
  border:1px solid var(--line);padding:.32rem .55rem;background:var(--bg-raise)
}
.series-mark{border-color:var(--terr);color:var(--terr);font-weight:700}
.tag-mark{background:var(--instrument)}
.hub-taxonomy{border:0;background:transparent;padding:0;color:var(--muted);text-align:right;max-width:25rem}

/* Long-form reading: justified, hyphenated, calm and book-like. */
.reading{display:block;padding-top:2rem}
.reading>.prose{width:100%;max-width:70rem;margin:0 auto}
.prose{
  max-width:none;min-width:0;font-family:var(--f-prose);
  font-size:clamp(16.5px,1.05vw,18px);line-height:1.68;color:var(--ink-soft);
  text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;
  overflow-wrap:break-word;font-kerning:normal;
}
.prose>:where(p,ul,ol,blockquote,h2,h3){max-width:86ch;margin-left:auto;margin-right:auto}
.imported-paper{--measure:86ch!important;--wide:70rem!important}
.imported-paper .article-shell{width:100%;max-width:70rem!important;padding:clamp(1.25rem,3vw,3rem)!important}
.prose p,.prose li{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.prose > p:first-of-type{
  font-family:var(--f-prose);font-size:clamp(18.5px,1.35vw,21px);
  line-height:1.58;color:var(--ink);text-align:justify;
  border-left:5px solid var(--terr);padding-left:1.2rem;margin-bottom:2.2rem;
}
.prose > p:first-of-type::first-letter{float:none;padding:0;font:inherit;color:inherit}
.prose strong{font-weight:700;color:var(--ink);background:none}
.prose h2,.prose h3,.prose th,.prose td,.prose figcaption,.prose pre,.prose code{text-align:left;hyphens:none}
.prose h2{
  font-family:var(--f-display);font-size:clamp(1.8rem,2.9vw,2.55rem);font-weight:600;
  margin:3.2em auto .8em;padding-top:.55em;border-top:1px solid var(--ink);
}
.prose h2::before{display:none}
.prose h3{font-family:var(--f-display);font-size:clamp(1.3rem,2vw,1.65rem);font-weight:600;margin:2.4em auto .65em}
.prose blockquote{
  font-size:1.08em;font-style:normal;color:var(--ink);border:0;border-block:1px solid var(--ink);
  padding:1.2rem 0;margin:2rem 0;text-align:justify;
}
.prose table{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);font-family:var(--f-body);font-size:.82rem}
.prose th{font-family:var(--f-body);font-size:.72rem;font-weight:700;letter-spacing:.01em;color:var(--ink);background:var(--instrument);padding:.7rem .65rem}
.prose td{padding:.7rem .65rem;border-bottom:1px solid var(--line);line-height:1.45}
.prose code{border-radius:0}
.prose pre{border-radius:0;border-color:var(--ink);background:var(--instrument)}
.prose figcaption{font-size:.66rem;letter-spacing:.02em}

.prose .decision-box,.prose .framework-box,.prose .evidence-box,.prose .control-box{
  border-radius:0;border:1px solid var(--ink);border-left:8px solid var(--terr);
  background:var(--bg-raise);box-shadow:none;padding:1.25rem 1.35rem;
}
.prose .framework-grid{border-radius:0;box-shadow:none;border-color:var(--ink);background:var(--ink)}
.prose .framework-grid>section{background:var(--bg-raise)}
.prose .framework-grid h3{font-family:var(--f-body);font-size:.75rem;letter-spacing:0;font-weight:700}

/* Long-paper orientation layer. It precedes the visual lead and remains
   separate from the 10,000-word substantive body. */
.paper-tldr{
  max-width:1040px;margin:0 auto 2.6rem;padding:clamp(1.35rem,3.2vw,2.35rem);
  border:1px solid var(--ink);border-top:6px solid var(--accent);background:var(--paper);
  box-shadow:var(--shadow-soft)
}
.paper-tldr h2{font-size:clamp(1.75rem,3.2vw,2.55rem);margin:0 0 .45rem;max-width:21ch}
.paper-tldr>p:first-of-type{max-width:70ch;margin:0 0 1.45rem;color:var(--muted);font-size:.94rem;line-height:1.55}
.paper-tldr ol{list-style:none;counter-reset:tldr;display:grid;gap:0;margin:0;padding:0}
.paper-tldr li{
  counter-increment:tldr;position:relative;margin:0;padding:1.1rem .25rem 1.1rem 3.5rem;
  border-top:1px solid var(--line);color:var(--ink-soft);font-size:.93rem;line-height:1.58;
  text-align:left;hyphens:none
}
.paper-tldr li::before{
  content:counter(tldr,decimal-leading-zero);position:absolute;left:.15rem;top:1.05rem;
  color:var(--accent);font:700 .78rem/1 var(--f-mono);letter-spacing:.04em
}
.paper-tldr li strong{color:var(--ink);font-weight:750}

.reading-note{
  margin:1.1rem 0 2rem;padding:.85rem 1rem;border-left:4px solid var(--terr);
  background:var(--instrument);font-family:var(--f-body);font-size:.86rem;line-height:1.55;
  color:var(--ink-soft);text-align:left!important;hyphens:none!important
}
.paper-depth{
  margin:2.2rem 0;border:1px solid var(--line);border-left:5px solid var(--terr);
  background:var(--bg-raise)
}
.paper-depth>summary{
  cursor:pointer;list-style:none;padding:1rem 3.2rem 1rem 1.1rem;position:relative;
  font-family:var(--f-body);font-size:.86rem;font-weight:700;line-height:1.35;
  color:var(--ink);text-align:left;hyphens:none
}
.paper-depth>summary::-webkit-details-marker{display:none}
.paper-depth>summary::after{
  content:'+';position:absolute;right:1rem;top:.7rem;color:var(--terr);
  font:500 1.55rem/1 var(--f-display)
}
.paper-depth[open]>summary{border-bottom:1px solid var(--line);background:var(--instrument)}
.paper-depth[open]>summary::after{content:'−'}
.paper-depth>summary:focus-visible{outline:3px solid var(--phos);outline-offset:3px}
.paper-depth>*:not(summary){margin-left:1.1rem;margin-right:1.1rem}
.paper-depth>*:last-child{margin-bottom:1.2rem}
.paper-appendix{
  margin-top:3.2rem;padding-top:1rem;border-top:1px solid var(--line-soft);color:var(--ink-soft)
}
.paper-appendix::before{
  content:'APPENDIX';display:block;margin-bottom:.35rem;color:var(--faint);
  font:700 .72rem/1 var(--f-mono);letter-spacing:.14em
}
.series-compass{
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin-top:-.6rem;margin-bottom:1.4rem;
  padding:.85rem 1rem;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)
}
.series-compass a{display:flex;flex-direction:column;gap:.15rem;color:var(--ink)}
.series-compass a:hover strong{color:var(--phos)}
.series-compass strong{font:650 .93rem/1.3 var(--f-display)}
.series-route{color:var(--muted);font:500 .72rem/1.5 var(--f-mono);text-align:right}
.series-route b{padding:0 .25rem;color:var(--phos)}
.consciousness-orbit{margin:0 0 4rem;border:1px solid var(--ink);border-top:6px solid var(--terr);background:#111426;overflow:hidden}
.consciousness-orbit .orbit-scroll{max-width:100%;overflow:hidden}
.consciousness-orbit .orbit-scroll:focus-visible{outline:3px solid var(--phos);outline-offset:-3px}
.consciousness-orbit svg{display:block;width:100%;height:auto}
.consciousness-orbit figcaption{padding:.85rem 1rem;background:var(--bg-raise);color:var(--muted);font-size:.82rem;line-height:1.55}
.series-hub{max-width:980px;padding-bottom:5rem}
.series-hub h2{margin:.55rem 0 1rem;font-weight:430;font-size:clamp(1.8rem,3vw,2.6rem)}
.series-intro{max-width:48rem;color:var(--muted);line-height:1.8}
.series-steps{margin-top:1.7rem;border-top:1px solid var(--line)}
.series-step{display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(10rem,18rem);gap:1rem;align-items:center;padding:1.15rem .4rem;border-bottom:1px solid var(--line-soft);color:var(--ink)}
.series-step:hover strong{color:var(--phos)}
.series-no{color:var(--terr);font:700 .8rem/1 var(--f-mono)}
.series-step strong{display:block;font:600 1.05rem/1.35 var(--f-display)}
.series-step small,.series-step em{display:block;color:var(--muted);font-size:.78rem;line-height:1.45;font-style:normal}
.series-step em{text-align:right}
.series-all-kicker{margin-top:4.5rem}
.series-programmes{display:grid;gap:2.4rem}
.series-programme h3{margin:0 0 .7rem;font:600 clamp(1.15rem,2vw,1.45rem)/1.25 var(--f-display);color:var(--ink)}
.series-lines{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;border-top:1px solid var(--line)}
.series-line{padding:1rem .25rem;border-bottom:1px solid var(--line-soft);color:var(--ink)}
.series-line span{display:block;font:570 .98rem/1.4 var(--f-display)}
.series-line small{display:block;margin-top:.2rem;color:var(--muted);font-size:.76rem;line-height:1.45}
.series-line:hover span{color:var(--phos)}
@media(max-width:760px){
  .consciousness-orbit .orbit-scroll{overflow-x:auto}.consciousness-orbit svg{width:760px;min-width:760px;max-width:none}
  .series-compass{align-items:flex-start;flex-direction:column}.series-route{text-align:left}
  .series-step{grid-template-columns:2.3rem 1fr}.series-step em{grid-column:2;text-align:left}
  .series-lines{grid-template-columns:1fr}
}

/* Architecture plates are technical drawings, not floating prompt cards. */
.leadvisual{max-width:1180px;padding-top:.4rem;padding-bottom:2.6rem}
.leadvisual > .architecture-view,.leadvisual .work-lead,.architecture-view{
  border:1px solid var(--ink);border-top:6px solid var(--terr);border-radius:0;
  background:var(--bg-raise);box-shadow:none;padding:clamp(.65rem,2vw,1.35rem);overflow-x:auto;
}
.leadvisual>.mind-figure,.mind-figure{
  margin:0;border:1px solid var(--ink);border-top:6px solid var(--terr);background:var(--bg-raise);
  padding:clamp(.55rem,1.8vw,1.1rem);overflow:hidden;max-width:100%;
}
.prose .mind-figure{margin:2.5em 0}
.mind-figure svg{display:block;width:100%;height:auto;max-width:100%;padding:0;border:0;background:var(--bg-raise)}
.mind-figure svg text{font-family:var(--f-body);-webkit-text-size-adjust:none;text-size-adjust:none}
.mind-figure figcaption{max-width:66ch;padding-top:.8rem;border-top:1px solid var(--line);font-family:var(--f-body);font-size:.76rem;line-height:1.45;letter-spacing:0}
.architecture-view{margin:2.5em 0}
.architecture-view .dv-svg{display:block;width:100%;min-width:720px;max-width:none;height:auto}
.architecture-view figcaption{position:sticky;left:0;width:min(100%,60ch);padding-top:.75rem;border-top:1px solid var(--line);background:var(--bg-raise)}
.architecture-view:focus-visible{outline:3px solid var(--phos);outline-offset:3px}
.dv-edge,.dv-message{stroke:var(--ink);stroke-width:1.35;opacity:.42}
.dv-svg marker path{fill:var(--ink)}
.dv-edge-label,.dv-message-label{
  width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;
  color:var(--muted);background:color-mix(in srgb,var(--bg-raise) 90%,transparent);
  font:500 10px/1.25 var(--f-mono);letter-spacing:0;text-align:center;padding:2px 5px;
}
.dv-node rect:first-child{fill:var(--bg-raise);stroke:var(--ink);stroke-width:1;filter:none;rx:3px}
.dv-node .dv-cap{rx:0}
.dv-node-text{justify-content:flex-start;text-align:left;color:var(--ink);font:600 14px/1.25 var(--f-display);padding:0 2px}
.dv-index{font:500 10px/1 var(--f-mono);fill:var(--muted);letter-spacing:.08em}
.dv-groups{font:500 10px/1.25 var(--f-body)}
.dv-groups span{border-radius:0;border-color:var(--ink);background:transparent;padding:4px 8px}
.dv-person{rx:3px}
.dv-person-label{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  color:#fff;font:700 12px/1.15 var(--f-display);text-align:center;padding:2px;
  overflow-wrap:anywhere;
}
.dv-sequence{min-width:980px!important}
.leadvisual .work-lead svg,.prose svg{border-radius:0;background:var(--bg-raise)}

/* Source-derived maps fill genuine visual gaps between authored figures. */
.section-visual{
  margin:.65rem 0 1.8rem;padding:.75rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);
  font-family:var(--f-body);text-align:left;hyphens:none;
}
.section-visual ol{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:0}
.section-visual li{
  position:relative;margin:0!important;padding:.7rem .8rem .7rem 1rem;
  color:var(--ink);font-size:.76rem;font-weight:600;line-height:1.35;
  text-align:left!important;hyphens:none!important;
}
.section-visual li i{position:absolute;left:0;top:.82rem;width:5px;height:calc(100% - 1.64rem);min-height:18px;background:var(--terr)}
.section-visual.sv-flow ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.section-visual.sv-flow li:not(:last-child)::after{
  content:"";position:absolute;right:-1.55rem;top:50%;width:1.1rem;border-top:1px solid var(--ink);opacity:.55;
}
.section-visual.sv-flow li:not(:last-child)::before{
  content:"";position:absolute;right:-1.55rem;top:calc(50% - 3px);border-left:5px solid var(--ink);border-block:3px solid transparent;opacity:.55;
}
.section-visual.sv-triad ol{grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line)}
.section-visual.sv-triad li{border-right:1px solid var(--line)}
.section-visual.sv-triad li i{left:auto;right:.8rem;top:.7rem;width:8px;height:8px;min-height:0;border-radius:50%}
.section-visual.sv-stack ol{grid-template-columns:1fr}
.section-visual.sv-stack li{border-bottom:1px solid var(--line);padding-left:1.3rem}
.section-visual.sv-stack li:last-child{border-bottom:0}
.article-map{margin:0;border:1px solid var(--ink);border-top:6px solid var(--terr);background:var(--bg-raise);padding:1rem}
.article-map ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}
.article-map li{min-height:130px;padding:1rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.article-map li:last-child{border-right:0}
.article-map span{font:500 .65rem/1 var(--f-mono);color:var(--terr)}
.article-map b{font:600 clamp(.85rem,1.4vw,1.05rem)/1.25 var(--f-display);color:var(--ink)}

/* Flat editorial cards and lists. */
.worksec,.seriessec,.pulsesec,.sqsec,.atlband{background:transparent;border-color:var(--line)}
.wcard,.feat,.seriescard,.obs,.machine-panel,.bfield,.apane{
  border-radius:0;box-shadow:none;background:var(--bg-raise);background-image:none;
  border:1px solid var(--line);border-top:5px solid var(--terr);
}
.wcard:hover,.feat:hover,.seriescard:hover,.obs:hover,.machine-panel:hover,.bfield:hover,.apane:hover{
  transform:translateX(4px);box-shadow:none;
}
.wcard .wdiag{background:var(--bg);border-bottom:1px solid var(--ink)}
.wcard h3,.feat h3,.seriescard h3,.obs h3,.machine-panel h2{font-weight:600}
.wcard .doorgo,.path .doorgo,.bfield .doorgo{font-family:var(--f-body);font-weight:700;letter-spacing:0}
.hubhead{border-bottom:2px solid var(--ink);padding-bottom:.8rem}
.hubhead h2{font-weight:600;letter-spacing:-.04em}
.hubrow{border-bottom:1px solid var(--line);padding:1rem .2rem}
.hubrow:hover{transform:translateX(4px);background:transparent}

/* Library and curriculum: one clean reading surface, no dashboard chrome. */
.pmodes{gap:1.5rem;border-bottom:1px solid var(--line)}
.pmode{border:0;border-radius:0;padding:.7rem 0;border-bottom:4px solid transparent;background:none}
.pmode.on{background:none;border-bottom-color:var(--phos);font-weight:700}
.currnote{border-left:5px solid var(--phos);background:var(--bg-raise);padding:1rem 1.1rem}
.histo{border-radius:0;border:1px solid var(--ink);background:var(--bg-raise);padding:1rem}
.curnav{border-radius:0;border-color:var(--ink);box-shadow:none;background:var(--bg-raise)}
.curnav a{font-family:var(--f-body);font-size:.75rem;border-radius:0}
.curnav a.on{border-left:3px solid var(--phos);background:transparent;padding-left:.7rem}
.psec{border-top:1px solid var(--ink)}
.psec-h{padding:1.1rem .2rem}
.psec-h:hover{background:transparent;color:var(--phos)}
.psec-h h2{font-size:1.2rem;font-weight:600;letter-spacing:-.025em}
.prow{padding:.95rem .2rem;gap:1rem}
.prow .pt b{font-weight:600;font-size:.9rem}
.prow .ptype,.prow .paudit,.prow .psource{border-radius:0;background:transparent}
.hubbar{background:color-mix(in srgb,var(--bg) 96%,transparent)}
input[type="search"],input[type="text"]{border-radius:0;border-color:var(--ink);background:var(--bg-raise);font-size:.85rem}
.btn,.chip{border-radius:0;box-shadow:none}

.dossier{background:transparent;border-top:2px solid var(--ink)}
.dossfig svg,.radarfig2,#opanel{border-radius:0;box-shadow:none}
.profileportrait::before{border-radius:0;border-color:var(--ink)}
.profileportrait img{border-radius:0;filter:saturate(.82) contrast(1.04)}
.profilerole{font-family:var(--f-body);font-weight:700;letter-spacing:0;text-transform:none}
.gfoot{border-top:1px solid var(--ink)}
.gfoot .c,.gfoot .links a{font-family:var(--f-body);font-size:.76rem;letter-spacing:0}

/* Homepage: visible systems map, no ambient-gradient or staged reveal. */
.hero3{background:var(--bg);border-bottom:1px solid var(--ink);padding-top:clamp(2.8rem,6vw,5rem)}
.hero3grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,5rem)}
.herostmt{font-size:clamp(2.65rem,5.4vw,5.1rem);font-weight:600;letter-spacing:-.06em;line-height:.98}
.herostmt .hs-machine,.herostmt .hs-mind{color:var(--ink);font-style:normal}
.hero3text .sub{font-size:1rem;line-height:1.6;color:var(--ink-soft)}
.hero3viz{border-left:1px solid var(--line);padding-left:clamp(1rem,3vw,2.5rem)}
.hero3 .status{font-family:var(--f-body);font-size:.72rem;letter-spacing:0;background:transparent;border:0;border-block:1px solid var(--line);padding:.8rem 0}
#constellation .cn,#constellation .edges{opacity:1!important;animation:none!important}
#constellation .cn .core{animation:none!important}
#constellation .cn text{font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:0;stroke-width:4px}
#constellation .ce{stroke:color-mix(in srgb,var(--ink) 25%,var(--line));stroke-width:1.1}
#constellation .depth circle,#constellation .depth line{stroke:color-mix(in srgb,var(--ink) 12%,var(--line-soft))}
.fieldcaption{font-family:var(--f-body);font-size:.7rem;letter-spacing:0}

@media(max-width:760px){
  .hubhero,.dochead{padding-top:3.2rem}
  .hubhero h1,.dochead h1{font-size:clamp(2.55rem,13vw,4.15rem);max-width:100%}
  .dochead h1{font-size:clamp(2.35rem,10.5vw,3.25rem)}
  .reading{padding-top:1.4rem}
  .prose{font-size:17px;line-height:1.66}
  .paper-brief{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
  .prose,.prose p,.prose li,.prose > p:first-of-type{text-align:left;text-justify:auto;hyphens:none;-webkit-hyphens:none}
  .prose > p:first-of-type{font-size:19px;padding-left:.85rem}
  .prose table{display:block;width:100%;max-width:100%;overflow-x:auto}
  .leadvisual{padding-left:0;padding-right:0}
  .paper-tldr{margin:0 0 1.8rem;border-left:0;border-right:0;padding:1.15rem 1rem}
  .paper-tldr li{padding-left:2.9rem;font-size:.9rem;line-height:1.58}
  .leadvisual > .architecture-view,.leadvisual .work-lead{border-left:0;border-right:0;padding:.65rem}
  .leadvisual>.mind-figure{border-left:0;border-right:0;padding:.45rem}
  .mind-figure figcaption{font-size:.72rem}
  .mind-figure .figbtn{opacity:1}
  .architecture-view{border-radius:0;margin-left:0;margin-right:0;max-width:100%;contain:inline-size}
  .architecture-view .dv-svg{min-width:650px}
  .architecture-view .dv-sequence{min-width:980px!important}
  .section-visual.sv-flow ol,.section-visual.sv-triad ol{grid-template-columns:1fr}
  .section-visual.sv-flow li:not(:last-child)::after,.section-visual.sv-flow li:not(:last-child)::before{display:none}
  .section-visual.sv-triad{border-left:0}
  .section-visual.sv-triad li{border-right:0;border-bottom:1px solid var(--line)}
  .article-map ol{grid-template-columns:1fr 1fr}
  .article-map li:nth-child(2){border-right:0}
  .article-map li{min-height:100px;border-bottom:1px solid var(--line)}
  .hubrow.compact{grid-template-columns:1fr}
  .hub-taxonomy{text-align:left;max-width:100%}
}

/* Visual edition — editorial interface layer */
/*
 * Visual edition — September 2026
 * A quiet editorial layer for rajeshrmahapatra.com.
 * Loaded after the legacy styles so every public page shares one rhythm.
 */

:root {
  --ve-paper: #fbfaf7;
  --ve-paper-raised: #fffefb;
  --ve-ink: #14171f;
  --ve-ink-soft: #3f4652;
  --ve-muted: #69717d;
  --ve-line: #d9d8d2;
  --ve-line-strong: #8d929a;
  --ve-blue: #3659d9;
  --ve-blue-soft: #edf0fc;
  --ve-serif: "Source Serif 4", Georgia, Cambria, "Times New Roman", serif;
  --ve-sans: "Space Grotesk", Inter, system-ui, -apple-system, sans-serif;
  --ve-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --ve-shell: min(calc(100% - 3rem), 1320px);
  --ve-reading: 48rem;
  --bg: var(--ve-paper);
  --bg-raise: var(--ve-paper-raised);
  --plate: var(--ve-paper-raised);
  --instrument: #f4f3ef;
  --ink: var(--ve-ink);
  --ink-soft: var(--ve-ink-soft);
  --muted: var(--ve-muted);
  --faint: #8a9099;
  --line: var(--ve-line);
  --line-soft: #e9e7e1;
  --phos: var(--ve-blue);
  --f-display: var(--ve-sans);
  --f-body: var(--ve-serif);
  --f-mono: var(--ve-mono);
  color-scheme: light;
}

* { box-sizing: border-box; }

html {
  background: var(--ve-paper);
  scroll-padding-top: 4.25rem;
}

body,
body[data-page-kind] {
  margin: 0;
  background: var(--ve-paper);
  color: var(--ve-ink);
  font-family: var(--ve-serif);
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

a { text-underline-offset: .18em; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--ve-blue) !important;
  outline-offset: 3px !important;
  border-radius: 0 !important;
}

img,
svg,
video { max-width: 100%; }

.wrap,
.narrow {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.kbd,
.tbtn,
.breath,
[data-palette],
.command-dialog { display: none !important; }

/* Navigation: one slim, useful line. */
.gnav {
  position: sticky !important;
  top: 0;
  z-index: 100;
  width: 100%;
  min-height: 3.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: .7rem max(1.5rem, calc((100vw - 1320px) / 2)) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  background: color-mix(in srgb, var(--ve-paper) 94%, transparent) !important;
  backdrop-filter: blur(14px);
  box-shadow: none !important;
  font-family: var(--ve-sans);
}

.gnav .brand,
.masthead .brand {
  flex: 0 0 auto;
  color: var(--ve-ink) !important;
  font: 650 .9rem/1.15 var(--ve-sans) !important;
  letter-spacing: -.025em !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.gnav .brand em {
  color: inherit !important;
  font-style: normal;
  border: 0 !important;
}

.gnav .links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(.8rem, 2vw, 1.65rem) !important;
  min-width: 0;
}

.gnav .links a {
  padding: .25rem 0 !important;
  border: 0 !important;
  color: var(--ve-muted) !important;
  font: 580 .75rem/1.2 var(--ve-sans) !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.gnav .links a:hover,
.gnav .links a.on { color: var(--ve-ink) !important; }

.gnav .links a.on { box-shadow: inset 0 -1px var(--ve-ink); }

.skip,
.skip-link {
  position: fixed !important;
  top: .55rem !important;
  left: .75rem !important;
  z-index: 1000 !important;
  transform: translateY(-180%);
}

.skip:focus,
.skip-link:focus { transform: none; }

/* Shared editorial typography and spacing. */
.label,
.kicker,
.crumb,
.series,
.eyebrow,
.part-kicker {
  color: var(--ve-muted) !important;
  font: 600 .65rem/1.3 var(--ve-mono) !important;
  letter-spacing: .075em !important;
  text-transform: uppercase;
}

.crumb a { color: inherit !important; }

.hubhero,
.dochead {
  padding-top: clamp(2.8rem, 6vw, 5.8rem) !important;
  padding-bottom: clamp(1.8rem, 3vw, 2.7rem) !important;
}

.hubhero h1,
.dochead h1,
.profilecopy h1,
.catalog-hero h1 {
  max-width: 18ch;
  margin: .5rem 0 .85rem !important;
  color: var(--ve-ink) !important;
  font: 620 clamp(2.8rem, 6.4vw, 6.6rem)/.94 var(--ve-sans) !important;
  letter-spacing: -.06em !important;
  text-wrap: balance;
}

.hubhero .sub,
.dochead .sub,
.profileposition,
.catalog-hero .stand {
  max-width: 62rem !important;
  margin: 0 !important;
  color: var(--ve-ink-soft) !important;
  font: 400 clamp(1.05rem, 1.6vw, 1.35rem)/1.52 var(--ve-serif) !important;
  text-align: left !important;
  hyphens: none !important;
}

.btn,
.collection-link,
.doorgo {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  min-height: 0 !important;
  padding: .18rem 0 .22rem !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ve-ink) !important;
  font: 650 .76rem/1.25 var(--ve-sans) !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

.btn:hover,
.collection-link:hover,
.doorgo:hover { color: var(--ve-blue) !important; }

.btn.primary {
  padding: .72rem .95rem !important;
  border: 1px solid var(--ve-ink) !important;
  background: var(--ve-ink) !important;
  color: white !important;
}

/* Homepage: a single editorial composition, not a stack of cards. */
body[data-page-kind="home"] .hero3 {
  padding: clamp(3.4rem, 7vw, 7rem) 0 clamp(2.5rem, 5vw, 4.8rem) !important;
  border: 0 !important;
  background: var(--ve-paper) !important;
}

body[data-page-kind="home"] .hero3grid {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
}

body[data-page-kind="home"] .hero3text {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  column-gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
  padding: 0 !important;
}

body[data-page-kind="home"] .hero3text > .label {
  grid-column: 1 / -1;
  margin-bottom: 1rem;
  color: var(--ve-blue) !important;
}

body[data-page-kind="home"] .herostmt {
  grid-column: 1;
  grid-row: 2 / span 3;
  max-width: 15ch !important;
  margin: 0 !important;
  color: var(--ve-ink) !important;
  font: 620 clamp(3.3rem, 7.2vw, 7.35rem)/.91 var(--ve-sans) !important;
  letter-spacing: -.07em !important;
  text-wrap: balance;
}

body[data-page-kind="home"] .hero3text .sub {
  grid-column: 2;
  grid-row: 2;
  max-width: 36rem !important;
  margin: .25rem 0 0 !important;
  color: var(--ve-ink-soft) !important;
  font: 400 clamp(1.05rem, 1.45vw, 1.28rem)/1.56 var(--ve-serif) !important;
  text-align: left !important;
  hyphens: none !important;
}

body[data-page-kind="home"] .hero-actions {
  grid-column: 2;
  grid-row: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 1.15rem !important;
  margin-top: 1.5rem !important;
}

body[data-page-kind="home"] .hero3index,
body[data-page-kind="home"] .practice-strip,
body[data-page-kind="home"] .paths { display: none !important; }

body[data-page-kind="home"] .collection-feature {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(2.5rem, 5vw, 4.75rem) 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr) !important;
  gap: clamp(2rem, 7vw, 7rem) !important;
  align-items: end !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page-kind="home"] .collection-feature--text {
  grid-template-columns: minmax(0, 1fr) minmax(240px, .38fr) !important;
}

body[data-page-kind="home"] .collection-feature--text::after {
  content: "01 / Foundations to production";
  align-self: start;
  justify-self: end;
  color: var(--ve-muted);
  font: 500 .68rem/1.4 var(--ve-mono);
  letter-spacing: .04em;
}

body[data-page-kind="home"] .collection-feature:not(.collection-feature--text)::before {
  content: "02 / Intelligence across systems and minds";
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  justify-self: end;
  color: var(--ve-muted);
  font: 500 .68rem/1.4 var(--ve-mono);
  letter-spacing: .04em;
}

body[data-page-kind="home"] .collection-feature h2 {
  max-width: 18ch;
  margin: .45rem 0 .8rem !important;
  color: var(--ve-ink) !important;
  font: 600 clamp(2.25rem, 4.8vw, 4.8rem)/.96 var(--ve-sans) !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

body[data-page-kind="home"] .collection-feature p {
  max-width: 48rem !important;
  margin: 0 0 1rem !important;
  color: var(--ve-ink-soft) !important;
  font: 400 1.02rem/1.58 var(--ve-serif) !important;
  text-align: left !important;
  hyphens: none !important;
}

body[data-page-kind="home"] .collection-feature img {
  grid-column: 2;
  width: 100% !important;
  max-height: 19rem !important;
  border: 0 !important;
  filter: saturate(.75) contrast(.96);
  object-fit: cover;
}

body[data-page-kind="home"] .worksec {
  margin: clamp(2rem, 5vw, 4.5rem) 0 0 !important;
  padding: clamp(3rem, 6vw, 6rem) 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-ink) !important;
  border-bottom: 1px solid var(--ve-ink) !important;
  background: transparent !important;
}

body[data-page-kind="home"] .worksec .hubhead,
body[data-page-kind="home"] .seriessec .hubhead,
body[data-page-kind="home"] .obsec .hubhead {
  margin-bottom: 1.2rem;
}

body[data-page-kind="home"] .worksec .hubhead h2,
body[data-page-kind="home"] .seriessec .hubhead h2,
body[data-page-kind="home"] .obsec .hubhead h2 {
  margin: .35rem 0 !important;
  font: 600 clamp(2.1rem, 4.2vw, 4.2rem)/.98 var(--ve-sans) !important;
  letter-spacing: -.05em !important;
}

body[data-page-kind="home"] .work-context {
  max-width: 55rem;
  margin: 0 0 2rem !important;
  color: var(--ve-ink-soft) !important;
  font-size: 1rem;
  line-height: 1.55;
  text-align: left !important;
  hyphens: none !important;
}

body[data-page-kind="home"] .workgrid {
  display: block !important;
  counter-reset: work;
}

body[data-page-kind="home"] .wcard,
body[data-page-kind="home"] .wcard:first-child {
  counter-increment: work;
  position: relative;
  display: grid !important;
  grid-template-columns: 3.5rem minmax(0, .82fr) minmax(310px, .58fr) !important;
  grid-template-rows: auto auto 1fr;
  gap: .55rem clamp(1.2rem, 3.5vw, 3.5rem) !important;
  min-height: 0 !important;
  padding: 2rem 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--ve-ink) !important;
  text-decoration: none !important;
}

body[data-page-kind="home"] .wcard::before {
  content: "0" counter(work);
  grid-column: 1;
  grid-row: 1;
  color: var(--ve-muted);
  font: 500 .68rem/1.4 var(--ve-mono);
}

body[data-page-kind="home"] .wcard .wdiag,
body[data-page-kind="home"] .wcard:first-child .wdiag {
  grid-column: 3;
  grid-row: 1 / 5;
  width: 100%;
  max-height: 15rem !important;
  overflow: hidden;
  border: 0 !important;
  background: var(--ve-paper-raised) !important;
}

body[data-page-kind="home"] .wcard .wdiag svg { width: 100%; height: auto; }

body[data-page-kind="home"] .wcard h3,
body[data-page-kind="home"] .wcard:first-child h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ve-ink) !important;
  font: 600 clamp(1.55rem, 2.8vw, 2.65rem)/1.04 var(--ve-sans) !important;
  letter-spacing: -.045em !important;
}

body[data-page-kind="home"] .wcard p {
  grid-column: 2;
  grid-row: 2;
  max-width: 44rem;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ve-ink-soft) !important;
  font: 400 .96rem/1.55 var(--ve-serif) !important;
}

body[data-page-kind="home"] .wcard .doorgo {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  margin-top: .7rem;
}

body[data-page-kind="home"] .seriessec,
body[data-page-kind="home"] .obsec {
  margin: 0 !important;
  padding: clamp(3rem, 6vw, 6rem) 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-page-kind="home"] .seriesgrid {
  display: block !important;
  counter-reset: writing;
  border-top: 1px solid var(--ve-ink);
}

body[data-page-kind="home"] .seriescard {
  counter-increment: writing;
  display: grid !important;
  grid-template-columns: 3.5rem minmax(260px, .7fr) minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  align-items: baseline;
  padding: 1.4rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--ve-ink) !important;
  text-decoration: none !important;
}

body[data-page-kind="home"] .seriescard::before {
  content: "0" counter(writing);
  color: var(--ve-muted);
  font: 500 .68rem/1.4 var(--ve-mono);
}

body[data-page-kind="home"] .seriescard .label { display: none; }

body[data-page-kind="home"] .seriescard h3 {
  margin: 0 !important;
  color: inherit !important;
  font: 600 clamp(1.2rem, 2.1vw, 1.8rem)/1.12 var(--ve-sans) !important;
  letter-spacing: -.035em !important;
}

body[data-page-kind="home"] .seriescard p {
  margin: 0 !important;
  color: var(--ve-muted) !important;
  font: 400 .92rem/1.5 var(--ve-serif) !important;
}

body[data-page-kind="home"] .seriesfoot {
  display: flex;
  gap: 1.2rem;
  margin-top: 1.5rem !important;
}

body[data-page-kind="home"] .obsgrid {
  display: block !important;
  border-top: 1px solid var(--ve-ink);
}

body[data-page-kind="home"] .obs {
  display: grid !important;
  grid-template-columns: 12rem minmax(220px, .5fr) minmax(0, 1fr) !important;
  grid-column: auto !important;
  grid-row: auto !important;
  gap: 1.5rem;
  align-items: baseline;
  min-height: 0 !important;
  padding: 1.2rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--ve-ink) !important;
  text-decoration: none !important;
}

body[data-page-kind="home"] .obs .label { grid-column: 1; }

body[data-page-kind="home"] .obs h3 {
  grid-column: 2;
  margin: 0 !important;
  color: var(--ve-ink) !important;
  font: 600 1.25rem/1.2 var(--ve-sans) !important;
}

body[data-page-kind="home"] .obs p {
  grid-column: 3;
  margin: 0 !important;
  color: var(--ve-muted) !important;
  font: 400 .9rem/1.5 var(--ve-serif) !important;
}

body[data-page-kind="home"] .obs svg { display: none !important; }

body[data-page-kind="home"] .contact {
  padding: clamp(2.8rem, 5vw, 5rem) 0 !important;
  border-top: 1px solid var(--ve-ink);
}

body[data-page-kind="home"] .contact h2 {
  max-width: 34ch;
  margin: 0 0 1.35rem !important;
  font: 560 clamp(1.55rem, 3vw, 2.75rem)/1.12 var(--ve-sans) !important;
  letter-spacing: -.04em;
}

/* Index pages: lead with the catalogue and make discovery immediate. */
.hubvisual,
.library-routes { display: none !important; }

.featured {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid var(--ve-ink);
}

.feat {
  min-height: 0 !important;
  padding: 1.3rem 1.3rem 1.4rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.feat + .feat { padding-left: 1.3rem !important; border-left: 1px solid var(--ve-line) !important; }
.feat h3 { font: 600 1.15rem/1.2 var(--ve-sans) !important; letter-spacing: -.025em; }
.feat p { color: var(--ve-muted) !important; font: 400 .86rem/1.48 var(--ve-serif) !important; }

.terrgrid { display: none !important; }

/* Older generated writing hubs placed a duplicate featured/topics preamble
   before the filterable catalogue. Hide that whole wrapper until regenerated. */
body:has(#hublist) .wrap:has(> .featured) { display: none !important; }

.hubbar {
  position: sticky;
  top: 3.35rem;
  z-index: 60;
  display: flex !important;
  align-items: center;
  gap: .45rem !important;
  width: 100% !important;
  max-width: none !important;
  margin: 1.4rem 0 0 !important;
  padding: .7rem max(1.5rem, calc((100vw - 1320px) / 2)) !important;
  overflow-x: auto;
  border-block: 1px solid var(--ve-line) !important;
  background: color-mix(in srgb, var(--ve-paper) 95%, transparent) !important;
  backdrop-filter: blur(12px);
}

.hubbar input,
.catalog-controls input,
.catalog-controls select,
.radar-controls input {
  min-height: 2.45rem !important;
  padding: .58rem .7rem !important;
  border: 1px solid var(--ve-line-strong) !important;
  border-radius: 0 !important;
  background: var(--ve-paper-raised) !important;
  box-shadow: none !important;
  color: var(--ve-ink) !important;
  font: 550 .78rem/1.2 var(--ve-sans) !important;
}

.hubbar input { flex: 0 0 min(26rem, 42vw); }

.chip,
.radar-filter {
  flex: 0 0 auto;
  min-height: 2.15rem !important;
  padding: .46rem .7rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--ve-muted) !important;
  font: 600 .68rem/1.1 var(--ve-sans) !important;
  white-space: nowrap;
}

.chip.on,
.radar-filter.on,
.chip:hover,
.radar-filter:hover {
  background: var(--ve-ink) !important;
  color: white !important;
}

#hublist { padding-top: clamp(2rem, 4vw, 4rem) !important; }

.hubsec { margin: 0 0 clamp(3rem, 6vw, 6rem) !important; }

body[data-page-kind="hub"] .seriesgrid {
  display: block !important;
  border-top: 1px solid var(--ve-ink);
}

body[data-page-kind="hub"] .seriescard {
  display: grid !important;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1fr) !important;
  gap: 2rem !important;
  align-items: baseline;
  min-height: 0 !important;
  padding: 1.1rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--ve-ink) !important;
  text-decoration: none !important;
}

body[data-page-kind="hub"] .seriescard h3 {
  margin: 0 !important;
  color: inherit !important;
  font: 600 clamp(1.2rem, 2vw, 1.7rem)/1.15 var(--ve-sans) !important;
  letter-spacing: -.035em !important;
}

body[data-page-kind="hub"] .seriescard p {
  margin: 0 !important;
  color: var(--ve-muted) !important;
  font: 400 .92rem/1.5 var(--ve-serif) !important;
}

body[data-page-kind="hub"] .workgrid {
  display: block !important;
  border-top: 1px solid var(--ve-ink);
}

body[data-page-kind="hub"] .workgrid .wcard {
  display: grid !important;
  grid-template-columns: minmax(0, .75fr) minmax(300px, .55fr) !important;
  grid-template-rows: auto auto 1fr;
  gap: .5rem clamp(1.5rem, 4vw, 4rem) !important;
  min-height: 0 !important;
  padding: 1.6rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body[data-page-kind="hub"] .workgrid .wdiag {
  grid-column: 2;
  grid-row: 1 / 5;
  max-height: 14rem !important;
  border: 0 !important;
  background: var(--ve-paper-raised) !important;
}

body[data-page-kind="hub"] .workgrid .wcard h3,
body[data-page-kind="hub"] .workgrid .wcard p,
body[data-page-kind="hub"] .workgrid .wcard .doorgo {
  grid-column: 1;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

body[data-page-kind="hub"] .workgrid .wcard h3 {
  margin-block: 0 !important;
  font: 600 clamp(1.4rem, 2.6vw, 2.35rem)/1.08 var(--ve-sans) !important;
  letter-spacing: -.04em !important;
}

body[data-page-kind="hub"] .workgrid .wcard p {
  margin-block: 0 !important;
  color: var(--ve-muted) !important;
  font: 400 .93rem/1.5 var(--ve-serif) !important;
}

.hubsec .hubhead {
  display: grid !important;
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: baseline;
  padding: 0 0 .85rem !important;
  border-bottom: 2px solid var(--ve-ink) !important;
}

.hubsec .hubhead h2 {
  margin: 0 !important;
  font: 600 clamp(1.8rem, 3.5vw, 3.45rem)/1 var(--ve-sans) !important;
  letter-spacing: -.05em !important;
}

.irow,
.hubrow,
.hubrow.compact {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  align-items: baseline;
  padding: .9rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ve-ink) !important;
  text-decoration: none !important;
}

.irow:hover,
.hubrow:hover { color: var(--ve-blue) !important; background: transparent !important; }

.hubrow .ht {
  font: 600 .94rem/1.32 var(--ve-sans) !important;
  letter-spacing: -.015em;
}

.hub-taxonomy {
  color: var(--ve-muted) !important;
  font: 500 .7rem/1.4 var(--ve-mono) !important;
}

/* Collection catalogue: filters and essays stay together; no empty stage. */
.canon-catalog {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 0 3rem !important;
}

.catalog-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, .45fr) !important;
  gap: clamp(2rem, 6vw, 6rem) !important;
  align-items: end !important;
  margin: 0 !important;
  padding: clamp(2.8rem, 6vw, 6rem) 0 clamp(2rem, 4vw, 3.5rem) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-ink) !important;
}

.catalog-hero .cover { margin: 0 !important; }

.catalog-hero .cover img {
  width: 100%;
  max-height: 22rem;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: cover;
  filter: saturate(.78) contrast(.96);
}

.catalog-download { margin: 1rem 0 0 !important; }

.catalog-download a {
  display: inline-flex !important;
  width: fit-content;
  padding: .18rem 0 .22rem !important;
  border: 0 !important;
  border-bottom: 1px solid currentColor !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ve-ink) !important;
  font: 650 .76rem/1.3 var(--ve-sans);
  text-decoration: none !important;
}

.catalog-argument { display: none !important; }

.catalog-controls {
  position: sticky !important;
  top: 3.35rem !important;
  z-index: 50;
  display: grid !important;
  grid-template-columns: minmax(260px, 1.4fr) minmax(180px, .55fr) minmax(180px, .55fr) !important;
  gap: .65rem !important;
  margin: 0 !important;
  padding: .8rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  background: color-mix(in srgb, var(--ve-paper) 96%, transparent) !important;
  backdrop-filter: blur(12px);
}

.catalog-status {
  min-height: 0 !important;
  display: flex !important;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 !important;
  padding: .75rem 0 !important;
  color: var(--ve-muted) !important;
  font: 550 .68rem/1.3 var(--ve-mono) !important;
}

.paper-catalog {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 2px solid var(--ve-ink);
  counter-reset: catalogue;
}

.paper-card {
  counter-increment: catalogue;
  display: grid !important;
  grid-template-columns: 3.2rem minmax(210px, .32fr) minmax(300px, .68fr) !important;
  gap: 1.5rem !important;
  align-items: baseline;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1.05rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  color: var(--ve-ink) !important;
  text-decoration: none !important;
}

.paper-card::before {
  content: counter(catalogue, decimal-leading-zero);
  grid-column: 1;
  grid-row: 1 / span 2;
  color: var(--ve-muted);
  font: 500 .62rem/1.4 var(--ve-mono);
}

.paper-card .series {
  grid-column: 2;
  grid-row: 1;
}

.paper-card h2 {
  grid-column: 3;
  grid-row: 1;
  margin: 0 !important;
  color: inherit !important;
  font: 600 clamp(1.08rem, 1.7vw, 1.45rem)/1.2 var(--ve-sans) !important;
  letter-spacing: -.025em !important;
}

.paper-card p {
  grid-column: 3;
  grid-row: 2;
  margin: .15rem 0 0 !important;
  color: var(--ve-muted) !important;
  font: 400 .88rem/1.48 var(--ve-serif) !important;
}

.paper-card .topics { display: none !important; }

.catalog-more { margin: 1.5rem 0 0 !important; }

/* Long-form reading: remove the outer card and let the argument breathe. */
.m-paper,
.canon-shell,
body[data-page-kind="canon-paper"] { background: var(--ve-paper) !important; }

.paper-tldr,
.tldr,
.canon-tldr { display: none !important; }

.m-paper { border-top: 0 !important; padding-bottom: 0 !important; }

.m-paper .dochead {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .34fr);
  gap: 1rem clamp(2rem, 6vw, 6rem);
  align-items: end;
  border-bottom: 1px solid var(--ve-ink);
}

.m-paper .dochead .crumb { grid-column: 1 / -1; }

.m-paper .dochead h1 {
  grid-column: 1;
  max-width: 20ch !important;
  font-size: clamp(2.75rem, 5.8vw, 6rem) !important;
}

.paper-brief,
.article-taxonomy {
  grid-column: 2;
  margin: 0 0 1rem !important;
  color: var(--ve-muted) !important;
  font: 400 1rem/1.5 var(--ve-serif) !important;
}

.leadvisual {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 1.5rem 0 2rem !important;
}

.reading {
  width: var(--ve-shell) !important;
  max-width: 1100px !important;
  display: grid !important;
  grid-template-columns: minmax(0, var(--ve-reading)) minmax(180px, 13rem) !important;
  gap: clamp(2.5rem, 7vw, 6rem) !important;
  align-items: start;
  margin: 0 auto !important;
  padding: clamp(2rem, 4vw, 4rem) 0 0 !important;
}

.prose,
.canon-prose {
  min-width: 0;
  max-width: var(--ve-reading) !important;
  color: #282c34 !important;
  font: 400 clamp(17px, 1.22vw, 19px)/1.72 var(--ve-serif) !important;
  letter-spacing: 0 !important;
}

.prose p,
.prose li,
.canon-prose p,
.canon-prose li {
  text-align: left !important;
  hyphens: none !important;
}

.prose > p:first-of-type,
.canon-prose > p:first-of-type {
  max-width: none !important;
  color: var(--ve-ink) !important;
  font-size: 1.13em !important;
  line-height: 1.6 !important;
}

.prose h2,
.canon-prose h2 {
  margin: 2.5em 0 .65em !important;
  padding: .5em 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-line) !important;
  color: var(--ve-ink) !important;
  font: 600 clamp(1.75rem, 3.1vw, 2.75rem)/1.08 var(--ve-sans) !important;
  letter-spacing: -.045em !important;
}

.prose h3,
.canon-prose h3 {
  margin: 2em 0 .6em !important;
  color: var(--ve-ink) !important;
  font: 600 clamp(1.28rem, 2vw, 1.7rem)/1.2 var(--ve-sans) !important;
  letter-spacing: -.03em !important;
}

.prose figure,
.canon-prose .figure,
.figure {
  margin: 2.2rem 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.prose svg,
.figure-frame,
.figure-frame.dense,
.mermaid-frame {
  padding: clamp(.55rem, 1.4vw, 1.1rem) !important;
  border: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: var(--ve-paper-raised) !important;
  box-shadow: none !important;
}

.prose .decision-box,
.prose .framework-box,
.prose .evidence-box,
.prose .control-box,
.thought,
.worked,
.mechanism,
.evidence,
.hypothesis,
.boundary,
.decision-rule,
.opening-case,
.lab-intro,
.decision-ending {
  max-width: var(--ve-reading) !important;
  margin: 1.8rem auto !important;
  padding: .9rem 0 .9rem 1.15rem !important;
  border: 0 !important;
  border-left: 2px solid var(--ve-blue) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.prose blockquote,
.canon-prose blockquote {
  margin: 1.8rem 0 !important;
  padding: .2rem 0 .2rem 1.15rem !important;
  border: 0 !important;
  border-left: 2px solid var(--ve-line-strong) !important;
  background: transparent !important;
  color: var(--ve-ink-soft) !important;
}

.prose table,
.canon-prose table {
  border-collapse: collapse !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-ink) !important;
  border-bottom: 1px solid var(--ve-ink) !important;
  background: transparent !important;
  font-size: .82em !important;
}

.prose th,
.canon-prose th {
  background: transparent !important;
  border-bottom: 1px solid var(--ve-ink) !important;
}

.prose td,
.canon-prose td { border-bottom: 1px solid var(--ve-line) !important; }

.mtoc,
.canon-toc,
.toc {
  position: sticky !important;
  top: 5rem !important;
  max-height: calc(100vh - 7rem);
  overflow: auto;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-ink) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ve-muted) !important;
  font-family: var(--ve-sans) !important;
}

.mtoc summary,
.canon-toc > h2,
.toc > h2 {
  padding: .72rem 0 !important;
  border: 0 !important;
  color: var(--ve-ink) !important;
  font: 650 .7rem/1.3 var(--ve-mono) !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
}

.mtoc nav,
.canon-toc ol,
.toc ol { columns: 1 !important; }

.mtoc a,
.canon-toc a,
.toc a {
  display: block;
  padding: .32rem 0 !important;
  border: 0 !important;
  color: var(--ve-muted) !important;
  font: 500 .68rem/1.4 var(--ve-sans) !important;
  text-decoration: none !important;
}

/* Standalone convergence essays share the same reading canvas. */
body[data-page-kind="canon-paper"] .paper {
  width: var(--ve-shell) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(2.8rem, 6vw, 6rem) 0 3rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page-kind="canon-paper"] .page-grid {
  width: var(--ve-shell) !important;
  max-width: 1180px !important;
  display: block !important;
  margin: 0 auto !important;
}

body[data-page-kind="canon-paper"] .page-grid > article {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page-kind="canon-paper"] .page-grid .reading-column {
  max-width: none !important;
}

body[data-page-kind="canon-paper"] .hero {
  max-width: 100% !important;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--ve-ink);
}

body[data-page-kind="canon-paper"] .hero h1 {
  max-width: 17ch !important;
  margin: .65rem 0 1rem !important;
  color: var(--ve-ink) !important;
  font: 620 clamp(2.8rem, 6.3vw, 6.5rem)/.94 var(--ve-sans) !important;
  letter-spacing: -.06em !important;
  text-wrap: balance;
}

body[data-page-kind="canon-paper"] .brief {
  max-width: 56rem !important;
  margin: 0 !important;
  color: var(--ve-ink-soft) !important;
  font: 400 clamp(1.05rem, 1.55vw, 1.3rem)/1.52 var(--ve-serif) !important;
}

.canon-route {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  background: transparent !important;
}

.canon-route a {
  min-width: 0;
  padding: .75rem 1rem .8rem 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ve-muted) !important;
  text-decoration: none !important;
}

.canon-route a + a { padding-left: 1rem !important; border-left: 1px solid var(--ve-line) !important; }
.canon-route span { font: 500 .58rem/1.3 var(--ve-mono) !important; letter-spacing: .05em; text-transform: uppercase; }
.canon-route strong { display: block; margin-top: .2rem; color: var(--ve-ink) !important; font: 600 .72rem/1.3 var(--ve-sans) !important; }

.masthead { display: none !important; }

body[data-page-kind="canon-paper"] .layout:has(> .canon-layout) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Older essays wrapped the canonical reader inside a second, incompatible
   sidebar grid. Flatten only that ancestor chain before rebuilding one
   consistent prose + contents composition below. */
body[data-page-kind="canon-paper"] :is(main, article, section, div):has(.canon-layout):not(.canon-layout):not(.canon-shell):not(.paper) {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body[data-page-kind="canon-paper"] .canon-layout:has(> .canon-prose) {
  display: grid !important;
  grid-template-columns: minmax(0, var(--ve-reading)) minmax(180px, 13rem) !important;
  gap: clamp(2.5rem, 7vw, 6rem) !important;
  align-items: start;
  justify-content: center;
  margin-top: clamp(1.5rem, 3vw, 2.75rem) !important;
}

body[data-page-kind="canon-paper"] .canon-layout > .canon-prose:is(main, article, div, section) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body[data-page-kind="canon-paper"] .canon-layout > .canon-toc {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.paper-taxonomy,
.related,
.references,
.glossary {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Profile, library, books and work: useful content without tiles. */
.profilehero {
  grid-template-columns: minmax(0, 1fr) 150px !important;
  gap: clamp(2rem, 6vw, 6rem) !important;
  padding-top: clamp(2.8rem, 6vw, 6rem) !important;
}

.profileportrait {
  width: 150px !important;
  margin: 2rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.profileportrait img { height: auto !important; filter: grayscale(.18) contrast(1.02); }

.editorial-section {
  width: var(--ve-shell);
  max-width: 1320px;
  margin: 0 auto !important;
  padding: clamp(2.5rem, 5vw, 5rem) 0 !important;
  border-top: 1px solid var(--ve-line);
}

.editorial-section > header,
.section-intro {
  display: grid;
  grid-template-columns: minmax(240px, .48fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}

.editorial-section > header h2,
.section-intro h2 {
  margin: 0 !important;
  font: 600 clamp(1.9rem, 3.7vw, 3.6rem)/1 var(--ve-sans) !important;
  letter-spacing: -.05em !important;
}

.editorial-section > header p,
.section-intro p { margin: 0 !important; color: var(--ve-muted) !important; }

.practice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 2rem !important;
  border-top: 1px solid var(--ve-ink);
}

.practice-card {
  padding: 1.4rem 1.5rem 1.5rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.practice-card:nth-child(even) { padding-left: 1.5rem !important; border-left: 1px solid var(--ve-line) !important; }
.practice-card h3 { font: 600 1.25rem/1.2 var(--ve-sans) !important; letter-spacing: -.03em; }
.practice-card p,
.practice-card li { color: var(--ve-muted) !important; font-size: .9rem; }

.machine-panel,
.book-card,
.work-card,
.dossier,
.apane {
  border: 0 !important;
  border-top: 1px solid var(--ve-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Footer stays quiet and close to the content. */
.gfoot {
  width: var(--ve-shell) !important;
  max-width: 1320px !important;
  min-height: 0 !important;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  margin: clamp(2.5rem, 5vw, 5rem) auto 0 !important;
  padding: 1.15rem 0 1.8rem !important;
  border: 0 !important;
  border-top: 1px solid var(--ve-ink) !important;
  background: transparent !important;
  color: var(--ve-muted) !important;
  font: 500 .68rem/1.4 var(--ve-sans) !important;
}

.gfoot .links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1rem !important; }
.gfoot a { color: inherit !important; text-decoration: none !important; }
.gfoot a:hover { color: var(--ve-ink) !important; }

/* Responsive rules keep the editorial hierarchy without horizontal drift. */
@media (max-width: 980px) {
  :root { --ve-shell: min(calc(100% - 2rem), 1320px); }

  body[data-page-kind="home"] .hero3text,
  body[data-page-kind="home"] .collection-feature,
  body[data-page-kind="home"] .collection-feature--text,
  .catalog-hero,
  .m-paper .dochead,
  .editorial-section > header,
  .section-intro {
    grid-template-columns: 1fr !important;
  }

  body[data-page-kind="home"] .herostmt,
  body[data-page-kind="home"] .hero3text .sub,
  body[data-page-kind="home"] .hero-actions,
  .paper-brief,
  .article-taxonomy,
  body[data-page-kind="home"] .collection-feature img {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body[data-page-kind="home"] .hero3text .sub { margin-top: 1.5rem !important; }
  body[data-page-kind="home"] .collection-feature--text::after,
  body[data-page-kind="home"] .collection-feature:not(.collection-feature--text)::before { display: none; }
  body[data-page-kind="home"] .collection-feature img { max-width: 34rem; }

  .reading,
  body[data-page-kind="canon-paper"] .canon-layout:has(> .canon-prose) {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: var(--ve-reading) !important;
  }

  .mtoc,
  .canon-toc,
  .toc {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-height: none;
    margin-bottom: 1.5rem !important;
  }

  body[data-page-kind="canon-paper"] .canon-layout > .canon-prose:is(main, article, div, section) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}

@media (max-width: 760px) {
  :root { --ve-shell: calc(100% - 1.35rem); }

  .gnav {
    gap: 1rem;
    padding-inline: .675rem !important;
  }

  .gnav .brand {
    max-width: 7.75rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .gnav .links {
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .gnav .links::-webkit-scrollbar { display: none; }

  body[data-page-kind="home"] .hero3 { padding-top: 2.8rem !important; }
  body[data-page-kind="home"] .herostmt { font-size: clamp(2.85rem, 13vw, 4.5rem) !important; }

  body[data-page-kind="home"] .wcard,
  body[data-page-kind="home"] .wcard:first-child {
    grid-template-columns: 2rem minmax(0, 1fr) !important;
  }

  body[data-page-kind="home"] .wcard .wdiag,
  body[data-page-kind="home"] .wcard:first-child .wdiag {
    grid-column: 1 / -1;
    grid-row: 4;
    margin-top: .8rem;
    max-height: 13rem !important;
  }

  body[data-page-kind="home"] .seriescard {
    grid-template-columns: 2rem minmax(0, 1fr) !important;
  }

  body[data-page-kind="home"] .seriescard p { grid-column: 2; }

  body[data-page-kind="home"] .obs {
    grid-template-columns: 1fr !important;
    gap: .35rem !important;
  }

  body[data-page-kind="home"] .obs .label,
  body[data-page-kind="home"] .obs h3,
  body[data-page-kind="home"] .obs p { grid-column: 1; }

  .featured,
  .practice-grid { grid-template-columns: 1fr !important; }

  .feat,
  .feat + .feat,
  .practice-card,
  .practice-card:nth-child(even) {
    padding: 1.1rem 0 !important;
    border-left: 0 !important;
  }

  .hubbar {
    top: 3.35rem;
    padding-inline: .675rem !important;
  }

  .hubbar input { flex-basis: min(19rem, 70vw); }

  .hubsec .hubhead,
  .irow,
  .hubrow,
  .hubrow.compact {
    grid-template-columns: 1fr !important;
    gap: .25rem !important;
  }

  body[data-page-kind="hub"] .seriescard,
  body[data-page-kind="hub"] .workgrid .wcard {
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
  }

  body[data-page-kind="hub"] .workgrid .wdiag {
    grid-column: 1;
    grid-row: 4;
    margin-top: .65rem;
  }

  .catalog-controls {
    position: static !important;
    grid-template-columns: 1fr !important;
  }

  .paper-card {
    grid-template-columns: 2rem minmax(0, 1fr) !important;
    gap: .35rem .75rem !important;
  }

  .paper-card .series,
  .paper-card h2,
  .paper-card p {
    grid-column: 2;
    grid-row: auto;
  }

  .canon-route { grid-template-columns: 1fr 1fr; }
  .canon-route .route-centre { display: none; }

  .prose,
  .canon-prose { font-size: 17px !important; line-height: 1.66 !important; }

  .table-wrap,
  .prose figure,
  .canon-prose .figure { overflow-x: auto !important; }

  .prose table,
  .canon-prose table { min-width: 36rem; }

  .profilehero { grid-template-columns: 1fr !important; }
  .profileportrait { grid-row: 1; width: 105px !important; margin-top: 0 !important; }

  .gfoot { flex-direction: column; }
  .gfoot .links { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  .gnav,
  .gfoot,
  .canon-route,
  .hubbar,
  .catalog-controls,
  .mtoc,
  .canon-toc { display: none !important; }

  body,
  .paper,
  .m-paper { background: white !important; }
}
