/* =========================================================================
   HALDEN — Brand Foundations + Homepage
   Operator-grade design for "the operating system for founder-led companies"
   ========================================================================= */

/* --- Webfonts --- */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@0,6..72,400..700;1,6..72,400..700&family=JetBrains+Mono:ital,wght@0,400..700;1,400..700&display=swap');

/* =========================================================================
   DESIGN TOKENS
   ========================================================================= */
:root {
  /* Parchment — the page */
  --parchment-50:  #FBF7F1;
  --parchment-100: #F5EFE5;
  --parchment-200: #ECE3D3;
  --parchment-300: #D9CDB6;

  /* Ink — the type */
  --ink-900: #1A1814;
  --ink-800: #2A2823;
  --ink-700: #4A463E;
  --ink-600: #6B6557;
  --ink-500: #8C8675;
  --ink-400: #ADA796;

  /* Terracotta — brand accent */
  --terracotta-700: #9B3F1F;
  --terracotta-600: #BF4F26;
  --terracotta-500: #D26A3F;
  --terracotta-100: #F4E0D2;

  /* Signal — operational truth */
  --signal-running: #4F7A3F;
  --signal-running-bg: #E5EDDD;
  --signal-exception: #C28A1F;
  --signal-exception-bg: #F5E8C8;
  --signal-drop: #A93226;
  --signal-drop-bg: #F2D7D2;

  /* Semantic */
  --bg:           var(--parchment-50);
  --bg-raised:    var(--parchment-100);
  --fg:           var(--ink-900);
  --fg-muted:     var(--ink-700);
  --fg-subtle:    var(--ink-600);
  --fg-faint:     var(--ink-500);
  --border:       var(--parchment-200);
  --hairline:     #E8DFCE;
  --accent:       var(--terracotta-600);
  --accent-hover: var(--terracotta-500);
  --accent-tint:  var(--terracotta-100);

  /* Typography */
  --font-display:   'Instrument Sans', 'Söhne', system-ui, sans-serif;
  --font-body:      'Inter', 'Söhne Buch', system-ui, sans-serif;
  --font-editorial: 'Newsreader', 'GT Sectra', Georgia, serif;
  --font-mono:      'JetBrains Mono', 'Berkeley Mono', ui-monospace, monospace;

  /* Spacing */
  --space-4:  16px;
  --space-8:  32px;
  --space-12:  48px;
  --space-16:  64px;
  --space-24:  96px;

  /* Radii */
  --radius-sm:  4px;
  --radius-md:  6px;
  --radius-lg:  10px;

  /* Shadows */
  --shadow-hairline: 0 0 0 1px var(--border);
  --shadow-sm: 0 1px 2px rgba(26, 24, 20, 0.06), 0 0 0 1px var(--border);
  --shadow-md: 0 4px 12px -2px rgba(26, 24, 20, 0.08), 0 0 0 1px var(--border);
  --shadow-lg: 0 16px 32px -8px rgba(26, 24, 20, 0.12), 0 0 0 1px var(--border);
  --shadow-press: inset 0 1px 2px rgba(26, 24, 20, 0.08);

  /* Motion */
  --ease-out: cubic-bezier(0.2, 0.7, 0.1, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
}

/* =========================================================================
   RESET & BASE
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01", "cv11";
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
::selection { background: var(--terracotta-100); color: var(--ink-900); }

/* =========================================================================
   LAYOUT
   ========================================================================= */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}
.container-narrow {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 32px;
}
.section { padding: 112px 0; }
.divider { border-top: 1px solid var(--hairline); }

/* =========================================================================
   TYPOGRAPHY PRIMITIVES
   ========================================================================= */
.eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  font-weight: 500;
}
.eyebrow.accent { color: var(--terracotta-700); }

/* =========================================================================
   BUTTONS
   ========================================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: var(--radius-md);
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.005em;
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background var(--dur-base) var(--ease-out),
              border-color var(--dur-base) var(--ease-out),
              color var(--dur-base) var(--ease-out);
  white-space: nowrap;
}
.btn-primary { background: var(--terracotta-600); color: var(--parchment-50); }
.btn-primary:hover { background: var(--terracotta-700); }
.btn-primary:active { box-shadow: var(--shadow-press); }
.btn-secondary {
  background: transparent;
  color: var(--ink-900);
  border-color: var(--parchment-300);
}
.btn-secondary:hover { border-color: var(--ink-900); background: var(--parchment-100); }
.btn-tertiary {
  background: transparent;
  color: var(--ink-900);
  padding: 10px 16px;
  font-size: 14px;
  border: 1px solid var(--parchment-300);
}
.btn-tertiary:hover { border-color: var(--ink-900); background: var(--parchment-100); }
.btn-lg { padding: 18px 28px; font-size: 16px; }

/* on-ink button variants */
.on-ink .btn-primary { background: var(--terracotta-600); color: var(--parchment-50); }
.on-ink .btn-primary:hover { background: var(--terracotta-500); }
.on-ink .btn-secondary { color: var(--parchment-50); border-color: rgba(251, 247, 241, 0.22); }
.on-ink .btn-secondary:hover { border-color: var(--parchment-50); background: rgba(251, 247, 241, 0.05); }
.on-ink .btn-tertiary { color: var(--parchment-50); border-color: rgba(251, 247, 241, 0.22); }
.on-ink .btn-tertiary:hover { background: rgba(251, 247, 241, 0.05); border-color: var(--parchment-50); }

/* =========================================================================
   HEADER
   ========================================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(251, 247, 241, 0.92);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  border-bottom: 1px solid var(--hairline);
}
.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 32px;
  max-width: 1320px;
  margin: 0 auto;
}
.brand-lockup { display: flex; align-items: center; gap: 10px; height: 44px; }
.brand-lockup img { height: 44px; }

.primary-nav { display: flex; gap: 32px; }
.primary-nav a {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--fg-muted);
  letter-spacing: -0.005em;
  transition: color var(--dur-fast) var(--ease-out);
}
.primary-nav a:hover { color: var(--ink-900); }

.header-cta-row { display: flex; align-items: center; gap: 12px; }
.menu-btn { display: none; }

/* =========================================================================
   HERO
   ========================================================================= */
.hero {
  position: relative;
  padding: 88px 0 32px;
  overflow: hidden;
}
.hero-stamp {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 32px;
}
.hero-stamp .stamp-rule {
  width: 28px;
  height: 1px;
  background: var(--terracotta-600);
}
.hero h1 {
  font-family: var(--font-display);
  font-size: 96px;
  line-height: 0.96;
  letter-spacing: -0.03em;
  font-weight: 600;
  color: var(--ink-900);
  margin: 0;
  max-width: 1100px;
  text-wrap: balance;
}
.hero h1 em {
  font-style: normal;
  color: var(--terracotta-600);
}

.hero-subhead {
  font-family: var(--font-body);
  font-size: 20px;
  line-height: 1.55;
  color: var(--fg-muted);
  max-width: 640px;
  margin: 36px 0 0;
  text-wrap: pretty;
}
.hero-cta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 40px;
}
.hero-tertiary-line {
  display: block;
  margin-top: 18px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-subtle);
}
.hero-tertiary-line .sep { color: var(--ink-400); padding: 0 6px; }

/* Hero artwork */
.hero-art { margin-top: 80px; position: relative; }
.hero-art-frame {
  background: #FFFFFF;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.hero-art-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--hairline);
  background: var(--parchment-50);
}
.hero-art-meta { display: flex; align-items: center; gap: 14px; }
.hero-art-meta .composite {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  padding: 4px 8px;
  border: 1px solid var(--hairline);
  border-radius: 999px;
}
.hero-art-meta .title {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.hero-art-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--signal-running);
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.status-dot.pulse {
  box-shadow: 0 0 0 4px var(--signal-running-bg);
  animation: pulse-running 2.4s ease-in-out infinite;
}
@keyframes pulse-running {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

.hero-art-body { padding: 24px; background: #FFFFFF; }
.hero-art-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  border-top: 1px solid var(--hairline);
  background: var(--parchment-50);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-subtle);
}
.hero-art-footer .legend { display: flex; gap: 18px; align-items: center; }
.hero-art-footer .legend-item { display: flex; gap: 6px; align-items: center; }
.hero-art-footer .legend-swatch {
  width: 8px; height: 8px; border-radius: 50%;
}
.hero-art-footer .legend-swatch.running { background: var(--signal-running); }
.hero-art-footer .legend-swatch.exception { background: var(--signal-exception); }
.hero-art-footer .legend-swatch.drop { background: var(--signal-drop); }

/* =========================================================================
   SECTION MARKERS & HEADINGS
   ========================================================================= */
