/**
 * iNKPPL Partners v2 — /partners landing — kit-mirror CSS rewrite
 * SPEC: INK-DEV-170 (2026-06-03)
 * Visual paradigm: docs/research/2026-06-02-partners-gold-vision.md §13
 *                  docs/research/2026-06-02-media-kit-accents.md §3, §4, §11
 *
 * Mirror of iNKPPL-Media-Kit-2026.pdf (12 pages). DM Serif Display display
 * surfaces, JetBrains Mono caps section codes / source-lines / page anchors,
 * surgical --color-brand-accent gold, hairline rules between items, 1px gold
 * rules between major sections, repeating section footer.
 *
 * Tokens only — no raw hex/rgb (except color-mix fallback per FR-14).
 * Class hooks per chunk inkppl.partners.content.v2.tpl (INK-DEV-169).
 *
 * History: 2026-05-11 wave-0 / 2026-06-02 INK-DEV-167 / 2026-06-03 INK-DEV-170
 *          full rewrite (this file).
 */

/* ============================================================
   COL-RULED GRID FIX (preserved from Wave-1 e6023c63, broadened)
   Static-page.v2.tpl renders .static-page__content as the only grid child
   when section-mast header is suppressed; force it into the 760px content
   column (col 2) rather than the 40px ruled column (col 1). Also place any
   .section-mast in the full row. Robust for both partners + articles.
   ============================================================ */
.static-page__container.col-ruled > .static-page__content { grid-column: 2; }
.static-page__container.col-ruled > .section-mast { grid-column: 1 / -1; }

/* §00 PAGE CHROME (.partners__frame / brand / progress-anchor) — REMOVED
   2026-06-16 (partners UX batch task2). Strip deleted from chunk; rules dead. */

/* ============================================================
   SECTION GRAMMAR — shared rhythm for every .partners__sNN section
   mono-caps section code → DM Serif Display H1 → optional kicker → body →
   hairline-rule items → optional callout. Gold 1px rule between majors.
   ============================================================ */
.partners__hero,
.partners__s02,
.partners__s03,
.partners__s04,
.partners__s05,
.partners__s06,
.partners__s07,
.partners__s08,
.partners__s09,
.partners__s10 {
  padding: var(--space-12) 0;
  /* Wave 2.5 change 7: section separators neutral (Founder OQ-3). Gold stays
     accent-only inside (numbers/buttons/callout). */
  border-bottom: 1px solid var(--color-border);
}
.partners__s10 { border-bottom: 0; }

/* Mono-caps code labels (NN — TITLE / 01 / 02) — shared typography */
.partners__section-code,
.partners__audience-code-num,
.partners__format-card-num {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-brand-accent);
  line-height: var(--line-height-tight);
}
/* Mono-caps section code (NN — TITLE) above every H1 */
.partners__section-code {
  margin: 0 0 var(--space-5);
}

/* DM Serif Display section title (Georgia fallback for Cyrillic) */
.partners__section-title {
  font-family: var(--font-display);
  font-size: var(--text-4xl); /* Wave 2.5 bonus: was hardcoded 56px */
  font-weight: var(--font-weight-normal);
  line-height: 1.05;
  letter-spacing: var(--letter-spacing-display, -0.01em);
  color: var(--color-text);
  margin: 0 0 var(--space-6);
  text-wrap: balance;
}

/* Per-section kicker (subtitle below section-title) */
.partners__kicker {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-6);
  max-width: 60ch;
}

/* Repeating mono-caps source-line under every published number */
.partners__source-line {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-top: var(--space-2);
  line-height: var(--line-height-tight);
}
/* When source-line is used inside a hero-stat / blockquote, kicker number
   (first digits/glyphs) gets gold accent via inline content authoring. */

/* Synthesized italic display-serif for rhetorical emphasis */
.partners__italic {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: var(--font-weight-normal);
  color: var(--color-brand-accent);
}

