/* ═════════════════════════════════════
   FOVEA v3 — Buyers page
   Precise. Credible. Invitation only.
   ═════════════════════════════════════ */

/* ── HERO ────────────────────────────────────────────── */
.buyers-hero {
  padding-top: clamp(6rem, 13vw, 10rem);
  padding-bottom: clamp(4rem, 8vw, 7rem);
  position: relative;
  overflow: hidden;
}

/* Cool ambient glow */
.buyers-hero::before {
  content:'';
  position:absolute;
  top:-20%; right:-10%;
  width:70vw; height:70vw;
  max-width:800px; max-height:800px;
  background:radial-gradient(ellipse at 70% 30%,
    rgba(37,99,235,0.08) 0%,
    rgba(37,99,235,0.03) 45%,
    transparent 70%);
  pointer-events:none; z-index:0;
}

.buyers-hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s12);
  align-items: center;
  position: relative;
  z-index: 1;
}

.buyers-hero-copy {}

.buyers-eyebrow {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cool);
  display: flex; align-items: center; gap: var(--s2);
  margin-bottom: var(--s6);
}
.buyers-eyebrow span { opacity: 0.7; }

.buyers-hero-h1 {
  font-size: var(--text-3xl);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--text);
  margin-bottom: var(--s5);
}
.buyers-hero-h1 span { color: var(--cool); }

.buyers-hero-sub {
  font-size: var(--text-lg);
  color: var(--text-2);
  line-height: 1.65;
  font-weight: 300;
  max-width: 46ch;
  margin-bottom: var(--s8);
}

.buyers-hero-ctas { display:flex; gap:var(--s4); flex-wrap:wrap; }

/* Stat strip below CTAs */
.buyers-hero-stats {
  display: flex;
  gap: var(--s8);
  margin-top: var(--s8);
  padding-top: var(--s8);
  border-top: 1px solid var(--border);
}
.b-stat {}
.b-stat__val   { font-family:var(--f-display); font-size:var(--text-xl); font-weight:700; letter-spacing:-0.03em; color:var(--cool); }
.b-stat__label { font-family:var(--f-mono); font-size:var(--text-xs); letter-spacing:0.08em; text-transform:uppercase; color:var(--text-3); margin-top:var(--s1); }

/* ── Spec panel ── */
.buyers-spec-panel {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: 0 4px 40px rgba(15,17,23,0.06);
}

.spec-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--s4) var(--s6);
  background: var(--bg-3);
  border-bottom: 1px solid var(--border);
}
.spec-panel-label {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-2);
}
.spec-status {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  color: var(--cool);
  transition: color 0.3s ease;
}
.spec-status.status-live  { color: var(--cool); }
.spec-status.status-ready { color: var(--green); }

.spec-rows { display:flex; flex-direction:column; }
.spec-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid var(--border-2);
  transition: background 0.15s, opacity 0.25s ease, transform 0.25s ease;
}
.spec-row:last-child { border-bottom:none; }
.spec-row:hover { background:var(--bg-3); }

.spec-key {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  color: var(--text-3);
  letter-spacing: 0.06em;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 120px;
}
.spec-val {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  color: var(--text);
  text-align: right;
  line-height: 1.5;
  flex: 1;
  min-width: 0;
  transition: color 0.2s ease;
}

/* Typing cursor */
.spec-val.typing::after {
  content: '│';
  display: inline-block;
  color: var(--cool);
  margin-left: 1px;
  animation: blink-cursor 0.6s step-end infinite;
}
.spec-val.confirmed { color: var(--cool); }

.spec-check {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  color: var(--green);
  opacity: 0;
  flex-shrink: 0;
  width: 16px;
  text-align: right;
}

@keyframes blink-cursor {
  0%,100% { opacity:1; }
  50%      { opacity:0; }
}

.spec-panel-footer {
  padding: 0.85rem 1.5rem;
  background: var(--cool-light);
  border-top: 1px solid rgba(37,99,235,0.1);
}
.spec-footer-note {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  color: var(--cool);
  letter-spacing: 0.06em;
  opacity: 0.8;
}

@media (max-width:820px) {
  .buyers-hero-inner { grid-template-columns:1fr; }
}

/* ── PLATFORM CAPABILITIES ───────────────────────────── */
.buyers-caps { padding-block:var(--section-pad); }
.buyers-caps__title { font-size:var(--text-2xl); font-weight:700; letter-spacing:-0.03em; margin-bottom:var(--s4); }
.buyers-caps__intro { font-size:var(--text-lg); color:var(--text-2); font-weight:300; line-height:1.7; max-width:56ch; margin-bottom:var(--s10); }

