/* =========================================================
   A7i Intelligence, LIGHT EDITORIAL SYSTEM
   Rebuilt for the light hard-update. Warm off-white canvas,
   charcoal ink, restrained accent. Dark reserved for contrast
   (Where Money Is Moving, Subscribe, Footer).
   ========================================================= */

:root{
  /* light canvas */
  --paper:#F4F1EA;        /* warm off-white primary background */
  --stone:#EDE9DF;        /* light warm stone, alt sections */
  --cool:#EBEDEF;         /* subtle cool-grey, What to Watch */
  --surface:#FFFFFF;      /* white content surfaces */
  --ink:#16181C;          /* near-black charcoal, primary text */
  --ink-2:#3E4148;        /* secondary text */
  --muted:#6B6E76;        /* restrained grey */
  --faint:#9A9CA2;        /* metadata grey */
  --rule:rgba(22,24,28,.14);   /* fine editorial rules */
  --rule-2:rgba(22,24,28,.08);
  --accent:#B08128;       /* A7i gold, tuned for light bg contrast */
  --accent-ink:#8a6416;   /* darker gold for text on light */

  /* dark modules */
  --dark:#0E1014;
  --dark-2:#15181D;
  --dark-ink:#F1EEE7;
  --dark-muted:rgba(241,238,231,.62);
  --dark-faint:rgba(241,238,231,.4);
  --dark-rule:rgba(255,255,255,.12);

  /* status semantics */
  --st-operational:#2f8f5b;
  
  --st-construction:#c08a2a;
  --st-committed:#3d6fa6;
  --st-announced:#7a7fb0;

  --serif:'Instrument Serif', Georgia, serif;
  --ui:'Inter', system-ui, sans-serif;

  /* type scale (desktop targets from brief §21) */
  --t-hero:clamp(2.6rem,6vw,4.6rem);   /* 68-76px */
  --t-h2:clamp(1.6rem,3vw,2.05rem);     /* 26-33px, restrained to match research */
  --t-feat:clamp(1.7rem,3vw,2.1rem);    /* 30-34px */
  --t-sec:clamp(1.2rem,2vw,1.4rem);     /* 20-22px */
  --t-body:1.06rem;                      /* 16-18px */
  --t-stand:1.18rem;                     /* 18-20px */
  --t-meta:.78rem;                       /* 12-13px */
  --t-eye:.72rem;                        /* 11-12px */
  --t-fig:clamp(2.6rem,5vw,4.2rem);      /* 56-72px financial */

  --wrap:1200px;
  --pad:clamp(3.5rem,7vh,6rem);
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--ui);
  font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img,svg{max-width:100%;display:block;}
h1,h2,h3,h4{letter-spacing:-.015em;font-weight:400;line-height:1.05;}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(1.25rem,4vw,2.5rem);}
.serif{font-family:var(--serif);}
.italic{font-style:italic;}
::selection{background:var(--accent);color:#fff;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* ---------- SECTION BACKGROUNDS (colour rhythm §2) ---------- */
.sec{padding-block:var(--pad);}
.sec-tight{padding-block:clamp(2.4rem,4vh,3.5rem);}
.bg-paper{background:var(--paper);}
.bg-surface{background:var(--surface);}
.bg-stone{background:var(--stone);}
.bg-cool{background:var(--cool);}
.bg-dark{background:var(--dark);color:var(--dark-ink);}
.bg-dark .eyebrow{color:var(--accent);}
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--dark-ink);}
.bg-dark .stand,.bg-dark .muted{color:var(--dark-muted);}