/* Inline link discipline (FR-12 C-seo-2 halo) — not a button */
.partners__hero a,
.partners__s02 a,
.partners__s03 a,
.partners__s04 a,
.partners__s05 a,
.partners__s06 a,
.partners__s07 a,
.partners__s08 a,
.partners__s09 a {
  display: inline;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: 1px solid var(--color-brand-accent);
  transition: color 0.15s ease;
}
.partners__hero a:hover,
.partners__s02 a:hover,
.partners__s03 a:hover,
.partners__s04 a:hover,
.partners__s05 a:hover,
.partners__s06 a:hover,
.partners__s07 a:hover,
.partners__s08 a:hover,
.partners__s09 a:hover {
  color: var(--color-brand-accent);
}

/* ============================================================
   §01 HERO — 19.9M display-serif gold + caption + source-line + subhead + CTAs
   ============================================================ */
.partners__hero-stat {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3);
  margin: var(--space-6) 0 var(--space-2);
}
.partners__hero .partners__hero-stat-value {
  /* Wave 2.5 change 3 (Founder OQ-1): big numbers → mono + gold.
     Scoped via .partners__hero to beat .static-page__content strong (0,1,1) which
     otherwise forces --color-text white. This is the core shift to event-detail. */
  font-family: var(--font-mono);
  font-size: clamp(72px, 15vw, 220px);
  font-weight: var(--font-weight-normal);
  line-height: 0.9;
  color: var(--color-brand-accent);
  letter-spacing: -0.03em;
}
.partners__hero-stat-label {
  font-family: var(--font-ui);
  font-size: var(--text-base);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
  max-width: 32ch;
}
.partners__hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 72px);
  font-weight: var(--font-weight-normal);
  line-height: 1.1;
  letter-spacing: var(--letter-spacing-display, -0.01em);
  color: var(--color-text);
  margin: var(--space-8) 0 var(--space-4);
  text-wrap: balance;
}
.partners__hero-body {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text);
  max-width: 60ch;
  margin: 0 0 var(--space-8);
}
.partners__hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin: var(--space-8) 0 0;
}
/* task3 (partners UX batch 2026-06-16): hero CTAs now use canonical DS button
   classes (.btn .btn--primary / .btn--outline) in the chunk. Page-specific
   appearance rules removed to defer to design-system/components/button.css.
   Only mono-caps typography kept (partners editorial register, not in DS base). */
.partners__hero-cta {
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: var(--space-3) var(--space-6);
}

/* ============================================================
   §02 WHO WE ARE — body paragraph in editorial register
   ============================================================ */
.partners__s02-body {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text);
  max-width: 60ch;
  /* Wave 2.5 change 1: surface panel (recipe .afisha-info-card) */
  margin: var(--space-2) 0 0;
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: border-color 0.15s ease;
}
.partners__s02-body:hover { border-color: var(--color-border-hover); }

/* ============================================================
   §03 REACH — static trend text + featured 10,310 + 8-cell metric grid +
       heritage line + pull-quote + source-line
   ============================================================ */
.partners__sparkline {
  display: block;
  margin: var(--space-4) 0 var(--space-6);
  color: var(--color-brand-accent);
}
.partners__sparkline svg {
  display: block;
  width: 100%;
  max-width: 320px;
  height: 40px;
  color: var(--color-brand-accent);
}
.partners__featured-number {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3);
  margin: var(--space-8) 0 var(--space-6);
}
.partners__featured-number strong {
  /* Wave 2.5: §03 big number → mono + gold, unifying with hero + metric cells (Founder OQ-1) */
  font-family: var(--font-mono);
  font-size: clamp(64px, 8vw, 120px);
  font-weight: var(--font-weight-normal);
  line-height: 0.9;
  color: var(--color-brand-accent);
  letter-spacing: -0.02em;
}
.partners__featured-number span {
  font-family: var(--font-ui);
  font-size: var(--text-base);
  color: var(--color-text-secondary);
  max-width: 28ch;
  line-height: var(--line-height-tight);
}
/* Wave 2.6: §03 featured PAIR — 10 310 keywords + 9 national markets side-by-side */
.partners__featured-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
  margin: var(--space-8) 0 var(--space-6);
  align-items: start;
}
.partners__featured-pair .partners__featured-number {
  margin: 0;
}