.section-marker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 64px;
  padding-top: 24px;
  border-top: 1px solid var(--hairline);
}
.section-marker .num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--fg-subtle);
  font-variant-numeric: tabular-nums;
}
.section-marker .name {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-900);
  font-weight: 500;
}
.section-marker .rule {
  flex: 1;
  height: 1px;
  background: var(--hairline);
}
.section-head { max-width: 760px; margin-bottom: 64px; }
.section-head h2 {
  font-family: var(--font-display);
  font-size: 54px;
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 600;
  margin: 0 0 20px;
  color: var(--ink-900);
  text-wrap: balance;
}
.section-head p {
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.55;
  color: var(--fg-muted);
  margin: 0;
  max-width: 640px;
  text-wrap: pretty;
}
.section-head .eyebrow { margin-bottom: 16px; display: inline-block; }

/* on-ink section markers */
.on-ink .section-marker {
  border-top-color: rgba(251, 247, 241, 0.12);
}
.on-ink .section-marker .name { color: var(--parchment-50); }
.on-ink .section-marker .rule { background: rgba(251, 247, 241, 0.10); }
.on-ink .section-marker .num { color: var(--ink-400); }

/* =========================================================================
   SECTION: THE COST
   ========================================================================= */
.cost { border-top: 1px solid var(--hairline); }
.cost-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 80px;
  align-items: start;
}
.cost-prose p {
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.62;
  color: var(--fg-muted);
  margin: 0 0 22px;
  max-width: 560px;
  text-wrap: pretty;
}
.cost-prose p strong { color: var(--ink-900); font-weight: 500; }
.operator-quote {
  display: block;
  margin: 32px 0 0;
  padding: 20px 0 20px 24px;
  border-left: 2px solid var(--terracotta-600);
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: 28px;
  line-height: 1.2;
  color: var(--ink-900);
  letter-spacing: -0.01em;
  max-width: 560px;
}
.operator-quote .attrib {
  display: block;
  margin-top: 14px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  font-style: normal;
}

.character-card {
  background: var(--parchment-100);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  position: relative;
}
.character-card .composite-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  padding: 4px 8px;
  background: var(--parchment-50);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 16px;
}
.character-card img {
  width: 100%;
  max-width: 220px;
  margin: 8px auto 18px;
  display: block;
}
.character-card .name {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-bottom: 6px;
}
.character-card h4 {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--ink-900);
  margin: 0 0 14px;
}
.character-card .nine-things {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--hairline);
}
.character-card .nine-things li {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-muted);
  list-style: none;
  letter-spacing: 0.02em;
  padding-left: 14px;
  position: relative;
}
.character-card .nine-things li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--terracotta-600);
}

/* =========================================================================
   SECTION: HOW IT WORKS
   ========================================================================= */
.mechanism .section-head { max-width: 720px; }
.mechanism-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  background: #fff;
  overflow: hidden;
}
.mechanism-step {
  padding: 28px 28px 32px;
  position: relative;
  border-right: 1px solid var(--hairline);
}
.mechanism-step:last-child { border-right: none; }
.mechanism-step .step-num {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--terracotta-700);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mechanism-step .step-num .num {
  font-variant-numeric: tabular-nums;
  color: var(--fg-subtle);
}
.mechanism-step h3 {
  font-family: var(--font-display);
  font-size: 22px;
  letter-spacing: -0.01em;
  font-weight: 600;
  color: var(--ink-900);
  margin: 0 0 8px;
}
.mechanism-step p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--fg-muted);
  margin: 0;
}
.mechanism-prose {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
}
.mechanism-prose p {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.62;
  color: var(--fg-muted);
  margin: 0;
}
.mechanism-prose .lead {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--ink-900);
  margin: 0;
}

/* =========================================================================
   SECTION: PROOF
   ========================================================================= */
.proof { background: var(--parchment-100); }
.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 16px;
}
.proof-card {
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  padding: 28px 26px 26px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.proof-card .label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--terracotta-700);
}
.proof-card .pull {
  font-family: var(--font-editorial);
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.005em;
  color: var(--ink-900);
  margin: 0;
}
.proof-card .stub-note {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-500);
  border: 1px dashed var(--parchment-300);
  border-radius: var(--radius-sm);
  padding: 3px 7px;
  margin-bottom: 10px;
}
.proof-card .meta {
  border-top: 1px solid var(--hairline);
  padding-top: 16px;
  margin-top: auto;
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 8px 16px;
}
.proof-card .meta dt {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-subtle);
}
.proof-card .meta dd {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--ink-900);
  line-height: 1.5;
}

/* =========================================================================
   SECTION: BLUEPRINT
   ========================================================================= */
.blueprint-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 80px;
  align-items: stretch;
}
.blueprint-prose {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.blueprint-prose p {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.62;
  color: var(--fg-muted);
  margin: 0 0 18px;
  max-width: 540px;
}
.blueprint-prose .lead {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--ink-900);
  margin-bottom: 26px;
}
.blueprint-prose .cta-row { margin-top: 28px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }

.blueprint-art {
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  padding: 24px;
  position: relative;
  min-height: 380px;
  box-shadow: var(--shadow-md);
}
.blueprint-art .art-eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
}
.blueprint-art .art-eyebrow .right { color: var(--terracotta-700); }

/* =========================================================================
   SECTION: WHO IT'S FOR
   ========================================================================= */
.segments-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 16px;
}
.segment-card {
  background: #fff;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  padding: 28px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: background var(--dur-base) var(--ease-out),
              box-shadow var(--dur-base) var(--ease-out);
}
.segment-card:hover { background: var(--parchment-50); box-shadow: var(--shadow-sm); }
.segment-card .label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-900);
  font-weight: 500;
}
.segment-card .label .size {
  color: var(--fg-subtle);
  font-weight: 400;
  margin-left: 6px;
}
.segment-card p {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--fg-muted);
  margin: 0;
}
.segment-card .examples {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--hairline);
}
.segment-card .examples li {
  list-style: none;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--fg-muted);
  padding: 4px 0 4px 16px;
  position: relative;
}
.segment-card .examples li::before {
  content: "↯";
  position: absolute;
  left: 0;
  color: var(--terracotta-600);
}
.segment-card .character-glyph {
  margin-top: -8px;
  margin-bottom: 8px;
  height: 88px;
  display: flex;
  align-items: flex-end;
}
.segment-card .character-glyph img { height: 88px; width: auto; }

/* =========================================================================
   SECTION: OPERATOR PRIOR (ink-inverted)
   ========================================================================= */
.operator-prior {
  background: var(--ink-900);
  color: var(--parchment-50);
  border-top: 1px solid var(--ink-800);
  border-bottom: 1px solid var(--ink-800);
}
.operator-prior .section-head h2 { color: var(--parchment-50); font-size: 48px; }
.operator-prior .section-head p { color: var(--ink-400); }
.operator-prior .eyebrow { color: var(--ink-400); }
.operator-prior-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 80px;
  align-items: start;
}
.operator-prior-prose p {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.62;
  color: var(--ink-400);
  margin: 0 0 22px;
  max-width: 580px;
}
.operator-prior-prose p strong { color: var(--parchment-50); font-weight: 500; }

.operator-stat-card {
  background: rgba(251, 247, 241, 0.04);
  border: 1px solid rgba(251, 247, 241, 0.10);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
}
.operator-stat-card .stat {
  font-family: var(--font-display);
  font-size: 64px;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--terracotta-500);
  font-weight: 600;
  margin: 0 0 12px;
  font-variant-numeric: tabular-nums;
}
.operator-stat-card .stat-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-400);
  margin-bottom: 18px;
}
.operator-stat-card p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-400);
  margin: 0;
}

.operator-prior-runlog {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 8px 24px;
}
.operator-prior-runlog dt {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-400);
}
.operator-prior-runlog dd {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--parchment-50);
  line-height: 1.55;
}

/* =========================================================================
   SECTION: FINAL CTA
   ========================================================================= */
