/* Global display-heading weight */
html body h1,
html body h2 {
  font-weight: 200 !important;
}

/* Adobe/Figma tracking 20 translates to 0.02em on the web. Keep semantic
   typography and class-based heading/body equivalents aligned. */
html body :is(h1, h2, h3, h4, h5, h6, p, blockquote, dd, address),
html body :is(
  .approach-card > div:last-child,
  .bw3-overview__question,
  .bw3-paper__body,
  .bw3-project-link__copy b,
  .bw3-project-link__copy em,
  .cw-project-link__copy strong,
  .cw-project-link__description,
  .ex-semantic-body,
  .contact-dashboard__identity > a,
  .contact-form input,
  .contact-form textarea
) {
  letter-spacing: .02em !important;
}

/* Shared caption treatment for labels that need the BELLSWORK utility style. */
html body .bw-caption {
  font-family: Manrope, "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  font-size: var(--cw-font-caption, clamp(7px, .68cqw, 10px));
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: .14em !important;
}

/* Shared reading scale for open surfaces and project handoffs. Authored paper
   layouts keep their case-study-specific container-relative typography. */
html body .cw-overlay {
  --bw-overlay-body-open: clamp(21px, 1.45vw, 24px);
  --bw-principle-title: clamp(48px, 4vw, 60px);
  --bw-principle-body: clamp(21px, 1.5vw, 24px);
  --bw-handoff-project-title: clamp(44px, 5vw, 72px);
}

html body .cw-overlay .cw-entry__title > p {
  font-size: var(--bw-overlay-body-open);
  font-weight: 200;
}

html body .cw-overlay .cw-entry__narrative dd {
  font-size: 16px;
  font-weight: 200;
  line-height: 1.5;
}

/* Document Index cards use a quieter, consistent scale across every overlay. */
html body .cw-overlay .cw-project-link__copy strong {
  font-size: var(--bw-handoff-project-title);
}

html body .cw-overlay .cw-project-link__description {
  font-size: 16px;
  font-weight: 200;
  line-height: 1.5;
}

html body .cw-overlay .cw-p17__copy {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

html body .cw-overlay .cw-p17__copy h3 {
  max-width: min(18ch, 100%);
  font-size: var(--bw-principle-title);
  font-weight: 200;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: auto;
  hyphens: auto;
}

html body .cw-overlay .cw-p17__copy h2 {
  font-size: 16px;
  font-weight: 800 !important;
  letter-spacing: .182em !important;
  line-height: 1.35;
}

html body .cw-overlay .cw-p17__copy > p {
  max-width: 46.25ch;
  font-size: var(--bw-principle-body);
  font-weight: 200;
  line-height: 1.55;
}