/* 8-cell metric grid — 4×2 desktop / 2×4 mobile (distinct move 5) */
.partners__metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-6);
  margin: var(--space-8) 0;
  /* Wave 2.5 change 1: surface panel (recipe .afisha-info-card) */
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: border-color 0.15s ease;
}
.partners__metric-grid:hover { border-color: var(--color-border-hover); }
.partners__metric-cell {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.partners__metric-cell strong {
  /* Wave 2.5 change 3: big metric numbers → mono, gold accent */
  font-family: var(--font-mono);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-normal);
  line-height: 1;
  color: var(--color-brand-accent);
  letter-spacing: -0.02em;
}
.partners__metric-cell span {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
}

.partners__heritage-strip {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  padding: var(--space-4) 0;
  margin: var(--space-6) 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  text-align: center;
}

.partners__pullquote {
  margin: var(--space-8) 0;
  padding: 0;
  border-left: 0;
}
.partners__pullquote p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.3;
  color: var(--color-text);
  margin: 0;
  text-wrap: balance;
  max-width: 36ch;
}

/* ============================================================
   §04 WHO READS US — 4 audience codes + 2 bar charts + footnote
   ============================================================ */
.partners__audience-codes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--space-8);
  margin: var(--space-8) 0;
  /* Wave 2.5 change 1: surface panel (recipe .afisha-info-card) */
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: border-color 0.15s ease;
}
.partners__audience-codes:hover { border-color: var(--color-border-hover); }
.partners__audience-code {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.partners__audience-code-num {
  margin: 0;
}
.partners__audience-code h3 {
  font-family: var(--font-display);
  font-size: var(--text-2xl); /* Wave 2.5 bonus: was hardcoded 28px */
  font-weight: var(--font-weight-normal);
  line-height: 1.15;
  color: var(--color-text);
  margin: 0;
}
.partners__audience-code p {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
  margin: 0;
}

/* Bar charts (distinct move 6) — horizontal grid layout per row */
.partners__charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8) var(--space-10);
  margin: var(--space-8) 0;
  /* Wave 2.5 change 1: surface panel (recipe .afisha-info-card) */
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: border-color 0.15s ease;
}
.partners__charts:hover { border-color: var(--color-border-hover); }
.partners__bar-chart {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.partners__chart-title {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-border);
}
.partners__bar-row {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) 3fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  position: relative;
}
.partners__bar-label {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  color: var(--color-text);
  line-height: var(--line-height-tight);
}
.partners__bar-value {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  text-align: right;
}
/* Middle bar fill — pseudo-element on .partners__bar-row spans 1fr column.
   --bar-value inlined per row from chunk (e.g. style="--bar-value:22%"). */
/* Wave 2.5 change 4: progress-style track (surface, pill) + fill */
.partners__bar-row::before {
  content: "";
  display: block;
  height: 8px;
  background: var(--color-surface);
  border-radius: var(--radius-full);
  width: 100%;
  grid-column: 2;
  position: relative;
}
.partners__bar-row::after {
  content: "";
  display: block;
  height: 8px;
  background: var(--color-text-secondary);
  border-radius: var(--radius-full);
  width: var(--bar-value, 0%);
  grid-column: 2;
  margin-left: 0;
  margin-top: -8px;
  position: relative;
}
/* Top bar of each chart (first row) gets gold accent */
.partners__bar-chart > .partners__bar-row:first-of-type::after {
  background: var(--color-brand-accent);
}
/* Wave 2.7: §04 geo dual-tier — TOP MARKETS (US #1) over BY REGION. Gold only on #1 single market, NOT on the region aggregate (Founder: regions must not visually outrank USA). */
.partners__bar-tier { display: flex; flex-direction: column; gap: var(--space-2); }
.partners__bar-tier--regions {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}
.partners__bar-chart--geo .partners__bar-tier:first-child .partners__bar-row:first-of-type::after {
  background: var(--color-brand-accent);
}
.partners__chart-reach { margin-top: var(--space-3); }
/* Wave 2.7: small country-count caption under each region label */
.partners__bar-sub {
  display: block;
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
  margin-top: 2px;
}