.final-cta {
  text-align: center;
  padding: 144px 0;
}
.final-cta h2 {
  font-family: var(--font-display);
  font-size: 80px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 600;
  color: var(--ink-900);
  margin: 0 auto 28px;
  max-width: 900px;
  text-wrap: balance;
}
.final-cta p {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.55;
  color: var(--fg-muted);
  margin: 0 auto 40px;
  max-width: 540px;
}
.final-cta .cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.final-cta .tertiary-line {
  display: block;
  margin-top: 28px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--fg-subtle);
}
.final-cta .tertiary-line a {
  color: var(--ink-900);
  border-bottom: 1px solid var(--parchment-300);
  padding-bottom: 1px;
}
.final-cta .tertiary-line a:hover { border-bottom-color: var(--ink-900); }
.final-cta .tertiary-line .sep { color: var(--ink-400); padding: 0 8px; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.site-footer {
  background: var(--ink-900);
  color: var(--parchment-50);
  padding: 96px 0 40px;
}
.site-footer-tagline {
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 600;
  color: var(--parchment-50);
  margin: 0;
  max-width: 1100px;
  text-wrap: balance;
  padding-bottom: 64px;
  border-bottom: 1px solid rgba(251, 247, 241, 0.12);
}
.site-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(4, 1fr);
  gap: 40px;
  margin-top: 56px;
}
.site-footer-brand img { height: 32px; }
.site-footer-brand .brand-line {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-400);
  margin-top: 22px;
  max-width: 240px;
  line-height: 1.55;
}
.site-footer-col h5 {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-400);
  font-weight: 500;
  margin: 0 0 18px;
}
.site-footer-col ul { list-style: none; padding: 0; margin: 0; }
.site-footer-col li { margin-bottom: 10px; }
.site-footer-col a {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--parchment-50);
  transition: color var(--dur-fast);
}
.site-footer-col a:hover { color: var(--terracotta-500); }
.site-footer-col li.disabled a {
  color: var(--ink-500);
  pointer-events: none;
}
.site-footer-col li.disabled a::after {
  content: " · post-launch";
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.site-footer-bottom {
  margin-top: 64px;
  padding-top: 24px;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-400);
}

/* =========================================================================
   WORKFLOW DIAGRAM (vanilla — inline SVG in HTML)
   ========================================================================= */
.workflow-svg text { user-select: none; }
.token-circle {
  animation: token-travel var(--token-dur) linear infinite;
  animation-delay: var(--token-delay);
  opacity: 0;
}
@keyframes token-travel {
  0%   { opacity: 0; offset-distance: 0%; }
  5%   { opacity: 1; }
  90%  { opacity: 1; }
  100% { opacity: 0; offset-distance: 100%; }
}
.exception-flash {
  animation: exception-pulse 1.6s ease-in-out infinite;
}
@keyframes exception-pulse {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}
.drop-blink {
  animation: drop-pulse 1.6s ease-in-out infinite;
}
@keyframes drop-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1024px) {
  .hero h1 { font-size: 72px; }
  .section-head h2 { font-size: 42px; }
  .final-cta h2 { font-size: 60px; }
  .site-footer-tagline { font-size: 48px; }
  .cost-grid, .blueprint-grid, .operator-prior-grid { grid-template-columns: 1fr; gap: 56px; }
  .character-card { max-width: 460px; }
  .mechanism-prose { grid-template-columns: 1fr; gap: 24px; }
  .site-footer-grid { grid-template-columns: 1fr 1fr; }
  .mechanism-strip { grid-template-columns: 1fr 1fr; }
  .mechanism-step:nth-child(2) { border-right: none; }
  .mechanism-step:nth-child(1), .mechanism-step:nth-child(2) { border-bottom: 1px solid var(--hairline); }
}
@media (max-width: 768px) {
  .container, .container-narrow { padding: 0 24px; }
  .section { padding: 80px 0; }
  .hero { padding: 56px 0 24px; }
  .hero h1 { font-size: 52px; }
  .hero-subhead { font-size: 17px; }
  .section-head h2 { font-size: 34px; }
  .section-head p { font-size: 17px; }
  .final-cta h2 { font-size: 44px; }
  .site-footer-tagline { font-size: 36px; padding-bottom: 40px; }
  .primary-nav { display: none; }
  .header-cta-row .header-secondary { display: none; }
  .menu-btn { display: inline-flex; }
  .proof-grid, .segments-grid { grid-template-columns: 1fr; }
  .mechanism-strip { grid-template-columns: 1fr; }
  .mechanism-step { border-right: none; border-bottom: 1px solid var(--hairline); }
  .mechanism-step:last-child { border-bottom: none; }
  .site-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .operator-prior-runlog { grid-template-columns: 1fr; gap: 4px 0; }
  .operator-prior-runlog dt { margin-top: 12px; }
  .hero-art-footer .legend { gap: 12px; flex-wrap: wrap; }
  .hero-art-meta .composite { display: none; }
}

/* =========================================================================
   PAGE HERO — shared across non-home pages (pricing/about/partner pages)
   Tighter than homepage hero; no diagram.
   ========================================================================= */
.page-hero {
  padding: 120px 0 72px;
  border-bottom: 1px solid var(--hairline);
}
.page-hero h1 {
  font: 600 76px/1.02 var(--font-display);
  letter-spacing: -0.025em;
  margin: 0 0 28px;
  max-width: 920px;
  color: var(--ink-900);
}
.page-hero h1 em {
  font-style: normal;
  color: var(--terracotta-700);
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
}
.page-hero-subhead {
  font: 400 21px/1.5 var(--font-body);
  color: var(--ink-600);
  max-width: 640px;
  margin: 0 0 36px;
}
.anti-list {
  list-style: none;
  padding: 0;
  margin: 32px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font: 500 14px/1.45 var(--font-mono);
  letter-spacing: 0.02em;
  color: var(--ink-700);
}
.anti-list .anti-mark {
  color: var(--terracotta-700);
  margin-right: 10px;
  display: inline-block;
  min-width: 16px;
}

/* =========================================================================
   PRICING — frame, tier grid, included, discounts, upgrades
   ========================================================================= */

/* Pricing frame */
.frame-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 80px;
  align-items: start;
}
.frame-headline h2 {
  font: 600 48px/1.08 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--ink-900);
}
.frame-headline h2 em {
  font-style: normal;
  color: var(--terracotta-700);
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
}
.frame-prose p {
  font: 400 17px/1.65 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 18px;
  max-width: 56ch;
}
.frame-prose .lead {
  font: 400 19px/1.55 var(--font-body);
  color: var(--ink-800);
}
.wf-strip {
  display: inline;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink-600);
}
.wf-strip .sep { color: var(--ink-400); padding: 0 4px; }

/* Tier grid */
.tier-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.tier-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: var(--shadow-sm);
}
.tier-card-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--hairline);
}
.tier-label {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--terracotta-700);
}
.tier-card-head h3 {
  font: 600 22px var(--font-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink-900);
}
.tier-price {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tier-price-num {
  font: 600 28px/1.05 var(--font-display);
  letter-spacing: -0.02em;
  color: var(--ink-900);
}
.tier-price-unit {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.tier-setup {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.tier-setup span { color: var(--ink-800); }
.tier-anchor {
  font: 400 14px/1.55 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.tier-specs {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px 0;
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}
.tier-specs dt {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 2px;
}
.tier-specs dd {
  font: 400 13px/1.5 var(--font-body);
  color: var(--ink-800);
  margin: 0 0 8px;
}
.tier-specs dd:last-child { margin-bottom: 0; }

/* In every tier — six inclusions */
.included-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 80px;
  align-items: start;
}
.included-head h2 {
  font: 600 44px/1.1 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--ink-900);
}
.included-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.included-list li {
  display: grid;
  grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr);
  gap: 32px;
  padding: 20px 0;
  border-top: 1px solid var(--hairline);
}
.included-list li:last-child { border-bottom: 1px solid var(--hairline); }
.included-label {
  font: 500 14px var(--font-display);
  letter-spacing: -0.005em;
  color: var(--ink-900);
}
.included-body {
  font: 400 15px/1.6 var(--font-body);
  color: var(--ink-700);
}

/* Discounts */
.discount-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 48px;
}
.discount-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.discount-card h3 {
  font: 600 24px var(--font-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink-900);
}
.discount-card > p {
  font: 400 16px/1.5 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.discount-rows {
  display: grid;
  grid-template-columns: minmax(120px, auto) 1fr;
  gap: 16px 28px;
  margin: 8px 0 0;
  align-items: baseline;
}
.discount-rows dt .num {
  font: 600 56px/1 var(--font-display);
  letter-spacing: -0.03em;
  color: var(--terracotta-600);
  display: inline-flex;
  align-items: baseline;
}
.discount-rows dt .pct {
  font-size: 32px;
  margin-left: 2px;
  color: var(--terracotta-700);
}
.discount-rows dd {
  font: 400 15px/1.5 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.annual-anchor {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 4px 0 0;
}
.annual-anchor .num {
  font: 600 56px/1 var(--font-display);
  letter-spacing: -0.03em;
  color: var(--terracotta-600);
}
.annual-anchor .annual-unit {
  font: 500 16px var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-700);
}
.discount-note {
  font: 400 14px/1.5 var(--font-body);
  color: var(--ink-600);
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid var(--hairline);
}
.discount-stack {
  font: 400 italic 18px/1.5 var(--font-editorial);
  color: var(--ink-700);
  max-width: 720px;
  margin: 0;
}

/* Upgrades */
.upgrades h2 {
  font: 600 44px/1.12 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0 0 24px;
  color: var(--ink-900);
}
.upgrades p {
  font: 400 17px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 24px;
}
.upgrade-examples {
  list-style: none;
  padding: 0;
  margin: 28px 0 32px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--hairline);
}
.upgrade-examples li {
  display: grid;
  grid-template-columns: auto auto auto 1fr;
  gap: 16px 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--hairline);
  align-items: baseline;
}
.upgrade-examples .from,
.upgrade-examples .to {
  font: 500 14px var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-900);
}
.upgrade-examples .arrow {
  color: var(--terracotta-700);
  font-family: var(--font-mono);
  font-weight: 500;
}
.upgrade-examples .cond {
  font: 400 15px/1.55 var(--font-body);
  color: var(--ink-700);
}