.cap-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--s5);
}
.cap-card {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: var(--s7, 1.75rem);
  transition: border-color var(--t), transform var(--t), box-shadow var(--t);
}
.cap-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,0.3); box-shadow:0 8px 32px rgba(15,17,23,0.07); }
.cap-card__badge {
  display:inline-flex; align-items:center;
  font-family:var(--f-mono); font-size:var(--text-xs); letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0.2em 0.7em; border-radius:var(--r-full);
  background:var(--cool-light); color:var(--cool);
  border:1px solid rgba(37,99,235,0.2);
  margin-bottom:var(--s4);
}
.cap-card__icon {
  width:36px; height:36px; border-radius:var(--r-md);
  background:var(--cool-light);
  display:flex; align-items:center; justify-content:center;
  color:var(--cool); margin-bottom:var(--s4);
}
.cap-card__title { font-family:var(--f-display); font-size:var(--text-base); font-weight:600; margin-bottom:var(--s3); }
.cap-card__body  { font-size:var(--text-sm); color:var(--text-2); line-height:1.7; }

@media (max-width:720px) { .cap-grid { grid-template-columns:1fr; } }

/* ── FLOW DIAGRAM ────────────────────────────────────── */
.buyers-flow { padding-block:var(--section-pad); background:var(--bg-3); }
.buyers-flow__title { font-size:var(--text-2xl); font-weight:700; letter-spacing:-0.03em; margin-bottom:var(--s3); }
.buyers-flow__intro { font-size:var(--text-base); color:var(--text-2); font-weight:300; margin-bottom:var(--s10); line-height:1.7; max-width:52ch; }

.flow-steps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0;
  position: relative;
}
.flow-steps::before {
  content:'';
  position:absolute;
  top:28px; left:calc(50%/3 + 16px); right:calc(50%/3 + 16px);
  height:1px;
  background:linear-gradient(90deg, var(--cool), rgba(37,99,235,0.3));
  z-index:0;
}
.flow-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 var(--s4);
  position: relative;
  z-index: 1;
}
.flow-node__num {
  width:56px; height:56px; border-radius:50%;
  background:var(--bg-2); border:1.5px solid var(--cool);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-mono); font-size:var(--text-xs); letter-spacing:0.1em;
  color:var(--cool); margin-bottom:var(--s4);
  box-shadow:0 0 0 6px var(--bg-3);
}
.flow-node__title { font-family:var(--f-display); font-size:var(--text-base); font-weight:600; margin-bottom:var(--s2); }
.flow-node__body  { font-size:var(--text-sm); color:var(--text-2); line-height:1.65; }
.flow-arrow { display:none; }

@media (max-width:640px) { .flow-steps { grid-template-columns:1fr; } .flow-steps::before { display:none; } }

/* ── LICENSE TABLE ───────────────────────────────────── */
.buyers-license { padding-block:var(--section-pad); }
.buyers-license__title { font-size:var(--text-2xl); font-weight:700; letter-spacing:-0.03em; margin-bottom:var(--s4); }
.buyers-license__intro { font-size:var(--text-base); color:var(--text-2); font-weight:300; line-height:1.7; max-width:52ch; margin-bottom:var(--s8); }

/* Tier cards */
.tier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); }
.tier-card {
  background:var(--bg-2); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:var(--s7, 1.75rem);
  transition:border-color var(--t), transform var(--t);
}
.tier-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,0.25); box-shadow:0 8px 24px rgba(15,17,23,0.07); }
.tier-card__name  { font-family:var(--f-mono); font-size:var(--text-xs); letter-spacing:0.1em; text-transform:uppercase; color:var(--cool); margin-bottom:var(--s3); }
.tier-card__title { font-family:var(--f-display); font-size:var(--text-lg); font-weight:600; margin-bottom:var(--s2); }
.tier-card__desc  { font-size:var(--text-sm); color:var(--text-2); line-height:1.65; margin-bottom:var(--s4); }
.tier-card__list  { list-style:none; display:flex; flex-direction:column; gap:var(--s2); }
.tier-card__list li { font-size:var(--text-sm); color:var(--text-2); padding-left:var(--s4); position:relative; }
.tier-card__list li::before { content:'✓'; position:absolute; left:0; color:var(--green); font-size:var(--text-xs); }