.partners__footnote {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: var(--space-6) 0 0;
  line-height: var(--line-height-tight);
}

/* ============================================================
   §05 WHY BRANDS — wordmark strip + 3 studio cards + closing list
   ============================================================ */
.partners__wordmark-strip {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
  text-align: center;
  padding: var(--space-5) 0;
  margin: var(--space-6) 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  line-height: var(--line-height-tight);
}
.partners__studio-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin: var(--space-8) 0;
}
.partners__studio-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}
.partners__studio-card h3 {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--font-weight-normal);
  line-height: 1.2;
  color: var(--color-text);
  margin: 0;
}
.partners__studio-card p {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
  margin: 0;
  flex: 1 1 auto;
}
.partners__closing-intro {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text);
  max-width: 60ch;
  margin: var(--space-8) 0 var(--space-4);
}
.partners__closing-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: partners-closing;
}
.partners__closing-list li {
  counter-increment: partners-closing;
  position: relative;
  padding: var(--space-4) 0 var(--space-4) var(--space-12);
  border-bottom: 1px solid var(--color-border);
  font-family: var(--font-ui);
  font-size: var(--text-base);
  line-height: var(--line-height-normal);
  color: var(--color-text);
}
.partners__closing-list li::before {
  content: counter(partners-closing, decimal-leading-zero) " ·";
  position: absolute;
  left: 0;
  top: var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
  color: var(--color-brand-accent);
}

/* ============================================================
   §06 WHAT WE OFFER — bundle lead-in + 5 format cards + multilang line
   ============================================================ */
.partners__bundle-lead-in {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text);
  max-width: 60ch;
  margin: var(--space-6) 0;
}
.partners__format-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8) var(--space-10);
  margin: var(--space-8) 0;
}
.partners__format-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  /* Wave 2.5 change 5: real surface cards (recipe .afisha-info-card) */
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  transition: border-color 0.15s ease;
}
.partners__format-card:hover { border-color: var(--color-border-hover); }
/* Gold-accent card: border-top → border-left 3px (event .card--accent) */
.partners__format-card--banner-q3 {
  border-left: 3px solid var(--color-brand-accent);
}
.partners__format-card-num {
  margin: 0;
}
.partners__format-card-label {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-brand-accent);
  margin: 0;
}
.partners__format-card h3 {
  font-family: var(--font-display);
  font-size: var(--text-2xl); /* Wave 2.5 bonus: was hardcoded 28px */
  font-weight: var(--font-weight-normal);
  line-height: 1.15;
  color: var(--color-text);
  margin: 0;
}
.partners__format-card p {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
  margin: 0;
}
.partners__multilang-line-item {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
  margin: var(--space-6) 0 0;
  line-height: var(--line-height-tight);
}

/* ============================================================
   §07 WHAT WE DO NOT DO — trust quote + gold-bordered callout + forward link
   ============================================================ */
.partners__trust-quote {
  margin: var(--space-8) 0;
  padding: 0;
  border-left: 0;
}
.partners__trust-quote p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(24px, 2.6vw, 36px);
  line-height: 1.3;
  color: var(--color-brand-accent);
  margin: 0;
  max-width: 36ch;
  text-wrap: balance;
}