/* =========================================================================
   ABOUT — category, operator credibility, customers, lines we hold
   ========================================================================= */
.page-hero.quiet { padding: 96px 0 56px; }

/* The category */
.category-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 80px;
  align-items: start;
}
.category-h2 {
  font: 600 56px/1.06 var(--font-display);
  letter-spacing: -0.025em;
  margin: 0;
  color: var(--ink-900);
  max-width: 460px;
}
.category-h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.category-prose p {
  font: 400 17px/1.65 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 18px;
  max-width: 56ch;
}
.category-prose .category-close {
  font: 500 19px/1.5 var(--font-body);
  color: var(--ink-900);
  margin-top: 8px;
}
.category-prose .category-close strong { color: var(--terracotta-700); font-weight: 500; }
.cap-strip {
  list-style: none;
  padding: 0;
  margin: 8px 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
}
.cap-strip li {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--terracotta-700);
}

/* Operator credibility */
.operator-cred .section-head h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.prior-stats {
  list-style: none;
  padding: 36px 0;
  margin: 0 0 48px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.prior-stats li {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.prior-stats .num {
  font: 600 56px/1 var(--font-display);
  letter-spacing: -0.03em;
  color: var(--ink-900);
}
.prior-stats .label {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.operator-cred-prose p {
  font: 400 17px/1.65 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 20px;
  max-width: 72ch;
}
.operator-cred-prose p strong {
  color: var(--ink-900);
  font-weight: 500;
}
.operator-cred-prose .operator-cred-close {
  font: 400 italic 24px/1.4 var(--font-editorial);
  color: var(--ink-900);
  margin-top: 16px;
}

/* Customers */
.customer-stack {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  counter-reset: customer;
}
.customer-block {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 40px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: 40px;
  counter-increment: customer;
}
.customer-block::before {
  content: counter(customer, decimal-leading-zero);
  position: absolute;
  top: 16px;
  right: 24px;
  font: 500 11px var(--font-mono);
  letter-spacing: 0.16em;
  color: var(--ink-400);
}
.customer-meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-right: 24px;
  border-right: 1px solid var(--hairline);
}
.customer-label {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-900);
}
.customer-label .anon {
  color: var(--ink-500);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}
.customer-stub {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--signal-exception);
  display: inline-block;
  padding: 4px 8px;
  background: var(--signal-exception-bg);
  border-radius: 3px;
  width: fit-content;
}
.customer-block > h3 {
  grid-column: 1 / -1;
  font: 600 30px/1.2 var(--font-display);
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink-900);
}
.customer-block > p {
  grid-column: 1 / -1;
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
  max-width: 72ch;
}
.customer-quote {
  grid-column: 1 / -1;
  margin: 8px 0 0;
  padding: 20px 0 20px 24px;
  border-left: 2px solid var(--terracotta-600);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.customer-quote p {
  font: 400 italic 22px/1.45 var(--font-editorial);
  color: var(--ink-900);
  margin: 0;
}
.customer-quote cite {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
  font-style: normal;
}
.customer-spec {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 24px;
  margin: 8px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}
.customer-spec dt {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.customer-spec dd {
  font: 400 14px/1.5 var(--font-body);
  color: var(--ink-800);
  margin: 0;
}

/* Lines we hold (on-ink) */
.lines.on-ink {
  background: var(--ink-900);
  color: var(--parchment-50);
}
.lines.on-ink .section-head h2 {
  font-size: 48px;
  color: var(--parchment-50);
}
.lines.on-ink .eyebrow { color: var(--ink-400); }
.lines-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.lines-list li {
  display: grid;
  grid-template-columns: minmax(0, 0.55fr) minmax(0, 0.45fr);
  gap: 48px;
  padding: 36px 0;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
}
.lines-list li:last-child { border-bottom: 1px solid rgba(251, 247, 241, 0.10); }
.lines-list h3 {
  font: 500 22px/1.25 var(--font-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--parchment-50);
}
.lines-list p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-400);
  margin: 0;
}

/* Responsive: about */
@media (max-width: 980px) {
  .category-grid { grid-template-columns: 1fr; gap: 40px; }
  .category-h2 { font-size: 40px; max-width: none; }
  .prior-stats { grid-template-columns: 1fr; gap: 20px; }
  .customer-block { grid-template-columns: 1fr; gap: 24px; }
  .customer-meta { border-right: none; border-bottom: 1px solid var(--hairline); padding-right: 0; padding-bottom: 20px; }
  .lines-list li { grid-template-columns: 1fr; gap: 12px; }
  .lines.on-ink .section-head h2 { font-size: 36px; }
}

/* =========================================================================
   BLUEPRINT FUNNEL — shared form, what-list, faq, etc.
   ========================================================================= */
.bp-hero {
  padding: 96px 0 80px;
  border-bottom: 1px solid var(--hairline);
}
.bp-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 64px;
  align-items: start;
}
.bp-hero-prose h1 {
  font: 600 64px/1.05 var(--font-display);
  letter-spacing: -0.025em;
  margin: 16px 0 24px;
  color: var(--ink-900);
}
.bp-hero-prose h1 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.meta-strip {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.meta-strip li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 500 12px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-600);
}
.meta-strip .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--terracotta-600);
}

/* Blueprint form */
.bp-form-wrap { position: sticky; top: 96px; }
.bp-form {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: var(--shadow-md);
}
.bp-form-head {
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 18px;
  margin-bottom: 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bp-form-step {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.bp-form-head h2 {
  font: 600 28px/1.1 var(--font-display);
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink-900);
}
.bp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bp-field label {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-600);
}
.bp-field input,
.bp-field select {
  font: 400 16px var(--font-body);
  color: var(--ink-900);
  background: var(--parchment-50);
  border: 1px solid var(--parchment-300);
  border-radius: 6px;
  padding: 12px 14px;
  outline: none;
  transition: border-color 120ms, background 120ms;
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.bp-field select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='none' stroke='%231A1814' stroke-width='1.5' d='M1 1l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
  padding-right: 40px;
}
.bp-field input:focus,
.bp-field select:focus {
  border-color: var(--ink-900);
  background: #FFFFFF;
}
.bp-form-submit { margin-top: 8px; justify-content: center; width: 100%; }
.bp-form-micro {
  font: 400 12px/1.5 var(--font-body);
  color: var(--ink-500);
  margin: 4px 0 0;
}

/* What-you-get */
.what-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.what-list li {
  display: grid;
  grid-template-columns: minmax(220px, 0.4fr) minmax(0, 0.6fr);
  gap: 32px;
  padding: 24px 0;
  border-top: 1px solid var(--hairline);
}
.what-list li:last-child { border-bottom: 1px solid var(--hairline); }
.what-label {
  font: 600 20px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  color: var(--ink-900);
}
.what-body {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
}
.what-bridge {
  font: 400 italic 17px/1.6 var(--font-editorial);
  color: var(--ink-600);
  margin: 32px 0 0;
  max-width: 720px;
}

/* Method */
.method h2 {
  font: 600 44px/1.1 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0 0 28px;
  color: var(--ink-900);
}
.method h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.method p {
  font: 400 17px/1.7 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 20px;
  max-width: 70ch;
}

/* Re-anchor banner */
.bp-reanchor {
  padding: 32px 0;
  background: var(--parchment-100);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.bp-reanchor .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.bp-reanchor-text {
  font: 500 italic 22px/1.3 var(--font-editorial);
  color: var(--ink-900);
  margin: 0;
}

/* FAQ */
.faq h2 {
  font: 600 44px/1.1 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0 0 36px;
  color: var(--ink-900);
}
.faq-list {
  margin: 0;
  border-top: 1px solid var(--hairline);
}
.faq-list dt {
  font: 600 18px var(--font-display);
  letter-spacing: -0.005em;
  color: var(--ink-900);
  padding: 24px 0 8px;
}
.faq-list dd {
  font: 400 16px/1.65 var(--font-body);
  color: var(--ink-700);
  margin: 0;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--hairline);
  max-width: 72ch;
}

/* Final CTA em */
.final-cta h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-500);
}

