/* ===== Page-specific styles for /investors ===== */

section.band.band-cream { background: var(--paper-deep); }

/* ===== Hero ===== */
.inv-hero {
  position: relative;
  padding-top: var(--s-9);
  padding-bottom: var(--s-9);
  overflow: hidden;
}
.inv-hero::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(820px 480px at 88% 10%, rgba(53,89,242,0.07), transparent 70%),
    radial-gradient(600px 420px at 4% 96%, rgba(201,168,106,0.14), transparent 70%);
  pointer-events: none; z-index: 0;
}
.inv-hero .container {
  position: relative; z-index: 1;
  display: grid; gap: var(--s-6);
  grid-template-columns: 1fr;
}
@media (min-width: 980px) {
  .inv-hero .container { grid-template-columns: minmax(0,1.42fr) minmax(300px,0.58fr); align-items: start; gap: var(--s-7); }
}
.inv-hero .copy { display: grid; gap: var(--s-5); }
.inv-hero .audience-tag {
  font-family: var(--face-ui); font-weight: 600;
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--lucy-blue);
}
.inv-hero h1 {
  max-width: min(100%, 12.75em);
  font-size: clamp(44px, 4.8vw, 72px);
  line-height: 1.03;
  letter-spacing: 0;
}
.inv-hero .lede {
  font-family: var(--face-display); font-size: clamp(20px, 2.0vw, 24px);
  line-height: 1.4; color: var(--ink); max-width: 52ch; margin: 0; text-wrap: pretty;
}
.inv-hero .support {
  color: var(--ink-muted); font-size: 16.5px; line-height: 1.6;
  max-width: 68ch; margin: 0;
}

/* Right-rail bet-card */
.bet-card {
  background: #fff; border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  padding: var(--s-6);
  display: grid; gap: var(--s-4);
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
.bet-card h4 {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-soft); font-weight: 600;
  padding-bottom: var(--s-3); border-bottom: 1px solid var(--ink-faint);
}
.bet-card dl { margin: 0; display: grid; gap: var(--s-3); }
.bet-card dt {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ink-soft); font-weight: 600;
  margin-bottom: 2px;
}
.bet-card dd {
  font-family: var(--face-display); font-size: 15.5px; color: var(--ink); margin: 0; line-height: 1.5;
}
.bet-card .stage-row {
  margin-top: var(--s-2); padding-top: var(--s-3); border-top: 1px solid var(--ink-faint);
  display: flex; align-items: baseline; gap: var(--s-3); justify-content: space-between;
}
.bet-card .stage-row span:first-child {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.1em; color: var(--ink-soft); text-transform: uppercase; font-weight: 600;
}

/* ===== §2 Category — editorial essay ===== */
.category-essay {
  display: grid; gap: var(--s-5);
  max-width: 62ch;
  margin: 0 auto;
}
.category-essay p {
  font-family: var(--face-display); font-size: 18px; line-height: 1.65;
  color: var(--ink); margin: 0; text-wrap: pretty;
}
.category-essay p.muted { color: var(--ink-muted); font-size: 17.5px; }
.category-essay .pull {
  font-family: var(--face-display); font-size: clamp(22px, 2.2vw, 28px); line-height: 1.3;
  border-left: 3px solid var(--sand-deep);
  padding: var(--s-3) var(--s-5);
  font-style: italic;
  color: var(--ink); margin: var(--s-3) 0;
  max-width: 28ch;
}

/* ===== §3 Window — evidence trio ===== */
.window-prose {
  display: grid; gap: var(--s-5); max-width: 62ch; margin: 0 auto;
}
.window-prose p {
  font-family: var(--face-display); font-size: 17.5px; line-height: 1.65; color: var(--ink); margin: 0;
}
.window-prose p.muted { color: var(--ink-muted); font-size: 17px; }
.window-prose blockquote {
  margin: var(--s-2) 0;
  border-left: 3px solid var(--lucy-blue);
  padding: var(--s-3) var(--s-5);
  background: var(--lucy-blue-soft);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.window-prose blockquote p {
  font-family: var(--face-display); font-size: 18px; font-style: italic; color: var(--ink); margin: 0 0 var(--s-2);
}
.window-prose blockquote cite {
  font-family: var(--face-ui); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-soft); font-style: normal;
}

/* Evidence trio */
.evidence-trio {
  display: grid; gap: var(--s-4);
  grid-template-columns: 1fr;
  margin-top: var(--s-5);
}
@media (min-width: 780px) { .evidence-trio { grid-template-columns: repeat(3, 1fr); } }
.ev-card {
  background: #fff; border: 1px solid var(--ink-faint); border-radius: var(--r-card);
  padding: var(--s-6); display: grid; gap: var(--s-3);
}
.ev-card .ev-tag {
  font-family: var(--face-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--lucy-blue);
}
.ev-card .ev-stat {
  font-family: var(--face-display); font-size: clamp(28px, 3vw, 38px); font-weight: 600;
  color: var(--ink); line-height: 1.1; letter-spacing: -0.02em;
}
.ev-card .ev-label {
  font-family: var(--face-display); font-size: 15px; color: var(--ink-muted); line-height: 1.55;
}
.ev-card .ev-source {
  font-family: var(--face-ui); font-size: 11.5px; color: var(--ink-soft); margin-top: var(--s-2);
}

