/* IQB r7: editorial hierarchy only. Shared Most6 type tokens stay authoritative.
   The 10/22 draft's 13px mobile exceptions are superseded by 10/30 rules. */
.iqb-detail .role-key {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 32px;
  margin: 36px 0 0;
  padding-top: 26px;
  border-top: 1px solid var(--dark-line);
}
@media (max-width: 360px) {
  html[data-page="iqb"] .site-header .header-mark { padding-inline: 12px; white-space: nowrap; }
}
.iqb-detail .role-key > div { min-width: 0; }
.iqb-detail .role-record-key {
  color: var(--signal);
  font-size: var(--most6-meta-size);
  margin-right: 6px;
}
.iqb-detail .observation-copy h2 { font-size: clamp(30px, 2.8vw, 40px); }
.iqb-detail .role-key dt {
  margin: 0 0 7px;
  color: var(--paper);
  font-size: var(--most6-body-size);
  line-height: 1.6;
  font-weight: 500;
}
.iqb-detail .role-key dd {
  margin: 0;
  color: #c3c6be;
  font-size: var(--most6-body-size);
  line-height: var(--most6-body-leading);
}
.iqb-detail .boundary-note { max-width: 76em; margin-top: 28px; }
.iqb-detail .record-role {
  margin-top: 18px;
  color: #555b52;
  font-size: var(--most6-body-size);
  line-height: var(--most6-body-leading);
}
.iqb-detail .record-role > span { color: var(--ink); font-weight: 500; }
.iqb-detail .credit-layout h3 {
  margin: 0 0 12px;
  font-size: var(--most6-subheading-size);
  line-height: var(--most6-heading-leading);
  font-weight: 500;
}
.iqb-detail .credit-layout p + h3 { margin-top: 28px; }
.iqb-detail .credit-layout .project-photo-credit { margin-top: 16px; }
.iqb-detail .photo-dialog > p { max-width: 70em; }
.iqb-detail .film-controls,
.iqb-detail .film-controls button,
.iqb-detail .photo-dialog > p,
.iqb-detail .film-dialog > p {
  font-size: var(--most6-meta-size);
  line-height: 1.6;
}
@media (max-width: 900px) {
  .iqb-detail .role-key { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }
}
@media (max-width: 600px) {
  .iqb-detail .role-key { grid-template-columns: 1fr; gap: 18px; margin-top: 24px; padding-top: 22px; }
  .iqb-detail .role-key > div { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 16px; }
  .iqb-detail .role-key dt { margin: 0; }
  /* Keep the approved heading size: long English labels need a full row. */
  .iqb-detail .contact-nav { display: grid; grid-template-columns: 1fr; gap: 0; }
  .iqb-detail .contact-nav button {
    grid-template-columns: 28px minmax(0, 1fr) 18px;
    gap: 2px 12px;
    padding: 12px 0;
    min-height: 76px;
    height: auto;
    border-top: 1px solid var(--paper-line);
    border-right: 0;
  }
  .iqb-detail .contact-nav > button:first-child { border-top: 0; }
  .iqb-detail .contact-nav .number { grid-column: 1; grid-row: 1 / 3; padding: 0; }
  .iqb-detail .contact-nav .title { grid-column: 2; grid-row: 1; }
  .iqb-detail .contact-nav small { grid-column: 2; grid-row: 2; }
  .iqb-detail .contact-nav .arrow { display: block; grid-column: 3; grid-row: 1 / 3; }
}