/* Responsive: blueprint */
@media (max-width: 980px) {
  .bp-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .bp-hero-prose h1 { font-size: 46px; }
  .bp-form-wrap { position: static; }
  .what-list li { grid-template-columns: 1fr; gap: 6px; }
  .method h2 { font-size: 34px; }
  .faq h2 { font-size: 34px; }
}

/* =========================================================================
   BLUEPRINT — FREE OUTPUT — debt grid + paid upsell + value stack
   ========================================================================= */
.debt-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.debt-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--shadow-sm);
}
.debt-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--hairline);
}
.debt-glyph {
  font-family: var(--font-mono);
  font-size: 22px;
  line-height: 1;
}
.debt-status {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.debt-label {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-600);
}
.debt-drop .debt-glyph { color: var(--signal-drop); }
.debt-drop .debt-status { color: var(--signal-drop); }
.debt-exception .debt-glyph { color: var(--signal-exception); }
.debt-exception .debt-status { color: var(--signal-exception); }
.debt-handoff .debt-glyph { color: var(--terracotta-700); }
.debt-handoff .debt-status { color: var(--terracotta-700); }
.debt-card h3 {
  font: 600 20px/1.3 var(--font-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink-900);
}
.debt-card p {
  font: 400 15px/1.55 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.debt-cost {
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid var(--hairline);
}
.debt-cost dt {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin-bottom: 4px;
}
.debt-cost dd {
  font: 500 14px/1.45 var(--font-body);
  color: var(--ink-900);
  margin: 0;
}
.output-note {
  font: 400 italic 16px/1.5 var(--font-editorial);
  color: var(--ink-600);
  margin: 32px 0 0;
  max-width: 720px;
}
.output-note em { color: var(--terracotta-700); }

/* Paid upsell */
.upsell-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 56px;
  align-items: start;
}
.upsell-prose h2 {
  font: 600 44px/1.1 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0 0 28px;
  color: var(--ink-900);
}
.upsell-prose h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.upsell-prose p {
  font: 400 17px/1.65 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 18px;
  max-width: 64ch;
}
.upsell-prose p em { color: var(--terracotta-700); font-style: italic; }
.upsell-prose p strong { color: var(--ink-900); font-weight: 500; }
.upsell-detail {
  list-style: none;
  padding: 0;
  margin: 16px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.upsell-detail li {
  font: 400 16px/1.55 var(--font-body);
  color: var(--ink-700);
  padding-left: 24px;
  position: relative;
}
.upsell-detail li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--terracotta-700);
  font-family: var(--font-mono);
  font-weight: 500;
}
.upsell-card {
  background: var(--ink-900);
  color: var(--parchment-50);
  border-radius: 12px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: sticky;
  top: 96px;
}
.upsell-eyebrow {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-400);
}
.upsell-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 4px 0 8px;
}
.upsell-price-currency {
  font: 500 28px var(--font-display);
  color: var(--parchment-50);
}
.upsell-price-num {
  font: 600 80px/1 var(--font-display);
  letter-spacing: -0.04em;
  color: var(--parchment-50);
}
.upsell-price-unit {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-400);
  margin-left: 6px;
  align-self: flex-end;
  padding-bottom: 6px;
}
.upsell-meta {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 8px 16px;
  margin: 0;
  padding: 16px 0;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
  border-bottom: 1px solid rgba(251, 247, 241, 0.10);
}
.upsell-meta dt {
  font: 500 10px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-400);
}
.upsell-meta dd {
  font: 400 14px/1.45 var(--font-body);
  color: var(--parchment-50);
  margin: 0;
}
.upsell-card .btn-primary { justify-content: center; }
.upsell-card-micro {
  font: 400 12px/1.5 var(--font-body);
  color: var(--ink-400);
}
.upsell-card-micro a { color: var(--parchment-50); border-bottom: 1px solid rgba(251,247,241,0.30); }
.upsell-card-micro a:hover { border-bottom-color: var(--parchment-50); }

/* Value stack */
.stack-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--hairline);
}
.stack-list li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--hairline);
  align-items: start;
}
.stack-num {
  font: 500 14px var(--font-mono);
  letter-spacing: 0.12em;
  color: var(--terracotta-700);
  padding-top: 4px;
}
.stack-body h4 {
  font: 600 20px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--ink-900);
}
.stack-body p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
  max-width: 70ch;
}
.stack-bump-tag {
  display: inline-block;
  margin-left: 10px;
  padding: 3px 8px;
  background: var(--terracotta-100);
  color: var(--terracotta-700);
  font: 500 10px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
  vertical-align: middle;
}
.stack-postscript {
  font: 400 italic 17px/1.5 var(--font-editorial);
  color: var(--ink-600);
  margin: 28px 0 0;
  max-width: 720px;
}

/* Proof light */
.proof-prose {
  font: 400 17px/1.7 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 16px;
}
.proof-prose a {
  color: var(--terracotta-700);
  border-bottom: 1px solid var(--terracotta-700);
  text-decoration: none;
}
.proof-prose a:hover { color: var(--terracotta-600); border-bottom-color: var(--terracotta-600); }

/* Responsive: free output */
@media (max-width: 1100px) {
  .debt-grid { grid-template-columns: 1fr; }
  .upsell-grid { grid-template-columns: 1fr; gap: 32px; }
  .upsell-card { position: static; }
}
@media (max-width: 768px) {
  .upsell-prose h2 { font-size: 32px; }
  .upsell-price-num { font-size: 64px; }
  .stack-list li { grid-template-columns: 1fr; gap: 6px; }
  .stack-num { padding-top: 0; }
}

/* =========================================================================
   BLUEPRINT PAID SALES — problem, audience, anti-audience, price, guarantee
   ========================================================================= */
.page-hero.sales {
  padding: 104px 0 72px;
}
.page-hero.sales h1 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.page-hero.sales .hero-cta-row { display: flex; gap: 14px; margin: 32px 0 16px; }

/* Problem */
.problem .section-head h2 em,
.sales-method .section-head h2 em,
.audience .section-head h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.problem-prose p {
  font: 400 18px/1.75 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 22px;
  max-width: 64ch;
}
.problem-prose p strong { color: var(--ink-900); font-weight: 600; }
.problem-pull {
  margin: 56px 0 0;
  padding: 32px 40px;
  border-left: 3px solid var(--terracotta-600);
  background: var(--parchment-100);
  max-width: 760px;
}
.problem-pull p {
  font: 500 italic 32px/1.3 var(--font-editorial);
  color: var(--ink-900);
  margin: 0;
}
.problem-pull p em {
  font-style: italic;
  color: var(--terracotta-700);
  font-weight: 500;
}

/* Sales method */
.method-prose p {
  font: 400 17px/1.7 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 20px;
  max-width: 70ch;
}
.method-prose p em { font-style: italic; color: var(--terracotta-700); }
.method-credits {
  list-style: none;
  padding: 0;
  margin: 16px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.method-credits li {
  font: 400 16px/1.55 var(--font-body);
  color: var(--ink-700);
  padding-left: 24px;
  position: relative;
}
.method-credits li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--terracotta-700);
  font-family: var(--font-mono);
  font-weight: 500;
}
.method-credits strong { color: var(--ink-900); font-weight: 500; }

/* Sales stack — expanded variant of stack-list */
.stack-list.expanded li {
  padding: 36px 0;
}
.stack-anchor {
  font: 400 italic 14px/1.5 var(--font-editorial);
  color: var(--ink-500);
  margin: 12px 0 0;
}
.stack-postscript strong { color: var(--ink-900); font-weight: 500; }

/* Audience */
.audience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.audience-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--shadow-sm);
}
.audience-card h3 {
  font: 600 22px/1.25 var(--font-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink-900);
}
.audience-card .audience-size {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--terracotta-700);
  margin: 0;
}
.audience-card p {
  font: 400 15px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}

/* Anti-audience (on-ink) */
.anti-audience.on-ink {
  background: var(--ink-900);
  color: var(--parchment-50);
}
.anti-audience.on-ink .section-head h2 {
  color: var(--parchment-50);
  font-size: 48px;
}
.anti-audience-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.anti-audience-list li {
  display: grid;
  grid-template-columns: minmax(0, 0.55fr) minmax(0, 0.45fr);
  gap: 48px;
  padding: 32px 0;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
}
.anti-audience-list li:last-child { border-bottom: 1px solid rgba(251, 247, 241, 0.10); }
.anti-audience-list h3 {
  font: 500 22px/1.25 var(--font-display);
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--parchment-50);
}
.anti-audience-list p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-400);
  margin: 0;
}
.anti-audience-close {
  font: 500 italic 22px/1.4 var(--font-editorial);
  color: var(--parchment-50);
  margin: 40px 0 0;
  max-width: 720px;
}

