/* Bahiya. Design C: Seen only the seen. Swiss, sparse. Self-hosted Inter Tight + IBM Plex Mono (SIL OFL 1.1, licences in /fonts/). */
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
/* Pali diacritics (Bāhiya, Udāna, Sāvatthī): tiny subsets, downloaded only on pages that use them. */
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-pali-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+015A-015B,U+016A-016B,U+1E0C-1E0D,U+1E24-1E25,U+1E36-1E39,U+1E40-1E47,U+1E5A-1E5D,U+1E62-1E63,U+1E6C-1E6D}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-pali-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+015A-015B,U+016A-016B,U+1E0C-1E0D,U+1E24-1E25,U+1E36-1E39,U+1E40-1E47,U+1E5A-1E5D,U+1E62-1E63,U+1E6C-1E6D}
@font-face{font-family:"Inter Tight";src:url(fonts/inter-tight-pali-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-0101,U+0112-0113,U+012A-012B,U+014C-014D,U+015A-015B,U+016A-016B,U+1E0C-1E0D,U+1E24-1E25,U+1E36-1E39,U+1E40-1E47,U+1E5A-1E5D,U+1E62-1E63,U+1E6C-1E6D}

:root{
  --bg:#fff; --fg:#111214; --mute:#62666d; --faint:#c9ccd1; --rule:#e6e7ea;
  --acc:#2a4fd6; /* one cool accent: cobalt */
  --sans:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gut:2rem; --pad:3rem;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0e0f11; --fg:#eceef1; --mute:#868b93; --faint:#3a3e45; --rule:#1f2226; --acc:#7f9cff}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.125rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
a{color:inherit;text-decoration:none}
a:hover{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.acc{color:var(--acc)}

.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gut);max-width:90rem;margin:0 auto;padding:0 var(--pad)}
.c1{grid-column:1/4}
.c2{grid-column:4/12}
.k{font:400 .78rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin:0}

.mast{padding-top:2rem;padding-bottom:2rem;align-items:baseline}
.brand{grid-column:1/4;font-weight:600;font-size:1.25rem;letter-spacing:-.01em}
.mast nav{grid-column:4/13;display:flex;gap:2.2rem;font-size:.95rem}
.mast nav a{color:var(--mute)}
.mast nav a[aria-current],.mast nav a:hover{color:var(--fg)}

section.grid,main>section{margin-bottom:8rem}
.hero{padding-top:7rem;align-items:center}
.hero .txt{grid-column:1/8}
.hero .art{grid-column:9/13}
.hero h1{font-weight:600;font-size:clamp(3rem,7.4vw,7rem);line-height:.95;letter-spacing:-.045em;margin:0 0 2.5rem}
.lede{font-size:1.3rem;line-height:1.5;max-width:33rem;margin:0 0 1.5rem}
.motto{font:400 .85rem var(--mono);color:var(--acc);margin:0;letter-spacing:.02em}

/* generative field */
.field{display:block;width:100%;height:auto;aspect-ratio:1;fill:var(--fg);opacity:0;transition:opacity 1.2s ease}
.field.on{opacity:1}
.field .a{fill:var(--acc)}
noscript+.field,.field:not(.on){background:radial-gradient(circle,var(--faint) 1px,transparent 1.5px) 0 0/10% 10%;opacity:1}
.field.small{max-width:9rem;margin-top:2rem;fill:var(--mute)}

.essays{list-style:none;margin:0;padding:0;border-top:1px solid var(--fg)}
.essays li{grid-template-columns:3rem 12rem 1fr 6rem;padding:1.6rem 0;border-bottom:1px solid var(--rule);margin:0;max-width:none;column-gap:1.5rem;align-items:baseline}
.essays .n{font:400 .8rem var(--mono);color:var(--mute)}
.essays .pl{margin:0;font:400 .78rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
.essays h3{margin:0;font-weight:400;font-size:1.45rem;line-height:1.25;letter-spacing:-.015em}
.essays .meta{margin:0;font:400 .78rem/1.5 var(--mono);color:var(--mute);text-align:right}
.adtag{color:var(--mute);margin-left:.4em}

.pillars ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gut);border-top:1px solid var(--fg)}
.pillars li{padding-top:1.2rem}
.pillars .n{display:block;font-weight:600;font-size:3rem;line-height:1;letter-spacing:-.04em;color:var(--acc);margin-bottom:1rem}
.pillars a{font-weight:600;font-size:1.05rem;line-height:1.25}
.pillars p{margin:.6rem 0 0;font-size:.92rem;line-height:1.5;color:var(--mute)}

