/* T-1173 — Pitch Form paint (ENG-2.6 / ENG-2.8)
   Structure = measured Form. Paint remap = Stage · Paint venture tokens always
   (light AND dark Field) — never stick to ContextHop teal only under Field light.
   - --paper/--warm/--section = paper/raised (Field-aware Spec tokens)
   - --ink/--ghost/--rule = text on paper
   - --chrome/--on-chrome = cover twin
   - --chrome-inset/--on-inset = designed-dark void plates (hierarchy role; not CH brand lock)
   Faces follow Spec --font-family-* so Carbon F1 / any venture remaps type too. */
/* Specimens only — never :root (that bakes Base fallback into --green-light
   and inherits a mint wash even when Stage Paint sets --color-accent).
   Token aliases live on .abcs-specimen--pitch only — inline --color-* from
   Stage · paint resolve here; descendants inherit --accent/--green. */
.abcs-specimen--pitch {
  --ink: var(--color-text-primary, #1A1A1A);
  --paper: var(--color-surface, #F1F2F4);
  --warm: var(--color-surface-raised, #FFFFFF);
  --rule: var(--color-border, #E0E0E0);
  --accent: var(--color-accent, #5C6B7A);
  --ghost: var(--color-text-secondary, #555555);
  --section: var(--color-surface, #F1F2F4);
  --green: var(--color-accent, #5C6B7A);
  --green-light: color-mix(in srgb, var(--color-accent, #5C6B7A) 18%, var(--color-surface, #F1F2F4));
  --ok: var(--color-success, var(--color-accent-secondary, #3A4654));
  --warn: var(--color-warning, #c49a1a);
  --blue: var(--color-text-secondary, #555555);
  /* Light Field cover twin — paper open / ink */
  --chrome: var(--color-surface, #F1F2F4);
  --on-chrome: var(--color-text-primary, #1A1A1A);
  --on-chrome-muted: color-mix(in srgb, var(--on-chrome) 50%, transparent);
  --on-chrome-faint: color-mix(in srgb, var(--on-chrome) 28%, transparent);
  --on-chrome-rule: color-mix(in srgb, var(--on-chrome) 12%, transparent);
  /* Designed-dark void plate — venture surface-dark when present; else ink */
  --chrome-inset: var(--color-surface-dark, var(--color-text-primary, #1A1A1A));
  --on-inset: var(--color-text-on-dark, var(--color-surface, #F1F2F4));
  --pitch-display: var(--font-family-display, "Fraunces", Georgia, serif);
  --pitch-body: var(--font-family-body, "Inter", system-ui, sans-serif);
  --pitch-mono: var(--font-family-mono, "DM Mono", ui-monospace, monospace);
  --mono: var(--pitch-mono);
  --serif: var(--pitch-display);
  --sans: var(--pitch-body);
  --pitch-design-w: 1100px;
  --pitch-design-h: 618.75px;
}

/* Field dark: paper/raised/ink remap; cover void = designed twin;
   designed-dark chrome-inset = source void (never invent-lift). */
.abcs-specimen.is-dark.abcs-specimen--pitch {
  --paper: var(--color-surface, #121820);
  --warm: var(--color-surface-raised, #1a222c);
  /* Section stays paper-depth (not mixed toward ink — that washed pricing stage). */
  --section: var(--color-surface, #121820);
  --rule: var(--color-border, rgba(242, 237, 228, 0.14));
  --ink: var(--color-text-primary, #f2ede4);
  --ghost: color-mix(in srgb, var(--color-text-primary, #f2ede4) 58%, transparent);
  --accent: var(--color-accent);
  --green: var(--color-accent);
  --green-light: color-mix(in srgb, var(--color-accent) 22%, var(--color-surface, #121820));
  --ok: var(--color-success, var(--color-accent-secondary));
  --warn: var(--color-warning, #e6b84d);
  --blue: color-mix(in srgb, var(--color-text-primary, #f2ede4) 42%, transparent);
  /* Cover void: prefer pack surface-dark. Fallback = Field-remapped --color-surface
     (already dark under Field dark) — NEVER --color-text-primary (that is on-dark ink). */
  --chrome: var(--color-surface-dark, var(--color-surface, #121820));
  --on-chrome: var(--color-text-on-dark, var(--color-text-primary, #f2ede4));
  --on-chrome-muted: color-mix(in srgb, var(--on-chrome) 50%, transparent);
  --on-chrome-faint: color-mix(in srgb, var(--on-chrome) 28%, transparent);
  --on-chrome-rule: color-mix(in srgb, var(--on-chrome) 8%, transparent);
  --chrome-inset: var(--color-surface-dark, var(--color-surface, #121820));
  --on-inset: var(--color-text-on-dark, var(--color-text-primary, #f2ede4));
}

/* Status tone roles — follow Stage Paint (no invent hex) */
.abcs-pitch-form-root .ours-tone-accent,
.abcs-pitch-form-root .ceiling-val.ours-tone-accent {
  color: var(--accent);
  font-weight: 600;
}
.abcs-pitch-form-root .ours-tone-ok {
  color: var(--ok);
}
.abcs-pitch-form-root .ours-tone-warn {
  color: var(--warn);
}
.abcs-pitch-form-root .ceiling-val.is-struck,
.abcs-pitch-form-root .ours-tone-struck {
  color: color-mix(in srgb, var(--on-inset) 40%, transparent);
  text-decoration: line-through;
}

/* Non-featured pricing cards stay raised over paper section */
.abcs-specimen.is-dark .abcs-pitch-form-root #slide-pricing .tier-card:not(.featured) {
  background: var(--warm);
}

.abcs-specimen--pitch .abcs-slide {
  padding: 0 !important;
  background: transparent !important;
  position: relative;
  overflow: hidden;
}

/* Fill the 960×540 design canvas; scale source 1100×618.75 into it */
.abcs-pitch-form-root {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  container-type: size;
  container-name: pitch-stage;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--pitch-body);
  -webkit-font-smoothing: antialiased;
}

/* L3 Spec browse: part paint without 16:9 stage shell (not absolute fill).
   Catalog Field twins (ENG-2.6): L3 light = invent white inset; L3 dark = source void.
   L2 slides keep source dark insets on light paper. */
.abcs-pitch-form-root.abcs-pitch-form-root--part,
.abcs-specimen-cardkind .abcs-pitch-form-root.abcs-pitch-form-root--part {
  position: relative;
  inset: auto;
  width: max-content;
  max-width: 36rem;
  min-width: 16rem;
  height: auto;
  min-height: auto;
  max-height: none;
  overflow: visible;
  padding: 0.85rem 1rem;
  background: var(--paper);
  color: var(--ink);
  box-sizing: border-box;
  container-type: inline-size;
  container-name: pitch-part;
  /* Light Field twin of chrome-inset plates — invent white for catalog browse. */
  --chrome-inset: var(--color-surface-raised, #ffffff);
  --on-inset: var(--color-text-primary, #1A1A1A);
}
.abcs-specimen.is-dark .abcs-pitch-form-root--part {
  background: var(--paper);
  --chrome-inset: var(--color-surface-dark, var(--color-surface, #121820));
  --on-inset: var(--color-text-on-dark, var(--color-text-primary, #f2ede4));
}

/* Claim / display lines in part browse — slide 70% clamp is for full stage only. */
.abcs-pitch-form-root--part .problem-heading,
.abcs-pitch-form-root--part .solution-heading {
  max-width: none;
}

/* ENG-2.14 — Spec L3 Pitch host hugs the part; no full-drawer surface plate (light). */
.abcs-specimen.abcs-specimen-cardkind.abcs-specimen--pitch {
  display: block;
  width: max-content;
  max-width: 100%;
  background: transparent;
  border: none;
  padding: 0;
}
.abcs-specimen.is-dark.abcs-specimen-cardkind.abcs-specimen--pitch {
  background: transparent;
  border: none;
  padding: 0;
}

.abcs-pitch-form-frame {
  /* Source slide-frame geometry (1100×618.75). Stage design surface is 960×540.
     Fixed scale — cqw min() in transform was dropping (transform:none) and
     overflowing the canvas, which clipped cover meta in Present. */
  width: var(--pitch-design-w);
  height: var(--pitch-design-h);
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform-origin: top left;
  transform: scale(calc(960 / 1100));
  background: var(--paper);
  container-type: size;
  container-name: pitch-design;
}

.abcs-pitch-form-slide,
.abcs-pitch-form-root .slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  margin: 0;
  width: 100%;
  height: 100%;
  /* Source .slide is a column flex stage — required so flex:1 mid-body and
     margin-top:auto footer callout bands get real vertical breath. */
  display: flex !important;
  flex-direction: column !important;
}

/* Pitch Form paint — shared by slide frames (Examples/L2) and Spec L3 --part roots.
   Must NOT nest only under .abcs-pitch-form-frame or Spec L3 browse is unstyled. */
.abcs-pitch-form-frame,
.abcs-pitch-form-root--part {
    .mono { font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace); }
    .serif { font-family: var(--pitch-display, 'Fraunces', Georgia, serif); }

    /* ── Shell ── */
    .shell { width: 100%; max-width: 1100px; }

    .top-bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 16px;
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--on-inset) 70%, transparent);
    }

    .slide-frame {
      width: 100%;
      aspect-ratio: 16/9;
      position: relative;
      overflow: hidden;
      box-shadow: 0 32px 80px rgba(0,0,0,0.6);
    }

    /* Source carousel hide — PS mounts one slide at a time; never block clicks. */
    .slide:not(.abcs-pitch-form-slide) {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      opacity: 0;
      pointer-events: none;
      visibility: hidden;
    }
    .slide.active,
    .slide.abcs-pitch-form-slide {
      opacity: 1;
      pointer-events: auto;
      visibility: visible;
      display: flex;
      flex-direction: column;
    }
    .toggle-track {
      cursor: pointer;
      z-index: 2;
    }

    .bottom-bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 20px;
      flex-wrap: wrap;
      gap: 12px;
    }

    .pills { display: flex; gap: 6px; flex-wrap: wrap; }

    .pill {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: 9px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 5px 12px;
      background: rgba(244,246,248,0.06);
      color: rgba(244,246,248,0.4);
      border: none;
      cursor: pointer;
      transition: all 0.15s;
    }
    .pill.active { background: var(--accent); color: #FFFFFF; }
    .pill:hover:not(.active) { background: rgba(244,246,248,0.1); color: rgba(244,246,248,0.7); }

    .arrows { display: flex; gap: 8px; }
    .arrow-btn {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: 14px;
      width: 36px; height: 36px;
      background: rgba(244,246,248,0.08);
      color: rgba(244,246,248,0.6);
      border: 1px solid rgba(244,246,248,0.1);
      cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: all 0.15s;
    }
    .arrow-btn:disabled { background: rgba(244,246,248,0.03); color: rgba(244,246,248,0.15); cursor: default; }
    .arrow-btn:not(:disabled):hover { background: rgba(244,246,248,0.14); }

    /* ── Slide rule ── */
    .slide-rule {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 24px;
      flex-shrink: 0;
    }
    .slide-rule-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--accent);
      white-space: nowrap;
    }
    .slide-rule-line { flex: 1; height: 1px; background: var(--rule); }

    /* ══════════════════════════════════════════
       SLIDE 1 — COVER
    ══════════════════════════════════════════ */
    #slide-cover {
      background: var(--chrome);
      color: var(--on-chrome);
      display: grid;
      grid-template-rows: 1fr auto;
    }
    .cover-grid {
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image: repeating-linear-gradient(
        90deg,
        transparent, transparent calc(100%/12 - 1px),
        rgba(255,255,255,0.04) calc(100%/12 - 1px),
        rgba(255,255,255,0.04) calc(100%/12)
      );
    }
    .cover-main {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 5% 6% 3%;
      position: relative;
      z-index: 1;
    }
    .cover-eyebrow {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(8px, 0.9cqw, 11px);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--on-chrome-faint);
      margin-bottom: 4%;
    }
    .cover-title {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(48px, 8cqw, 96px);
      font-weight: 300;
      line-height: 0.9;
      letter-spacing: -0.02em;
      margin-bottom: 2%;
    }
    .cover-title em { font-style: italic; color: var(--accent); }
    .cover-sub {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(11px, 1.3cqw, 15px);
      font-weight: 300;
      color: var(--on-chrome-muted);
      max-width: 44%;
      line-height: 1.6;
    }
    .cover-meta {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border-top: 1px solid var(--on-chrome-rule);
      position: relative;
      z-index: 1;
    }
    .cover-meta-item {
      padding: 2% 2.5%;
      border-right: 1px solid var(--on-chrome-rule);
    }
    .cover-meta-item:last-child { border-right: none; }
    .meta-key {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--on-chrome-faint);
      margin-bottom: 4px;
    }
    .meta-val {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 400;
      color: var(--on-chrome-muted);
    }

    /* ══════════════════════════════════════════
       SLIDE 2 — PROBLEM
    ══════════════════════════════════════════ */
    #slide-problem {
      background: var(--warm);
      padding: 4% 5%;
    }
    .problem-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(26px, 3.8cqw, 44px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 5%;
      max-width: 70%;
      flex-shrink: 0;
    }
    .problem-heading em { font-style: italic; color: var(--accent); }
    .pain-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      flex: 1;
      align-items: stretch;
    }
    /* L3 compose wraps each unit in .abcs-pitch-part — grid stretches the wrapper;
       painted card surface must fill the cell so the row stays equal-height. */
    .pain-cards > .abcs-pitch-part {
      height: 100%;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .pain-cards > .abcs-pitch-part > .pain-card {
      flex: 1 1 auto;
      width: 100%;
      min-height: 100%;
      box-sizing: border-box;
    }
    .pain-card {
      background: var(--paper);
      padding: 6% 5%;
      border-top: 2px solid var(--rule);
      height: 100%;
      box-sizing: border-box;
    }
    .pain-num {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(24px, 3cqw, 36px);
      font-weight: 300;
      color: var(--rule);
      line-height: 1;
      margin-bottom: 16px;
    }
    .pain-title {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(16px, 1.8cqw, 22px);
      font-weight: 400;
      letter-spacing: -0.01em;
      margin-bottom: 8px;
      color: var(--ink);
    }
    .pain-body {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 300;
      color: var(--ghost);
      line-height: 1.65;
    }

    /* ══════════════════════════════════════════
       SLIDE 3 — SOLUTION
    ══════════════════════════════════════════ */
    #slide-solution {
      background: var(--paper);
      padding: 4% 5%;
    }
    .solution-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5%;
      flex: 1;
      align-items: start;
    }
    .solution-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(22px, 3cqw, 38px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 5%;
    }
    .solution-heading em { font-style: italic; color: var(--accent); }
    .solution-sub {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 300;
      color: var(--ghost);
      line-height: 1.7;
      margin-bottom: 5%;
    }
    .step-list { border-top: 1px solid var(--rule); padding-top: 5%; }
    .step-row { display: flex; gap: 12px; margin-bottom: 12px; align-items: flex-start; }
    .step-num {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(8px, 0.9cqw, 10px);
      color: var(--accent);
      font-weight: 500;
      margin-top: 2px;
      flex-shrink: 0;
    }
    .step-text {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 300;
      color: var(--ink);
      line-height: 1.55;
    }
    .insight-card {
      background: var(--chrome-inset);
      color: var(--on-inset);
      padding: 8% 7%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      height: 100%;
    }
    .insight-eyebrow {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      /* Source twin (~paper 0.35 on void); L3 light invent overrides below */
      color: color-mix(in srgb, var(--on-inset) 35%, transparent);
      margin-bottom: 16px;
    }
    .insight-quote {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(16px, 2.2cqw, 26px);
      font-weight: 300;
      font-style: italic;
      line-height: 1.3;
      color: var(--on-inset);
      margin-bottom: 20px;
    }
    .insight-rule { width: 40px; height: 1px; background: var(--accent); margin-bottom: 16px; }
    .insight-note {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 1cqw, 12px);
      font-weight: 300;
      color: color-mix(in srgb, var(--on-inset) 45%, transparent);
      line-height: 1.65;
    }
    .insight-footer {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-top: 5%;
      padding-top: 5%;
      border-top: 1px solid color-mix(in srgb, var(--on-inset) 8%, transparent);
    }
    .ceiling-key {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--on-inset) 30%, transparent);
      margin-bottom: 4px;
    }
    .ceiling-val {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(12px, 1.5cqw, 18px);
      font-weight: 500;
    }

    /* ══════════════════════════════════════════
       SLIDE 4 — PRICING
    ══════════════════════════════════════════ */
    #slide-pricing {
      background: var(--section);
      padding: 4% 5%;
    }
    .pricing-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-bottom: 4%;
      flex-shrink: 0;
      gap: 20px;
    }
    .pricing-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(20px, 2.6cqw, 32px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      max-width: 440px;
    }
    .pricing-heading em { font-style: italic; color: var(--accent); }
    .toggle-group { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
    .toggle-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(8px, 0.85cqw, 10px);
      letter-spacing: 0.08em;
      cursor: pointer;
      transition: color 0.2s;
    }
    .toggle-track {
      width: 40px; height: 22px;
      border-radius: 11px;
      background: var(--rule);
      position: relative;
      cursor: pointer;
      transition: background 0.2s;
      flex-shrink: 0;
    }
    .toggle-track.on { background: var(--accent); }
    .toggle-thumb {
      position: absolute;
      top: 2px; left: 2px;
      width: 18px; height: 18px;
      border-radius: 50%;
      background: var(--warm);
      transition: left 0.2s;
    }
    .toggle-track.on .toggle-thumb { left: 20px; }
    .save-badge {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.06em;
      color: var(--green);
      background: var(--green-light);
      padding: 2px 7px;
      display: none;
    }
    .save-badge.visible { display: inline; }

    .tier-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      flex: 1;
      align-items: stretch;
    }
    .tier-grid > .abcs-pitch-part {
      height: 100%;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .tier-grid > .abcs-pitch-part > .tier-card {
      flex: 1 1 auto;
      width: 100%;
      min-height: 100%;
      box-sizing: border-box;
    }
    .tier-card {
      padding: 5% 4%;
      display: flex;
      flex-direction: column;
      border-top: 2px solid var(--rule);
      height: 100%;
      box-sizing: border-box;
    }
    .tier-card.featured { background: var(--chrome-inset); color: var(--on-inset); border-top-color: var(--accent); }
    .tier-card:not(.featured) { background: var(--paper); }
    .tier-popular {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 8px);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 8px;
    }
    .tier-name {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(9px, 0.95cqw, 11px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-bottom: 5px;
    }
    .tier-card:not(.featured) .tier-name { color: var(--ghost); }
    .tier-card.featured .tier-name { color: rgba(244,246,248,0.4); }
    .tier-price-row { display: flex; align-items: flex-end; gap: 7px; margin-bottom: 2px; }
    .tier-price {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(32px, 4cqw, 48px);
      font-weight: 300;
      line-height: 1;
    }
    .tier-savings-badge {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 8px);
      color: var(--green);
      background: var(--green-light);
      padding: 2px 5px;
      margin-bottom: 5px;
      display: none;
    }
    .tier-savings-badge.visible { display: inline; }
    .tier-sub {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(8px, 0.85cqw, 10px);
      margin-bottom: 12px;
    }
    .tier-card:not(.featured) .tier-sub { color: var(--ghost); }
    .tier-card.featured .tier-sub { color: color-mix(in srgb, var(--on-inset) 70%, transparent); }
    .tier-divider { height: 1px; margin-bottom: 10px; }
    .tier-card:not(.featured) .tier-divider { background: var(--rule); }
    .tier-card.featured .tier-divider { background: rgba(255,255,255,0.1); }
    .tier-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 7px; }
    .tier-row-key {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .tier-card:not(.featured) .tier-row-key { color: var(--ghost); }
    .tier-card.featured .tier-row-key { color: color-mix(in srgb, var(--on-inset) 70%, transparent); }
    .tier-row-val {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 500;
    }
    .tier-card:not(.featured) .tier-row-val { color: var(--ink); }
    .tier-card.featured .tier-row-val { color: var(--on-inset); }
    .tier-note {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 1cqw, 11px);
      font-weight: 300;
      line-height: 1.55;
      margin-top: auto;
      padding-top: 10px;
    }
    .tier-note-divider { height: 1px; margin-bottom: 10px; }
    .tier-card:not(.featured) .tier-note-divider { background: var(--rule); }
    .tier-card.featured .tier-note-divider { background: rgba(255,255,255,0.08); }
    .tier-card:not(.featured) .tier-note { color: var(--ghost); }
    .tier-card.featured .tier-note { color: rgba(244,246,248,0.4); }

    /* ══════════════════════════════════════════
       SLIDE 5 — ECONOMICS
    ══════════════════════════════════════════ */
    #slide-economics {
      background: var(--warm);
      padding: 4% 5%;
    }
    .econ-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5%; flex: 1; align-items: start; }
    .econ-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(22px, 2.8cqw, 36px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 4%;
    }
    .econ-heading em { font-style: italic; color: var(--accent); }
    .econ-sub {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 12px);
      font-weight: 300;
      color: var(--ghost);
      line-height: 1.65;
      margin-bottom: 4%;
    }
    .margin-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .margin-card { background: var(--paper); padding: 5% 4%; border-top: 2px solid var(--rule); }
    .margin-tier {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ghost);
      margin-bottom: 5px;
    }
    .margin-pct {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(28px, 3.5cqw, 42px);
      font-weight: 300;
      color: var(--accent);
      line-height: 1;
    }
    .margin-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      color: var(--ghost);
      margin-top: 3px;
      margin-bottom: 10px;
    }
    .margin-rows { border-top: 1px solid var(--rule); padding-top: 8px; }
    .margin-row { display: flex; justify-content: space-between; margin-bottom: 5px; }
    .margin-row-key {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--ghost);
    }
    .margin-row-val {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(9px, 0.95cqw, 11px);
      font-weight: 500;
      color: var(--ink);
    }
    .margin-row-val.net { color: var(--green); }

    .scenario-eyebrow {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--ghost);
      margin-bottom: 12px;
    }
    .scenario-table { background: var(--paper); }
    .scenario-header {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
      border-bottom: 1px solid var(--rule);
      padding: 8px 14px;
    }
    .scenario-header-cell {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ghost);
    }
    .scenario-row {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
      padding: 11px 14px;
    }
    .scenario-row:not(:last-child) { border-bottom: 1px solid var(--rule); }
    .scenario-row:nth-child(odd) { background: var(--paper); }
    .scenario-row:nth-child(even) { background: var(--warm); }
    .scenario-cell {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(9px, 0.95cqw, 11px);
      color: var(--ink);
    }
    .scenario-cell.label { font-family: var(--pitch-body, 'Inter', system-ui, sans-serif); font-size: clamp(10px, 1.1cqw, 12px); font-weight: 400; color: var(--ink); }
    .scenario-cell.muted { color: var(--ghost); }
    .scenario-cell.net { color: var(--green); font-weight: 500; }

    .usage-box { margin-top: 12px; padding: 12px 14px; background: var(--section); }
    .usage-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ghost);
      margin-bottom: 6px;
    }
    .usage-row { display: flex; gap: 14px; margin-bottom: 4px; align-items: center; }
    .usage-tier {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      color: var(--accent);
      width: 40px;
      flex-shrink: 0;
    }
    .usage-val {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 1cqw, 11px);
      color: var(--ghost);
    }

    /* ══════════════════════════════════════════
       SLIDE 6 — INFRA
    ══════════════════════════════════════════ */
    #slide-infra {
      background: var(--paper);
      padding: 3% 5% 3%;
    }
    .infra-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(20px, 2.4cqw, 30px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 2.5%;
      max-width: 60%;
      flex-shrink: 0;
    }
    .infra-heading em { font-style: italic; color: var(--accent); }
    /* Mid-body absorbs spare height so the table stays content-tall and the
       KPI callout band can sit as a floor strip (not the next table row). */
    .stack-rows { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; min-height: 0; }
    .stack-row {
      display: grid;
      grid-template-columns: 150px 180px 1fr;
      gap: 16px;
      align-items: center;
      padding: 2% 3%;
      border-left: 2px solid var(--rule);
    }
    .stack-row.highlight { border-left-color: var(--accent); }
    .stack-row:nth-child(odd) { background: var(--section); }
    .stack-row:nth-child(even) { background: var(--warm); }
    .stack-label-key {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.7cqw, 9px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ghost);
      margin-bottom: 2px;
    }
    .stack-layer {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 500;
      color: var(--ink);
    }
    .stack-tech {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(9px, 0.9cqw, 11px);
      font-weight: 500;
      color: var(--blue);
    }
    .stack-tech.accent { color: var(--accent); }
    .stack-note {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 0.9cqw, 11px);
      font-weight: 300;
      color: var(--ghost);
      line-height: 1.5;
    }
    /* Footer callout band — pin to stage floor; air above is deliberate breath,
       not table glue (ENG-2.8 / Form-source measure). */
    .infra-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-top: auto;
      padding-top: 8px;
      flex-shrink: 0;
    }
    .infra-stat { background: var(--section); padding: 2% 3%; }
    .infra-stat-key {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ghost);
      margin-bottom: 3px;
    }
    .infra-stat-val {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(16px, 2cqw, 22px);
      font-weight: 300;
      color: var(--ink);
    }
    .infra-stat-note {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      color: var(--ghost);
      margin-top: 2px;
    }

    /* ══════════════════════════════════════════
       SLIDE 7 — BUILD SEQUENCE
    ══════════════════════════════════════════ */
    #slide-sequence {
      background: var(--warm);
      color: var(--ink);
      padding: 4% 5%;
    }
    #slide-sequence .slide-rule-line { background: color-mix(in srgb, var(--ink) 15%, transparent); }
    .seq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5%; flex: 1; }
    .seq-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(20px, 2.8cqw, 36px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 5%;
      color: var(--ink);
    }
    .seq-heading em { font-style: italic; color: var(--accent); }
    .priority-eyebrow {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--ink) 35%, transparent);
      margin-bottom: 12px;
    }
    .priority-row { display: flex; gap: 14px; margin-bottom: 14px; align-items: flex-start; }
    .priority-n {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(9px, 0.95cqw, 11px);
      color: var(--accent);
      flex-shrink: 0;
      margin-top: 2px;
      font-weight: 500;
    }
    .priority-label {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(11px, 1.2cqw, 14px);
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 2px;
    }
    .priority-desc {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 1cqw, 12px);
      font-weight: 300;
      color: color-mix(in srgb, var(--ink) 50%, transparent);
      line-height: 1.55;
    }
    .phase-card {
      padding: 4% 4%;
      margin-bottom: 8px;
      background: var(--paper);
      border-left: 2px solid var(--accent);
    }
    .phase-card.inactive {
      background: color-mix(in srgb, var(--ink) 3%, transparent);
      border-left-color: color-mix(in srgb, var(--ink) 15%, transparent);
    }
    .phase-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
    .phase-meta {
      display: flex;
      gap: 8px;
      align-items: center;
    }
    .phase-num {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      color: color-mix(in srgb, var(--ink) 30%, transparent);
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }
    .phase-label {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.2cqw, 13px);
      font-weight: 500;
      color: var(--ink);
    }
    .phase-badge {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 8px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 2px 7px;
    }
    .phase-badge.mvp { background: var(--accent); color: var(--on-chrome); }
    .phase-badge.parallel { background: color-mix(in srgb, var(--ink) 8%, transparent); color: color-mix(in srgb, var(--ink) 45%, transparent); }
    .phase-badge.gated { border: 1px solid color-mix(in srgb, var(--ink) 20%, transparent); color: color-mix(in srgb, var(--ink) 45%, transparent); }
    .phase-desc {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 1cqw, 12px);
      font-weight: 300;
      color: color-mix(in srgb, var(--ink) 50%, transparent);
      line-height: 1.55;
    }

    /* ══════════════════════════════════════════
       SLIDE: WHERE THIS GOES
    ══════════════════════════════════════════ */
    #slide-platform {
      background: var(--paper);
      color: var(--ink);
      padding: 4% 5%;
    }
    #slide-platform .slide-rule-line { background: color-mix(in srgb, var(--ink) 15%, transparent); }
    #slide-platform .solution-heading { color: var(--ink); }
    #slide-platform .solution-heading em { color: var(--accent); }
    #slide-platform .solution-sub { color: var(--ghost); }

    /* ══════════════════════════════════════════
       SLIDE: WHO WE'RE BUILDING FOR
    ══════════════════════════════════════════ */
    #slide-personas {
      background: var(--paper);
      color: var(--ink);
      padding: 4% 5%;
    }
    #slide-personas .slide-rule-line { background: color-mix(in srgb, var(--ink) 15%, transparent); }
    .persona-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; flex: 1; min-height: 0; margin-top: 20px; align-items: stretch; }
    .persona-grid > .abcs-pitch-part {
      height: 100%;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .persona-grid > .abcs-pitch-part > .persona-card {
      flex: 1 1 auto;
      width: 100%;
      min-height: 100%;
      box-sizing: border-box;
    }
    .persona-card {
      padding: 6% 5%;
      display: flex;
      flex-direction: column;
      border-top: 2px solid var(--accent);
      background: var(--warm);
      height: 100%;
      box-sizing: border-box;
    }
    .persona-card.secondary { border-top-color: color-mix(in srgb, var(--ink) 20%, transparent); background: var(--section); }
    .persona-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 10px;
    }
    .persona-card.secondary .persona-label { color: color-mix(in srgb, var(--ink) 35%, transparent); }
    .persona-name {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(24px, 3cqw, 40px);
      font-weight: 300;
      line-height: 1.05;
      letter-spacing: -0.02em;
      color: var(--ink);
      margin-bottom: 16px;
    }
    .persona-desc {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 300;
      color: color-mix(in srgb, var(--ink) 55%, transparent);
      line-height: 1.65;
      margin-bottom: 24px;
      flex: 1;
    }
    .persona-signals { border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent); padding-top: 16px; }
    .persona-signal-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--ink) 30%, transparent);
      margin-bottom: 10px;
    }
    .persona-signal-row { display: flex; gap: 10px; margin-bottom: 8px; align-items: flex-start; }
    .persona-signal-dot {
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--accent);
      flex-shrink: 0;
      margin-top: 6px;
    }
    .persona-card.secondary .persona-signal-dot { background: color-mix(in srgb, var(--ink) 25%, transparent); }
    .persona-signal-text {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1cqw, 12px);
      font-weight: 300;
      color: color-mix(in srgb, var(--ink) 50%, transparent);
      line-height: 1.5;
    }
    .persona-unlock {
      margin-top: 14px;
      padding: 10px 14px;
      /* Soft accent wash — Stage · Paint only (never CH teal hex) */
      background: var(--green-light);
      border-left: 2px solid var(--accent);
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(8px, 0.85cqw, 10px);
      color: color-mix(in srgb, var(--ink) 55%, transparent);
      line-height: 1.5;
    }
    .persona-card.secondary .persona-unlock {
      background: color-mix(in srgb, var(--ink) 4%, transparent);
      border-left-color: color-mix(in srgb, var(--ink) 15%, transparent);
    }

    /* ══════════════════════════════════════════
       SLIDE: WHY THE GAP EXISTS
    ══════════════════════════════════════════ */
    #slide-gap {
      background: var(--warm);
      padding: 4% 5%;
    }
    .gap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; flex: 1; align-items: start; }
    .gap-heading {
      font-family: var(--pitch-display, 'Fraunces', Georgia, serif);
      font-size: clamp(22px, 2.8cqw, 36px);
      font-weight: 300;
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 20px;
    }
    .gap-heading em { font-style: italic; color: var(--accent); }
    .gap-sub {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 300;
      color: var(--ghost);
      line-height: 1.65;
      margin-bottom: 20px;
    }
    .gap-verdict {
      background: var(--chrome-inset);
      color: var(--on-inset);
      padding: 18px 20px;
      border-left: 2px solid var(--accent);
      margin-top: 4px;
    }
    .gap-verdict-label {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--on-inset) 70%, transparent);
      margin-bottom: 6px;
    }
    .gap-verdict-text {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 300;
      color: var(--on-inset);
      line-height: 1.6;
    }
    .competitor-table { background: var(--paper); }
    .competitor-header {
      display: grid;
      grid-template-columns: 1fr 1.2fr 1fr;
      padding: 8px 14px;
      border-bottom: 1px solid var(--rule);
    }
    .competitor-header-cell {
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.75cqw, 9px);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--ghost);
    }
    .competitor-row {
      display: grid;
      grid-template-columns: 1fr 1.2fr 1fr;
      padding: 11px 14px;
      align-items: center;
    }
    .competitor-row:not(:last-child) { border-bottom: 1px solid var(--rule); }
    .competitor-row:nth-child(odd) { background: var(--paper); }
    .competitor-row:nth-child(even) { background: var(--warm); }
    .competitor-row.us { background: var(--chrome-inset); }
    .competitor-name {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(10px, 1.1cqw, 13px);
      font-weight: 500;
      color: var(--ink);
    }
    .competitor-row.us .competitor-name { color: var(--on-inset); }
    .competitor-cell {
      font-family: var(--pitch-body, 'Inter', system-ui, sans-serif);
      font-size: clamp(9px, 1cqw, 12px);
      font-weight: 300;
      color: var(--ghost);
    }
    .competitor-row.us .competitor-cell { color: color-mix(in srgb, var(--on-inset) 88%, transparent); }
    .competitor-tag {
      display: inline-block;
      font-family: var(--pitch-mono, 'DM Mono', ui-monospace, monospace);
      font-size: clamp(7px, 0.7cqw, 8px);
      letter-spacing: 0.08em;
      padding: 2px 7px;
      text-transform: uppercase;
    }
    .tag-gap { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
    .tag-dev { background: var(--section); color: var(--ghost); }
    .tag-team { background: var(--section); color: var(--ghost); }
    .tag-us { background: var(--accent); color: var(--on-chrome); }
}