/* Sales price */
.sales-price-h2 {
  font: 600 56px/1.05 var(--font-display);
  letter-spacing: -0.025em;
  margin: 0 0 32px;
  color: var(--ink-900);
}
.sales-price-h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.sales-price p {
  font: 400 17px/1.7 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 20px;
  max-width: 72ch;
}
.price-sub {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin: 28px 0 8px;
}
.price-options {
  margin: 0;
  padding: 16px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.price-options dt {
  font: 500 16px var(--font-display);
  color: var(--ink-900);
  margin-bottom: 4px;
}
.price-options dd {
  font: 400 15px/1.5 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.price-options dd strong { color: var(--terracotta-700); font-weight: 500; }
.price-close {
  font: 400 italic 17px/1.6 var(--font-editorial);
  color: var(--ink-600);
  margin-top: 28px;
}

/* Guarantee */
.guarantee h2 {
  font: 600 44px/1.1 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0 0 24px;
  color: var(--ink-900);
}
.guarantee h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.guarantee p {
  font: 400 17px/1.7 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 18px;
  max-width: 70ch;
}

/* FAQ a link */
.faq-list dd a {
  color: var(--terracotta-700);
  border-bottom: 1px solid var(--terracotta-700);
  text-decoration: none;
}
.faq-list dd a:hover { color: var(--terracotta-600); border-bottom-color: var(--terracotta-600); }

/* Responsive: paid sales */
@media (max-width: 1100px) {
  .audience-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .problem-pull p { font-size: 24px; }
  .problem-pull { padding: 24px 28px; }
  .anti-audience-list li { grid-template-columns: 1fr; gap: 12px; }
  .anti-audience.on-ink .section-head h2 { font-size: 36px; }
  .sales-price-h2 { font-size: 36px; }
  .guarantee h2 { font-size: 32px; }
}

/* =========================================================================
   BLUEPRINT UPSELL CALL — minimal post-checkout offer page
   ========================================================================= */
.site-header.minimal .checkout-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 500 12px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--signal-running);
}
.site-header.minimal .checkout-status-label {
  color: var(--ink-800);
}
.post-checkout-strip {
  background: var(--parchment-100);
  border-bottom: 1px solid var(--hairline);
  padding: 14px 0;
}
.post-checkout-strip p {
  font: 400 14px/1.5 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.upsell-hero {
  padding: 80px 0 56px;
  border-bottom: 1px solid var(--hairline);
}
.upsell-hero h1 {
  font: 600 64px/1.05 var(--font-display);
  letter-spacing: -0.025em;
  margin: 16px 0 24px;
  color: var(--ink-900);
}
.upsell-hero h1 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.upsell-hero-subhead {
  font: 400 21px/1.5 var(--font-body);
  color: var(--ink-700);
  margin: 0;
  max-width: 640px;
}
.upsell-section h2 {
  font: 600 44px/1.1 var(--font-display);
  letter-spacing: -0.02em;
  margin: 0 0 32px;
  color: var(--ink-900);
}
.upsell-section h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.upsell-section p {
  font: 400 17px/1.7 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 18px;
  max-width: 72ch;
}
.upsell-section p em {
  font-style: italic;
  color: var(--terracotta-700);
}
.upsell-three {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--hairline);
}
.upsell-three li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--hairline);
}
.upsell-three-num {
  font: 500 14px var(--font-mono);
  letter-spacing: 0.12em;
  color: var(--terracotta-700);
}
.upsell-three h3 {
  font: 600 22px/1.3 var(--font-display);
  letter-spacing: -0.01em;
  margin: 0 0 6px;
  color: var(--ink-900);
}
.upsell-three p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.decision-prompt {
  font: 500 18px/1.5 var(--font-body);
  color: var(--ink-900);
  margin: 28px 0 24px;
}
.decision-prompt strong { color: var(--terracotta-700); font-weight: 500; }
.decision-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.decision-cta-row .btn { flex: 1 1 0; min-width: 240px; justify-content: center; }

/* Minimal footer */
.site-footer.minimal {
  background: var(--ink-900);
  color: var(--parchment-50);
  padding: 32px 0;
}
.site-footer.minimal .site-footer-bottom {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.site-footer.minimal .footer-links a {
  color: var(--ink-400);
  text-decoration: none;
}
.site-footer.minimal .footer-links a:hover { color: var(--parchment-50); }

@media (max-width: 768px) {
  .upsell-hero h1 { font-size: 46px; }
  .upsell-section h2 { font-size: 32px; }
}

/* =========================================================================
   CHECKOUT — order summary + payment form
   ========================================================================= */
.site-header.minimal .checkout-sep {
  color: var(--ink-400);
  margin: 0 4px;
}
.site-header.minimal .checkout-secure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--signal-running);
}
.site-header.minimal .lock-icon { display: inline-block; }
.checkout-page {
  padding: 56px 0 96px;
  background: var(--parchment-100);
  min-height: 70vh;
}
.checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 32px;
  align-items: start;
}

/* Order summary */
.checkout-summary {
  background: var(--parchment-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 96px;
}
.checkout-summary-head h2 {
  font: 600 28px/1.1 var(--font-display);
  letter-spacing: -0.015em;
  margin: 8px 0 0;
  color: var(--ink-900);
}
.checkout-lines {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.checkout-line {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid var(--hairline);
  align-items: start;
}
.checkout-line:first-child { border-top: none; }
.checkout-line-body h3 {
  font: 600 16px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  margin: 0 0 4px;
  color: var(--ink-900);
}
.checkout-line-body p {
  font: 400 13px/1.55 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.checkout-line-body p em {
  font-style: italic;
  color: var(--terracotta-700);
}
.checkout-line-price {
  font: 500 16px var(--font-display);
  color: var(--ink-900);
  white-space: nowrap;
}

/* Order bump checkbox */
.checkout-line.bump {
  padding: 0;
}
.checkout-bump-label {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid var(--hairline);
  cursor: pointer;
  align-items: start;
}
.checkout-bump-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
.checkout-bump-checkmark {
  width: 22px;
  height: 22px;
  border: 1.5px solid var(--ink-700);
  border-radius: 4px;
  background: var(--parchment-50);
  display: inline-block;
  margin-top: 2px;
  position: relative;
  flex-shrink: 0;
  transition: border-color 120ms, background 120ms;
}
.checkout-bump-toggle:checked + .checkout-bump-checkmark {
  background: var(--terracotta-600);
  border-color: var(--terracotta-600);
}
.checkout-bump-toggle:checked + .checkout-bump-checkmark::after {
  content: "";
  position: absolute;
  inset: 4px 6px 7px 5px;
  border: solid var(--parchment-50);
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
}
.bump-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  background: var(--terracotta-100);
  color: var(--terracotta-700);
  font: 500 10px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
  vertical-align: middle;
}
.checkout-totals {
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 20px;
  border-top: 1px solid var(--ink-900);
}
.checkout-totals dt {
  font: 500 14px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-700);
  margin: 0;
}
.checkout-totals dd {
  font: 600 32px var(--font-display);
  letter-spacing: -0.015em;
  color: var(--ink-900);
  margin: 0;
}
.checkout-refund {
  font: 400 12px/1.5 var(--font-body);
  color: var(--ink-600);
  margin: 0;
  padding-top: 8px;
}

/* Payment form */
.checkout-payment {
  background: var(--parchment-50);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: var(--shadow-sm);
}
.checkout-payment-head h2 {
  font: 600 28px/1.1 var(--font-display);
  letter-spacing: -0.015em;
  margin: 8px 0 0;
  color: var(--ink-900);
}
.payment-shortcuts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.payment-shortcut {
  font: 500 14px var(--font-display);
  background: var(--ink-900);
  color: var(--parchment-50);
  border: 1px solid var(--ink-900);
  border-radius: 6px;
  padding: 14px 16px;
  cursor: pointer;
  transition: background 120ms;
}
.payment-shortcut:hover { background: var(--ink-800); }
.payment-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 4px 0;
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.payment-divider::before,
.payment-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--hairline);
}
.checkout-fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.checkout-fields-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.checkout-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 18px 24px;
  margin-top: 4px;
}
.checkout-submit-amount {
  font: 500 16px var(--font-mono);
  letter-spacing: 0.02em;
  opacity: 0.85;
}
.checkout-micro {
  font: 400 12px/1.5 var(--font-body);
  color: var(--ink-600);
  margin: 0;
}
.checkout-after-head {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
  margin: 12px 0 4px;
}
.checkout-after {
  font: 400 13px/1.6 var(--font-body);
  color: var(--ink-600);
  margin: 0;
}

/* Responsive: checkout */
@media (max-width: 980px) {
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-summary { position: static; order: 2; }
  .checkout-payment { order: 1; }
  .checkout-fields-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .checkout-fields-row { grid-template-columns: 1fr; }
  .payment-shortcuts { grid-template-columns: 1fr; }
}