/* Gold-bordered callout (distinct move 9) */
.partners__callout--gold-bordered {
  border-left: 4px solid var(--color-brand-accent);
  background: color-mix(in oklch, var(--color-brand-accent) 8%, transparent);
  padding: var(--space-6) var(--space-8);
  margin: var(--space-6) 0;
}
@supports not (background: color-mix(in oklch, red, blue)) {
  .partners__callout--gold-bordered {
    background: rgba(200, 169, 106, 0.08);
  }
}
.partners__callout-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.partners__callout-list li {
  font-family: var(--font-ui);
  font-size: var(--text-base);
  line-height: var(--line-height-normal);
  color: var(--color-text);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
}
.partners__callout-list li:last-child { border-bottom: 0; }
.partners__callout-title {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-brand-accent);
  margin: 0 0 var(--space-3);
  line-height: var(--line-height-tight);
}

.partners__forward-link {
  margin: var(--space-6) 0 0;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.partners__forward-link a {
  color: var(--color-brand-accent);
  border-bottom-color: var(--color-brand-accent);
}

/* ============================================================
   §08 THE CAP IS STRUCTURAL — italic emphasis + body + big numeric callout
   ============================================================ */
.partners__s08-body {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text);
  max-width: 60ch;
  margin: 0 0 var(--space-5);
}
/* Big numeric callout (distinct move 10) — the huge "4" */
.partners__cap-numeric {
  margin: var(--space-10) 0 var(--space-2);
}
.partners__cap-numeric strong {
  font-family: var(--font-display);
  font-size: clamp(120px, 18vw, 280px);
  font-weight: var(--font-weight-normal);
  line-height: 0.9;
  color: var(--color-brand-accent);
  letter-spacing: -0.04em;
  display: block;
}
.partners__cap-numeric-caption {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-8);
  line-height: var(--line-height-tight);
}
.partners__if-we-pass {
  margin-top: var(--space-8);
}

/* ============================================================
   §09 HOW WE WORK — 5 numbered steps (mono num + week + serif title + body)
   ============================================================ */
.partners__steps {
  list-style: none;
  padding: 0;
  margin: var(--space-8) 0 0;
  counter-reset: partners-step;
}
.partners__step-row {
  display: grid;
  grid-template-columns: auto auto 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-2) var(--space-6);
  align-items: baseline;
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--color-border);
}
.partners__step-num {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-brand-accent);
  margin: 0;
  grid-column: 1;
  grid-row: 1;
}
.partners__step-week {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0;
  grid-column: 2;
  grid-row: 1;
}
.partners__step-title {
  font-family: var(--font-display);
  font-size: var(--text-2xl); /* Wave 2.5 bonus: was hardcoded 28px */
  font-weight: var(--font-weight-normal);
  line-height: 1.15;
  color: var(--color-text);
  margin: 0;
  grid-column: 3;
  grid-row: 1;
}
.partners__step-body {
  font-family: var(--font-ui);
  font-size: var(--text-base);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
  margin: 0;
  grid-column: 3;
  grid-row: 2;
  max-width: 60ch;
}

/* ============================================================
   §10 TALK TO US — intro + subhead + scarcity + form-sla + form + success +
       founder surface + footer media-kit + imprint
   ============================================================ */
.partners__s10-intro {
  font-family: var(--font-ui);
  font-size: var(--text-lg);
  line-height: var(--line-height-prose);
  color: var(--color-text);
  max-width: 60ch;
  margin: var(--space-6) 0 var(--space-4);
}
.partners__s10-subhead {
  font-family: var(--font-display);
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: var(--font-weight-normal);
  line-height: 1.4;
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-6);
  max-width: 52ch;
  text-wrap: balance;
}

/* Scarcity callout */
.partners__scarcity-callout {
  border-left: 4px solid var(--color-brand-accent);
  background: color-mix(in oklch, var(--color-brand-accent) 6%, transparent);
  padding: var(--space-5) var(--space-6);
  margin: var(--space-6) 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
@supports not (background: color-mix(in oklch, red, blue)) {
  .partners__scarcity-callout {
    background: rgba(200, 169, 106, 0.06);
  }
}
.partners__scarcity-availability {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0;
}
.partners__scarcity-slots {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3);
  margin: 0;
}
.partners__scarcity-slots strong {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: var(--font-weight-normal);
  line-height: 1;
  color: var(--color-brand-accent);
}
.partners__scarcity-bar {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
}
.partners__scarcity-tagline {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
  margin: 0;
}

