:root {
  --bg: #070707;
  --bg-deep: #030303;
  --panel: #0f1011;
  --surface: #191a1b;
  --surface-2: #232426;
  --border: rgba(255,255,255,.09);
  --border-strong: rgba(212,175,55,.28);
  --text: #f7f8f8;
  --muted: #8a8f98;
  --soft: #d0d6e0;
  --gold: #d4af37;
  --gold-strong: #f3d36b;
  --green: #34d399;
  --red: #fb7185;
  --amber: #fbbf24;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(212,175,55,.16), transparent 30rem),
    radial-gradient(circle at 80% 10%, rgba(243,211,107,.08), transparent 26rem),
    linear-gradient(180deg, var(--bg), var(--bg-deep));
  color: var(--text);
  min-height: 100vh;
}
a { color: inherit; }
img, svg { max-width: 100%; }
.skip-link {
  position: absolute;
  left: 1rem;
  top: -4rem;
  z-index: 999;
  padding: .7rem 1rem;
  border-radius: .5rem;
  background: var(--gold-strong);
  color: #070707;
  font-weight: 800;
  transition: top .2s ease;
}
.skip-link:focus { top: 1rem; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1rem, 4vw, 3rem);
  background: rgba(7,7,7,.78);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: -.03em;
  white-space: nowrap;
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: .6rem;
  background: linear-gradient(135deg, var(--gold), var(--gold-strong));
  color: #070707;
  font-size: .78rem;
  font-family: 'JetBrains Mono', monospace;
  box-shadow: 0 0 30px rgba(212,175,55,.22);
}
.env-badge {
  border: 1px solid rgba(251,191,36,.35);
  color: var(--amber);
  border-radius: 999px;
  padding: .2rem .45rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: .68rem;
  letter-spacing: .04em;
}
nav { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
nav a, .footer-links a {
  color: var(--soft);
  text-decoration: none;
  font-size: .9rem;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}
nav a:hover, .footer-links a:hover { color: var(--gold-strong); }
.login-link {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: .55rem .8rem;
  background: rgba(255,255,255,.025);
}
.login-link:hover { border-color: var(--border-strong); background: rgba(212,175,55,.08); }
.hero, .page, .section-shell, .venture-list, .timeline-section, .legal-page {
  max-width: var(--max);
  margin: 0 auto;
  padding-inline: clamp(1rem, 4vw, 3rem);
}
.hero {
  min-height: 72vh;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  padding-top: clamp(4rem, 10vw, 8rem);
  padding-bottom: clamp(4rem, 10vw, 8rem);
}
.hero-copy { position: relative; }
.hero-copy:before {
  content: '';
  position: absolute;
  inset: -3rem auto auto -2rem;
  width: 7rem;
  height: 7rem;
  border: 1px solid rgba(212,175,55,.24);
  border-radius: 999px;
  z-index: -1;
}
.eyebrow {
  color: var(--gold);
  font-family: 'JetBrains Mono', monospace;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  margin-bottom: 1rem;
}
h1 {
  max-width: 950px;
  font-size: clamp(2.65rem, 7vw, 5.9rem);
  line-height: .94;
  letter-spacing: -.07em;
  margin: 0 0 1.25rem;
  font-weight: 800;
}
h2 { margin: .5rem 0; letter-spacing: -.045em; font-size: clamp(1.65rem, 3vw, 2.5rem); }
h3 { margin: .55rem 0; letter-spacing: -.03em; font-size: 1.18rem; }
p { color: var(--muted); font-size: 1.06rem; line-height: 1.72; max-width: 760px; }
.hero p { font-size: clamp(1.08rem, 2vw, 1.28rem); }
.hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  padding: .9rem 1.08rem;
  border-radius: .65rem;
  font-weight: 800;
  font-family: inherit;
  min-height: 2.85rem;
}
.button.primary { background: linear-gradient(135deg, var(--gold), var(--gold-strong)); color: #08090a; box-shadow: 0 16px 50px rgba(212,175,55,.18); }
.button.secondary { border: 1px solid var(--border); color: var(--soft); background: rgba(255,255,255,.035); }
.button:hover { transform: translateY(-1px); }
.hero-orbit {
  display: grid;
  gap: .9rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 1.4rem;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  box-shadow: 0 30px 120px rgba(0,0,0,.42);
}
.orbit-card {
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: rgba(0,0,0,.22);
  padding: 1rem;
  color: var(--soft);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.orbit-card span, .score-preview span, .contact-card span, .venture-status span, .quote-card span, .last-updated {
  color: var(--muted);
  font-family: 'JetBrains Mono', monospace;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.orbit-card.main { display: grid; gap: .65rem; background: linear-gradient(135deg, rgba(212,175,55,.15), rgba(255,255,255,.035)); border-color: var(--border-strong); }
.orbit-card.main strong { font-size: 1.3rem; line-height: 1.25; letter-spacing: -.04em; }
.section-shell { padding-top: 1rem; padding-bottom: 4rem; }
.section-shell.compact-section { padding-top: 0; padding-bottom: 5rem; }
.section-heading { margin-bottom: 1.3rem; }
.section-heading.centered { text-align: center; display: grid; justify-items: center; }
.grid-section { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.card, .feature-card, .panel, .metric-card, .status-card, .auth-panel, .venture-card, .quote-card, .contact-card {
  background: rgba(255,255,255,.04);
  border: 1px solid var(--border);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
}
.card, .feature-card, .venture-card, .quote-card, .contact-card { border-radius: 1.1rem; }
.card { padding: 1.25rem; }
.card span, .timeline-section span { color: var(--gold); font-family: 'JetBrains Mono', monospace; font-size: .8rem; }
.card p { font-size: .98rem; }
.feature-card {
  max-width: var(--max);
  margin: 0 auto 5rem;
  padding: clamp(1.5rem,4vw,3rem);
}
.flagship-card {
  display: grid;
  grid-template-columns: 1fr minmax(220px, 330px);
  gap: 2rem;
  align-items: center;
}
.score-preview {
  border: 1px solid var(--border-strong);
  border-radius: 1rem;
  padding: 1.3rem;
  background: radial-gradient(circle at top, rgba(212,175,55,.22), rgba(0,0,0,.18));
}
.score-preview strong { display: block; font-size: clamp(4rem, 10vw, 7rem); line-height: .9; letter-spacing: -.08em; color: var(--gold-strong); margin: 1rem 0 .6rem; }
.page { padding-top: clamp(4rem, 10vw, 8rem); padding-bottom: clamp(2rem, 6vw, 4rem); }
.narrow-page p { max-width: 680px; }
.split-page, .contact-page { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 2rem; align-items: center; }
.quote-card { padding: 1.4rem; display: grid; gap: .8rem; }
.quote-card strong { font-size: 1.6rem; line-height: 1.18; letter-spacing: -.04em; }
.venture-list { display: grid; gap: 1rem; padding-bottom: 5rem; }
.venture-card { padding: clamp(1.25rem, 3vw, 2rem); }
.venture-card.featured { display: grid; grid-template-columns: 1fr 260px; gap: 1rem; align-items: stretch; border-color: var(--border-strong); background: linear-gradient(135deg, rgba(212,175,55,.105), rgba(255,255,255,.035)); }
.venture-status { border: 1px solid var(--border); border-radius: 1rem; padding: 1rem; display: grid; align-content: center; gap: .5rem; background: rgba(0,0,0,.18); }
.venture-status strong { color: var(--gold-strong); font-size: 1.25rem; }
.muted-card { background: rgba(255,255,255,.025); }
.check-list { color: var(--soft); padding-left: 1.15rem; line-height: 1.9; }
.check-list li::marker { color: var(--gold); }
.timeline-section { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding-bottom: 5rem; }
.timeline-section article { border-top: 1px solid var(--border-strong); padding-top: 1rem; }
.contact-card { margin-top: 1.5rem; padding: 1rem; display: grid; gap: .4rem; width: fit-content; }
.contact-card a { color: var(--gold-strong); font-weight: 800; text-decoration: none; }
.contact-panel { align-self: stretch; }
.site-footer {
  border-top: 1px solid var(--border);
  color: var(--muted);
  padding: 2rem clamp(1rem,4vw,3rem);
  font-size: .9rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 2rem;
  align-items: start;
}
.footer-brand { color: var(--text); }
.site-footer p { font-size: .92rem; margin-bottom: 0; }
.footer-links { display: flex; gap: .9rem; flex-wrap: wrap; justify-content: flex-end; }
.footer-meta { grid-column: 1 / -1; color: #666d78; }
.auth-shell { min-height: calc(100vh - 140px); display: grid; place-items: center; padding: clamp(2rem, 5vw, 5rem) 1rem; }
.auth-panel { width: min(100%, 520px); border-radius: 1.25rem; padding: clamp(1.5rem, 4vw, 2.5rem); }
.auth-panel h1 { font-size: clamp(2.4rem, 7vw, 4rem); }
.auth-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.auth-form.compact { margin-top: 1rem; }
label { display: grid; gap: .5rem; color: var(--soft); font-size: .92rem; font-weight: 700; }
input, textarea, select { width: 100%; border: 1px solid var(--border); border-radius: .7rem; background: rgba(0,0,0,.28); color: var(--text); padding: .9rem 1rem; font: inherit; outline: none; }
textarea { resize: vertical; border-radius: 0; }
input:focus, textarea:focus, select:focus, a:focus-visible, button:focus-visible { outline: none; border-color: rgba(212,175,55,.72); box-shadow: 0 0 0 3px rgba(212,175,55,.13); }
.notice { border-radius: .8rem; padding: .85rem 1rem; margin: 1rem 0; font-size: .92rem; }
.notice.warning { background: rgba(251,191,36,.12); border: 1px solid rgba(251,191,36,.25); color: #fde68a; }
.notice.error { background: rgba(251,113,133,.11); border: 1px solid rgba(251,113,133,.25); color: #fecdd3; }
.notice.success { background: rgba(52,211,153,.10); border: 1px solid rgba(52,211,153,.25); color: #bbf7d0; }
.dashboard-shell { max-width: var(--max); margin: 0 auto; padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 3rem) 5rem; }
.dashboard-hero { display: grid; grid-template-columns: 1fr minmax(240px, 320px); gap: 1rem; align-items: stretch; margin-bottom: 1rem; }
.dashboard-hero h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
.status-card { border-radius: 1rem; padding: 1.25rem; display: grid; align-content: center; gap: .6rem; }
.status-card span, .metric-card span { color: var(--muted); font-family: 'JetBrains Mono', monospace; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.status-card strong { line-height: 1.45; }
.success { color: var(--green); }
.warning { color: var(--amber); }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1rem 0; }
.metric-card { border-radius: 1rem; padding: 1.25rem; }
.metric-card strong { display: block; font-size: 2.8rem; margin-top: .4rem; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 1rem; align-items: start; }
.panel { border-radius: 1rem; padding: 1.25rem; }
.panel-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.task-list { display: grid; gap: .75rem; margin-top: 1rem; }
.task-row { display: flex; justify-content: space-between; gap: 1rem; align-items: center; border: 1px solid var(--border); background: rgba(0,0,0,.18); padding: 1rem; border-radius: .85rem; }
.task-row span { display: block; color: var(--muted); margin-top: .25rem; }
.task-meta { display: flex; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.pill { border: 1px solid rgba(212,175,55,.28); color: var(--gold-strong); border-radius: 999px; padding: .35rem .55rem; font-size: .76rem; text-transform: capitalize; }
.pill.muted { border-color: var(--border); color: var(--soft); }
.empty-state { color: var(--muted); border: 1px dashed var(--border); border-radius: .85rem; padding: 1.25rem; }
.legal-page { padding-top: clamp(4rem, 9vw, 7rem); padding-bottom: 5rem; display: grid; grid-template-columns: minmax(260px, 360px) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.legal-header { position: sticky; top: 6rem; }
.legal-header h1 { font-size: clamp(2.4rem, 5vw, 4.4rem); }
.last-updated { display: inline-flex; margin-top: 1rem; padding: .45rem .6rem; border: 1px solid var(--border); border-radius: 999px; }
.legal-content { border: 1px solid var(--border); border-radius: 1.1rem; background: rgba(255,255,255,.035); padding: clamp(1.2rem, 3vw, 2rem); }
.legal-content h2 { font-size: 1.35rem; margin-top: 1.8rem; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p, .legal-content li { font-size: 1rem; color: var(--soft); line-height: 1.75; }
.legal-content a { color: var(--gold-strong); }
@media (max-width: 940px) {
  .hero, .flagship-card, .split-page, .contact-page, .venture-card.featured, .legal-page, .dashboard-hero, .dashboard-grid { grid-template-columns: 1fr; }
  .legal-header { position: static; }
}
@media (max-width: 760px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  nav { justify-content: flex-start; }
  .brand { white-space: normal; }
  .grid-section, .metric-grid, .timeline-section { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
  .hero { min-height: auto; }
  h1 { letter-spacing: -.055em; }
}
