:root {
  --fc-bg: #050a07;
  --fc-panel: rgba(12, 22, 17, .92);
  --fc-panel-2: rgba(18, 32, 25, .86);
  --fc-line: rgba(150, 190, 165, .22);
  --fc-text: #f2f7f3;
  --fc-muted: #b9c7bd;
  --fc-soft: #8fa297;
  --fc-green: #5ee28e;
  --fc-green-2: #22a85c;
  --fc-gold: #f0c35a;
  --fc-red: #f0a3a3;
  --fc-radius: 18px;
  --fc-shadow: 0 24px 70px rgba(0,0,0,.34);
  --fc-font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --fc-font-body: 'Inter', system-ui, sans-serif;
}

html[data-lnb-base="light"],
body.light-theme {
  --fc-bg: #f6faf6;
  --fc-panel: rgba(255,255,255,.94);
  --fc-panel-2: rgba(248,252,248,.92);
  --fc-line: rgba(26, 65, 40, .18);
  --fc-text: #07160d;
  --fc-muted: #355342;
  --fc-soft: #597062;
  --fc-shadow: 0 24px 70px rgba(25, 60, 35, .13);
}

* { box-sizing: border-box; }
body.founder-capacity-page {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 0%, rgba(94,226,142,.17), transparent 32rem),
    radial-gradient(circle at 86% 12%, rgba(240,195,90,.14), transparent 28rem),
    var(--fc-bg);
  color: var(--fc-text);
  font-family: var(--fc-font-body);
  line-height: 1.55;
}

.fc-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 70px;
  padding: 14px clamp(18px, 4vw, 52px);
  background: rgba(5,10,7,.86);
  border-bottom: 1px solid rgba(150,190,165,.2);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
html[data-lnb-base="light"] .fc-nav,
body.light-theme .fc-nav {
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 30px rgba(20,50,30,.08);
}
.fc-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--fc-text); text-decoration: none; font-family: var(--fc-font-display); font-weight: 900; letter-spacing: -.02em; }
.fc-logo img { height: 38px; width: auto; display: block; }
.fc-links { display: flex; align-items: center; gap: 16px; font-size: .9rem; font-weight: 800; }
.fc-links a { color: var(--fc-muted); text-decoration: none; }
.fc-links a:hover { color: var(--fc-green); }
.fc-pill-link { padding: 10px 14px; border: 1px solid var(--fc-line); border-radius: 999px; background: rgba(94,226,142,.08); color: var(--fc-text) !important; }