.partners__form-sla {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: var(--space-4) 0 var(--space-6);
}

/* ---- Form (mechanics owned by INK-DEV-168; CSS preserves shape) ---- */
.partners-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 880px;
  margin: var(--space-6) 0;
}
.partners-form__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.partners-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.partners-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.partners-form__field--full { grid-column: 1 / -1; }
.partners-form__label {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}
/* Wave 2.5 change 6: surface inputs (bg-card + border + radius-md + gold
   focus-ring). Container stays flat flex — NO heavy card wrapper (Founder ask). */
.partners-form input[type="text"],
.partners-form input[type="email"],
.partners-form select,
.partners-form textarea {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text);
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-ui);
  font-size: var(--text-base);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
}
.partners-form input:focus,
.partners-form select:focus,
.partners-form textarea:focus {
  outline: none;
  border-color: var(--color-brand-accent);
  box-shadow: 0 0 0 2px color-mix(in oklch, var(--color-brand-accent) 30%, transparent);
}
@supports not (background: color-mix(in oklch, red, blue)) {
  .partners-form input:focus,
  .partners-form select:focus,
  .partners-form textarea:focus {
    box-shadow: 0 0 0 2px rgba(232, 197, 71, 0.3);
  }
}
.partners-form textarea {
  resize: vertical;
  min-height: 140px;
}
.partners-form__preferred-contact {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.partners-form__preferred-contact legend {
  padding: 0;
  margin-bottom: var(--space-2);
}
.partners-form__radio {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  color: var(--color-text);
  cursor: pointer;
}
.partners-form__consent {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  color: var(--color-text-secondary);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  cursor: pointer;
}
.partners-form__consent input[type="checkbox"] {
  margin-top: 4px;
  flex-shrink: 0;
}
/* task3 (partners UX batch 2026-06-16): submit now uses canonical DS button
   classes (.btn .btn--primary) in the chunk. Page-specific appearance removed
   to defer to design-system/components/button.css. Only mono-caps typography +
   form layout (align-self) kept. */
.partners-form__submit {
  padding: var(--space-4) var(--space-8);
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-self: flex-start;
}
.partners-form__status {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
  min-height: 1.5em;
}

.partners__form-success {
  margin-top: var(--space-6);
  padding: var(--space-5) var(--space-6);
  border-left: 4px solid var(--color-brand-accent);
  background: color-mix(in oklch, var(--color-brand-accent) 6%, transparent);
  font-family: var(--font-ui);
  font-size: var(--text-base);
  line-height: var(--line-height-prose);
  color: var(--color-text);
}
@supports not (background: color-mix(in oklch, red, blue)) {
  .partners__form-success {
    background: rgba(200, 169, 106, 0.06);
  }
}

/* Founder surface */
.partners__founder-surface {
  margin: var(--space-10) 0 0;
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-brand-accent);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.partners__founder-email {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.6vw, 36px);
  font-weight: var(--font-weight-normal);
  line-height: 1.2;
  margin: 0;
}
.partners__founder-email a {
  color: var(--color-brand-accent);
  border-bottom: 0;
}
.partners__founder-name {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text);
  margin: 0;
}
.partners__founder-tagline {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: var(--line-height-normal);
  color: var(--color-text-secondary);
  margin: 0;
  max-width: 40ch;
}

/* ---- Footer media-kit re-link ---- */
.partners__footer-mediakit {
  margin: var(--space-10) 0 var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}
/* task3 (partners UX batch 2026-06-16): footer media-kit link now uses DS
   .btn .btn--outline. Underline/color rules removed to defer to button.css. */

/* ---- Imprint (chunk inkppl.imprint.v2) ---- */
.inkppl-imprint {
  margin-top: var(--space-10);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.inkppl-imprint__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-8);
}
.inkppl-imprint__entity-name {
  font-family: var(--font-display);
  font-size: var(--text-base);
  color: var(--color-text);
  margin: 0 0 var(--space-2);
}
.inkppl-imprint__details {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  line-height: var(--line-height-normal);
  color: var(--color-text-muted);
}

