/* V33 — the same type roles throughout The Sound Lab.
   UI uses the existing system sans family. Editorial reading keeps its
   established serif. Artwork lettering and cinematic reveal words are not UI.
   This sheet follows all page styles; header/footer dimensions stay canonical. */
:root {
  --type-label: 13px;
  --type-meta: 14px;
  --type-body: 18px;
  --type-lead: 20px;
  --type-section: clamp(36px, 4.2vw, 56px);
  --type-secondary: clamp(32px, 3.5vw, 44px);
  --type-card: clamp(24px, 2.5vw, 32px);
}

@media screen {
  /* The Daily anchors the edition. Other owned-content destinations share
     one tier; community, identity and connection sections sit beneath it. */
  .homepage-v7 .daily-cinema-content .d10-heading h1,
  .homepage-v7 .daily-cinema-content .d10-heading #d10-heading {
    font: 600 clamp(52px, 5.5vw, 76px)/1.04 var(--ui);
    letter-spacing: -.045em;
  }
  .homepage-v7 .blog-home .jc-heading .jc-copy h2,
  .homepage-v7 .hc11 .hc-heading h2 {
    font: 600 var(--type-section)/1.1 var(--ui);
    letter-spacing: -.04em;
    text-wrap: balance;
  }
  .homepage-v7 .q13-intro h2,
  .homepage-v7 .i13-about-copy > h2,
  .homepage-v7 .i13-relationship-heading h2,
  .homepage-v7 .join-heading h2 {
    font: 600 var(--type-secondary)/1.12 var(--ui);
    letter-spacing: -.035em;
    text-wrap: balance;
  }
  .homepage-v7 :is(.daily-overline, .blog-eyebrow, .hc-eyebrow, .q13-kicker, .i13-kicker, .join-kicker) {
    font: 500 var(--type-label)/1.5 var(--ui);
    letter-spacing: .025em;
  }
  .homepage-v7 :is(.jc-copy .blog-intro, .hc-heading .hc-intro, .q13-lead, .i13-lead) {
    font: 400 var(--type-lead)/1.6 var(--ui);
    letter-spacing: -.015em;
  }
  .homepage-v7 :is(.i13-profile, .i13-panels p, .i13-relationship-panels p, .join-intro) {
    font: 400 var(--type-body)/1.65 var(--ui);
    letter-spacing: -.008em;
  }
  .homepage-v7 .join-choices h3 {
    font: 600 var(--type-card)/1.2 var(--ui);
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  .homepage-v7 :is(.i13-panels h3, .i13-relationship-panels h3) {
    font: 600 clamp(24px, 2.4vw, 30px)/1.2 var(--ui);
    letter-spacing: -.025em;
  }
  .homepage-v7 .q13-community-feed section > header h3 {
    font: 600 24px/1.25 var(--ui);
    letter-spacing: -.025em;
  }
  .homepage-v7 .q13-forum [data-q13-topics] strong {
    font: 600 20px/1.35 var(--ui);
    letter-spacing: -.015em;
  }
  .homepage-v7 .q13-answer h3 {
    font: 600 clamp(22px, 2vw, 26px)/1.3 var(--ui);
    letter-spacing: -.02em;
  }
  .homepage-v7 .rd-copy h3 {
    font-size: clamp(27px, 2.9vw, 38px);
    line-height: 1.17;
    letter-spacing: -.03em;
    font-weight: 600;
  }
  /* Dates and provenance stay readable but don't compete with the headline. */
  .homepage-v7 .daily-cinema-content .d10-cover-top p,
  .homepage-v7 .daily-cinema-content .d10-cover-copy > time,
  .homepage-v7 :is(.blog-meta, .rd-meta, .hc-feature-label, .hc-feature-meta, .q13-meta, .q13-source),
  .homepage-v7 .hc-film-topic,
  .homepage-v7 .q13-answer > p,
  .homepage-v7 .q13-forum [data-q13-topics] > a > span:nth-child(2) > span,
  .homepage-v7 .video-view-count {
    font: 400 var(--type-meta)/1.5 var(--ui);
    letter-spacing: 0;
  }
  /* Shared discovery uses the same hierarchy on every route. Geometry keeps
     touch areas intact even though the secondary type is quieter. */
  .edition-guide .guide-chapter strong { font-size: 26px; font-weight: 600; letter-spacing: -.025em; }
  .edition-guide .guide-chapter small,
  .edition-guide > header p,
  .edition-guide .guide-body footer { font-size: var(--type-meta); line-height: 1.5; }
}

/* Decorative indices have been removed from markup and its factories.
   Remove their columns too, rather than retaining invisible alignment slots. */
.edition-guide .guide-chapter { grid-template-columns: minmax(0, 1fr) 45px 24px; }
.internal-page .contact-route23 { grid-template-columns: minmax(0, 1fr) 20px; }
.internal-page .contact-route23 > div { min-width: 0; }
.internal-page .member-introduction23 li,
.internal-page .system-component23 { display: block; }
.internal-page .c23-signal-stop { gap: 12px; }
.internal-page .c23-signal-stop > span:first-child { color: inherit; }
.i17-art-caption { gap: 0; }

@media (max-width: 760px) {
  .internal-page .contact-route23 { display: block !important; }
  .internal-page .contact-route23 strong { margin-top: 0; }
  .internal-page .c23-signal-stop > span:first-child { max-width: 130px; }
}
@media (max-width: 700px) {
  :root { --type-section: clamp(34px, 8.8vw, 44px); --type-secondary: clamp(30px, 8vw, 38px); --type-card: 28px; --type-lead: 18px; }
  .homepage-v7 .daily-cinema-content .d10-heading h1,
  .homepage-v7 .daily-cinema-content .d10-heading #d10-heading { font-size: clamp(48px, 12.8vw, 62px); }
  .homepage-v7 .rd-copy h3 { font-size: 29px; }
}
@media (max-width: 650px) {
  .edition-guide .guide-chapter { grid-template-columns: minmax(0, 1fr) 20px; gap: 14px; }
  .edition-guide .guide-chapter strong { font-size: 24px; }
}