.fc-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.fc-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(18px, 4vw, 52px);
  align-items: center;
  padding: clamp(28px, 5vw, 62px) 0 28px;
}
.fc-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: var(--fc-gold);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.fc-kicker::before { content: ""; width: 9px; height: 9px; border-radius: 999px; background: var(--fc-green); box-shadow: 0 0 18px rgba(94,226,142,.8); }
.fc-hero h1,
.fc-section-head h2,
.fc-card h3 {
  font-family: var(--fc-font-display);
  letter-spacing: -.035em;
  line-height: .98;
}
.fc-hero h1 { margin: 0 0 18px; font-size: clamp(2.75rem, 8vw, 6.4rem); max-width: 820px; }
.fc-hero h1 span { color: var(--fc-green); }
.fc-lede { max-width: 780px; margin: 0 0 20px; color: var(--fc-muted); font-size: clamp(1.02rem, 2vw, 1.23rem); }
.fc-legal-note { color: var(--fc-soft); font-size: .86rem; max-width: 740px; }
.fc-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.fc-btn {
  border: 0;
  border-radius: 13px;
  min-height: 48px;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--fc-font-display);
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}
.fc-btn.primary { background: linear-gradient(135deg, var(--fc-green), #9bf8b6); color: #041008; box-shadow: 0 18px 38px rgba(34,168,92,.26); }
.fc-btn.secondary { border: 1px solid var(--fc-line); background: var(--fc-panel); color: var(--fc-text); }
.fc-btn.full { width: 100%; }
.fc-btn:disabled { opacity: .58; cursor: not-allowed; }

.fc-hero-media {
  border: 1px solid var(--fc-line);
  border-radius: 24px;
  overflow: hidden;
  background: var(--fc-panel);
  box-shadow: var(--fc-shadow);
}
.fc-video-frame { position: relative; min-height: 330px; background: #07100c; overflow: hidden; }
.fc-video-frame video { width: 100%; height: 100%; min-height: 330px; object-fit: cover; display: block; opacity: .82; }
html[data-lnb-base="light"] .fc-video-frame video,
body.light-theme .fc-video-frame video { opacity: .72; }
.fc-video-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(5,10,7,.82), rgba(5,10,7,.08) 46%, rgba(5,10,7,.22));
}
.fc-media-overlay {
  position: absolute;
  inset: auto 18px 18px 18px;
  z-index: 2;
  display: grid;
  gap: 9px;
}
.fc-media-overlay strong { font-family: var(--fc-font-display); font-size: 1.25rem; }
.fc-media-overlay span { color: rgba(255,255,255,.78); font-size: .88rem; }
.fc-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--fc-line);
}
.fc-stat {
  padding: 16px;
  background: var(--fc-panel);
}
.fc-stat b { display: block; font-family: var(--fc-font-display); color: var(--fc-green); font-size: 1.55rem; line-height: 1; }
.fc-stat span { display: block; margin-top: 5px; color: var(--fc-soft); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.fc-section { padding: clamp(24px, 5vw, 52px) 0; }
.fc-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.fc-section-head h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); }
.fc-section-head p { max-width: 620px; margin: 0; color: var(--fc-muted); }
.fc-grid { display: grid; gap: 14px; }
.fc-grid.tiers { grid-template-columns: repeat(5, minmax(0,1fr)); }
.fc-card {
  position: relative;
  border: 1px solid var(--fc-line);
  border-radius: var(--fc-radius);
  background: var(--fc-panel);
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
  overflow: hidden;
}
.fc-tier {
  padding: 18px;
  min-height: 240px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.fc-tier:hover { transform: translateY(-4px); border-color: rgba(94,226,142,.55); }
.fc-tier.is-selected { border-color: var(--fc-gold); box-shadow: 0 0 0 2px rgba(240,195,90,.3), 0 20px 60px rgba(240,195,90,.16); }
.fc-tier h3 { margin: 0 0 8px; font-size: 1.16rem; line-height: 1.05; }
.fc-tier .amount { margin: 12px 0 4px; font-family: var(--fc-font-display); color: var(--fc-green); font-size: 1.9rem; font-weight: 900; line-height: 1; }
.fc-tier .amount small { color: var(--fc-soft); font-size: .72rem; }
.fc-tier p { margin: 0; color: var(--fc-muted); font-size: .86rem; }
.fc-tier ul { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.fc-tier li { color: var(--fc-muted); font-size: .78rem; }
.fc-tier li::before { content: "-> "; color: var(--fc-green); font-weight: 900; }

.fc-portal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 18px;
  align-items: start;
}
.fc-form { padding: clamp(18px, 3vw, 28px); }
.fc-form h2 { margin: 0 0 8px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.fc-form p { margin: 0 0 18px; color: var(--fc-muted); }
.fc-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.fc-field { display: grid; gap: 6px; }
.fc-field.full { grid-column: 1 / -1; }
.fc-field label { color: var(--fc-soft); font-weight: 900; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.fc-field input,
.fc-field select,
.fc-field textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--fc-line);
  border-radius: 12px;
  padding: 11px 12px;
  background: rgba(3, 10, 6, .55);
  color: var(--fc-text);
  font: inherit;
}
html[data-lnb-base="light"] .fc-field input,
html[data-lnb-base="light"] .fc-field select,
html[data-lnb-base="light"] .fc-field textarea,
body.light-theme .fc-field input,
body.light-theme .fc-field select,
body.light-theme .fc-field textarea {
  background: #fff;
  color: #06140c;
}
.fc-field textarea { min-height: 100px; resize: vertical; }
.fc-side { position: sticky; top: 88px; display: grid; gap: 14px; }
.fc-quote { padding: 20px; }
.fc-quote h3 { margin: 0 0 12px; font-size: 1.5rem; }
.fc-quote-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--fc-line); color: var(--fc-muted); }
.fc-quote-row b { color: var(--fc-text); font-family: var(--fc-font-display); font-size: 1.1rem; }
.fc-quote-row.total b { color: var(--fc-green); font-size: 1.6rem; }
.fc-score { padding: 18px; display: grid; gap: 12px; }
.fc-meter { height: 12px; border-radius: 999px; overflow: hidden; background: rgba(150,190,165,.18); }
.fc-meter span { display: block; height: 100%; width: var(--score, 0%); background: linear-gradient(90deg, var(--fc-gold), var(--fc-green)); border-radius: inherit; transition: width .25s ease; }
.fc-terms { display: grid; gap: 8px; margin: 18px 0; }
.fc-check {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid var(--fc-line);
  border-radius: 12px;
  background: rgba(150,190,165,.06);
  color: var(--fc-muted);
  font-size: .86rem;
}
.fc-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--fc-green-2); }
.fc-status { margin-top: 14px; display: none; border-radius: 12px; padding: 13px 14px; font-weight: 800; }
.fc-status.ok { display: block; border: 1px solid rgba(94,226,142,.4); background: rgba(94,226,142,.1); color: var(--fc-green); }
.fc-status.err { display: block; border: 1px solid rgba(240,163,163,.45); background: rgba(240,163,163,.12); color: var(--fc-red); }