/* ---------- TYPE UTILITIES ---------- */
.eyebrow{font-size:var(--t-eye);font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent-ink);display:inline-flex;align-items:center;gap:.6rem;}
.eyebrow::before{content:"";width:20px;height:1px;background:currentColor;opacity:.7;}
.h-sec{font-family:var(--serif);font-size:var(--t-h2);}
.h-feat{font-family:var(--serif);font-size:var(--t-feat);}
.stand{font-size:var(--t-stand);color:var(--ink-2);line-height:1.5;max-width:56ch;}
.meta{font-size:var(--t-meta);letter-spacing:.04em;color:var(--muted);
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;}
.date{font-size:var(--t-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
.mono-date{font-variant-numeric:tabular-nums;}

/* section head: eyebrow + headline + ONE standfirst only (§4) */
.head{margin-bottom:2.2rem;max-width:60ch;}
.head .h-sec{margin:.7rem 0 .6rem;}
.head .stand{color:var(--muted);}
.bg-dark .head .stand{color:var(--dark-muted);}
.rowhead{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;
  flex-wrap:wrap;margin-bottom:1.8rem;}

/* ---------- LINKS / CTAS (§34 one action per module) ---------- */
.cta{font-size:.9rem;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:.45rem;
  border-bottom:1px solid var(--rule);padding-bottom:2px;transition:border-color .2s,color .2s;}
.cta:hover{border-color:var(--accent);color:var(--accent-ink);}
.cta .arr{color:var(--accent);}
.bg-dark .cta{color:var(--dark-ink);border-color:var(--dark-rule);}
.bg-dark .cta:hover{border-color:var(--accent);}
.btn{font-size:.9rem;font-weight:500;border-radius:999px;padding:.8rem 1.5rem;
  display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--ink);color:var(--ink);
  background:transparent;cursor:pointer;transition:background .2s,color .2s;}
.btn:hover{background:var(--ink);color:var(--paper);}
.btn .arr{color:var(--accent);}
.btn:hover .arr{color:var(--paper);}
.btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn-solid .arr{color:var(--accent);}
.btn-solid:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn-solid:hover .arr{color:#fff;}

/* ---------- NAV (§32 sticky compact) ---------- */
nav.site{position:sticky;top:0;z-index:60;background:rgba(244,241,234,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--rule-2);}
.nav-inner{position:relative;max-width:1280px;margin:0 auto;
  padding:1rem clamp(1.25rem,4vw,2.5rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.brand{font-family:var(--serif);font-size:1.5rem;white-space:nowrap;color:var(--ink);}
.nav-right{display:flex;align-items:center;gap:2rem;}
.nav-links{display:flex;gap:1.5rem;font-size:.88rem;color:var(--muted);}
.nav-links a:hover,.nav-links a.on{color:var(--ink);}
.nav-cta a{font-size:.82rem;color:#fff;background:var(--ink);border-radius:999px;
  padding:.5rem 1.05rem;display:inline-flex;gap:.35rem;transition:background .2s;}
.nav-cta a:hover{background:var(--accent);}
.nav-toggle{display:none;}
.nav-burger{display:none;width:40px;height:34px;border:1px solid var(--rule);border-radius:8px;
  cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:transparent;}
.nav-burger span{width:16px;height:1.5px;background:var(--ink);display:block;}
@media(max-width:980px){
  .nav-burger{display:flex;}
  .nav-right{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:1.2rem;
    padding:1.4rem clamp(1.25rem,4vw,2.5rem);background:var(--paper);border-bottom:1px solid var(--rule);display:none;}
  .nav-toggle:checked ~ .nav-right{display:flex;}
  .nav-links{flex-direction:column;gap:1rem;font-size:1rem;}
}

/* ---------- MARKET LENS BAR (§12) ---------- */
.lens-bar{position:sticky;top:57px;z-index:54;background:var(--surface);
  border-bottom:1px solid var(--rule);}
.lens-inner{max-width:1280px;margin:0 auto;padding:.65rem clamp(1.25rem,4vw,2.5rem);
  display:flex;align-items:center;gap:1rem;overflow-x:auto;scrollbar-width:none;}
.lens-inner::-webkit-scrollbar{display:none;}
.lens-label{font-size:var(--t-eye);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);
  white-space:nowrap;flex-shrink:0;}
.lens-tabs{display:flex;gap:.4rem;flex-shrink:0;}
.lens-tab{font-family:var(--ui);font-size:.84rem;font-weight:500;white-space:nowrap;
  padding:.45rem 1rem;border-radius:999px;border:1px solid var(--rule);background:transparent;
  color:var(--muted);cursor:pointer;transition:all .18s;}
.lens-tab:hover{border-color:var(--accent);color:var(--ink);}
.lens-tab.on{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600;}
.lens-tab.on.all{background:var(--accent);border-color:var(--accent);color:#fff;}
@media(max-width:560px){.lens-label{display:none;}}

/* ---------- HERO (§5) ---------- */
.hero{background:var(--paper);padding-block:clamp(3rem,7vh,5.5rem) clamp(2rem,4vh,3rem);}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:end;}
.hero h1{font-family:var(--serif);font-size:var(--t-hero);max-width:15ch;margin:1rem 0 1.2rem;}
.hero .stand{font-size:var(--t-stand);color:var(--ink-2);max-width:48ch;margin-bottom:1.8rem;}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;}
.lens-context{display:none;align-items:center;gap:.6rem;margin-bottom:.8rem;
  font-size:var(--t-eye);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);}
.lens-context.show{display:inline-flex;}
.lens-context .clear{color:var(--muted);text-decoration:underline;cursor:pointer;
  letter-spacing:0;text-transform:none;font-size:.82rem;}
.lens-context .clear:hover{color:var(--ink);}
/* hero lead teaser (§5 show journalism immediately) */
.hero-lead{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:1.6rem 1.5rem;}
.hero-lead .eyebrow{margin-bottom:.7rem;}
.hero-lead h3{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.15;margin-bottom:.6rem;}
.hero-lead p{color:var(--muted);font-size:.95rem;line-height:1.5;margin-bottom:1rem;}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:2rem;}.hero-lead{order:2;}}