/* L3 cover-title part — AFTER nested paint so rem/cqi beat slide 48px/8cqw floors */
.abcs-pitch-form-root--part:has(.cover-title) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.abcs-pitch-form-root--part .cover-main {
  padding: 1.15rem 1.25rem 1rem;
  justify-content: flex-start;
}
.abcs-pitch-form-root--part .cover-eyebrow {
  font-size: clamp(0.5rem, 2.2cqi, 0.625rem);
  margin-bottom: 0.75rem;
}
.abcs-pitch-form-root--part .cover-title {
  font-size: clamp(2rem, 12cqi, 3.5rem);
  margin-bottom: 0.55rem;
  overflow-wrap: anywhere;
}
.abcs-pitch-form-root--part .cover-sub {
  font-size: clamp(0.6875rem, 2.8cqi, 0.875rem);
  max-width: none;
  line-height: 1.55;
}

/* L3 cover-meta / footline — AFTER nested paint; % pad + 16rem host mashed 4 cols */
.abcs-pitch-form-root--part:has(.cover-meta) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  box-sizing: border-box;
  /* Strip is the plate — don't leave a light paper void under it */
  background: var(--chrome, #0f1923);
}
.abcs-pitch-form-root--part .cover-meta {
  width: 100%;
  border-top: none;
}
.abcs-pitch-form-root--part .cover-meta-item {
  padding: 1rem 1.15rem;
}
.abcs-pitch-form-root--part .meta-key {
  font-size: 0.5625rem;
  margin-bottom: 0.4rem;
}
.abcs-pitch-form-root--part .meta-val {
  font-size: 0.8125rem;
  line-height: 1.35;
}