/* ===== §4 Market — spend-redirect list ===== */
.market-block {
  display: grid; gap: var(--s-6);
  grid-template-columns: 1fr;
}
@media (min-width: 980px) { .market-block { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--s-7); align-items: start; } }
.market-prose { display: grid; gap: var(--s-4); }
.market-prose p { font-family: var(--face-display); font-size: 17.5px; line-height: 1.6; color: var(--ink); margin: 0; }
.market-prose p.muted { color: var(--ink-muted); font-size: 17px; }

.redirect-list {
  background: #fff; border: 1px solid var(--ink-faint); border-radius: var(--r-card);
  overflow: hidden;
}
.redirect-list .list-head {
  padding: var(--s-4) var(--s-6);
  background: var(--paper-deep);
  border-bottom: 1px solid var(--ink-faint);
}
.redirect-list .list-head span {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600;
}
.redirect-list ul { margin: 0; padding: 0; list-style: none; }
.redirect-list li {
  padding: var(--s-4) var(--s-6);
  border-top: 1px solid var(--ink-faint);
  display: grid; gap: 4px;
}
.redirect-list li:first-child { border-top: 0; }
.redirect-list li .rcat {
  font-family: var(--face-display); font-size: 16px; font-weight: 600; color: var(--ink); margin: 0;
}
.redirect-list li .rwhy {
  font-family: var(--face-ui); font-size: 13px; color: var(--ink-muted); line-height: 1.5;
}

/* Regulatory note */
.reg-note {
  background: var(--lucy-blue-soft); border: 1px solid rgba(53,89,242,0.18);
  border-radius: var(--r-card); padding: var(--s-5) var(--s-6);
  display: grid; gap: var(--s-3); margin-top: var(--s-5);
}
.reg-note .reg-tag {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lucy-blue-deep); font-weight: 600;
}
.reg-note p {
  font-family: var(--face-display); font-size: 16px; line-height: 1.6; color: var(--ink); margin: 0;
}

/* ===== §5 Operating model ===== */
.om-prose { display: grid; gap: var(--s-5); max-width: 62ch; margin: 0 auto; }
.om-prose p { font-family: var(--face-display); font-size: 17.5px; line-height: 1.65; color: var(--ink); margin: 0; }
.om-prose p.muted { color: var(--ink-muted); font-size: 17px; }

/* Lucy-runs-on-Lucy proof strip */
.proof-strip {
  margin-top: var(--s-6);
  background: var(--ink);
  color: rgba(255,255,255,0.92);
  border-radius: var(--r-card);
  padding: var(--s-6) var(--s-7);
  display: grid; gap: var(--s-3);
}
.proof-strip h4 {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--lucy-blue-soft, #c4d0fc); font-weight: 600;
}
.proof-strip p {
  font-family: var(--face-display); font-size: 18px; line-height: 1.55; color: rgba(255,255,255,0.9); margin: 0; max-width: 66ch;
}
.proof-strip .proof-sub {
  margin-top: var(--s-3); padding-top: var(--s-3);
  border-top: 1px solid rgba(255,255,255,0.18);
  font-family: var(--face-display); font-size: 16px; line-height: 1.55;
  color: rgba(255,255,255,0.78); font-style: italic;
}