/* ---------- WIRE (§6 headline-first) ---------- */
.wire-feature{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;margin-bottom:2.5rem;
  padding-bottom:2.5rem;border-bottom:1px solid var(--rule);}
.wire-lead .eyebrow{margin-bottom:.9rem;}
.wire-lead h3{font-family:var(--serif);font-size:var(--t-feat);line-height:1.1;margin-bottom:.8rem;}
.wire-lead .lead-stand{color:var(--ink-2);font-size:1.05rem;line-height:1.55;max-width:52ch;margin-bottom:1rem;}
.wire-secondary{display:flex;flex-direction:column;}
.wire-mini{padding:1rem 0;border-top:1px solid var(--rule-2);}
.wire-mini:first-child{border-top:0;padding-top:0;}
.wire-mini .meta{margin-bottom:.35rem;}
.wire-mini h4{font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.2;}
.wire-mini a.headline-link:hover{color:var(--accent-ink);}
@media(max-width:860px){.wire-feature{grid-template-columns:1fr;gap:1.6rem;}}

/* compact wire rows (used on lens change / view all preview) */
.wire-rows{border-top:1px solid var(--rule);}
.wire-row{display:grid;grid-template-columns:96px 1fr auto;gap:1.4rem;align-items:baseline;
  padding:1rem 0;border-bottom:1px solid var(--rule-2);transition:padding-left .15s;}