@media (max-width:720px) { .tier-grid { grid-template-columns:1fr; } }

/* ── FOUNDING COHORT ─────────────────────────────────── */
.buyers-founding {
  padding-block: var(--section-pad);
  background: var(--bg-dark);
}
.buyers-founding .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s12);
  align-items: start;
}

.founding-copy { color:var(--text-inv); }
.founding-copy h2 { font-size:var(--text-2xl); font-weight:700; letter-spacing:-0.03em; margin-bottom:var(--s4); }
.founding-copy p  { font-size:var(--text-base); color:rgba(245,246,248,0.6); line-height:1.75; font-weight:300; max-width:44ch; margin-bottom:var(--s6); }
.founding-copy .scarcity {
  font-family:var(--f-mono); font-size:var(--text-xs); letter-spacing:0.1em;
  text-transform:uppercase; color:var(--warm-mid); display:flex; align-items:center; gap:var(--s2);
}
.founding-copy .scarcity::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--warm-2); animation:pulse-anim 2s ease-in-out infinite;
}

/* Founding perks */
.founding-perks {
  display:flex; flex-direction:column; gap:var(--s4);
  margin-top:var(--s8);
}
.founding-perk {
  display:flex; gap:var(--s4); align-items:flex-start;
  padding:var(--s5);
  background:rgba(245,246,248,0.04);
  border:1px solid rgba(245,246,248,0.07);
  border-radius:var(--r-lg);
  transition:border-color var(--t);
}
.founding-perk:hover { border-color:rgba(245,246,248,0.15); }
.founding-perk__icon {
  width:36px; height:36px; border-radius:var(--r-md);
  background:rgba(37,99,235,0.15);
  display:flex; align-items:center; justify-content:center;
  color:var(--cool-mid); flex-shrink:0;
}
.founding-perk__title { font-family:var(--f-display); font-size:var(--text-sm); font-weight:600; color:var(--text-inv); margin-bottom:var(--s1); }
.founding-perk__body  { font-size:var(--text-sm); color:rgba(245,246,248,0.5); line-height:1.6; }

@media (max-width:820px) {
  .buyers-founding .container { grid-template-columns:1fr; }
  .founding-form-wrap { position:static; }
}

/* ── APPLICATION FORM ─────────────────────────────────── */
.founding-form-wrap {
  position: sticky;
  top: calc(var(--nav-h, 64px) + var(--s6));
  align-self: start;
}
.founding-form {
  background: rgba(245,246,248,0.04);
  border: 1px solid rgba(245,246,248,0.1);
  border-radius: var(--r-xl);
  padding: var(--s8);
  display: flex;
  flex-direction: column;
  gap: var(--s4);
  position: relative;
  overflow: hidden;
}
.founding-form::before {
  content:'';
  display:block; height:1px;
  background:linear-gradient(90deg, transparent, rgba(37,99,235,0.5), transparent);
  margin:-var(--s8) -var(--s8) 0;
  position:absolute; top:0; left:0; right:0;
}

.form-group {
  display:flex; flex-direction:column; gap:var(--s2);
}
.form-label {
  font-family: var(--f-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(245,246,248,0.4);
}
.form-input {
  width: 100%;
  background: rgba(245,246,248,0.05);
  border: 1px solid rgba(245,246,248,0.12);
  border-radius: var(--r-md);
  padding: 0.7rem 0.9rem;
  font-family: var(--f-body);
  font-size: var(--text-sm);
  color: var(--text-inv);
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  appearance: none;
  -webkit-appearance: none;
  color-scheme: dark;
}
.form-input::placeholder { color: rgba(245,246,248,0.2); }
.form-input:focus {
  border-color: rgba(37,99,235,0.6);
  background: rgba(37,99,235,0.06);
}

.form-select option { background:#161A22; color:var(--text-inv); }

.form-hint {
  display:block;
  font-family:var(--f-mono); font-size:var(--text-xs);
  color:rgba(245,246,248,0.25); letter-spacing:0.05em;
  margin-top:var(--s1);
}

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
@media (max-width:540px) { .form-row { grid-template-columns:1fr; } }

.btn-full { width:100%; justify-content:center; }
.founding-note {
  font-family:var(--f-mono); font-size:var(--text-xs);
  color:rgba(245,246,248,0.2); letter-spacing:0.06em;
  text-align:center; margin-top:var(--s2);
}
