/* ──────────────────────────────────────────────────────────────────────────
   Hero variants — each page gets a distinct visual entry.
   Add the modifier class to <header class="hero VARIANT"> per page.
   ────────────────────────────────────────────────────────────────────────── */


/* ─── Shared extras ───────────────────────────────────────────────────── */

.hero .hero-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  color: var(--ink-2);
  margin-bottom: var(--sp-4);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.hero .hero-eyebrow .stamp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hero .hero-eyebrow .stamp::before {
  content: "●";
  color: var(--accent);
  font-size: 0.6em;
  position: relative;
  top: -1px;
}
.hero .hero-underline {
  width: 64px;
  height: 2px;
  background: var(--accent);
  margin: var(--sp-5) 0 var(--sp-6);
}


/* ─── .pillar — flagship guide ───────────────────────────────────────── */

.hero.pillar {
  border-bottom: 1px solid var(--rule);
  padding-bottom: var(--sp-10);
}
.hero.pillar h1 {
  font-size: var(--fs-4xl);
  line-height: var(--lh-tight);
  max-width: 18ch;
}
.hero.pillar .lede {
  font-size: var(--fs-xl);
  max-width: 50ch;
}


/* ─── .split — comparison page ───────────────────────────────────────── */

.hero.split {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: var(--sp-8);
  border-bottom: 1px solid var(--rule);
  padding-bottom: var(--sp-10);
}
.hero.split .hero-text { display: flex; flex-direction: column; }
.hero.split .versus {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: var(--sp-3);
}
.hero.split .versus .vs-card {
  border: 1px solid var(--rule);
  padding: var(--sp-4) var(--sp-5);
  border-radius: var(--r-2);
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hero.split .versus .vs-card.live {
  border-color: var(--accent);
  background: var(--accent-soft);
}
.hero.split .versus .vs-card .vs-name {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  color: var(--ink-2);
}
.hero.split .versus .vs-card.live .vs-name { color: var(--accent); }
.hero.split .versus .vs-card .vs-title {
  font-family: var(--font-display);
  font-size: var(--fs-xl);
  font-weight: 600;
  letter-spacing: var(--tracking-snug);
}
@media (max-width: 720px) {
  .hero.split { grid-template-columns: 1fr; }
}


/* ─── .numbered — features page ──────────────────────────────────────── */

.hero.numbered h1::before {
  content: "§ 01";
  display: block;
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  color: var(--accent);
  margin-bottom: var(--sp-4);
  text-transform: uppercase;
}


/* ─── .code — API page ───────────────────────────────────────────────── */

.hero.code {
  background: var(--code-bg);
  color: var(--code-fg);
  border-bottom: 1px solid var(--ink);
  padding-bottom: var(--sp-10);
}
.hero.code .hero-eyebrow { color: var(--code-fg-2); }
.hero.code h1 {
  color: var(--code-fg);
  font-family: var(--font-mono);
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.hero.code h1 .prompt::before {
  content: "$ ";
  color: var(--accent);
}
.hero.code .lede {
  color: var(--code-fg-2);
  font-family: var(--font-mono);
  font-size: var(--fs-md);
  font-style: normal;
  max-width: 56ch;
}
.hero.code .hero-meta { color: var(--code-fg-2); }
.hero.code .hero-meta .badge { color: var(--code-fg-2); border-color: rgba(237,231,220,0.3); }
.hero.code .hero-meta .badge .dot { background: var(--accent); }
.hero.code .hero-meta a { color: var(--code-fg); }
.hero.code .hero-meta a:hover { color: var(--accent); }
.hero.code .hero-underline { background: var(--accent); }


/* ─── .steps — how-to page ───────────────────────────────────────────── */

.hero.steps .hero-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: var(--sp-8);
  border: 1px solid var(--rule);
  border-radius: var(--r-2);
}
.hero.steps .hero-steps .step {
  padding: var(--sp-4);
  border-right: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hero.steps .hero-steps .step:last-child { border-right: none; }
.hero.steps .hero-steps .step .step-num {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  color: var(--accent);
}
.hero.steps .hero-steps .step .step-label {
  font-family: var(--font-display);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  letter-spacing: var(--tracking-snug);
}
@media (max-width: 720px) {
  .hero.steps .hero-steps { grid-template-columns: 1fr 1fr; }
  .hero.steps .hero-steps .step:nth-child(2n) { border-right: none; }
  .hero.steps .hero-steps .step:nth-child(-n+2) { border-bottom: 1px solid var(--rule); }
}


/* ─── .price — pricing page ──────────────────────────────────────────── */

.hero.price .hero-prices {
  display: flex;
  gap: 0;
  margin-top: var(--sp-8);
  border: 1px solid var(--rule);
  border-radius: var(--r-2);
}
.hero.price .hero-prices .price-cell {
  flex: 1;
  padding: var(--sp-4);
  border-right: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.hero.price .hero-prices .price-cell:last-child { border-right: none; }
.hero.price .hero-prices .price-cell .price-amount {
  font-family: var(--font-display);
  font-size: var(--fs-2xl);
  font-weight: 700;
  letter-spacing: var(--tracking-tight);
  line-height: 1;
}
.hero.price .hero-prices .price-cell.featured {
  background: var(--accent-soft);
}
.hero.price .hero-prices .price-cell.featured .price-amount { color: var(--accent); }
.hero.price .hero-prices .price-cell .price-tier {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  color: var(--ink-2);
  text-transform: uppercase;
}
@media (max-width: 720px) {
  .hero.price .hero-prices { flex-direction: column; }
  .hero.price .hero-prices .price-cell { border-right: none; border-bottom: 1px solid var(--rule); }
  .hero.price .hero-prices .price-cell:last-child { border-bottom: none; }
}


/* ─── .minimal — free page ───────────────────────────────────────────── */

.hero.minimal {
  padding-top: var(--sp-12);
  padding-bottom: var(--sp-12);
  border-bottom: 1px solid var(--rule);
}
.hero.minimal h1 {
  font-size: clamp(3rem, 8vw, 6rem);
  letter-spacing: var(--tracking-tight);
  line-height: 1;
  max-width: 12ch;
}
.hero.minimal h1 .free-tag {
  font-family: var(--font-mono);
  font-size: 0.25em;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  color: var(--accent);
  vertical-align: super;
  font-weight: 500;
}


/* ─── .matrix — languages page ───────────────────────────────────────── */

.hero.matrix .hero-tiers {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--sp-3);
  margin-top: var(--sp-8);
}
.hero.matrix .hero-tiers .tier {
  border: 1px solid var(--rule);
  padding: var(--sp-4);
  border-radius: var(--r-2);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.hero.matrix .hero-tiers .tier.t1 { border-color: var(--ink); }
.hero.matrix .hero-tiers .tier.t2 { border-color: var(--rule-strong); }
.hero.matrix .hero-tiers .tier.t3 { border-color: var(--rule); opacity: 0.85; }
.hero.matrix .hero-tiers .tier .tier-label {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  color: var(--accent);
}
.hero.matrix .hero-tiers .tier.t2 .tier-label { color: var(--ink); }
.hero.matrix .hero-tiers .tier.t3 .tier-label { color: var(--ink-3); }
.hero.matrix .hero-tiers .tier .tier-langs {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--ink);
  letter-spacing: var(--tracking-snug);
}
@media (max-width: 720px) {
  .hero.matrix .hero-tiers { grid-template-columns: 1fr; }
}


/* ─── .doc — about / privacy / disclosure / contact ──────────────────── */

.hero.doc {
  padding-top: var(--sp-12);
  padding-bottom: var(--sp-8);
  border-bottom: 1px solid var(--rule);
}
.hero.doc h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  max-width: 22ch;
}
.hero.doc .hero-eyebrow .label {
  color: var(--ink-2);
}
.hero.doc .lede { max-width: 60ch; }


/* ─── .large — homepage masthead ─────────────────────────────────────── */

.hero.large {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
  padding-top: var(--sp-12);
  padding-bottom: var(--sp-10);
}
.hero.large .masthead-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--rule);
  margin-bottom: var(--sp-5);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  color: var(--ink-2);
}
.hero.large .masthead-meta .edition { color: var(--accent); font-weight: 600; }
.hero.large .masthead-meta .stats { display: flex; gap: var(--sp-5); }
.hero.large .masthead-meta .stats strong { color: var(--ink); }
.hero.large h1 {
  font-size: clamp(2.5rem, 7vw, 5.5rem);
  letter-spacing: -0.03em;
  line-height: 1;
  max-width: 14ch;
  text-align: left;
}
.hero.large .lede {
  font-size: var(--fs-xl);
  font-style: italic;
  color: var(--ink-2);
  max-width: 50ch;
  text-align: left;
  margin-bottom: var(--sp-6);
}
.hero.large .hero-actions {
  display: flex;
  gap: var(--sp-4);
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 720px) {
  .hero.large .masthead-meta { flex-direction: column; align-items: flex-start; gap: 8px; }
  .hero.large .masthead-meta .stats { gap: var(--sp-3); flex-wrap: wrap; }
}