.wire-row:hover{padding-left:.5rem;}
.wire-row .r-date{font-size:var(--t-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.wire-row h4{font-family:var(--serif);font-size:1.15rem;line-height:1.25;}
.wire-row .r-mk{font-size:var(--t-meta);color:var(--muted);}
.wire-row .r-src{font-size:.76rem;color:var(--faint);white-space:nowrap;}
.wire-row .r-src:hover{color:var(--accent-ink);}
@media(max-width:680px){.wire-row{grid-template-columns:1fr;gap:.4rem;}}

/* tag pills */
.tag{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:.2rem .5rem;border-radius:3px;border:1px solid currentColor;}
.tag.market{color:#7a7fb0;}
.tag.regulatory{color:var(--accent-ink);}
.tag.partnership{color:#3d6fa6;}
.tag.opportunity{color:#2f8f5b;}

/* ---------- WHERE MONEY IS MOVING (dark, §8) ---------- */
#capital{background:var(--dark);color:var(--dark-ink);}
#capital .stand{color:var(--dark-muted);}
.cap-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;
  background:var(--dark-rule);border:1px solid var(--dark-rule);border-radius:12px;overflow:hidden;}
.cap-cell{background:var(--dark);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;
  cursor:pointer;text-align:left;border:0;color:inherit;font-family:inherit;transition:background .2s;}
.cap-cell:hover{background:var(--dark-2);}
.cap-cell .amt{font-family:var(--serif);font-size:var(--t-fig);line-height:.95;color:var(--dark-ink);}
.cap-cell .amt.undisc{font-style:italic;font-size:1.6rem;color:var(--dark-muted);}
.cap-cell .c-sec{font-size:.9rem;color:var(--dark-ink);text-transform:uppercase;letter-spacing:.06em;}
.cap-cell .c-mk{font-size:.85rem;color:var(--dark-muted);}
.cap-cell .c-foot{display:flex;align-items:center;gap:.6rem;margin-top:.4rem;}
.cap-cell .plus{margin-left:auto;color:var(--dark-faint);font-size:1.1rem;}
.cap-cell:hover .plus{color:var(--accent);}
.pill{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.22rem .5rem;border-radius:3px;border:1px solid currentColor;white-space:nowrap;}
.pill.operational,.pill.actual,.pill.live{color:#5ec98d;}
.pill.underconstruction,.pill.target,.pill.forecast{color:#e0b055;}
.pill.committed,.pill.signed,.pill.availablefund{color:#6ea3d8;}
.pill.announced,.pill.prizepool,.pill.prize{color:#9a9fce;}
.pill.undisclosed,.pill.accredited{color:var(--dark-muted);}
.cap-methodology{margin-top:1.3rem;}
.cap-methodology button{background:transparent;border:0;color:var(--dark-muted);cursor:pointer;
  font-family:var(--ui);font-size:.82rem;display:inline-flex;gap:.4rem;align-items:center;}
.cap-methodology button:hover{color:var(--accent);}
.cap-drawer{display:none;margin-top:1rem;padding:1.2rem 1.4rem;border:1px solid var(--dark-rule);
  border-radius:10px;background:var(--dark-2);color:var(--dark-muted);font-size:.9rem;line-height:1.55;max-width:70ch;}
.cap-drawer.open{display:block;}
/* capital detail panel */
.cap-panel{display:none;margin-top:1.1rem;border:1px solid var(--accent);border-radius:12px;
  background:var(--dark-2);padding:1.8rem;}
.cap-panel.open{display:block;}
.cap-panel .ptop{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.cap-panel .pamt{font-family:var(--serif);font-size:2.4rem;line-height:1;color:var(--dark-ink);}
.cap-panel .pmeta{color:var(--dark-muted);font-size:.85rem;margin-top:.4rem;}
.cap-panel .pgrid{display:grid;grid-template-columns:120px 1fr;gap:.6rem;margin-top:1.2rem;}
.cap-panel .pk{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-faint);padding-top:.15rem;}
.cap-panel .pv{color:var(--dark-muted);font-size:.92rem;line-height:1.5;}
.cap-panel .pv a{color:var(--accent);}
.cap-panel .pclose{background:transparent;border:0;color:var(--dark-faint);cursor:pointer;font-size:1.4rem;}
.cap-panel .pclose:hover{color:var(--dark-ink);}
.cap-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.4rem;}
.cap-chip{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:.4rem .8rem;border-radius:999px;border:1px solid var(--dark-rule);background:transparent;
  color:var(--dark-muted);cursor:pointer;transition:all .18s;font-family:var(--ui);}
.cap-chip:hover{border-color:var(--accent);color:var(--dark-ink);}
.cap-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ---------- THE BUILD (§10 light analytical) ---------- */
#build{background:var(--stone);}
.build-controls{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.6rem;}
.b-chip{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:.4rem .8rem;border-radius:999px;border:1px solid var(--rule);background:transparent;
  color:var(--muted);cursor:pointer;transition:all .18s;font-family:var(--ui);}
.b-chip:hover{border-color:var(--accent);color:var(--ink);}
.b-chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.b-chip .n{opacity:.6;font-weight:500;}
.build-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:12px;overflow:hidden;}
.b-card{background:var(--surface);padding:1.5rem 1.4rem;cursor:pointer;transition:background .18s;
  display:flex;flex-direction:column;gap:.5rem;border:0;text-align:left;font-family:inherit;color:inherit;}
.b-card:hover{background:#fff;}
.b-status{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.4rem;}
.b-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.b-status.s-operational{color:var(--st-operational);}
.b-status.s-underconstruction{color:var(--st-construction);}
.b-status.s-committed,.b-status.s-signed{color:var(--st-committed);}
.b-status.s-announced{color:var(--st-announced);}
.b-status.s-accredited,.b-status.s-live{color:var(--st-operational);}
.b-card h4{font-family:var(--serif);font-size:1.28rem;line-height:1.15;color:var(--ink);}
.b-card .b-meta{font-size:.82rem;color:var(--muted);}
.b-card .b-detail{display:none;font-size:.9rem;color:var(--ink-2);line-height:1.5;
  margin-top:.4rem;padding-top:.7rem;border-top:1px solid var(--rule-2);}
.b-card.open .b-detail{display:block;}
.b-card .plus{position:absolute;top:1.3rem;right:1.4rem;color:var(--faint);}
.b-card{position:relative;}
.b-card:hover .plus{color:var(--accent);}

/* ---------- MARKETS (§13 short) ---------- */
#markets{background:var(--surface);}
.mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:12px;overflow:hidden;}
.mkt{background:var(--surface);padding:1.6rem 1.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;
  transition:background .18s;border:0;text-align:left;font-family:inherit;color:inherit;}
.mkt:hover{background:#fff;}
.mkt h3{font-family:var(--serif);font-size:1.6rem;color:var(--ink);}
.mkt .m-tags{font-size:.8rem;color:var(--muted);}
.mkt .m-count{font-size:.82rem;color:var(--accent-ink);margin-top:.3rem;display:inline-flex;gap:.35rem;align-items:center;}
.mkt.mkt-wide{grid-column:1 / -1;background:var(--ink);color:var(--paper);}
.mkt.mkt-wide h3{color:var(--paper);font-size:2rem;}
.mkt.mkt-wide .m-tags{color:var(--dark-muted);}
.mkt.mkt-wide .m-count{color:var(--accent);}

/* ---------- SIGNALS STRIP (§15 max 3, into lens) ---------- */
.sig-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:12px;overflow:hidden;margin-top:1.4rem;}
.sig-cell{background:var(--surface);padding:1.4rem 1.4rem;display:flex;flex-direction:column;gap:.3rem;}
.sig-cell .s-num{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;color:var(--ink);}
.sig-cell .s-lab{font-size:.86rem;color:var(--muted);line-height:1.4;}
.sig-cell .s-src{font-size:.68rem;letter-spacing:.06em;color:var(--faint);margin-top:.3rem;}
@media(max-width:680px){.sig-strip{grid-template-columns:1fr;}}

/* ---------- WHAT TO WATCH (§14 timeline, cool bg) ---------- */
#watch{background:var(--cool);}
.watch-line{border-top:1px solid var(--rule);}
.watch-item{display:grid;grid-template-columns:130px 1fr auto;gap:1.4rem;align-items:baseline;
  padding:1.1rem 0;border-bottom:1px solid var(--rule-2);}
.watch-item .w-when{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--accent-ink);}
.watch-item h4{font-family:var(--serif);font-size:1.2rem;line-height:1.2;color:var(--ink);}
.watch-item .w-line{font-size:.88rem;color:var(--muted);margin-top:.2rem;}
.watch-item .w-mk{font-size:var(--t-meta);color:var(--faint);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
@media(max-width:680px){.watch-item{grid-template-columns:1fr;gap:.3rem;}.watch-item .w-mk{white-space:normal;}}

/* ---------- RESEARCH (§16 one feature + two) ---------- */
#research{background:var(--surface);}
.research-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:start;}
.research-feature h3{font-family:var(--serif);font-size:var(--t-feat);line-height:1.1;margin:.7rem 0;}
.research-feature p{color:var(--muted);font-size:1rem;line-height:1.55;margin-bottom:1rem;max-width:50ch;}
.research-side{display:flex;flex-direction:column;}
.research-mini{padding:1.1rem 0;border-top:1px solid var(--rule-2);}
.research-mini:first-child{border-top:0;padding-top:0;}
.research-mini .kind{font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);}
.research-mini h4{font-family:var(--serif);font-style:italic;font-size:1.2rem;line-height:1.2;margin-top:.3rem;}
.research-mini:hover h4{color:var(--accent-ink);}
@media(max-width:860px){.research-grid{grid-template-columns:1fr;gap:1.6rem;}}

/* ---------- SUBSCRIBE (§ high-contrast branded) ---------- */
#subscribe{background:var(--dark);color:var(--dark-ink);text-align:center;}
#subscribe .eyebrow{color:var(--accent);justify-content:center;}
#subscribe h2{color:var(--dark-ink);margin:.2rem 0 .7rem;}
#subscribe .stand{color:var(--dark-muted);margin:0 auto 2rem;text-align:center;}
.signup{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;max-width:520px;margin:0 auto;}
.signup input{flex:1;min-width:240px;border-radius:999px;padding:.9rem 1.4rem;color:var(--dark-ink);
  font-family:var(--serif);font-style:italic;font-size:1.1rem;background:var(--dark-2);border:1px solid var(--dark-rule);}
.signup input::placeholder{color:var(--dark-faint);}
.signup .btn-solid{background:var(--accent);border-color:var(--accent);color:#fff;}
.signup .btn-solid:hover{background:#fff;color:var(--ink);border-color:#fff;}
.micro{font-size:.78rem;color:var(--dark-faint);margin-top:1rem;}
.empty{color:var(--muted);font-family:var(--serif);font-style:italic;font-size:1.1rem;padding:1.4rem 0;}
.bg-dark .empty{color:var(--dark-muted);}

/* ---------- FOOTER (dark) ---------- */
footer{background:var(--dark);color:var(--dark-muted);padding-block:3rem 2rem;}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2rem;
  border-bottom:1px solid var(--dark-rule);}
.foot-brand{font-family:var(--serif);font-size:1.5rem;color:var(--dark-ink);}
.foot-brand p{font-size:.86rem;color:var(--dark-muted);margin-top:.6rem;max-width:34ch;line-height:1.5;}
.foot-brand .cta{margin-top:1rem;color:var(--dark-ink);border-color:var(--dark-rule);}
.foot-col h5{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
.foot-col a{display:block;font-size:.88rem;color:var(--dark-muted);margin-bottom:.55rem;}
.foot-col a:hover{color:var(--dark-ink);}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  margin-top:1.6rem;font-size:.8rem;color:var(--dark-faint);}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.foot-top{grid-template-columns:1fr;}}

/* ---------- PROSE (About / Research / Principles pages) ---------- */
.prose{max-width:70ch;}
.prose h2{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);margin:2.4rem 0 .9rem;color:var(--ink);}
.prose h3{font-family:var(--serif);font-style:italic;font-size:1.3rem;margin:1.8rem 0 .7rem;color:var(--ink);}
.prose p{color:var(--ink-2);font-size:1.05rem;line-height:1.7;margin-bottom:1.1rem;}
.prose strong{color:var(--ink);font-weight:600;}
.prose a{color:var(--accent-ink);border-bottom:1px solid var(--rule);}

/* ---------- FORMS ---------- */
.form{border:1px solid var(--rule);border-radius:12px;padding:2.2rem;background:var(--surface);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;}
.field{margin-bottom:1.3rem;}
.field label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);
  display:block;margin-bottom:.5rem;}
.field input,.field select,.field textarea{width:100%;border-radius:8px;padding:.8rem 1rem;
  color:var(--ink);font-family:var(--ui);font-size:.95rem;background:var(--paper);border:1px solid var(--rule);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.form-foot .n{font-size:.84rem;color:var(--muted);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
@media(max-width:680px){.grid2{grid-template-columns:1fr;}}

/* ---------- MOTION (§30 restrained) ---------- */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;animation:none!important;}}

/* =========================================================
   ARCHIVE + FILTER COMPONENTS
   Classes the archive (and any filtered index) template calls
   but the stylesheet did not previously define. Adding them
   here keeps archive.html and knowledge templates unchanged.
   ========================================================= */

/* generic eyebrow + standfirst used by archive/about/principles heros */
.label{font-size:var(--t-eye);font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent-ink);display:inline-flex;align-items:center;gap:.6rem;}
.label::before{content:"";width:20px;height:1px;background:currentColor;opacity:.7;}
.sub{font-size:var(--t-stand);color:var(--ink-2);line-height:1.5;max-width:56ch;margin-top:1rem;}