/* L3 insight-card — AFTER nested paint so rem floors beat 8%/cqw crush on narrow part host.
   Card fills the wrap host — never min-width wider than the root plate. */
.abcs-pitch-form-root--part:has(.insight-card) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0;
  box-sizing: border-box;
}
.abcs-pitch-form-root--part .insight-card {
  width: 100%;
  min-width: 0;
  padding: 1.75rem 1.5rem;
  height: auto;
  min-height: 16rem;
  box-sizing: border-box;
}
.abcs-pitch-form-root--part .insight-eyebrow {
  font-size: 0.5625rem;
}
.abcs-pitch-form-root--part .insight-quote {
  font-size: 1.125rem;
}
.abcs-pitch-form-root--part .insight-note {
  font-size: 0.6875rem;
}
.abcs-pitch-form-root--part .ceiling-key {
  font-size: 0.5625rem;
}
.abcs-pitch-form-root--part .ceiling-val {
  font-size: 0.875rem;
}
.abcs-specimen:not(.is-dark) .abcs-pitch-form-root--part .insight-eyebrow {
  color: color-mix(in srgb, var(--on-inset) 55%, transparent);
}
.abcs-specimen:not(.is-dark) .abcs-pitch-form-root--part .insight-note {
  color: color-mix(in srgb, var(--on-inset) 65%, transparent);
}
.abcs-specimen:not(.is-dark) .abcs-pitch-form-root--part .insight-footer {
  border-top-color: color-mix(in srgb, var(--on-inset) 14%, transparent);
}
.abcs-specimen:not(.is-dark) .abcs-pitch-form-root--part .ceiling-key {
  color: color-mix(in srgb, var(--on-inset) 50%, transparent);
}