/* ===== §6 Founder — spine ===== */
.founder-block {
  display: grid; gap: var(--s-6);
  grid-template-columns: 1fr;
}
@media (min-width: 980px) { .founder-block { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: var(--s-7); align-items: start; } }
.founder-portrait {
  background: var(--paper-deep);
  border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  aspect-ratio: 4 / 5;
  display: grid; place-content: center;
  position: relative; overflow: hidden;
  padding: var(--s-6);
}
.founder-portrait .ph-mark {
  position: absolute; inset: 0;
  background: radial-gradient(60% 60% at 50% 35%, rgba(53,89,242,0.06), transparent 70%);
}
.founder-portrait .ph-meta {
  position: relative;
  display: grid; gap: 6px; text-align: center;
}
.founder-portrait .ph-name { font-family: var(--face-display); font-weight: 600; font-size: 28px; color: var(--ink); letter-spacing: -0.01em; }
.founder-portrait .ph-role { font-family: var(--face-ui); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600; }
.founder-portrait .ph-tag { position: absolute; bottom: var(--s-5); left: var(--s-5); font-family: var(--face-mono); font-size: 11px; color: var(--ink-faint-text, #a1a8b8); letter-spacing: 0.05em; }

.founder-prose { display: grid; gap: var(--s-4); }
.founder-prose p { font-family: var(--face-display); font-size: 17px; line-height: 1.6; color: var(--ink); margin: 0; }
.founder-prose p.muted { color: var(--ink-muted); }

.spine { margin-top: var(--s-7); display: grid; gap: 0; }
.spine-row {
  display: grid; grid-template-columns: 180px 16px 1fr;
  gap: var(--s-4); padding: var(--s-5) 0;
  border-top: 1px solid var(--ink-faint); align-items: start;
}
.spine-row:first-child { border-top: 0; }
.spine-row .yr { font-family: var(--face-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--ink-soft); padding-top: 4px; }
.spine-row .dot { width: 12px; height: 12px; border-radius: 50%; background: var(--lucy-blue); margin: 6px auto 0; }
.spine-row .body { display: grid; gap: 6px; }
.spine-row .role { font-family: var(--face-display); font-size: 18px; font-weight: 600; color: var(--ink); margin: 0; letter-spacing: -0.01em; }
.spine-row .outcome { font-family: var(--face-display); font-size: 15.5px; color: var(--ink-muted); line-height: 1.55; margin: 0; }
@media (max-width: 720px) {
  .spine-row { grid-template-columns: 1fr; gap: var(--s-2); }
  .spine-row .dot { display: none; }
  .spine-row .yr { padding-top: 0; }
}

/* Why software note */
.why-software {
  margin-top: var(--s-5);
  border-left: 3px solid var(--sand-deep);
  padding: var(--s-4) var(--s-5);
  background: var(--paper-deep);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.why-software p { font-family: var(--face-display); font-size: 16.5px; line-height: 1.6; color: var(--ink); margin: 0; }

/* ===== §7 Moats — compound list + flywheel ===== */
.moats-block {
  display: grid; gap: var(--s-7);
  grid-template-columns: 1fr;
}
@media (min-width: 980px) { .moats-block { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; } }

.moats-intro { display: grid; gap: var(--s-4); }
.moats-intro p { font-family: var(--face-display); font-size: 17.5px; line-height: 1.6; color: var(--ink); margin: 0; }
.moats-intro p.muted { color: var(--ink-muted); font-size: 17px; }

/* Day-1 moats card */
.moat-card {
  background: #fff; border: 1px solid var(--ink-faint); border-radius: var(--r-card); overflow: hidden;
}
.moat-card .moat-head {
  padding: var(--s-4) var(--s-6); background: var(--paper-deep); border-bottom: 1px solid var(--ink-faint);
  display: flex; justify-content: space-between; align-items: baseline;
}
.moat-card .moat-head h4 { font-family: var(--face-display); font-size: 18px; font-weight: 600; color: var(--ink); margin: 0; }
.moat-card .moat-head .meta { font-family: var(--face-mono); font-size: 11px; color: var(--ink-soft); letter-spacing: 0.05em; }
.moat-card ul { margin: 0; padding: 0; list-style: none; }
.moat-card li { border-top: 1px solid var(--ink-faint); padding: var(--s-4) var(--s-6); display: grid; gap: 5px; }
.moat-card li:first-child { border-top: 0; }
.moat-card li .m-name { font-family: var(--face-display); font-weight: 600; font-size: 16px; color: var(--ink); }
.moat-card li .m-desc { font-family: var(--face-ui); font-size: 13.5px; color: var(--ink-muted); line-height: 1.55; }

/* Flywheel note */
.flywheel-note {
  background: var(--ink); border-radius: var(--r-card);
  padding: var(--s-6); display: grid; gap: var(--s-3); margin-top: var(--s-5);
}
.flywheel-note .fw-tag {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--lucy-blue-soft, #c4d0fc); font-weight: 600;
}
.flywheel-note p { font-family: var(--face-display); font-size: 16.5px; line-height: 1.6; color: rgba(255,255,255,0.9); margin: 0; }

/* ===== §8 Stage + the call ===== */
.stage-call-card {
  background: var(--paper-deep);
  border: 1px solid var(--ink-faint);
  border-radius: var(--r-card);
  padding: var(--s-7);
  display: grid; gap: var(--s-5);
  max-width: 68ch; margin: 0 auto;
}
.stage-call-card h3 { font-family: var(--face-display); font-size: clamp(22px, 2.2vw, 26px); color: var(--ink); margin: 0; font-weight: 600; max-width: 32ch; }
.stage-call-card p { font-family: var(--face-display); font-size: 17px; color: var(--ink-muted); line-height: 1.6; margin: 0; }
.stage-call-card p strong { color: var(--ink); }

/* Market risks aside */
.risk-aside {
  border-top: 1px solid var(--ink-faint);
  padding-top: var(--s-4);
  display: grid; gap: var(--s-2);
}
.risk-aside .risk-tag {
  font-family: var(--face-ui); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600;
}
.risk-aside p { font-family: var(--face-ui); font-size: 14px; color: var(--ink-muted); line-height: 1.55; margin: 0; }