/* filter groups: label above a wrapping row of chips */
.filter-group{margin-bottom:1.1rem;}
.filter-group .gl{display:block;font-size:var(--t-eye);letter-spacing:.18em;
  text-transform:uppercase;color:var(--faint);margin-bottom:.55rem;}
.filters{display:flex;flex-wrap:wrap;gap:.45rem;}

/* chips: black, restrained, clearly interactive (Market/Sector/Type filters) */
.chip{font-family:var(--ui);font-size:.8rem;font-weight:500;letter-spacing:.01em;
  padding:.46rem .95rem;border-radius:999px;border:1px solid var(--ink);background:transparent;
  color:var(--ink);cursor:pointer;transition:background .16s ease,color .16s ease;
  display:inline-flex;align-items:center;gap:.4rem;line-height:1;}
.chip:hover{background:var(--ink);color:var(--paper);}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.chip .n{font-size:.72rem;opacity:.55;font-variant-numeric:tabular-nums;}
.chip.on .n{opacity:.8;}

/* count line above the list */
.stamp{font-size:var(--t-meta);letter-spacing:.06em;color:var(--muted);}

/* archive list: four-column rows (date | market | content | source) */
.wire-list{border-top:1px solid var(--rule);}
#archive-list .wire-row{grid-template-columns:84px 148px 1fr minmax(88px,auto);gap:1.2rem;
  align-items:baseline;}