/* =========================================================================
   PARTNER PAGES — overview / how-it-works / apply
   ========================================================================= */

/* Partner hero */
.page-hero.partner-hero h1 em,
.partner-who .section-head h2 em,
.partner-ask .section-head h2 em,
.final-cta h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.page-hero.partner-hero .hero-cta-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 32px 0 16px;
}
.page-hero.partner-hero .hero-tertiary-line strong {
  color: var(--ink-900);
  font-weight: 500;
}

/* Who this is for */
.partner-who-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 48px;
}
.partner-who-sub {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--terracotta-700);
  margin: 0 0 20px;
}
.partner-who-sub-neg { color: var(--signal-drop); }
.partner-who-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.partner-who-list.for li {
  padding: 18px 0;
  border-top: 1px solid var(--hairline);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.partner-who-list.for li:last-child { border-bottom: 1px solid var(--hairline); }
.partner-who-list.for h3 {
  font: 600 17px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  margin: 0;
  color: var(--ink-900);
}
.partner-who-list.for p {
  font: 400 14px/1.55 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.partner-who-list.against li {
  padding: 10px 0;
  font: 400 15px/1.55 var(--font-body);
  color: var(--ink-700);
  border-top: 1px solid var(--hairline);
  padding-left: 24px;
  position: relative;
}
.partner-who-list.against li:last-child { border-bottom: 1px solid var(--hairline); }
.partner-who-list.against li::before {
  content: "✗";
  position: absolute;
  left: 0;
  color: var(--signal-drop);
  font-family: var(--font-mono);
}
.partner-pull {
  margin: 56px 0 0;
  padding: 28px 36px;
  border-left: 3px solid var(--terracotta-600);
  background: var(--parchment-100);
  max-width: 760px;
}
.partner-pull p {
  font: 500 italic 26px/1.35 var(--font-editorial);
  color: var(--ink-900);
  margin: 0;
}
.partner-pull p em {
  font-style: italic;
  color: var(--terracotta-700);
}

/* The offer (on-ink) */
.partner-offer.on-ink {
  background: var(--ink-900);
  color: var(--parchment-50);
}
.partner-offer .eyebrow { color: var(--ink-400); }
.partner-offer-h2 {
  font: 600 56px/1.08 var(--font-display);
  letter-spacing: -0.025em;
  margin: 0 0 40px;
  color: var(--parchment-50);
  max-width: 880px;
}
.partner-offer-h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-500);
}
.partner-offer p {
  font: 400 17px/1.65 var(--font-body);
  color: var(--ink-400);
  margin: 0 0 18px;
  max-width: 64ch;
}
.partner-offer p strong { color: var(--parchment-50); font-weight: 500; }
.partner-offer-guarantee {
  font: 400 19px/1.5 var(--font-body);
  color: var(--parchment-50) !important;
  margin: 24px 0 0 !important;
}
.partner-offer-guarantee strong { color: var(--terracotta-500) !important; }

/* Six mechanics */
.mech-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.mech-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--shadow-sm);
}
.mech-num {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.16em;
  color: var(--terracotta-700);
}
.mech-card h3 {
  font: 600 20px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  margin: 0;
  color: var(--ink-900);
}
.mech-card p {
  font: 400 14px/1.55 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.mech-card p strong { color: var(--ink-900); font-weight: 500; }
.mech-card .mech-meta {
  font: 400 italic 13px/1.55 var(--font-editorial);
  color: var(--ink-500);
  padding-top: 12px;
  border-top: 1px solid var(--hairline);
}
.mech-card .mech-meta strong { color: var(--ink-700); font-weight: 500; }
.mech-card.mech-marquee {
  background: var(--parchment-100);
  border-color: var(--terracotta-700);
}
.mech-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 3px 8px;
  background: var(--terracotta-700);
  color: var(--parchment-50);
  font: 500 10px var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
  vertical-align: middle;
}

/* Partner ask */
.partner-ask-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
}
.ask-sub {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--signal-drop);
  margin: 0 0 16px;
}
.ask-sub-pos { color: var(--signal-running); }
.ask-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ask-list li {
  padding: 12px 0 12px 24px;
  font: 400 15px/1.5 var(--font-body);
  color: var(--ink-700);
  border-top: 1px solid var(--hairline);
  position: relative;
}
.ask-list li:last-child { border-bottom: 1px solid var(--hairline); }
.partner-ask-close {
  font: 500 italic 32px/1.3 var(--font-editorial);
  color: var(--ink-900);
  margin: 48px 0 0;
}

/* Customer strip (light proof) */
.customer-strip {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.customer-strip li {
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-right: 1px solid var(--hairline);
}
.customer-strip li:last-child { border-right: none; }
.customer-strip-name {
  font: 600 18px var(--font-display);
  color: var(--ink-900);
  letter-spacing: -0.005em;
}
.customer-strip-meta {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.customer-strip-link {
  font: 400 italic 16px/1.5 var(--font-editorial);
  color: var(--ink-600);
  margin: 28px 0 0;
}
.customer-strip-link a {
  color: var(--terracotta-700);
  border-bottom: 1px solid var(--terracotta-700);
  text-decoration: none;
}
.customer-strip-link a:hover { color: var(--terracotta-600); border-bottom-color: var(--terracotta-600); }

/* Responsive: partner overview */
@media (max-width: 1100px) {
  .mech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .partner-who-grid { grid-template-columns: 1fr; gap: 40px; }
  .partner-offer-h2 { font-size: 36px; }
  .partner-ask-grid { grid-template-columns: 1fr; gap: 28px; }
  .customer-strip { grid-template-columns: 1fr; }
  .customer-strip li { border-right: none; border-bottom: 1px solid var(--hairline); }
  .customer-strip li:last-child { border-bottom: none; }
  .partner-ask-close { font-size: 24px; }
}
@media (max-width: 768px) {
  .mech-grid { grid-template-columns: 1fr; }
  .partner-pull p { font-size: 20px; }
}

/* =========================================================================
   PARTNER HOW IT WORKS — journey, attribution, dashboard, FCG, commitment
   ========================================================================= */
.journey .section-head h2 em,
.attribution .section-head h2 em,
.dashboard .section-head h2 em,
.co-branded .section-head h2 em,
.fcg .section-head h2 em,
.commitment .section-head h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}

/* Journey */
.journey-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--hairline);
  margin-left: 16px;
}
.journey-steps li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  padding: 32px 0 32px 24px;
  position: relative;
}
.journey-steps li::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 40px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--terracotta-600);
  border: 3px solid var(--parchment-50);
}
.journey-num {
  font: 600 32px var(--font-display);
  letter-spacing: -0.02em;
  color: var(--ink-400);
  align-self: start;
  padding-top: 4px;
}
.journey-body h3 {
  font: 600 22px/1.3 var(--font-display);
  letter-spacing: -0.01em;
  margin: 0 0 8px;
  color: var(--ink-900);
}
.journey-body p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0 0 8px;
  max-width: 64ch;
}
.journey-body .journey-note {
  font: 400 14px/1.55 var(--font-body);
  color: var(--ink-500);
}
.journey-body .journey-note em { font-style: italic; }
.journey-body .journey-note strong { color: var(--terracotta-700); font-weight: 500; }

/* Attribution */
.attribution-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.attribution-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--shadow-sm);
}
.attribution-label {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--terracotta-700);
}
.attribution-card p {
  font: 400 15px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.attribution-example {
  font: 500 14px var(--font-mono);
  background: var(--parchment-100);
  border: 1px solid var(--parchment-300);
  border-radius: 6px;
  padding: 14px 16px;
  color: var(--ink-900);
  letter-spacing: 0.01em;
  word-break: break-all;
}
.attribution-example .slug {
  color: var(--terracotta-700);
}
.attribution-close {
  font: 400 italic 17px/1.6 var(--font-editorial);
  color: var(--ink-600);
  margin: 32px 0 0;
  max-width: 720px;
}
.attribution-close em { font-style: italic; color: var(--terracotta-700); }

/* Dashboard */
.dashboard .section-head p code {
  font: 500 14px var(--font-mono);
  background: var(--parchment-100);
  padding: 2px 8px;
  border-radius: 4px;
  color: var(--ink-800);
}
.dashboard-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 32px;
}
.dashboard-list li {
  display: grid;
  grid-template-columns: minmax(160px, 0.4fr) minmax(0, 0.6fr);
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid var(--hairline);
}
.dashboard-label {
  font: 600 15px var(--font-display);
  letter-spacing: -0.005em;
  color: var(--ink-900);
}
.dashboard-body {
  font: 400 14px/1.55 var(--font-body);
  color: var(--ink-700);
}
.dashboard-close {
  font: 500 italic 22px/1.4 var(--font-editorial);
  color: var(--ink-900);
  margin: 40px 0 0;
}
.dashboard-close em { font-style: italic; color: var(--terracotta-700); }