/* L3 stack-row part — slide 150+180px fixed cols need a real host; stage-root
   overflow:hidden + 16rem hug clipped the note column (ENG-2.14). */
.abcs-pitch-form-root--part:has(.stack-row) {
  width: 100%;
  max-width: min(100%, 42rem);
  min-width: min(100%, 20rem);
}

.abcs-pitch-form-root--part .stack-row {
  display: grid;
  grid-template-columns: minmax(4.5rem, 7.5rem) minmax(5.5rem, 9rem) minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  padding: 0.65rem 0.75rem;
  align-items: start;
  width: 100%;
  box-sizing: border-box;
}

.abcs-pitch-form-root--part .stack-label-key {
  font-size: clamp(0.5rem, 2.2cqi, 0.625rem);
  margin-bottom: 0.15rem;
}

.abcs-pitch-form-root--part .stack-layer {
  font-size: clamp(0.625rem, 2.8cqi, 0.8125rem);
  line-height: 1.35;
}

.abcs-pitch-form-root--part .stack-tech {
  font-size: clamp(0.5625rem, 2.5cqi, 0.6875rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.abcs-pitch-form-root--part .stack-note {
  font-size: clamp(0.5625rem, 2.5cqi, 0.75rem);
  line-height: 1.45;
}

.abcs-pitch-form-root #slide-cover.abcs-pitch-form-slide,
.abcs-pitch-form-frame #slide-cover {
  display: grid !important;
  background: var(--chrome);
  color: var(--on-chrome);
}