#archive-list .wire-row > *{min-width:0;}
#archive-list .mk{font-size:var(--t-meta);color:var(--muted);line-height:1.4;}
#archive-list .wire-row h3{font-family:var(--serif);font-size:1.16rem;line-height:1.25;
  color:var(--ink);margin-bottom:.2rem;overflow-wrap:anywhere;}
#archive-list .ctx{font-size:.9rem;color:var(--muted);line-height:1.45;}
#archive-list .src{font-size:.72rem;letter-spacing:.04em;color:var(--faint);white-space:nowrap;}
#archive-list .src:hover{color:var(--accent-ink);}
@media(max-width:680px){
  #archive-list .wire-row{grid-template-columns:1fr;gap:.35rem;}
  #archive-list .src{white-space:normal;}
}

/* =========================================================
   RESEARCH: theme index, theme dividers, explainer blocks
   ========================================================= */
.theme-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;}
.theme-nav .chip{text-decoration:none;}
.chip.off{opacity:.45;border-color:var(--rule);color:var(--muted);cursor:default;pointer-events:none;background:transparent;}

.theme-h{font-family:var(--serif);font-size:clamp(1.45rem,2.6vw,1.75rem);line-height:1.12;margin-bottom:1.2rem;}
.explainer{max-width:74ch;padding-top:1.8rem;margin-top:1.8rem;border-top:1px solid var(--rule);}
.theme > .wrap > .explainer:first-of-type{border-top:0;margin-top:.4rem;padding-top:0;}
.ex-h{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.3rem);line-height:1.22;margin:.35rem 0 .7rem;}