/* Co-branded artifact (on-ink) */
.co-branded.on-ink {
  background: var(--ink-900);
  color: var(--parchment-50);
}
.co-branded.on-ink .section-head h2 {
  color: var(--parchment-50);
  font-size: 44px;
}
.co-branded.on-ink .section-head h2 em { color: var(--terracotta-500); }
.co-branded .eyebrow { color: var(--ink-400); }
.co-branded > .container > p {
  font: 400 17px/1.65 var(--font-body);
  color: var(--ink-400);
  margin: 0 0 24px;
  max-width: 64ch;
}
.co-branded-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
}
.co-branded-list li {
  padding: 20px 0;
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-400);
  border-bottom: 1px solid rgba(251, 247, 241, 0.10);
}
.co-branded-list strong { color: var(--parchment-50); font-weight: 500; }
.co-branded-spec {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 12px 24px;
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid rgba(251, 247, 241, 0.10);
  border-bottom: 1px solid rgba(251, 247, 241, 0.10);
}
.co-branded-spec dt {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-400);
}
.co-branded-spec dd {
  font: 400 15px/1.55 var(--font-body);
  color: var(--parchment-50);
  margin: 0;
}

/* First Client Guarantee */
.fcg-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.fcg-block {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--shadow-sm);
}
.fcg-block h4 {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--terracotta-700);
  margin: 0 0 4px;
}
.fcg-block p {
  font: 400 15px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.fcg-math {
  background: var(--parchment-100);
  border: 1px solid var(--parchment-300);
  border-radius: 6px;
  padding: 16px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-mono);
}
.fcg-math .fcg-line {
  font: 500 12px var(--font-mono);
  color: var(--ink-800);
  letter-spacing: 0.01em;
}
.fcg-conditions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fcg-conditions li {
  font: 400 14px/1.55 var(--font-body);
  color: var(--ink-700);
  padding-left: 20px;
  position: relative;
}
.fcg-conditions li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--terracotta-700);
  font-family: var(--font-mono);
}

/* Commitment */
.commitment-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--hairline);
}
.commitment-list li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--hairline);
}
.commitment-num {
  font: 500 14px var(--font-mono);
  letter-spacing: 0.12em;
  color: var(--terracotta-700);
}
.commitment-body h3 {
  font: 600 20px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--ink-900);
}
.commitment-body p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
  max-width: 72ch;
}

/* Final CTA tertiary email link */
.final-cta .tertiary-line a {
  color: var(--terracotta-700);
  border-bottom-color: var(--terracotta-700);
}

/* Responsive: partner how-it-works */
@media (max-width: 980px) {
  .attribution-grid { grid-template-columns: 1fr; }
  .dashboard-list { grid-template-columns: 1fr; }
  .dashboard-list li { grid-template-columns: 1fr; gap: 6px; }
  .fcg-grid { grid-template-columns: 1fr; }
  .co-branded.on-ink .section-head h2 { font-size: 32px; }
  .co-branded-spec { grid-template-columns: 1fr; gap: 6px 0; }
  .co-branded-spec dt { margin-top: 8px; }
  .journey-steps li { grid-template-columns: 1fr; gap: 8px; }
  .journey-num { font-size: 18px; padding-top: 0; }
}

/* =========================================================================
   PARTNER APPLY — two-path layout + form + Cal.com block
   ========================================================================= */
.apply-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
.apply-card {
  background: #FFFFFF;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: var(--shadow-sm);
}
.apply-card-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--hairline);
}
.apply-label {
  font: 500 12px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--terracotta-700);
}
.apply-card-head h2 {
  font: 600 28px/1.15 var(--font-display);
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink-900);
}
.apply-card-head h2 em {
  font-style: normal;
  font-family: var(--font-editorial);
  font-style: italic;
  font-weight: 400;
  color: var(--terracotta-700);
}
.apply-card-intro {
  font: 400 15px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
}
.apply-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.apply-form textarea {
  font: 400 16px/1.5 var(--font-body);
  color: var(--ink-900);
  background: var(--parchment-50);
  border: 1px solid var(--parchment-300);
  border-radius: 6px;
  padding: 12px 14px;
  outline: none;
  resize: vertical;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--font-body);
}
.apply-form textarea:focus {
  border-color: var(--ink-900);
  background: #FFFFFF;
}
.bp-counter {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.06em;
  color: var(--ink-500);
  align-self: flex-end;
}
.apply-submit {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
}

/* Call card */
.apply-card-call {
  background: var(--parchment-100);
}
.call-anchor {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.call-meta {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 8px 24px;
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}
.call-meta dt {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}
.call-meta dd {
  font: 400 15px/1.5 var(--font-body);
  color: var(--ink-900);
  margin: 0;
}

/* Next steps */
.next-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--hairline);
}
.next-steps li {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--hairline);
}
.next-num {
  font: 500 14px var(--font-mono);
  letter-spacing: 0.12em;
  color: var(--terracotta-700);
}
.next-body h3 {
  font: 600 22px/1.3 var(--font-display);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--ink-900);
}
.next-body p {
  font: 400 16px/1.6 var(--font-body);
  color: var(--ink-700);
  margin: 0;
  max-width: 70ch;
}
.next-body p em {
  font-style: italic;
  color: var(--terracotta-700);
}
.next-note {
  font: 400 italic 16px/1.6 var(--font-editorial);
  color: var(--ink-600);
  margin: 32px 0 0;
  max-width: 720px;
}
.next-note strong { color: var(--ink-900); font-weight: 500; }

/* Recap */
.recap-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--hairline);
}
.recap-list li {
  font: 400 16px/1.55 var(--font-body);
  color: var(--ink-700);
  padding: 16px 0 16px 24px;
  border-bottom: 1px solid var(--hairline);
  position: relative;
}
.recap-list li::before {
  content: "—";
  position: absolute;
  left: 0;
  top: 16px;
  color: var(--terracotta-700);
  font-family: var(--font-mono);
  font-weight: 500;
}
.recap-list strong { color: var(--ink-900); font-weight: 500; }
.recap-link {
  font: 400 italic 16px/1.6 var(--font-editorial);
  color: var(--ink-600);
  margin: 28px 0 0;
}
.recap-link a {
  color: var(--terracotta-700);
  border-bottom: 1px solid var(--terracotta-700);
  text-decoration: none;
}
.recap-link a:hover { color: var(--terracotta-600); border-bottom-color: var(--terracotta-600); }

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

/* =========================================================================
   NARRATIVE-BEAT CHARACTER IMAGES — used inline within sections
   ========================================================================= */
.cta-narrative-img {
  margin: 0 auto 48px;
  max-width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.cta-narrative-img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.cta-narrative-img figcaption {
  font: 400 italic 18px/1.4 var(--font-editorial);
  color: var(--ink-700);
  text-align: center;
  max-width: 360px;
}

.operator-cred-img {
  margin: 32px auto;
  max-width: 320px;
}
.operator-cred-img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}

.problem-dev-aside {
  float: right;
  margin: 0 0 24px 32px;
  max-width: 280px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.problem-dev-aside img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.problem-dev-aside figcaption {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}
@media (max-width: 768px) {
  .problem-dev-aside {
    float: none;
    margin: 24px auto;
  }
}

.problem-villain {
  margin: 48px 0 32px;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.problem-villain img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.problem-villain figcaption {
  font: 500 11px var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-500);
}

/* =========================================================================
   PAGE HERO IMAGE — photo treatment used below hero text on non-home pages
   ========================================================================= */
.page-hero-image {
  margin: 56px 0 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
  background: var(--parchment-100);
}
.page-hero-image img {
  display: block;
  width: 100%;
  height: auto;
}
.page-hero-image figcaption {
  display: none;
}

/* Homepage: photo sits between the hero text and the SVG workflow diagram —
   wraps in a tighter frame to keep visual weight balanced with the SVG below. */
.hero-photo {
  margin: 64px 0 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--border);
}
.hero-photo img {
  display: block;
  width: 100%;
  height: auto;
}

/* Responsive: pricing */
@media (max-width: 1100px) {
  .tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .page-hero { padding: 64px 0 40px; }
  .page-hero h1 { font-size: 52px; }
  .page-hero-subhead { font-size: 17px; }
  .frame-grid,
  .included-grid { grid-template-columns: 1fr; gap: 32px; }
  .frame-headline h2 { font-size: 36px; }
  .included-head h2 { font-size: 34px; }
  .upgrades h2 { font-size: 34px; }
  .tier-grid { grid-template-columns: 1fr; }
  .discount-grid { grid-template-columns: 1fr; }
  .included-list li { grid-template-columns: 1fr; gap: 6px; }
  .upgrade-examples li {
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
  }
  .upgrade-examples .cond { grid-column: 1 / -1; }
}