/* ============================================================
   PRINT — minimum: kill sticky chrome
   ============================================================ */
@media print {
  .partners__hero-stat-value,
  .partners__cap-numeric strong,
  .partners__trust-quote p,
  .partners__italic {
    color: var(--color-black, CanvasText);
  }
}

/* ============================================================
   MOBILE @ 720px — collapse grids, scale display surfaces, drop sticky chrome
   ============================================================ */
@media (max-width: 720px) {
  .partners__section-title {
    font-size: 32px;
  }
  .partners__hero-title {
    font-size: clamp(28px, 8vw, 44px);
  }
  .partners__metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6) var(--space-4);
  }
  .partners__featured-pair {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  .partners__audience-codes,
  .partners__charts,
  .partners__format-cards,
  .partners-form__grid,
  .inkppl-imprint__columns {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
  .partners__studio-cards {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
  .partners__step-row {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
  }
  .partners__step-num { grid-column: 1; grid-row: 1; }
  .partners__step-week { grid-column: 2; grid-row: 1; }
  .partners__step-title { grid-column: 1 / -1; grid-row: 2; }
  .partners__step-body { grid-column: 1 / -1; grid-row: 3; }
  .partners__hero-ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .partners__hero-cta { width: 100%; }
  .partners__wordmark-strip {
    font-size: var(--text-xs);
    padding: var(--space-4) 0;
  }
}

/* ============================================================
   INK-DEV-170 wave 2.1 (2026-06-03) — wider container on /partners.
   Founder ask: «сделайте контейнер шире на десктопе».
   :has() targets only the partners chunk markup (other static pages
   like /about retain 800px editorial column).
   ============================================================ */
@media (min-width: 1024px) {
  .static-page__container.col-ruled:has(.partners__hero) {
    max-width: 1200px;
  }
}

/* Wave 2.2 (2026-06-03) — Founder ask: remove 66ch max-width on /partners.
   Scope strictly partners via :has() so other editorial pages keep
   their reading column. Overrides:
   - design-system-v2/components/prose.css .prose { max-width: 66ch }
   - static-page-v2/editorial.css body[data-page-context="editorial"]
     .static-page__content { max-width: 66ch }
*/
.static-page__container.col-ruled:has(.partners__hero) .static-page__content,
.static-page__container.col-ruled:has(.partners__hero) .static-page__content.prose,
body[data-page-context="editorial"] .static-page__container.col-ruled:has(.partners__hero) .static-page__content {
  max-width: none;
}

/* ============================================================
   CUTOVER #22 (2026-06-25) — col-ruled hook self-activation.
   static-page.v2.tpl ships the container as plain `.static-page__container`
   (no `col-ruled` class — the template renders from its DB content column, so a
   template-side class edit never reaches the page). Every partners rule above
   is scoped under `.col-ruled`, so the media-kit was crammed into the 722px
   editorial reading column on desktop. Re-create the col-ruled layout from the
   chunk marker (.partners__hero) alone, which is always present in the body.
   ============================================================ */
.static-page__container:has(.partners__hero) {
  max-width: 1120px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 0;
}
.static-page__container:has(.partners__hero) > .static-page__content { grid-column: 2; }
.static-page__container:has(.partners__hero) > .section-mast { grid-column: 1 / -1; }
.static-page__container:has(.partners__hero) .static-page__content,
.static-page__container:has(.partners__hero) .static-page__content.prose,
body[data-page-context="editorial"] .static-page__container:has(.partners__hero) .static-page__content {
  max-width: none;
}
@media (max-width: 479px) {
  .static-page__container:has(.partners__hero) {
    grid-template-columns: minmax(0, 1fr);
  }
  .static-page__container:has(.partners__hero) > .static-page__content { grid-column: 1; }
}