/* =========================================================
   ABOUT: contributors
   ========================================================= */
.contributor{max-width:70ch;padding-top:1.9rem;margin-top:1.9rem;border-top:1px solid var(--rule);}
.contributors .wrap > .contributor:first-of-type{border-top:0;margin-top:.6rem;padding-top:0;}
.contrib-role{display:block;font-size:var(--t-eye);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:.25rem;}
.contrib-name{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.7rem);line-height:1.08;margin:0 0 .4rem;}
.contrib-focus{font-family:var(--ui);font-size:var(--t-meta);letter-spacing:.02em;color:var(--muted);margin:0 0 .9rem;}
.contributor .prose p{margin-bottom:.8rem;}
.contrib-disclosure{font-size:.86rem;color:var(--muted);margin-top:.2rem;}

/* Monocle-style plain section labels (replaces wordy .h-sec headings) */
.sec-label{font-family:var(--ui);font-size:clamp(1rem,1.5vw,1.15rem);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;line-height:1;color:inherit;}
.rowhead{margin-bottom:1.8rem;}
#capital .rowhead,#build .rowhead{margin-bottom:1.6rem;}

/* contributor links */
.contrib-links{font-size:.86rem;margin-top:.6rem;}
.contrib-links a{color:var(--accent-ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:1px;}