.letter .c2{border-top:1px solid var(--fg);padding-top:1.2rem}
.big{font-size:2rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 2rem;max-width:36rem}
.embed{max-width:36rem}
.embed form{display:flex;border-bottom:2px solid var(--fg)}
.embed input{flex:1;min-width:0;font:inherit;font-size:1.1rem;padding:.8rem 0;border:0;background:transparent;color:var(--fg)}
.embed input:focus{outline:0}
.embed button{font:600 1rem var(--sans);border:0;background:none;color:var(--acc);cursor:pointer;padding:0 0 0 1rem;white-space:nowrap}
.embed small{display:block;margin-top:.8rem;font:400 .72rem/1.5 var(--mono);color:var(--mute)}
.embed small a{color:var(--acc);text-decoration:underline;text-underline-offset:.2em}

/* reading view */
.art-page{margin-bottom:6rem}
.ahead{padding-top:6rem;padding-bottom:4rem}
.ahead .c1{padding-top:.9rem}
.ahead .c1 a{color:var(--acc)}
.ahead h1{font-weight:600;font-size:clamp(2.2rem,4.6vw,4.1rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 1.8rem;max-width:20ch}
.dek{font-size:1.35rem;line-height:1.45;color:var(--mute);margin:0;max-width:36rem}
.body{border-top:1px solid var(--fg);padding-top:1.5rem}
.side{font:400 .78rem/1.5 var(--mono);color:var(--mute)}
.side p{margin:0}
.side .field{position:sticky;top:2rem}
.prose{grid-column:4/10;font-size:1.19rem;line-height:1.65}
.prose p{margin:0 0 1.2em}
.prose h2{font-weight:600;font-size:1.2rem;letter-spacing:-.01em;margin:2.6em 0 .4em}
.prose sup a{font:400 .7rem var(--mono);color:var(--acc);padding:0 .1em}
.prose ul{padding-left:1.1em}
.note{font:400 .78rem/1.5 var(--mono);color:var(--mute)}
.pull{margin:4rem 0 4rem;padding:0}
.pull blockquote{margin:0}
.pull p{margin:0;font-weight:600;font-size:clamp(1.7rem,3.3vw,2.6rem);line-height:1.1;letter-spacing:-.03em}
.pull span{display:block}
.pull span:first-child{color:var(--acc)}
.pull figcaption{margin-top:1.2rem;font:400 .78rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.ad{font-size:1.05rem;padding:1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ad a{color:var(--acc);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.footnotes{margin-top:4rem;border-top:1px solid var(--fg);padding-top:1rem;font-size:.9rem;line-height:1.5;color:var(--mute)}
.footnotes h2{font:400 .78rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 1rem}
.footnotes ol{margin:0;padding-left:1.4em}
.footnotes li{margin-bottom:.6em}
.footnotes a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--faint)}
.footnotes .back{color:var(--acc);text-decoration:none}
.made{margin-top:2.5rem;font:400 .78rem/1.6 var(--mono);color:var(--mute)}

.foot{padding-top:2rem;padding-bottom:3rem;border-top:1px solid var(--rule);font:400 .78rem/1.6 var(--mono);color:var(--mute)}
.foot p{margin:0}
.foot .c2{grid-column:4/10}.foot .c3{grid-column:10/13;text-align:right}
.foot nav{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin-top:.8rem}
.foot nav a,.foot nav button{color:var(--fg);font:inherit;background:none;border:0;padding:0;cursor:pointer}
.foot nav a:hover,.foot nav button:hover{color:var(--acc)}

@media (max-width:1000px){
  .essays li{grid-template-columns:2.5rem 1fr;row-gap:.4rem}
  .essays .pl{grid-column:2}.essays h3{grid-column:2}.essays .meta{grid-column:2;text-align:left}
  .essays .meta br{display:none}
  .essays .meta time::after{content:" \00b7  "}
  .pillars ol{grid-template-columns:1fr 1fr;row-gap:2rem}
  .prose{grid-column:4/13}
}
@media (max-width:700px){
  :root{--pad:1.25rem;--gut:1rem}
  .c1,.c2,.brand,.mast nav,.hero .txt,.hero .art,.prose,.foot .c2,.foot .c3{grid-column:1/-1}
  .mast nav{gap:1.2rem;margin-top:.8rem;font-size:.9rem}
  section.grid,main>section{margin-bottom:5rem}
  .hero{padding-top:3rem}
  .hero .art{order:-1;max-width:14rem;margin-bottom:2rem}
  .hero h1{font-size:3.1rem;margin-bottom:1.6rem}
  .lede{font-size:1.15rem}
  .k{margin-bottom:1rem}
  .essays h3{font-size:1.25rem}
  .pillars ol{grid-template-columns:1fr 1fr;row-gap:2rem}
  .big{font-size:1.5rem}
  .ahead{padding-top:3rem;padding-bottom:2.5rem}
  .ahead .c1{padding:0 0 1rem}
  .side{display:flex;gap:1rem;margin-bottom:2rem}
  .side .field{display:none}
  .prose{font-size:1.1rem}
  .foot .c3{text-align:left}
  .foot p{margin-bottom:.6rem}
}
sup{line-height:0}

/* production additions */
.skip{position:absolute;left:-999px;top:0;background:var(--bg);color:var(--acc);padding:.6rem 1rem;z-index:20}
.skip:focus{left:1rem}
.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.prose blockquote{margin:2rem 0;padding:0 0 0 1.2rem;border-left:2px solid var(--acc)}
.prose blockquote p{margin:0 0 .6em}
.prose cite,.cite{display:block;font:400 .78rem/1.5 var(--mono);color:var(--mute);font-style:normal}
.prose h3{font-weight:600;font-size:1.05rem;margin:2em 0 .3em}
.prose li{margin-bottom:.4em}
/* Sources: numbered reference list, body font a step smaller, title (cite) in italics and linked */
.prose .sources{margin:0;padding-left:2.1em;font-size:.95rem;line-height:1.55;overflow-wrap:break-word;content-visibility:auto;contain-intrinsic-size:auto 600px}
.prose .sources li{margin-bottom:.7em;padding-left:.35em}
.prose .sources li::marker{font:400 .72rem var(--mono);color:var(--mute)}
.prose .sources cite{display:inline;font:inherit;font-style:italic;color:inherit}
.prose .src-note{font-size:.95rem;line-height:1.55;color:var(--mute)}
.prose .src-note cite{display:inline;font:inherit;font-style:italic;color:inherit}
.intro{grid-column:4/10;font-size:1.19rem;line-height:1.65}
.intro p{margin:0 0 1.2em}
.empty{margin:0;padding:1.6rem 0;border-top:1px solid var(--fg);border-bottom:1px solid var(--rule);font-size:1.15rem;color:var(--mute)}
.empty a{color:var(--acc)}
.pillars ol{counter-reset:none}
.pillars li a{display:block}
.hero .lede+.lede{margin-top:-.5rem}
.letter.page .c2{border-top:0;padding-top:0}
.footnote{margin-top:4rem;border-top:1px solid var(--fg);padding-top:1rem;font-size:.9rem;line-height:1.5;color:var(--mute)}
.footnote hr{display:none}
.footnote ol{margin:0;padding-left:1.4em}
.footnote a{color:var(--fg)}
.footnote-ref{font:400 .7rem var(--mono)}

.consent{position:fixed;left:1rem;bottom:1rem;z-index:30;max-width:25rem;background:var(--bg);color:var(--fg);border:1px solid var(--fg);padding:1rem 1.1rem;font:400 .78rem/1.55 var(--mono)}
.consent[hidden]{display:none}
.consent p{margin:0 0 .9rem}
.consent a{color:var(--acc);text-decoration:underline;text-underline-offset:.2em}
.consent .row{display:flex;gap:1.4rem}
.consent button{font:600 .95rem var(--sans);border:0;background:none;color:var(--acc);cursor:pointer;padding:0}
.consent button:hover{text-decoration:underline}
@media (max-width:1000px){.intro{grid-column:4/13}}
@media (max-width:700px){.consent{left:.75rem;right:.75rem;bottom:.75rem;max-width:none}.intro{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.brief{margin:0 0 2.4rem;padding:1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.brief .k{margin-bottom:.4rem}
.brief p:last-child{margin:0}
.intro .answer{font-size:1.3rem;line-height:1.5;margin-bottom:1.6em}
.intro a{color:var(--acc);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.prose .series{font-size:1rem;line-height:1.55;color:var(--mute);margin-bottom:2em}
.tbl{overflow-x:auto;margin:1rem 0 2rem}
.tbl:focus-visible{outline:2px solid var(--acc)}
.prose table{border-collapse:collapse;font-size:.85rem;line-height:1.45;min-width:40rem}
.prose th,.prose td{text-align:left;vertical-align:top;padding:.55rem .9rem .55rem 0;border-bottom:1px solid var(--rule)}
.prose th{font:400 .72rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);border-bottom:1px solid var(--fg)}
.foot nav a,.foot nav button{display:inline-block;padding:.2rem 0;min-width:24px}
/* Long below-the-fold blocks (source lists, tables, the pillar grid) skip layout until they near the viewport. */
.pillars,.prose>ul,.prose>.tbl,.footnote,.footnotes{content-visibility:auto;contain-intrinsic-size:auto 600px}

/* Nova experiment, same grid and type. */
.experiment-day{margin-bottom:1.5rem;color:var(--acc)}
.missions ol{grid-template-columns:1fr 1fr}
.archive-note{padding:1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:.9rem;color:var(--mute)}
.mast nav{flex-wrap:wrap}
@media(max-width:700px){.missions ol{grid-template-columns:1fr}}

.nova-disclosure{padding-top:1.5rem}.nova-intro{font-size:1.5rem;line-height:1.25;margin:0 0 1.5rem;color:var(--acc)}

/* Nova has its own slightly cooler ground; human archive, home and About are unchanged. */
body.nova-space{--bg:#eceef2}
@media(prefers-color-scheme:dark){body.nova-space{--bg:#171a20}}
.contact-form{display:flex;flex-direction:column;gap:.6rem;max-width:38rem}
.contact-form input,.contact-form textarea{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--mute);border-radius:0;padding:.7rem}
.contact-form label{margin-top:.8rem;font-weight:600}
.contact-form button,.admin-tools button{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--fg);padding:.6rem 1rem;cursor:pointer;align-self:flex-start}
.contact-form textarea{resize:vertical}
.contact-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.admin-tools{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.inbox-message{border-top:1px solid var(--rule);padding:1.5rem 0}
.message-text{white-space:pre-wrap;overflow-wrap:anywhere}
.foundations{font-size:.95rem;max-width:36rem}

/* Same wordmark and exact generated SVG paths; only scoped logo colours change. */
:root{--logo-ink:var(--fg);--logo-muted:var(--mute);--logo-accent:var(--acc)}
.brand{color:var(--logo-ink)}
.brand .acc{color:var(--logo-accent)}
.field{fill:var(--logo-ink)}
.field.small{fill:var(--logo-muted)}
.field .a{fill:var(--logo-accent)}
body.nova-space{--logo-ink:#1d222b;--logo-muted:#626c7b;--logo-accent:#435da6}
.nova-space .brand:hover{color:var(--logo-accent)}
@media(prefers-color-scheme:dark){body.nova-space{--logo-ink:#e4e9f0;--logo-muted:#8b94a3;--logo-accent:#90a2cf}}