.fc-process { grid-template-columns: repeat(4, minmax(0,1fr)); }
.fc-process .fc-card { padding: 18px; min-height: 145px; }
.fc-process .num { width: 34px; height: 34px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: rgba(94,226,142,.12); color: var(--fc-green); font-family: var(--fc-font-display); font-weight: 900; margin-bottom: 12px; }
.fc-process h3 { margin: 0 0 7px; font-size: 1.12rem; }
.fc-process p { margin: 0; color: var(--fc-muted); font-size: .86rem; }

.fc-footer {
  padding: 26px 0 80px;
  color: var(--fc-soft);
  font-size: .86rem;
  border-top: 1px solid var(--fc-line);
}
.fc-footer a { color: var(--fc-muted); margin-right: 14px; text-decoration: none; }

.fc-wall-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.fc-founder-tile { padding: 18px; }
.fc-founder-tile b { display: block; font-family: var(--fc-font-display); font-size: 1.15rem; margin-bottom: 4px; }
.fc-founder-tile span { color: var(--fc-muted); font-size: .86rem; }
.fc-empty { padding: 28px; color: var(--fc-muted); text-align: center; }

@media (max-width: 1120px) {
  .fc-grid.tiers { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .fc-nav { min-height: 62px; padding: 10px 14px; }
  .fc-logo img { height: 31px; }
  .fc-links a:not(.fc-pill-link) { display: none; }
  .fc-shell { width: min(100% - 22px, 720px); }
  .fc-hero { grid-template-columns: 1fr; padding-top: 24px; }
  .fc-hero h1 { font-size: clamp(2.55rem, 15vw, 4.6rem); }
  .fc-video-frame, .fc-video-frame video { min-height: 250px; }
  .fc-stat-strip { grid-template-columns: 1fr; }
  .fc-section-head { align-items: start; flex-direction: column; }
  .fc-grid.tiers { grid-template-columns: 1fr; }
  .fc-portal { grid-template-columns: 1fr; }
  .fc-side { position: static; }
  .fc-field-grid { grid-template-columns: 1fr; }
  .fc-process { grid-template-columns: 1fr; }
  .fc-btn { width: 100%; }
}

@media (max-width: 430px) {
  body.founder-capacity-page { font-size: 17px; }
  .fc-hero h1 { font-size: 3.1rem; }
  .fc-lede { font-size: 1.04rem; }
  .fc-tier { min-height: 0; }
  .fc-form, .fc-quote, .fc-score { border-radius: 16px; }
  .fc-check { font-size: .88rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .fc-pop { opacity: 0; transform: translateY(16px); animation: fcPop .62s ease forwards; }
  .fc-pop:nth-child(2) { animation-delay: .08s; }
  .fc-pop:nth-child(3) { animation-delay: .16s; }
  @keyframes fcPop { to { opacity: 1; transform: translateY(0); } }
}
