/* =========================================================
   Corporate information pages — shared visual language
   ========================================================= */
.info-hero {
  padding: var(--space-7) 0 var(--space-22);
  background: var(--pale);
}

.info-hero .breadcrumbs {
  margin-bottom: clamp(var(--space-10-5), 6vw, var(--space-18));
}

.info-hero--dark .breadcrumbs, .info-hero--dark .breadcrumbs a {
  color: var(--text-on-dark-secondary);
}

.info-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: var(--space-3xl);
  align-items: center;
}

.info-hero .page-title {
  max-width: 760px;
}

.info-hero .page-title span {
  color: var(--blue);
}

.info-hero--dark .page-title span {
  color: var(--blue-soft);
}

.info-hero .lead-copy {
  max-width: 620px;
  margin: var(--space-md) 0 0;
  font-size: var(--font-size-subtitle);
  line-height: var(--line-height-lead);
}

.info-hero--dark .lead-copy {
  color: var(--text-on-dark-body);
}

.decision-card,
.why-poll,
.quick-access-card,
.metric-visual,
.trend-visual,
.market-screen,
.news-visual,
.methodology-framework {
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.decision-card {
  padding: var(--space-6-5);
  color: var(--navy);
}

.decision-card-kicker, .decision-card-note {
  display: block;
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
}

.decision-card-question {
  margin: var(--space-3-5) 0 var(--space-4-5);
  font-weight: var(--font-weight-bold);
}

.use-case-detail-hero .decision-card dl {
  margin: 0;
  display: grid;
  gap: var(--space-2);
}

.decision-card dl div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-2-5) 0;
  border-top: var(--border-width) solid var(--border-divider);
}

.decision-card dt {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.use-case-detail-hero .decision-card dd {
  margin: 0;
  font-weight: var(--font-weight-bold);
}

.decision-card dd.is-down {
  color: var(--color-down);
}

.role-strip {
  border-bottom: var(--border-width) solid var(--border-divider);
  background: var(--white);
}

.role-strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.role-strip a {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2-5);
  padding: var(--space-3) var(--space-4-5);
  border-right: var(--border-width) solid var(--border-divider);
  color: var(--navy);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-semibold);
  text-align: center;
}

.role-strip a:first-child {
  border-left: var(--border-width) solid var(--border-divider);
}

.role-strip .icon {
  width: 12px;
  height: 12px;
  color: var(--blue);
}

.compact-heading-section {
  padding-bottom: var(--space-12);
}

.narrow-copy {
  max-width: 850px;
}

.centered-copy {
  margin-inline: auto;
  text-align: center;
}

.centered-copy p:last-child {
  max-width: 720px;
  margin-inline: auto;
  color: var(--text-secondary);
}

.usecase-row {
  overflow: clip;
}

.usecase-row--pale {
  background: var(--pale);
}

.usecase-split {
  gap: clamp(54px, 8vw, 120px);
  align-items: center;
}

.usecase-split--reverse > :first-child {
  order: 0;
}

.usecase-row h2, .editorial-split h2 {
  margin-top: 0;
}

.usecase-row p:not(.eyebrow), .editorial-split p {
  color: var(--text-secondary);
}

.check-list--light li {
  color: var(--text-on-dark-primary);
}

.check-list--light li::before {
  color: var(--blue-soft);
}

.metric-visual {
  padding: var(--space-6);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}

.metric-visual > div {
  padding: var(--space-4-5);
  border-radius: var(--radius-sm);
  background: var(--pale);
}

.metric-visual span {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
}

.metric-visual strong {
  font-size: var(--font-size-card);
}

.metric-visual small {
  grid-column: 1 / -1;
  color: var(--text-tertiary);
}

.trend-visual {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  padding: var(--space-6-5);
  background: var(--white);
}

.trend-visual::before {
  content: "";
  position: absolute;
  inset: var(--space-7) var(--space-6) var(--space-12);
  background: repeating-linear-gradient(to bottom, transparent 0 34px, var(--border-divider) 35px);
}

.chart-line {
  position: absolute;
  left: var(--space-7-5);
  right: var(--space-7-5);
  top: var(--space-28);
  height: 3px;
  transform: skewY(-10deg);
  background: var(--blue);
}

.chart-line--dash {
  top: 136px;
  opacity: .6;
  background: repeating-linear-gradient(to right,var(--red-action) 0 10px,transparent 10px 18px);
}

.trend-visual small {
  position: absolute;
  left: var(--space-6-5);
  bottom: var(--space-5);
  color: var(--text-tertiary);
}

.market-screen {
  overflow: hidden;
  padding: var(--space-5);
}

.market-screen-head {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3-5);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.market-screen-head span {
  color: var(--color-up);
  font-size: var(--font-size-meta);
}

.market-screen-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--navy);
}

.market-screen-grid span {
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-meta);
}

.market-screen-grid strong {
  display: block;
  margin-top: var(--space-4-5);
  color: var(--white);
}

.news-visual {
  padding: var(--space-6-5);
}

.news-visual span,.news-visual small,.news-visual b {
  display: block;
}

.news-visual span {
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
}

.news-visual strong {
  display: block;
  margin: var(--space-4-5) 0 var(--space-2-5);
  font-size: var(--font-size-card);
}

.news-visual small {
  color: var(--text-secondary);
}

.news-visual b {
  margin-top: var(--space-6);
  color: var(--blue);
  font-size: var(--font-size-meta);
}

.connected-platform .connected-platform-heading {
  align-items: start;
}

.connected-platform-heading > p {
  max-width: 520px;
  color: var(--text-on-dark-body);
}

.platform-step-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3-5);
  margin-top: var(--space-xl);
}

.platform-step-grid article {
  min-height: 180px;
  padding: var(--space-6-5);
  border: var(--border-width) solid var(--border-on-dark-medium);
  border-radius: var(--radius-card);
  background: var(--surface-on-dark-subtle);
}

.platform-step-grid h3 {
  margin: 0 0 var(--space-3-5);
  color: var(--white);
}

.platform-step-grid p {
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-small);
}

.section-copy-row {
  align-items: start;
}

.section-copy-row > p {
  max-width: 560px;
  color: var(--text-secondary);
}

.role-matrix {
  overflow: hidden;
  margin-top: var(--space-xl);
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-card);
}

.role-matrix-row {
  display: grid;
  grid-template-columns: 1.6fr repeat(5, 1fr);
  min-height: 54px;
  align-items: center;
  border-top: var(--border-width) solid var(--border-divider);
}

.role-matrix-row:first-child {
  border-top: 0;
}

.role-matrix-row > * {
  padding: var(--space-3) var(--space-4);
  text-align: center;
}

.role-matrix-row > :first-child {
  text-align: left;
}

.role-matrix-head {
  color: var(--white);
  background: var(--navy);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-semibold);
}

.role-matrix-row:not(.role-matrix-head) span {
  color: var(--blue);
}

.usecase-customer-section {
  background: var(--pale);
}

.usecase-customer {
  align-items: center;
}

.usecase-customer img {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: var(--radius-card);
}

.why-hero .info-hero-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}

.why-hero .lead-copy + p {
  max-width: var(--measure-wide);
  margin: var(--space-sm) 0 0;
  color: var(--text-on-dark-body);
}

.why-poll {
  width: min(100%, var(--measure-narrow));
  justify-self: end;
  padding: var(--space-5);
  color: var(--navy);
  border-radius: var(--radius-md);
  transform: rotate(1.5deg);
  transform-origin: center;
}

.why-poll > span {
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.why-poll strong {
  display: block;
  margin: var(--space-4) 0 var(--space-5);
  font-size: var(--font-size-card);
  line-height: var(--line-height-card);
}

.why-poll > b {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-sm);
  color: var(--white);
  background: var(--navy);
  font-size: var(--font-size-small);
}

.why-poll > b small {
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-medium);
}

.why-poll-bars {
  height: var(--space-12);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-2);
  align-items: end;
  margin-top: var(--space-4);
}

.why-poll-bars i {
  display: block;
  border-radius: var(--space-1) var(--space-1) 0 0;
  background: var(--blue);
  opacity: .78;
}

.why-poll-bars i:nth-child(1) { height: 35%; }
.why-poll-bars i:nth-child(2) { height: 52%; }
.why-poll-bars i:nth-child(3) { height: 48%; }
.why-poll-bars i:nth-child(4) { height: 70%; }
.why-poll-bars i:nth-child(5) { height: 58%; }
.why-poll-bars i:nth-child(6) {
  height: 100%;
  background: var(--red);
  opacity: 1;
}

.stat-ribbon {
  border-bottom: var(--border-width) solid var(--border-divider);
  background: var(--white);
}

.stat-ribbon-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
}

.stat-ribbon-grid div {
  min-height: var(--space-24);
  padding: var(--space-5-5) var(--space-7);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat-ribbon-grid div + div {
  border-left: var(--border-width) solid var(--border-divider);
}

.stat-ribbon-grid strong {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--blue);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-small);
  text-transform: uppercase;
}

.stat-ribbon-grid span {
  display: block;
  color: var(--navy);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-small);
}

.editorial-split {
  align-items: start;
}

.pra-band .lead-copy {
  max-width: var(--measure);
  margin-top: var(--space-lg);
  font-weight: var(--font-weight-semibold);
}

.pra-band .actions {
  margin-top: var(--space-lg);
}

.pra-band .check-list {
  margin: 0;
  gap: var(--space-6);
}

.pra-band .check-list li {
  position: relative;
  min-height: var(--space-12);
  display: block;
  padding-left: var(--space-12);
}

.pra-band .check-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--space-8);
  height: var(--space-8);
  display: grid;
  place-items: center;
  border: var(--border-width) solid var(--blue-soft);
  border-radius: 50%;
  line-height: 1;
}

.pra-band .check-list strong,
.pra-band .check-list span {
  display: block;
}

.pra-band .check-list strong {
  margin-bottom: var(--space-0-5);
  color: var(--white);
  font-size: var(--font-size-body);
  line-height: var(--line-height-small);
}

.pra-band .check-list span {
  color: var(--text-on-dark-tertiary);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-small);
}

.compare-section {
  background: var(--pale);
}

.compare-table {
  overflow: hidden;
  margin-top: var(--space-3xl);
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-lg);
  background: var(--white);
}

.compare-row {
  display: grid;
  grid-template-columns: .82fr 1.05fr 1.03fr 1.08fr;
  border-top: var(--border-width) solid var(--border-divider);
}

.compare-row:first-child {
  border-top: 0;
}

.compare-row > * {
  min-width: 0;
  padding: var(--space-4) var(--space-5);
  display: flex;
  align-items: center;
  border-left: var(--border-width) solid var(--border-divider);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  text-align: left;
}

.compare-row > :first-child {
  border-left: 0;
}

.compare-head {
  min-height: var(--space-24);
  color: var(--white);
  background: var(--navy);
  font-weight: var(--font-weight-semibold);
}

.compare-head > :nth-child(2) {
  background: var(--blue);
}

.compare-row:not(.compare-head) > :first-child {
  color: var(--navy);
  font-weight: var(--font-weight-bold);
}

.compare-row:not(.compare-head) > :nth-child(2) {
  color: var(--navy);
  background: var(--surface-soft-blue);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.compare-row:not(.compare-head) > :nth-child(n + 3) {
  color: var(--navy);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
}

.quote-visual-section {
  position: relative;
  overflow: hidden;
}

.quote-media {
  position: relative;
  z-index: 1;
  max-width: var(--media-max);
  margin-inline: auto;
}

.quote-media img {
  width: 100%;
  height: calc(var(--space-40) + var(--space-40));
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.quote-media blockquote {
  position: absolute;
  left: calc(var(--space-12) * -1);
  bottom: calc(var(--space-8) * -1);
  width: min(calc(var(--space-40) + var(--space-40) + var(--space-20)), 46%);
  margin: 0;
  padding: var(--space-8);
  border-radius: var(--radius-lg);
  color: var(--white);
  background: var(--blue);
  box-shadow: var(--shadow-floating);
}

.quote-media .quote-mark {
  display: block;
  height: var(--space-9);
  margin: 0 0 var(--space-3);
  color: var(--navy);
  font-size: var(--space-16);
  font-weight: var(--font-weight-extrabold);
  line-height: 1;
}

.quote-media blockquote p {
  margin-bottom: var(--space-6);
  font-weight: var(--font-weight-semibold);
}

.quote-media footer {
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-meta);
}

.market-knowledge-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-2-5);
  margin-top: var(--space-xl);
}

.market-knowledge-grid a {
  min-height: calc(var(--space-40) + var(--space-28));
  padding: var(--space-6);
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: var(--border-width) solid var(--border-on-dark-medium);
  border-radius: var(--radius-lg);
  color: var(--white);
  background: var(--surface-on-dark-subtle);
  transition: transform var(--transition), background-color var(--transition-fast), border-color var(--transition-fast);
}

.market-knowledge-grid strong {
  display: block;
  margin-bottom: var(--space-5);
  font-size: var(--font-size-card);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-card);
  text-transform: uppercase;
}

.market-knowledge-grid span {
  color: var(--text-on-dark-tertiary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.market-knowledge-grid small {
  margin-top: var(--space-6);
  color: var(--blue-soft);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-small);
}

@media (hover: hover) {
  .market-knowledge-grid a:hover {
    transform: translateY(var(--hover-lift));
    border-color: var(--border-on-dark-strong);
    background: var(--surface-on-dark-hover);
  }
}

/* Reuse the tested dairy market-topic card language on the Why DCA platform block. */
#platform-capabilities .market-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-sm);
  margin-top: var(--space-xl);
}

#platform-capabilities .market-topic-card.feature-card {
  min-height: 190px;
  padding: var(--space-7);
  grid-template-rows: auto 1fr auto;
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

#platform-capabilities .market-topic-card h3 {
  font-size: var(--font-size-lead);
}

#platform-capabilities .market-topic-card p {
  margin: var(--space-2-5) 0;
}

.reason-number-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-4);
  counter-reset: reasons;
}

.reason-number-list li {
  position: relative;
  min-height: var(--space-11);
  padding-left: var(--space-16);
  counter-increment: reasons;
}

.reason-number-list li::before {
  content: counter(reasons);
  position: absolute;
  left: 0;
  top: 0;
  width: var(--space-10);
  height: var(--space-10);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-bold);
  box-shadow: var(--shadow-subtle);
}

.reason-number-list strong,
.reason-number-list span {
  display: block;
}

.reason-number-list strong {
  margin-bottom: var(--space-1);
  font-size: var(--font-size-body);
  line-height: var(--line-height-small);
}

.reason-number-list span {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

#iosco-alignment .report-media,
#market-specialists .report-media {
  width: min(100%, var(--measure));
  justify-self: end;
}

#iosco-alignment .report-media .floating-tag,
#market-specialists .report-media .floating-tag {
  font-size: var(--font-size-small);
}

.methodology-hero,.holiday-hero {
  background: var(--pale);
}

.quick-access-card {
  padding: var(--space-6);
}

.quick-access-card .eyebrow {
  margin-bottom: var(--space-1);
  font-size: var(--font-size-meta);
}

.quick-access-card h2 {
  margin: 0 0 var(--space-3);
  font-size: var(--font-size-small);
}

.quick-access-card a {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4-5);
  padding: var(--space-3) 0;
  border-top: var(--border-width) solid var(--border-divider);
  color: var(--navy);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
}

.quick-access-card a span {
  color: var(--blue);
}

.methodology-grid-section {
  background: var(--white);
}

.spec-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: var(--space-5);
  margin-top: var(--space-xl);
}

.spec-card {
  position: relative;
  min-height: 260px;
  padding: var(--space-7);
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.spec-label {
  position: absolute;
  right: var(--space-4-5);
  top: var(--space-4-5);
  padding: 7px var(--space-3);
  border-radius: var(--radius-pill);
  color: var(--text-secondary);
  background: var(--pale);
  font-size: var(--font-size-micro);
  font-weight: var(--font-weight-semibold);
}

.spec-card h3 {
  margin: 0 0 var(--space-4-5);
  padding-right: 70px;
}

.spec-card ul,
.spec-card li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 34px;
  border-top: var(--border-width) solid var(--border-divider);
  color: var(--text-secondary);
  font-size: var(--font-size-meta);
}

.spec-card li:first-child {
  border-top: 0;
}

.spec-card li a {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
  font-size: var(--font-size-label);
}

.publication-exception-band {
  color: var(--white);
  background: var(--navy);
}

.publication-exception-band .container {
  min-height: 138px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
}

.publication-exception-band strong,.publication-exception-band span {
  display: block;
}

.publication-exception-band span {
  margin-top: var(--space-1);
  color: var(--text-on-dark-tertiary);
  font-size: var(--font-size-small);
}

.publication-exception-band a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
}

.publication-exception-band .icon {
  width: 18px;
  height: 18px;
}

.methodology-general {
  background: var(--pale);
}

.methodology-framework {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  margin-top: var(--space-xl);
  padding: var(--space-7);
  border-left: 4px solid var(--blue);
}

.methodology-framework h3 {
  margin: var(--space-1) 0 0;
}

.methodology-framework .actions {
  margin: 0;
  align-items: center;
}


/* ---------------------------------------------------------
   Price Reporting Agency page
   Uses the same hero, split, fact, card and FAQ primitives as
   Home, Markets and Dairy; only page-specific layout lives here.
   --------------------------------------------------------- */
.pra-hero-card {
  padding: var(--space-lg);
  color: var(--white);
  border: var(--border-width) solid var(--border-on-dark);
  border-radius: var(--radius-lg);
  background: var(--surface-on-dark-hover);
  box-shadow: var(--shadow-card);
}

.pra-badge {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: var(--space-md);
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
}

.pra-hero-card h2 {
  margin: 0 0 var(--space-sm);
  color: var(--white);
  font-size: var(--font-size-card);
}

.pra-hero-card p,
.pra-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-md);
}

.pra-tags span {
  padding: 5px var(--space-2-5);
  border: var(--border-width) solid var(--border-on-dark);
  border-radius: var(--radius-pill);
  color: var(--text-on-dark-muted);
  font-size: var(--font-size-meta);
}

.pra-principles {
  margin-top: var(--space-8);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
}

.pra-principle-card {
  min-height: 190px;
  padding: var(--space-6);
  border-top: 3px solid var(--blue);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.pra-principle-index {
  display: block;
  margin-bottom: var(--space-8);
  color: var(--blue);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
}

.pra-principle-card h3 {
  margin: 0 0 var(--space-2);
  font-size: var(--font-size-lead);
}

.pra-principle-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.pra-process-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--space-sm);
}

.pra-process-list li {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: var(--space-sm);
  padding-bottom: var(--space-sm);
  border-bottom: var(--border-width) solid var(--border-divider);
}

.pra-process-list li:last-child {
  border-bottom: 0;
}

.pra-process-list b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1.5px solid var(--blue);
  border-radius: 50%;
  color: var(--blue);
  font-size: var(--font-size-meta);
}

.pra-process-list strong {
  display: block;
  margin-bottom: var(--space-1);
  font-size: var(--font-size-small);
}

.pra-process-list span {
  color: var(--text-secondary);
  font-size: var(--font-size-meta);
  line-height: var(--line-height-small);
}

.pra-contract-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--space-sm);
  margin-top: var(--space-xl);
}

.pra-contract-grid article {
  min-height: 185px;
  padding: var(--space-lg);
  border: var(--border-width) solid var(--border-on-dark-soft);
  border-radius: var(--radius-lg);
  background: var(--surface-on-dark-subtle);
}

.pra-contract-grid h3 {
  margin: 0 0 var(--space-sm);
  color: var(--white);
  font-size: var(--font-size-lead);
}

.pra-contract-grid p {
  margin: 0;
  color: var(--text-on-dark-muted);
  font-size: var(--font-size-small);
}

.pra-reference-section {
  background: var(--pale);
}

.pra-reference-visual {
  position: relative;
}

.pra-reference-visual img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.pra-reference-tags {
  position: absolute;
  right: var(--space-md);
  bottom: var(--space-md);
  display: grid;
  gap: var(--space-xs);
}

.pra-reference-tags span {
  padding: 7px var(--space-3);
  border-radius: var(--radius-pill);
  color: var(--white);
  background: var(--navy);
  font-size: var(--font-size-meta);
  box-shadow: var(--shadow-subtle);
}

.pra-actions-row {
  display: flex;
  justify-content: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  margin-top: var(--space-xl);
}

.pra-faq {
  background: var(--pale);
}

@media (max-width: 960px) {
  .info-hero-grid,.usecase-split,.editorial-split,.section-copy-row,
  .why-hero .info-hero-grid {
    grid-template-columns: 1fr;
  }

  .role-strip-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .platform-step-grid,
  .stat-ribbon-grid,
  .market-knowledge-grid,
  .pra-principles,
  .pra-contract-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .spec-grid {
    grid-template-columns: repeat(2,1fr);
  }

  #platform-capabilities .market-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quote-media blockquote {
    left: var(--space-6);
    width: min(var(--measure-narrow), 70%);
  }
}

@media (max-width: 640px) {
  .info-hero {
    padding-top: var(--space-6);
  }

  .info-hero .breadcrumbs {
    margin-bottom: var(--space-8);
  }

  .role-strip {
    overflow-x: auto;
  }

  .role-strip-grid {
    min-width: 720px;
    grid-template-columns: repeat(4,1fr);
  }

  .platform-step-grid,
  .stat-ribbon-grid,
  .spec-grid,
  .market-knowledge-grid,
  .pra-principles,
  .pra-contract-grid {
    grid-template-columns: 1fr;
  }

  #platform-capabilities .market-topic-grid {
    grid-template-columns: 1fr;
    gap: var(--space-2-5);
  }

  #platform-capabilities .market-topic-card.feature-card {
    min-height: 0;
  }

  .metric-visual {
    grid-template-columns: 1fr;
  }

  .metric-visual small {
    grid-column: auto;
  }

  .market-screen-grid {
    grid-template-columns: 1fr;
  }

  .role-matrix {
    overflow-x: auto;
  }

  .role-matrix-row {
    min-width: 760px;
  }

  .compare-table {
    overflow-x: auto;
  }

  .compare-row {
    min-width: 720px;
  }

  .quote-media img {
    height: 300px;
  }

  .quote-media blockquote {
    position: relative;
    left: auto;
    bottom: auto;
    width: auto;
    margin: calc(var(--space-12) * -1) var(--space-4) 0;
  }

  .why-poll {
    width: 100%;
    justify-self: stretch;
    transform: none;
  }

  .methodology-framework {
    align-items: flex-start;
    flex-direction: column;
  }

  .methodology-framework .actions {
    width: 100%;
    align-items: stretch;
  }
}

/* v20: shared company/media/benchmark extensions. Uses global tokens only. */
.info-hero-card {
  align-self: center;
  padding: var(--space-lg);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.info-hero-card strong {
  display: block;
  margin-bottom: var(--space-xs);
  font-size: var(--font-size-card);
}

.info-hero--dark .info-hero-card,.info-hero-card--dark {
  color: var(--white);
  background: var(--navy-soft);
  border-color: var(--border-on-dark);
}

.media-card-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--space-lg);
}

.media-card {
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition),box-shadow var(--transition);
}

.media-card>img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.media-card>div {
  padding: var(--space-lg);
}

.media-card small {
  color: var(--blue);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-semibold);
}

.media-card h3 {
  margin: var(--space-sm) 0;
}

.media-card p {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

@media (hover: hover) {
  .media-card:hover {
    transform: translateY(var(--hover-lift));
    box-shadow: var(--shadow-card-hover);
  }
}

.media-link-list {
  display: grid;
  border-top: 1px solid var(--border-subtle);
}

.media-link-list>a {
  min-height: 92px;
  padding: var(--space-md) 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: var(--space-1) var(--space-lg);
  align-items: center;
  border-bottom: 1px solid var(--border-subtle);
}

.media-link-list small {
  grid-column: 1;
  color: var(--blue);
  font-size: var(--font-size-meta);
}

.media-link-list strong {
  grid-column: 1;
  font-size: var(--font-size-body);
}

.media-link-list svg {
  grid-column: 2;
  grid-row: 1/3;
  width: 30px;
  height: 30px;
  padding: 7px;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
}

.contact-detail-card {
  padding: var(--space-lg);
  display: grid;
  gap: var(--space-xs);
  border: var(--border-width) solid var(--border-on-dark);
  border-radius: var(--radius-lg);
  background: var(--navy-soft);
}

.contact-detail-card a {
  color: var(--blue-soft);
}

.table-scroll {
  overflow-x: auto;
}

.benchmark-chip {
  display: inline-flex;
  padding: var(--space-1) 9px;
  border-radius: var(--radius-pill);
  font-weight: var(--font-weight-semibold);
}

.benchmark-chip.up {
  color: var(--status-up-text);
  background: var(--status-up-bg);
}

.benchmark-chip.down {
  color: var(--color-down);
  background: var(--status-down-bg);
}

.benchmark-chip.neutral {
  color: var(--text-secondary);
  background: var(--surface-subtle);
}

.is-blurred {
  filter: blur(4px);
  user-select: none;
}

.article-update-inner {
  max-width: 900px;
}

.article-update-image {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  margin-bottom: var(--space-xl);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}

.article-meta {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.rich-copy {
  font-size: var(--font-size-body);
}

.rich-copy p,.rich-copy ul,.rich-copy ol {
  margin-bottom: var(--space-md);
}

.paywall-inline {
  margin-top: var(--space-xl);
  padding: var(--space-xl);
  border-radius: var(--radius-lg);
  background: var(--pale);
}

.empty-state {
  padding: var(--space-xl);
  border: var(--border-width) dashed var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--surface-subtle);
}

@media (max-width: 960px) {
  .media-card-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px) {
  .media-card-grid {
    grid-template-columns: 1fr;
  }

  .media-link-list>a {
    min-height: 78px;
  }
}

.compact-inline-form {
  margin-top: var(--space-md);
  display: grid;
  gap: var(--space-xs);
}

.compact-inline-form input {
  width: 100%;
  min-height: 44px;
  padding: var(--space-2-5) var(--space-3);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--navy);
}

.compact-inline-form .btn {
  width: fit-content;
  margin-top: var(--space-xs);
}

/* Meet the team ---------------------------------------------------------- */
.team-page .team-hero .info-hero-grid {
  align-items: center;
}

.team-page .team-hero-card {
  align-self: center;
}

.team-directory {
  padding-top: var(--section-space-compact);
}

.team-filter {
  margin-bottom: var(--space-2xl);
}

.team-group[hidden] {
  display: none;
}

.team-group + .team-group {
  margin-top: var(--section-space);
}

.team-group-heading {
  margin-bottom: var(--space-xl);
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--space-lg);
}

.team-card {
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-card);
  color: inherit;
  background: var(--white);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition),box-shadow var(--transition);
}

.team-photo-wrap {
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--surface-soft-blue);
}

.team-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  transition: transform var(--transition-slow);
}

.team-card-copy {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  padding: var(--space-lg);
}

.team-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-small);
}

.team-card p,
.contribution-process-card dd,
.iosco-use-grid p {
  margin-top: var(--space-sm);
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.team-profile-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1-5);
  margin-top: var(--space-sm);
  color: var(--blue);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
}

.team-profile-link .inline-arrow {
  width: 14px;
  height: 14px;
}

@media (hover: hover) {
  a.team-card:hover {
    transform: translateY(var(--hover-lift));
    box-shadow: var(--shadow-card-hover);
  }

  a.team-card:hover .team-photo {
    transform: scale(1.025);
  }

  a.team-card:hover .team-profile-link .inline-arrow {
    transform: translateX(3px);
  }
}

@media (max-width: 1100px) {
  .team-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 760px) {
  .team-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--space-md);
  }

  .team-card-copy {
    padding: var(--space-md);
  }
}

@media (max-width: 480px) {
  .team-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
  }

  .team-card-copy {
    padding: var(--space-3-5);
  }

  .team-card h3 {
    font-size: var(--font-size-small);
  }

  .team-card p,.team-profile-link {
    font-size: var(--font-size-meta);
  }
}

/* Press releases ---------------------------------------------------------- */
.press-releases-hero .info-hero-grid {
  align-items: center;
}

.press-releases-hero-copy {
  max-width: var(--measure);
}

.press-release-feed {
  background: var(--white);
}

.press-release-heading {
  margin-bottom: var(--space-2xl);
}

.press-featured-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  overflow: hidden;
  margin-bottom: var(--space-2xl);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-card);
  color: var(--content-text-color);
  transition: transform var(--transition), box-shadow var(--transition);
}

.press-featured-media {
  min-height: 360px;
  background: var(--content-bg-color);
}

.press-featured-media img,
.press-featured-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(var(--space-8), 4vw, 56px);
}

.press-featured-content h3 {
  margin: var(--space-md) 0;
  font-size: clamp(28px, 3vw, 38px);
  line-height: var(--line-height-card);
}

.press-featured-content > p:not(.article-meta) {
  margin: 0 0 var(--space-lg);
  color: var(--text-secondary);
}

.press-release-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.press-release-card {
  display: grid;
  grid-template-columns: minmax(190px, .76fr) minmax(0, 1.24fr);
  overflow: hidden;
  min-height: 250px;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-card);
  color: var(--content-text-color);
  transition: transform var(--transition), box-shadow var(--transition);
}

.press-release-card-media {
  min-height: 100%;
  background: var(--content-bg-color);
}

.press-release-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.press-release-card-body {
  display: flex;
  flex-direction: column;
  padding: var(--space-xl);
}

.press-release-card h3 {
  margin: var(--space-sm) 0 var(--space-md);
  font-size: var(--font-size-card);
  line-height: var(--line-height-card);
}

.press-release-card-body > p:not(.article-meta) {
  margin: 0 0 var(--space-md);
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.press-release-card .text-link {
  margin-top: auto;
}

.press-releases-page-main .article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-meta);
}

.press-releases-page-main .article-sector {
  color: var(--blue);
  font-weight: var(--font-weight-semibold);
  letter-spacing: .04em;
}

.press-releases-page-main .article-sector::after {
  content: "·";
  margin-left: var(--space-2);
  color: var(--text-tertiary);
}

.press-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .68fr);
  gap: var(--space-3xl);
  align-items: center;
}

.press-contact-grid > div:first-child {
  max-width: var(--measure);
}

.press-contact-card {
  padding: clamp(var(--space-7), 4vw, var(--space-11));
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.press-contact-card h3 {
  margin: var(--space-xs) 0 var(--space-sm);
  font-size: var(--font-size-card);
}

.press-contact-card p:not(.eyebrow) {
  color: var(--text-secondary);
}

.press-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-lg);
  margin-top: var(--space-2xl);
  font-size: var(--font-size-small);
}

.press-pagination a {
  color: var(--blue);
  font-weight: var(--font-weight-semibold);
}

.press-pagination span {
  color: var(--text-secondary);
}

@media (hover: hover) {
  .press-featured-card:hover, .press-release-card:hover {
    transform: translateY(var(--hover-lift));
    box-shadow: var(--shadow-card-hover);
  }
}

@media (max-width: 1100px) {
  .press-release-grid {
    grid-template-columns: 1fr;
  }

  .press-release-card {
    grid-template-columns: 260px 1fr;
  }
}

@media (max-width: 960px) {
  .press-featured-card {
    grid-template-columns: 1fr;
  }

  .press-featured-media {
    min-height: 0;
    aspect-ratio: 16/10;
  }

  .press-contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }
}

@media (max-width: 640px) {
  .press-release-heading {
    align-items: flex-start;
  }

  .press-release-card {
    grid-template-columns: 1fr;
  }

  .press-release-card-media {
    aspect-ratio: 16/10;
    min-height: 0;
  }

  .press-release-card-body {
    padding: var(--space-lg);
  }

  .press-featured-content {
    padding: var(--space-xl);
  }

  .press-featured-content h3 {
    font-size: var(--font-size-section);
  }

  .press-pagination {
    justify-content: space-between;
    gap: var(--space-sm);
  }
}

/* =========================================================
   Catalog / platform / generic market / tool pages
   These layouts intentionally reuse the Home, Markets and Dairy tokens.
   ========================================================= */
.catalog-hero {
  padding: var(--space-lg) 0 var(--section-space-compact);
  background: var(--pale);
}

.catalog-hero-grid, .catalog-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
  gap: var(--space-3xl);
  align-items: center;
}

.catalog-hero-grid--copy-heavy {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
}

.catalog-hero-copy {
  max-width: var(--measure-wide);
}

.catalog-hero-copy .page-title {
  margin-bottom: var(--space-md);
}

.catalog-hero-copy .lead-copy {
  max-width: 680px;
}

.catalog-hero-media,
.catalog-feature-media,
.pricing-summary-card,
.pricing-grid > article,
.catalog-card,
.service-state-card {
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.catalog-hero-media, .catalog-feature-media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.catalog-hero-media.media--screenshot,
.catalog-feature-media.media--screenshot {
  aspect-ratio: 16 / 9;
}

.catalog-hero-media img, .catalog-feature-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.catalog-feature-media--screen {
  padding: var(--space-md);
  background: var(--surface-chart);
}

.catalog-feature-media--screen img {
  height: 100%;
  min-height: 0;
  object-fit: contain;
  border-radius: var(--radius-md);
}

.catalog-key-points {
  margin-top: var(--space-lg);
}

.section-soft {
  background: var(--pale);
}

.catalog-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}

.catalog-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.catalog-card {
  min-height: 230px;
  padding: var(--space-lg);
  display: grid;
  align-content: start;
  gap: var(--space-sm);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.catalog-card h3 {
  margin: 0;
}

.catalog-card p,
.tool-work-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.catalog-card-icon {
  width: 40px;
  height: 40px;
  margin-bottom: var(--space-xs);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--white);
  background: var(--navy);
}

.catalog-card-icon .icon {
  width: 18px;
  height: 18px;
}

@media (hover: hover) {
  a.catalog-card:hover {
    transform: translateY(var(--hover-lift));
    box-shadow: var(--shadow-card-hover);
    border-color: var(--border-hover);
  }
}

.catalog-feature {
  padding-block: var(--section-space);
}

.catalog-feature-grid--reverse > :first-child {
  order: 2;
}

.catalog-feature-grid--reverse > :last-child {
  order: 1;
}

.catalog-feature-copy {
  max-width: var(--measure-wide);
}

.coverage-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2-5);
  margin-top: var(--space-lg);
}

.coverage-chip-grid span {
  padding: var(--space-2) var(--space-3-5);
  border-radius: var(--radius-pill);
  color: var(--text-secondary);
  background: var(--surface-soft-blue);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
}

.use-case-detail-hero .decision-card {
  padding: var(--space-lg);
  border-radius: var(--radius-card);
  color: var(--white);
  background: var(--navy);
  box-shadow: var(--shadow-floating);
}

.use-case-detail-hero .decision-card-kicker {
  color: var(--blue-soft);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.use-case-detail-hero .decision-card-question {
  margin: var(--space-lg) 0;
  font-size: var(--font-size-card);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-card);
}

.decision-card dl {
  margin: 0;
  display: grid;
  gap: 1px;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--border-on-dark);
}

.use-case-detail-hero .decision-card dl div {
  padding: var(--space-3-5) var(--space-4);
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
  background: var(--navy-soft);
}

.use-case-detail-hero .decision-card dt {
  color: var(--text-on-dark-muted);
}

.decision-card dd {
  margin: 0;
  font-weight: var(--font-weight-bold);
}

.use-case-detail-hero .decision-card-note {
  display: block;
  margin-top: var(--space-md);
  color: var(--text-on-dark-muted);
  font-size: var(--font-size-small);
}


.specification-hero { padding: var(--space-8) 0 var(--space-16); }
.specification-hero-inner { display: grid; gap: var(--space-8); }
.specification-hero-copy { max-width: 52rem; }
.specification-hero .eyebrow, .specification-hero-meta { color: var(--text-on-dark-muted); }
.specification-hero .page-title { max-width: 44rem; margin-bottom: var(--space-5); color: var(--white); }
.specification-hero .page-title span { display: block; color: inherit; }
.specification-hero-iosco { width: fit-content; display: flex; align-items: center; gap: var(--space-5); padding-left: var(--space-5); border-left: var(--border-width-accent) solid var(--blue); color: var(--blue-soft); font-size: var(--font-size-small); font-weight: var(--font-weight-medium); }
.specification-hero-iosco img { width: 8rem; height: auto; }
.specification-page { padding-block: var(--space-12) var(--space-20); }
.specification-document { width: min(100%,70rem); margin-inline: auto; }
.specification-intro { max-width: 56rem; margin-bottom: var(--space-8); color: var(--text-secondary); font-size: var(--font-size-body); }
.specification-intro .specification-richtext, .specification-intro p { margin-bottom: 0; }
.specification-sections { display: grid; }
.specification-section { padding: var(--space-9) 0; border-top: var(--border-width) solid var(--border-divider); }
.specification-section--primary { margin-bottom: var(--space-3); padding: var(--space-7) var(--space-8); border-top: 0; border-radius: var(--radius-sm); background: var(--surface-soft-blue); }
.specification-section-heading { display: flex; align-items: baseline; gap: var(--space-3); margin-bottom: var(--space-4); }
.specification-section-number { flex: 0 0 auto; color: var(--blue); font-size: var(--font-size-body); font-weight: var(--font-weight-semibold); }
.specification-section h2 { margin: 0; color: var(--navy); font-size: var(--font-size-subtitle); line-height: var(--line-height-small); }
.specification-section-body { max-width: 60rem; padding-left: calc(var(--space-6) + var(--space-1)); }
.specification-richtext, .specification-richtext p, .specification-richtext td, .specification-richtext th, .specification-richtext li { color: var(--text-secondary); font-size: var(--font-size-small); line-height: var(--line-height-small); }
.specification-richtext { width: 100%; }
.specification-richtext p { margin: 0 0 var(--space-3); }
.specification-richtext h3, .specification-section-body > h3 { margin: var(--space-4) 0 var(--space-2); color: var(--navy); font-size: var(--font-size-small); font-weight: var(--font-weight-bold); }
.specification-richtext ul, .specification-richtext ol { margin: 0 0 var(--space-4); padding-left: var(--space-6); }
.specification-richtext li { margin-bottom: var(--space-1-5); }
.specification-richtext strong, .specification-richtext b { color: var(--navy); font-weight: var(--font-weight-semibold); }
.specification-richtext a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.specification-richtext table { width: auto; max-width: 100%; margin: var(--space-3) 0 var(--space-4); border-collapse: collapse; }
.specification-richtext th, .specification-richtext td { padding: var(--space-1-5) var(--space-4) var(--space-1-5) 0; text-align: left; vertical-align: top; }
.specification-richtext td:first-child strong, .specification-richtext td:first-child b { white-space: nowrap; }
.specification-document-footer { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-3) var(--space-8); margin-top: var(--space-8); padding: var(--space-7) var(--space-8); border-radius: var(--radius-sm); background: var(--surface-soft-blue); }
.specification-document-footer strong, .specification-document-footer span { display: block; }
.specification-document-footer span { margin-top: var(--space-1); color: var(--text-secondary); font-size: var(--font-size-small); }
.specification-version { grid-column: 1 / -1; margin: var(--space-2) 0 0; color: var(--text-tertiary); font-size: var(--font-size-label); }
@media (max-width: 640px) {
  .specification-hero { padding-bottom: var(--space-10); }
  .specification-hero-iosco { align-items: flex-start; flex-direction: column; gap: var(--space-3); }
  .specification-page { padding-block: var(--space-9) var(--space-16); }
  .specification-section, .specification-section--primary { padding: var(--space-6) 0; }
  .specification-section--primary { margin-inline: calc(var(--page-gutter) * -.45); padding-inline: var(--space-5); }
  .specification-section-body { padding-left: 0; }
  .specification-richtext table { display: block; width: 100%; overflow-x: auto; }
  .specification-document-footer { grid-template-columns: 1fr; padding: var(--space-5); }
}

.service-state-card {
  max-width: 760px;
  margin-inline: auto;
  padding: var(--space-xl);
  text-align: center;
}

.pricing-summary-card {
  max-width: 880px;
  margin-inline: auto;
  padding: var(--space-xl);
}

.article-update-inner .form-grid,
.service-grid .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-md);
}

.pricing-grid > article {
  padding: var(--space-lg);
}

.pricing-grid h3 {
  margin-top: 0;
}

@media (max-width: 960px) {
  .catalog-hero-grid,
  .catalog-hero-grid--copy-heavy,
  .catalog-feature-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .catalog-feature-grid--reverse > :first-child,
  .catalog-feature-grid--reverse > :last-child {
    order: initial;
  }

  .catalog-card-grid--three, .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-hero-media {
    max-width: 720px;
  }
}

@media (max-width: 640px) {
  .catalog-hero {
    padding-bottom: var(--space-2xl);
  }

  .catalog-card-grid,
  .catalog-card-grid--three,
  .pricing-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }
.catalog-card {
    min-height: 0;
    padding: var(--space-md);
  }

  .catalog-hero-media img, .catalog-feature-media img {
    min-height: 0;
  }

  .pricing-summary-card {
    padding: var(--space-lg);
  }
}

/* =========================================================
   Rich tool detail pages: Futures + Technical Analysis
   XD-led compositions using shared DCA tokens.
   ========================================================= */
.tool-rich-hero {
  padding-block: clamp(var(--space-18), 8vw, 118px);
}

.tool-rich-hero-grid, .tool-two-column, .tool-metric-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
  gap: var(--space-3xl);
  align-items: center;
}

.tool-rich-copy {
  max-width: 620px;
}

.tool-rich-copy .page-title {
  margin-bottom: var(--space-lg);
}

.tool-rich-copy .lead-copy {
  color: var(--text-on-dark-body);
}

.tool-rich-hero .eyebrow {
  color: var(--blue-soft);
}

.tool-rich-hero .btn-white {
  color: var(--blue);
}

.product-ui-preview {
  width: min(100%, var(--measure));
  margin-inline: auto;
  padding: var(--space-4-5);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--surface-chart);
  box-shadow: var(--shadow-floating);
  color: var(--navy);
}

.product-ui-topbar {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: 0 var(--space-1) var(--space-3);
  border-bottom: var(--border-width) solid var(--border-soft);
}

.product-ui-topbar strong {
  font-size: var(--font-size-small);
}

.product-ui-topbar span {
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
}

.product-ui-tabs {
  display: flex;
  gap: var(--space-2);
  padding: var(--space-3) 0;
}

.product-ui-tabs span {
  padding: var(--space-1-5) var(--space-2-5);
  border-radius: var(--radius-pill);
  color: var(--text-tertiary);
  background: var(--surface-subtle);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-bold);
}

.product-ui-tabs .is-active {
  color: var(--white);
  background: var(--blue);
}

.product-ui-table {
  overflow: hidden;
  border: var(--border-width) solid var(--border-soft);
  border-radius: var(--radius-md);
}

.product-ui-row {
  display: grid;
  grid-template-columns: 1.15fr repeat(4, .9fr);
  gap: var(--space-2-5);
  align-items: center;
  min-height: 44px;
  padding: 0 var(--space-3-5);
  background: var(--white);
  border-bottom: var(--border-width) solid var(--border-soft);
  font-size: var(--font-size-label);
}

.product-ui-row:last-child {
  border-bottom: 0;
}

.product-ui-row--head {
  color: var(--text-tertiary);
  background: var(--surface-subtle);
  font-size: var(--font-size-micro);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.product-ui-row em {
  width: fit-content;
  padding: var(--space-1) 7px;
  border-radius: var(--radius-pill);
  font-style: normal;
  font-weight: var(--font-weight-bold);
}

.product-ui-row em.is-up {
  color: var(--status-up-text);
  background: var(--status-up-bg);
}

.product-ui-row em.is-down {
  color: var(--color-down);
  background: var(--status-down-bg);
}

.product-ui-row em.is-neutral {
  color: var(--text-secondary);
  background: var(--surface-subtle);
}

.technical-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(150px, .8fr);
  gap: var(--space-3);
  margin-top: var(--space-3-5);
}

.technical-preview-chart, .technical-preview-stats {
  border: var(--border-width) solid var(--border-soft);
  border-radius: var(--radius-md);
  background: var(--white);
}

.technical-preview-chart {
  padding: var(--space-3);
}

.technical-signal-row {
  display: flex;
  align-items: center;
  gap: var(--space-2-5);
  margin-bottom: var(--space-1);
}

.technical-signal-row small {
  color: var(--text-tertiary);
  font-size: var(--font-size-micro);
}

.signal-chip {
  padding: 5px var(--space-2);
  border-radius: var(--radius-pill);
  font-size: 9px;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.signal-chip--negative {
  color: var(--white);
  background: var(--red);
}

.technical-preview-chart svg {
  width: 100%;
  height: auto;
}

.chart-grid line {
  stroke: var(--border-soft);
  stroke-width: 1;
}

.technical-price-line, .technical-indicator-line, .chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.technical-price-line {
  stroke: var(--red);
  stroke-width: 3;
}

.technical-indicator-line {
  stroke: var(--blue);
  stroke-width: 3;
}

.technical-preview-stats {
  margin: 0;
  display: grid;
  align-content: start;
}

.technical-preview-stats div {
  padding: var(--space-3) var(--space-3-5);
  border-bottom: var(--border-width) solid var(--border-soft);
}

.technical-preview-stats div:last-child {
  border-bottom: 0;
}

.technical-preview-stats dt {
  color: var(--text-tertiary);
  font-size: 9px;
  text-transform: uppercase;
}

.technical-preview-stats dd {
  margin: var(--space-0-5) 0 0;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
}

.tool-intro-band {
  background: var(--pale);
}

.tool-intro-band .container {
  align-items: start;
}

.tool-intro-band h2,
.tool-analysis-intro h2,
.tool-work-section h2,
.tool-history-section h2 {
  max-width: 590px;
}

.tool-intro-band p:last-child {
  margin-bottom: 0;
}

.tool-chart-section {
  padding-block: var(--section-space-large);
}

.tool-copy-block {
  max-width: 610px;
}

.tool-line-chart-card {
  padding: var(--space-lg);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--surface-chart);
  box-shadow: var(--shadow-card);
}

.tool-chart-labels {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
}

.tool-chart-labels strong {
  font-size: var(--font-size-small);
}

.tool-chart-labels small {
  color: var(--text-tertiary);
}

.tool-line-chart-card svg {
  width: 100%;
  margin-top: var(--space-sm);
}

.tool-line-chart-card .chart-line {
  stroke: var(--blue);
  stroke-width: 4;
}

.tool-line-chart-card .chart-points circle {
  fill: var(--blue);
  stroke: var(--white);
  stroke-width: 3;
}

.tool-chart-axis {
  display: flex;
  justify-content: space-between;
  color: var(--text-tertiary);
  font-size: var(--font-size-micro);
}

.tool-metric-section {
  padding-block: clamp(var(--space-18), 8vw, 120px);
}

.tool-metric-layout {
  align-items: start;
}

.tool-metric-layout > div:first-child {
  max-width: 430px;
}

.tool-metric-layout > div:first-child p {
  color: var(--text-on-dark-secondary);
}

.tool-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg) var(--space-xl);
}

.tool-metric-grid article {
  padding: 0 0 0 var(--space-sm);
  border-left: var(--border-width-accent) solid var(--blue);
}

.tool-metric-grid strong {
  display: block;
  color: var(--white);
  font-size: var(--font-size-small);
}

.tool-metric-grid small {
  display: block;
  margin-top: var(--space-1-5);
  color: var(--text-on-dark-faint);
  line-height: var(--line-height-small);
}

.tool-work-section .section-heading {
  align-items: start;
}

.tool-work-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2-5);
  margin-top: var(--space-xl);
}

.tool-work-grid article {
  min-height: 230px;
  padding: var(--space-6-5) var(--space-5-5);
  border-top: var(--border-width-emphasis) solid var(--blue);
  background: var(--surface-subtle);
}

.tool-work-grid small, .tool-summary-grid article > small {
  color: var(--blue);
  font-size: var(--font-size-micro);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.tool-work-grid h3 {
  margin: var(--space-2-5) 0 var(--space-3);
  font-size: var(--font-size-subtitle);
}

.tool-connected-section {
  padding-block: var(--section-space);
}

.tool-two-column--media-first {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.05fr);
}

.tool-connected-media, .tool-reporting-visual {
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.tool-connected-media img, .tool-reporting-visual > img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.tool-analysis-intro .editorial-split {
  align-items: start;
}

.tool-summary-grid {
  display: grid;
  gap: var(--space-md);
  margin-top: var(--space-2xl);
}

.tool-summary-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tool-summary-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tool-summary-grid article {
  min-height: 220px;
  padding: var(--space-lg);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--pale);
  box-shadow: var(--shadow-card);
}

.tool-summary-grid h3 {
  margin: 0 0 var(--space-3);
  font-size: var(--font-size-subtitle);
}

.tool-summary-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.tool-summary-grid article > small + h3 {
  margin-top: var(--space-3);
}

.tool-technical-workflow {
  overflow: hidden;
}

.tool-technical-workflow .tool-two-column {
  align-items: center;
}

.tool-reporting-visual {
  position: relative;
  overflow: visible;
}

.tool-reporting-visual > img {
  border-radius: var(--radius-lg);
}

.tool-floating-card {
  position: absolute;
  z-index: 2;
  min-width: 170px;
  padding: var(--space-3-5) var(--space-4);
  border-radius: var(--radius-md);
  background: var(--white);
  color: var(--navy);
  box-shadow: var(--shadow-floating);
}

.tool-floating-card--chart {
  left: -40px;
  top: -32px;
}

.tool-floating-card small {
  color: var(--text-tertiary);
  font-size: 9px;
  text-transform: uppercase;
}

.tool-floating-card strong {
  display: block;
  margin-top: var(--space-0-5);
}

.tool-floating-card svg {
  width: 100%;
  height: 48px;
  margin-top: var(--space-2);
}

.tool-floating-card path {
  fill: none;
  stroke: var(--blue);
  stroke-width: 3;
  stroke-linecap: round;
}

.tool-indicator-section .tool-summary-grid article {
  background: var(--white);
}

.tool-history-section .tool-two-column {
  align-items: center;
}

.technical-history-card {
  padding: var(--space-lg);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-card);
}

.technical-history-axis, .technical-history-track {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-2);
}

.technical-history-axis {
  margin-bottom: var(--space-4);
  color: var(--text-tertiary);
  font-size: var(--font-size-micro);
  text-align: center;
}

.technical-history-track {
  position: relative;
  align-items: center;
}

.technical-history-track::before {
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  top: 50%;
  height: 2px;
  background: var(--border-divider);
}

.technical-history-track i {
  position: relative;
  z-index: 1;
  justify-self: center;
  min-width: 62px;
  padding: 7px var(--space-2);
  border-radius: 7px;
  color: var(--white);
  font-size: 9px;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  text-align: center;
}

.technical-history-track i.is-neutral {
  background: var(--color-neutral);
}

.technical-history-track i.is-positive {
  background: var(--color-up);
}

.technical-history-track i.is-negative {
  background: var(--red);
}

@media (max-width: 960px) {
  .tool-rich-hero-grid, .tool-two-column, .tool-metric-layout, .tool-two-column--media-first {
    grid-template-columns: 1fr;
  }

  .product-ui-preview {
    width: 100%;
  }

  .tool-work-grid, .tool-summary-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tool-floating-card--chart {
    left: var(--space-4-5);
  }
}

@media (max-width: 640px) {
  .tool-rich-hero {
    padding-block: var(--section-space-compact);
  }

  .tool-rich-copy .actions {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .tool-rich-copy .btn {
    width: 100%;
  }

  .product-ui-preview {
    padding: var(--space-3);
    border-radius: var(--radius-md);
  }

  .product-ui-row {
    grid-template-columns: 1.15fr repeat(2, .9fr);
  }

  .product-ui-row > :nth-child(n/**/+4) {
    display: none;
  }

  .technical-preview-grid {
    grid-template-columns: 1fr;
  }

  .technical-preview-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .technical-preview-stats div:nth-child(2) {
    border-right: 0;
  }

  .tool-chart-section {
    padding-block: var(--section-space);
  }

  .tool-metric-grid, .tool-work-grid, .tool-summary-grid--four, .tool-summary-grid--three {
    grid-template-columns: 1fr;
  }

  .tool-work-grid article {
    min-height: 0;
  }

  .tool-summary-grid article {
    min-height: 0;
  }

  .technical-history-card {
    padding: var(--space-5) var(--space-3-5);
    overflow-x: auto;
  }

  .technical-history-axis, .technical-history-track {
    min-width: 520px;
  }
}

/* =========================================================
   Featured dairy benchmarks
   ========================================================= */
.featured-benchmark-hero {
  padding: var(--space-lg) 0 var(--section-space-compact);
  background: var(--pale);
}

.featured-benchmark-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: var(--space-3xl);
  align-items: center;
  margin-top: var(--space-xl);
}

.featured-benchmark-hero .page-title {
  max-width: 680px;
}

.featured-benchmark-hero .page-title span {
  color: var(--blue);
}

.featured-benchmark-hero .lead-copy {
  max-width: 660px;
}

.featured-benchmark-note {
  display: block;
  margin-top: var(--space-3);
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
}

.benchmark-hero-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
}

.benchmark-hero-preview-head strong {
  font-size: var(--font-size-small);
}

.benchmark-hero-preview-head small {
  color: var(--text-tertiary);
}

.benchmark-public-section {
  padding-bottom: var(--section-space-compact);
}

.benchmark-complete-section {
  padding-top: calc(var(--section-space) + var(--space-6));
  padding-bottom: var(--section-space);
}

.benchmark-table-block {
  margin-top: var(--space-xl);
}

.benchmark-table-block + .benchmark-table-block {
  margin-top: var(--space-2xl);
}

.benchmark-table-title {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.benchmark-table-title strong {
  font-size: var(--font-size-body);
}

.benchmark-table-title span {
  padding: 5px 9px;
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-pill);
  color: var(--text-secondary);
  font-size: var(--font-size-micro);
}

.benchmark-data-table {
  width: 100%;
  min-width: 1050px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--font-size-small);
}

.benchmark-data-table th, .benchmark-data-table td {
  height: 48px;
  padding: var(--space-2) var(--space-3);
  border-bottom: var(--border-width) solid var(--border-soft);
  text-align: left;
  white-space: nowrap;
}

.benchmark-data-table thead th {
  height: 36px;
  color: var(--text-secondary);
  background: transparent;
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
}

.benchmark-data-table tbody th {
  font-weight: var(--font-weight-semibold);
}

.benchmark-data-table tbody tr:nth-child(odd) {
  background: var(--surface-soft-blue);
}

.benchmark-data-table tbody tr:nth-child(even) {
  background: var(--white);
}

.benchmark-data-table .benchmark-delta.up {
  color: var(--color-up);
}

.benchmark-data-table .benchmark-delta.down {
  color: var(--color-down);
}

.benchmark-data-table .benchmark-delta.neutral {
  color: var(--color-neutral);
}

.benchmark-data-table .is-blurred {
  filter: blur(4px);
  user-select: none;
  opacity: .72;
}

.benchmark-method-note {
  max-width: 980px;
  margin-top: var(--space-lg);
  color: var(--text-secondary);
  font-size: var(--font-size-meta);
  line-height: var(--line-height-small);
}

.benchmark-method-note p:last-child {
  margin-top: var(--space-md);
  color: var(--navy);
}

.featured-benchmarks-page .prefooter-cta + .benchmark-complete-section {
  padding-top: calc(var(--section-space) + var(--space-28));
}

@media (max-width: 960px) {
  .featured-benchmark-hero-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .featured-benchmark-hero {
    padding-bottom: var(--section-space);
  }

  .featured-benchmark-hero-grid {
    gap: var(--space-xl);
    margin-top: var(--space-lg);
  }

  .benchmark-data-table {
    min-width: 920px;
  }

  .benchmark-public-section, .benchmark-complete-section {
    padding-block: var(--section-space);
  }
}

/* =========================================================
   Contact page — XD-led layout
   ========================================================= */
.contact-hero-xd {
  position: relative;
  z-index: 2;
  padding: clamp(76px, 7vw, var(--space-28)) 0 0;
  background: var(--pale);
}

.contact-hero-xd-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(440px, .78fr);
  gap: clamp(var(--space-16), 8vw, 126px);
  align-items: start;
}

.contact-hero-copy {
  max-width: 580px;
  padding-bottom: 84px;
}

.contact-hero-copy .page-title {
  margin-bottom: var(--space-lg);
}

.contact-hero-copy .lead-copy {
  margin-bottom: var(--space-lg);
}

.contact-detail-list {
  display: grid;
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}

.contact-detail-list > div {
  display: grid;
  gap: var(--space-1);
}

.contact-detail-list strong {
  font-size: var(--font-size-body);
}

.contact-detail-list span, .contact-detail-list a {
  color: var(--navy);
  line-height: var(--line-height-small);
}

.contact-linkedin-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: var(--space-2-5);
  margin-top: var(--space-xl);
  color: var(--blue);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.contact-linkedin-link .icon {
  width: 24px;
  height: 24px;
}

.contact-form-card-xd {
  position: relative;
  z-index: 3;
  margin-bottom: -145px;
  padding: clamp(var(--space-7-5), 3.5vw, 52px);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--white);
  box-shadow: var(--shadow-floating);
}

.contact-form-card-xd h2 {
  margin: 0 0 var(--space-lg);
  font-size: var(--font-size-card);
}

.contact-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2-5);
}

.contact-form-fields .form-wide {
  grid-column: 1 / -1;
}

.contact-form-card-xd label {
  display: grid;
  gap: 7px;
}

.contact-form-fields label > span, .contact-message-field > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.contact-form-card-xd input[type="text"],
.contact-form-card-xd input[type="email"],
.contact-form-card-xd input[type="tel"],
.contact-form-card-xd textarea {
  width: 100%;
  border: var(--border-width) solid var(--border-divider);
  border-radius: 10px;
  background: var(--surface-subtle);
  color: var(--navy);
  font: inherit;
  font-size: var(--font-size-small);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}

.contact-form-card-xd input[type="text"],
.contact-form-card-xd input[type="email"],
.contact-form-card-xd input[type="tel"] {
  height: 48px;
  padding: 0 var(--space-4);
}

.contact-form-card-xd textarea {
  min-height: 124px;
  padding: var(--space-3-5) var(--space-4);
  resize: vertical;
}

.contact-form-card-xd input:focus,
.contact-form-card-xd textarea:focus,
.contact-market-fieldset {
  margin: var(--space-lg) 0;
  padding: 0;
  border: 0;
}

.contact-market-fieldset legend {
  margin-bottom: var(--space-3);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.contact-market-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-7);
}

.contact-market-grid label {
  grid-template-columns: 18px 1fr;
  align-items: center;
  gap: var(--space-2);
  color: var(--navy);
  font-size: var(--font-size-label);
}

.contact-market-grid label > span {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.contact-market-grid input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--blue);
}

.contact-message-field {
  margin-bottom: var(--space-md);
}

.contact-form-card-xd .btn {
  min-width: 150px;
}

.contact-form-card-xd .form-status {
  min-height: 24px;
  margin: var(--space-3) 0 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.contact-map-section {
  position: relative;
  z-index: 1;
  height: 560px;
  background: var(--surface-platform);
}

.contact-map-section iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: saturate(.86) contrast(.96);
}

@media (max-width: 960px) {
  .contact-hero-xd {
    padding-bottom: var(--section-space);
  }

  .contact-hero-xd-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .contact-hero-copy {
    max-width: 680px;
    padding-bottom: 0;
  }

  .contact-form-card-xd {
    max-width: 720px;
    margin-bottom: 0;
  }

  .contact-map-section {
    height: 460px;
  }
}

@media (max-width: 640px) {
  .contact-hero-xd {
    padding-top: var(--section-space-compact);
  }

  .contact-form-card-xd {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
  }

  .contact-form-fields, .contact-market-grid {
    grid-template-columns: 1fr;
  }

  .contact-form-card-xd .btn {
    width: 100%;
  }

  .contact-map-section {
    height: 380px;
  }
}

/* =========================================================
   Benchmark contribution page
   Reuses the shared information, split, quote and FAQ patterns.
   ========================================================= */
.contribute-hero .info-hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
}

.contribution-pathway {
  width: min(100%, 560px);
  justify-self: end;
  padding: var(--space-8);
}

.contribution-pathway > small {
  display: block;
  margin-bottom: var(--space-5);
  color: var(--blue-soft);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.contribution-pathway-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--space-2-5);
  align-items: center;
}

.contribution-pathway-flow span {
  min-height: var(--space-20);
  padding: var(--space-3);
  display: grid;
  place-items: center;
  border: var(--border-width) solid var(--border-on-dark-medium);
  border-radius: var(--radius-md);
  color: var(--white);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-small);
  text-align: center;
}

.contribution-pathway-flow b {
  color: var(--blue-soft);
  font-size: var(--font-size-body);
}

.contribution-process-section .editorial-split {
  align-items: center;
}

.contribution-process-section .editorial-split > div:first-child > p:not(.eyebrow) {
  max-width: var(--measure);
}

.contribution-process-card {
  width: min(100%, 600px);
  justify-self: end;
}

.contribution-process-card dl {
  margin: 0;
}

.contribution-process-card dl div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: var(--space-5);
  padding: var(--space-4) 0;
  border-bottom: var(--border-width) solid var(--border-divider);
}

.contribution-process-card dl div:first-child {
  padding-top: 0;
}

.contribution-process-card dl div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.contribution-process-card dt {
  color: var(--blue);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.contribution-contact-section .usecase-split {
  align-items: center;
}

.contribution-contact-section .btn {
  margin-top: var(--space-5);
}

.contribution-contact-media {
  justify-self: end;
  width: min(100%, 560px);
}

.contribution-contact-media img {
  min-height: 0;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.contribution-faq-section .faq-grid > div:first-child > p:last-child {
  max-width: var(--measure-narrow);
  color: var(--text-secondary);
}

@media (max-width: 960px) {
  .contribute-hero .info-hero-grid {
    grid-template-columns: 1fr;
  }

  .contribution-pathway,
  .contribution-process-card,
  .contribution-contact-media {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .contribution-pathway {
    padding: var(--space-5);
  }

  .contribution-pathway-flow {
    grid-template-columns: 1fr;
  }

  .contribution-pathway-flow b {
    transform: rotate(90deg);
    justify-self: center;
  }

  .contribution-process-card dl div {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}


/* =========================================================
   Platform overview
   Reuses shared hero, cards, use-case, role-list and CTA components.
   ========================================================= */
.platform-hero .info-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(22.5rem, .82fr);
}

.platform-hero-media {
  justify-self: end;
  width: min(100%, 26.875rem);
}

.platform-hero-media img {
  width: 100%;
  height: auto;
  display: block;
}

.platform-stat-grid {
  grid-template-columns: repeat(3, 1fr);
}

.platform-stat-grid div {
  min-height: var(--space-20);
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
}

.platform-stat-grid strong {
  margin: 0;
  font-size: var(--font-size-body);
}

.platform-stat-grid span {
  font-size: var(--font-size-meta);
}

.platform-capabilities {
  background: var(--white);
}

.platform-capabilities .cards {
  row-gap: var(--space-sm);
}

.platform-capabilities .feature-card {
  min-height: 12.5rem;
  padding: var(--space-6);
  border: var(--border-width-medium) solid var(--blue-soft);
  box-shadow: none;
}

.platform-capabilities .feature-card h3 {
  color: var(--blue);
  font-size: var(--font-size-lead);
}

.platform-workflow .catalog-feature-media {
  justify-self: end;
  width: min(100%, var(--measure));
}

.platform-foundation .catalog-card {
  min-height: 0;
  padding: var(--space-6);
}

.platform-foundation .catalog-card h3 {
  font-size: var(--font-size-lead);
}

.platform-team-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.platform-team-grid > a {
  min-height: var(--space-20);
}

@media (max-width: 960px) {
  .platform-hero-media {
    width: min(100%, 24.375rem);
    justify-self: start;
  }

  .platform-stat-grid {
    grid-template-columns: 1fr;
  }

  .platform-stat-grid div {
    justify-content: flex-start;
  }

  .platform-stat-grid div + div {
    border-left: 0;
    border-top: var(--border-width) solid var(--border-divider);
  }

  .platform-team-grid {
    grid-template-columns: 1fr;
  }
}

/* Holiday schedule: content is maintained in benchmark specification 81. */
.holiday-hero {
  position: relative;
  overflow: hidden;
  padding: var(--space-7) 0 var(--space-24);
  background:
    radial-gradient(circle at 82% 16%, rgba(25,104,255,.08), transparent 31%),
    linear-gradient(125deg, var(--pale) 0%, var(--white) 145%);
}

.holiday-hero::after {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: min(42vw, 38rem);
  aspect-ratio: 1;
  border: 1px solid rgba(25,104,255,.05);
  border-radius: 50%;
  transform: translate(28%, -58%);
  pointer-events: none;
}

.holiday-hero .breadcrumbs { margin-bottom: clamp(var(--space-10), 5vw, var(--space-16)); }
.holiday-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(18rem,.72fr); gap: clamp(var(--space-12),8vw,var(--space-28)); align-items: center; }
.holiday-hero-copy { max-width: 42rem; }
.holiday-hero-copy h1 { margin: var(--space-3) 0 0; color: var(--navy); font-size: clamp(2.35rem,4.3vw,var(--font-size-display)); line-height: 1.08; letter-spacing: -.035em; }
.holiday-hero-copy h1 span { color: var(--blue); }
.holiday-hero-lead { max-width: 36rem; margin: var(--space-8) 0 0; color: var(--navy); font-size: var(--font-size-lead); line-height: var(--line-height-lead); }
.holiday-current-version { margin: var(--space-5) 0 0; color: var(--text-secondary); font-size: var(--font-size-meta); font-weight: var(--font-weight-medium); }

.holiday-year-card {
  width: min(100%, 28rem);
  justify-self: end;
  padding: var(--space-7);
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-floating);
}
.holiday-year-card-head,.holiday-next-publication { display: flex; justify-content: space-between; gap: var(--space-4); align-items: center; }
.holiday-year-card-head { padding-bottom: var(--space-4); border-bottom: var(--border-width) solid var(--border-divider); color: var(--text-secondary); font-size: var(--font-size-meta); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .04em; }
.holiday-year-card-head strong { color: var(--blue); }
.holiday-year-date { display: flex; gap: var(--space-4); align-items: center; padding: var(--space-5) 0 var(--space-4); }
.holiday-year-date > strong { color: var(--blue); font-size: 3.5rem; line-height: .9; }
.holiday-year-date div { display: grid; gap: var(--space-1); }
.holiday-year-date b,
.holiday-year-date span { color: var(--text-secondary); font-size: var(--font-size-small); }
.holiday-year-track { position: relative; height: var(--border-width-medium); margin: var(--space-2) 0 var(--space-5); background: linear-gradient(90deg,var(--blue),var(--dca-selective-yellow)); }
.holiday-year-track::before,.holiday-year-track::after { content: ""; position: absolute; top: 50%; width: var(--space-3); height: var(--space-3); border-radius: 50%; transform: translateY(-50%); }
.holiday-year-track::before { left: 0; background: var(--blue); }
.holiday-year-track::after { right: 0; background: var(--dca-selective-yellow); }
.holiday-year-card > p { margin: 0 0 var(--space-5); color: var(--text-secondary); font-size: var(--font-size-small); line-height: var(--line-height-small); }
.holiday-next-publication { padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: var(--surface-soft-blue); }
.holiday-next-publication span { color: var(--text-secondary); font-size: var(--font-size-meta); }
.holiday-next-publication strong { color: var(--navy); font-size: var(--font-size-small); text-align: right; }
.holiday-year-card-empty { display: flex; gap: var(--space-4); align-items: center; padding: var(--space-8) 0; }
.holiday-year-card-empty strong { color: var(--blue); font-size: var(--font-size-title); }
.holiday-year-card-empty span { max-width: 13rem; color: var(--text-secondary); font-size: var(--font-size-small); }

.holiday-content-width { max-width: 70rem; }
.holiday-schedule-section { background: var(--white); }
.holiday-section-intro { display: grid; grid-template-columns: minmax(0,.85fr) minmax(18rem,.65fr); gap: clamp(var(--space-8),6vw,var(--space-20)); align-items: end; margin-bottom: var(--space-10); }
.holiday-section-intro h2,.holiday-year-end-copy h2 { margin: var(--space-2) 0 0; color: var(--navy); font-size: clamp(1.9rem,3vw,var(--font-size-title)); line-height: var(--line-height-title); }
.holiday-intro-copy,.holiday-intro-copy p { margin: 0; color: var(--text-secondary); font-size: var(--font-size-body); line-height: var(--line-height-body); }

.holiday-schedule-card { overflow: hidden; border: var(--border-width) solid var(--border-divider); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-subtle); }
.holiday-schedule-card-head { display: flex; justify-content: space-between; align-items: center; padding: var(--space-5) var(--space-6); border-bottom: var(--border-width) solid var(--border-divider); background: var(--surface-subtle); }
.holiday-schedule-card-head span { color: var(--text-secondary); font-size: var(--font-size-meta); font-weight: var(--font-weight-bold); text-transform: uppercase; letter-spacing: .04em; }
.holiday-schedule-card-head strong { color: var(--navy); font-size: var(--font-size-lead); }
.holiday-schedule-table-head,.holiday-schedule-row { display: grid; grid-template-columns: minmax(14rem,1.25fr) minmax(12rem,.95fr) minmax(10rem,.7fr) minmax(12rem,1fr); gap: var(--space-6); align-items: center; }
.holiday-schedule-table-head { padding: var(--space-4) var(--space-6); border-bottom: var(--border-width) solid var(--border-divider); background: var(--white); color: var(--navy); font-size: var(--font-size-small); font-weight: var(--font-weight-bold); }
.holiday-schedule-row { padding: var(--space-5) var(--space-6); border-bottom: var(--border-width) solid var(--border-divider); }
.holiday-schedule-row:last-child { border-bottom: 0; }
.holiday-schedule-row strong,.holiday-schedule-row span { display: block; color: var(--navy); font-size: var(--font-size-small); line-height: var(--line-height-small); }
.holiday-schedule-row strong { font-weight: var(--font-weight-medium); }
.holiday-schedule-replacement strong { font-weight: var(--font-weight-medium); }
.holiday-schedule-card-foot { padding: var(--space-3) var(--space-6); border-top: var(--border-width) solid var(--border-divider); background: var(--surface-subtle); color: var(--text-secondary); font-size: var(--font-size-meta); text-align: right; }

.holiday-live-richtext { overflow-x: auto; padding: var(--space-6); border: var(--border-width) solid var(--border-divider); border-radius: var(--radius-md); background: var(--white); }
.holiday-live-richtext table { width: 100%; min-width: 44rem; border-collapse: collapse; }
.holiday-live-richtext th,.holiday-live-richtext td { padding: var(--space-4); border-bottom: var(--border-width) solid var(--border-divider); font-size: var(--font-size-small); text-align: left; vertical-align: top; }
.holiday-live-richtext th { color: var(--text-secondary); font-size: var(--font-size-meta); text-transform: uppercase; letter-spacing: .03em; }

.holiday-year-end-section { background: var(--pale); }
.holiday-year-end-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(18rem,.75fr); gap: clamp(var(--space-12),8vw,var(--space-24)); align-items: center; }
.holiday-week-timeline { display: grid; margin-top: var(--space-10); }
.holiday-week-item { position: relative; display: grid; grid-template-columns: var(--space-16) 1fr; gap: var(--space-5); align-items: start; min-height: var(--space-20); }
.holiday-week-item:not(:last-child)::before { content: ""; position: absolute; left: calc(var(--space-8) - .5px); top: var(--space-12); bottom: 0; width: var(--border-width); background: var(--border-divider); }
.holiday-week-number { position: relative; z-index: 1; display: grid; width: var(--space-12); height: var(--space-12); place-items: center; border-radius: 50%; background: var(--navy); color: var(--white); font-size: var(--font-size-small); font-weight: var(--font-weight-bold); }
.holiday-week-item:last-child .holiday-week-number { background: var(--blue); }
.holiday-week-item p { margin: var(--space-2) 0 var(--space-6); color: var(--navy); font-size: var(--font-size-body); line-height: var(--line-height-body); }
.holiday-year-end-media { margin: 0; }
.holiday-year-end-media img { display: block; width: 100%; border-radius: var(--radius-md); box-shadow: var(--shadow-card); }

.holiday-document-meta { padding: var(--space-6) 0; border-top: var(--border-width) solid var(--border-divider); background: var(--white); }
.holiday-document-meta .container { display: flex; justify-content: space-between; gap: var(--space-6); align-items: center; }
.holiday-document-meta div { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); color: var(--text-secondary); font-size: var(--font-size-small); }
.holiday-document-meta strong { color: var(--navy); }

@media (max-width: 960px) {
  .holiday-hero-grid,.holiday-year-end-grid { grid-template-columns: 1fr; }
  .holiday-year-card { justify-self: start; }
  .holiday-section-intro { grid-template-columns: 1fr; }
  .holiday-schedule-table-head,.holiday-schedule-row { grid-template-columns: minmax(12rem,1.2fr) minmax(11rem,1fr) minmax(9rem,.8fr) minmax(11rem,1fr); gap: var(--space-4); }
  .holiday-year-end-media { max-width: 34rem; }
}

@media (max-width: 640px) {
  .holiday-hero { padding-bottom: var(--space-16); }
  .holiday-hero-copy h1 br { display: none; }
  .holiday-year-card { padding: var(--space-5); }
  .holiday-section-intro { margin-bottom: var(--space-7); }
  .holiday-schedule-table-head { display: none; }
  .holiday-schedule-row { grid-template-columns: 1fr; gap: var(--space-4); padding: var(--space-5); }
  .holiday-schedule-row > div { display: grid; grid-template-columns: 8.5rem minmax(0,1fr); gap: var(--space-3); align-items: baseline; }
  .holiday-schedule-row > div::before { content: attr(data-label); color: var(--text-secondary); font-size: var(--font-size-meta); font-weight: var(--font-weight-semibold); }
  .holiday-schedule-card-head,.holiday-schedule-card-foot { padding-inline: var(--space-5); }
  .holiday-week-item { grid-template-columns: var(--space-12) 1fr; gap: var(--space-4); }
  .holiday-week-item:not(:last-child)::before { left: calc(var(--space-6) - .5px); }
  .holiday-document-meta .container { align-items: flex-start; flex-direction: column; }
}

/* =========================================================
   IOSCO compliance — dedicated benchmark governance page
   ========================================================= */
.iosco-compliance-page {
  background: var(--white);
}

.iosco-hero {
  padding: var(--space-7) 0 var(--space-24);
  background: var(--pale);
}

.iosco-hero .breadcrumbs {
  margin-bottom: clamp(var(--space-10), 5vw, var(--space-16));
}

.iosco-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .75fr);
  gap: clamp(var(--space-12), 7vw, var(--space-24));
  align-items: center;
}

.iosco-hero-copy {
  max-width: 45rem;
}

.iosco-hero .page-title {
  max-width: 42rem;
}

.iosco-hero .page-title span {
  color: var(--blue);
}

.iosco-hero .lead-copy {
  max-width: 43rem;
  margin: var(--space-6) 0 0;
}

.iosco-audit-card {
  padding: var(--space-7);
  color: var(--white);
  border: var(--border-width-medium) solid var(--border-on-dark-medium);
  border-radius: var(--radius-md);
  background: var(--navy);
  box-shadow: var(--shadow-floating);
}

.iosco-audit-card-head,
.iosco-audit-card dl div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.iosco-audit-card-head {
  padding-bottom: var(--space-5);
  border-bottom: var(--border-width) solid var(--border-on-dark-soft);
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-meta);
  text-transform: uppercase;
  letter-spacing: .05em;
}

.iosco-audit-card-head strong {
  color: var(--blue-soft);
  font-size: inherit;
}

.iosco-audit-score {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
  padding: var(--space-7) 0;
}

.iosco-audit-seal {
  width: var(--space-16);
  height: var(--space-16);
  display: grid;
  place-items: center;
  border: var(--border-width) solid var(--border-on-dark-strong);
  border-radius: 50%;
  color: var(--blue-soft);
  font-size: var(--font-size-micro);
  font-weight: var(--font-weight-bold);
  letter-spacing: .08em;
}

.iosco-audit-score > strong {
  font-size: clamp(3.25rem, 6vw, 5rem);
  line-height: .9;
}

.iosco-audit-score > span:last-child {
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.iosco-audit-card dl {
  margin: 0;
}

.iosco-audit-card dl div {
  padding: var(--space-3-5) 0;
  border-top: var(--border-width) solid var(--border-on-dark-soft);
}

.iosco-audit-card dt,
.iosco-audit-card dd {
  margin: 0;
  font-size: var(--font-size-meta);
  line-height: var(--line-height-small);
}

.iosco-audit-card dt {
  color: var(--text-on-dark-faint);
}

.iosco-audit-card dd {
  color: var(--white);
  font-weight: var(--font-weight-semibold);
  text-align: right;
}

.iosco-proof-strip {
  border-bottom: var(--border-width) solid var(--border-divider);
  background: var(--white);
}

.iosco-proof-grid {
  min-height: var(--space-24);
  display: grid;
  grid-template-columns: minmax(13rem, 1.25fr) repeat(2, minmax(12rem, 1fr));
  gap: var(--space-3) var(--space-8);
  align-items: center;
  padding-block: var(--space-6);
}

.iosco-proof-grid > strong {
  grid-row: span 2;
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
  text-transform: uppercase;
  letter-spacing: .045em;
}

.iosco-proof-grid span {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--navy);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
}

.iosco-proof-grid svg {
  width: var(--space-4);
  height: var(--space-4);
  color: var(--blue);
  flex: 0 0 auto;
}

.iosco-why-intro {
  gap: clamp(var(--space-12), 8vw, var(--space-28));
}

.iosco-why-intro h2,
.iosco-governance-intro h2 {
  max-width: 29rem;
}

.iosco-use-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-12);
}

.iosco-use-grid article {
  min-height: 10.5rem;
  padding: var(--space-6) var(--space-4) var(--space-5);
  border-top: var(--border-width-accent) solid var(--blue);
  background: var(--surface-subtle);
}

.iosco-use-grid h3 {
  margin: 0 0 var(--space-3);
  font-size: var(--font-size-body);
}

.iosco-quote-section {
  padding-top: var(--space-4);
}

.iosco-quote-media {
  position: relative;
  max-width: 58rem;
  margin-inline: auto;
}

.iosco-quote-media > img {
  width: 100%;
  min-height: 24rem;
  display: block;
  object-fit: cover;
  border-radius: var(--radius-lg);
}

.iosco-quote-media blockquote {
  position: absolute;
  left: calc(var(--space-8) * -1);
  top: var(--space-8);
  width: min(24rem, 46%);
  margin: 0;
  padding: var(--space-7);
  border-radius: var(--radius-md);
  color: var(--white);
  background: var(--blue);
  box-shadow: var(--shadow-floating);
}

.iosco-quote-media blockquote p {
  margin: var(--space-3) 0 var(--space-6);
  color: var(--white);
  font-size: var(--font-size-lead);
  font-weight: var(--font-weight-semibold);
  line-height: 1.45;
}

.iosco-quote-media blockquote footer {
  color: var(--white);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
}

.iosco-quote-icon {
  display: block;
  width: var(--space-7);
  height: var(--space-7);
  font-size: 2.75rem;
  font-weight: var(--font-weight-bold);
  line-height: .8;
}

.iosco-governance-section {
  background: var(--pale);
}

.iosco-governance-intro {
  align-items: end;
  gap: clamp(var(--space-12), 8vw, var(--space-28));
}

.iosco-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-12);
}

.iosco-control-grid article {
  position: relative;
  min-height: 15rem;
  padding: var(--space-6);
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: var(--shadow-subtle);
}

.iosco-control-grid h3 {
  margin: 0 0 var(--space-4);
  font-size: var(--font-size-body);
}

.iosco-control-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.iosco-control-grid article > span {
  position: absolute;
  right: var(--space-5);
  bottom: var(--space-5);
  width: var(--space-6);
  height: var(--space-6);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
  font-size: var(--font-size-meta);
}

.iosco-scope-heading {
  max-width: 39rem;
}

.iosco-scope-list {
  margin-top: var(--space-10);
  border-top: var(--border-width) solid var(--border-divider);
}

.iosco-scope-row {
  min-height: 8.5rem;
  display: grid;
  grid-template-columns: minmax(12rem, .8fr) minmax(0, 2fr) auto;
  gap: var(--space-8);
  align-items: center;
  border-bottom: var(--border-width) solid var(--border-divider);
}

.iosco-scope-name small,
.iosco-scope-name strong {
  display: block;
}

.iosco-scope-name small {
  margin-bottom: var(--space-1);
  color: var(--blue);
  font-size: var(--font-size-meta);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
}

.iosco-scope-name strong {
  color: var(--navy);
  font-size: var(--font-size-card);
}

.iosco-scope-items {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.iosco-scope-row > svg,
.iosco-scope-cta > svg {
  width: var(--space-7);
  height: var(--space-7);
  padding: var(--space-1-5);
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
}

.iosco-scope-cta {
  max-width: 66rem;
  min-height: 8rem;
  display: grid;
  grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.5fr) auto;
  gap: var(--space-8);
  align-items: center;
  margin: var(--space-12) auto 0;
  padding: var(--space-6) var(--space-8);
  border-radius: var(--radius-lg);
  background: var(--pale);
}

.iosco-scope-cta strong {
  color: var(--navy);
  font-size: var(--font-size-body);
}

.iosco-scope-cta span {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.iosco-process-section .editorial-split {
  gap: clamp(var(--space-12), 8vw, var(--space-28));
}

.iosco-process-section .btn {
  margin-top: var(--space-7);
}

.iosco-process-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-5);
  list-style: none;
  counter-reset: iosco-step;
}

.iosco-process-list li {
  position: relative;
  min-height: var(--space-12);
  padding-left: var(--space-12);
  counter-increment: iosco-step;
}

.iosco-process-list li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--space-7);
  height: var(--space-7);
  display: grid;
  place-items: center;
  border: var(--border-width) solid var(--blue-soft);
  border-radius: 50%;
  color: var(--blue-soft);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
}

.iosco-process-list strong,
.iosco-process-list span {
  display: block;
}

.iosco-process-list strong {
  color: var(--white);
  font-size: var(--font-size-body);
}

.iosco-process-list span {
  margin-top: var(--space-1);
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.iosco-report-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(22rem, .7fr);
  gap: clamp(var(--space-12), 8vw, var(--space-28));
  align-items: start;
}

.iosco-report-grid > div:first-child {
  max-width: 37rem;
}

.iosco-report-grid > div:first-child > p:not(.eyebrow) {
  color: var(--text-secondary);
}

.iosco-report-grid .text-link {
  margin-top: var(--space-5);
}

.iosco-report-form {
  padding: var(--space-8);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-subtle);
}

.iosco-report-form-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  padding-bottom: var(--space-6);
  border-bottom: var(--border-width) solid var(--border-divider);
}

.iosco-report-form-icon {
  min-width: var(--space-12);
  min-height: var(--space-12);
  display: grid;
  place-items: center;
  border-radius: var(--radius-md);
  color: var(--white);
  background: var(--navy);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-bold);
  letter-spacing: .05em;
}

.iosco-report-form-head .eyebrow {
  margin-bottom: var(--space-1);
}

.iosco-report-form-head h3 {
  margin: 0;
  font-size: var(--font-size-subtitle);
}

.iosco-report-form-head p:last-child {
  margin: var(--space-2) 0 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}

.iosco-report-form-fields {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.iosco-report-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.iosco-report-form label {
  display: grid;
  gap: var(--space-2);
  color: var(--navy);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
}

.iosco-report-form input {
  width: 100%;
  min-height: 52px;
  padding: var(--space-3) var(--space-4);
  border: var(--border-width) solid var(--border-soft);
  border-radius: var(--radius-sm);
  outline: none;
  color: var(--navy);
  background: var(--surface-subtle);
  transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.iosco-report-form input:focus {
  border-color: var(--blue);
  background: var(--white);
  box-shadow: var(--focus-ring);
}

.iosco-report-form-submit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-5);
  align-items: center;
  margin-top: var(--space-6);
}

.iosco-report-form-note,
.iosco-report-form .form-status {
  margin: 0;
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
  line-height: var(--line-height-small);
}

.iosco-report-form .form-status:not(:empty) {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: var(--border-width) solid var(--border-divider);
  color: var(--navy);
  font-size: var(--font-size-small);
}

.iosco-page .faq-section {
  border-top: var(--border-width) solid var(--border-divider);
}

@media (hover: hover) {
  .iosco-scope-row:hover .iosco-scope-name strong,
  .iosco-scope-cta:hover strong {
    color: var(--blue);
  }

  .iosco-scope-row:hover > svg,
  .iosco-scope-cta:hover > svg {
    background: var(--blue);
  }
}

@media (max-width: 980px) {
  .iosco-hero-grid,
  .iosco-report-grid {
    grid-template-columns: 1fr;
  }

  .iosco-audit-card {
    max-width: 42rem;
  }

  .iosco-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iosco-proof-grid > strong {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .iosco-use-grid,
  .iosco-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iosco-quote-media blockquote {
    left: var(--space-6);
  }
}

@media (max-width: 640px) {
  .iosco-hero {
    padding-bottom: var(--space-16);
  }

  .iosco-hero-grid {
    gap: var(--space-10);
  }

  .iosco-audit-card {
    padding: var(--space-5);
  }

  .iosco-audit-score {
    grid-template-columns: auto auto 1fr;
    gap: var(--space-3);
  }

  .iosco-audit-seal {
    width: var(--space-12);
    height: var(--space-12);
  }

  .iosco-audit-score > strong {
    font-size: var(--font-size-display);
  }

  .iosco-audit-card dl div {
    align-items: flex-start;
  }

  .iosco-proof-grid,
  .iosco-use-grid,
  .iosco-control-grid {
    grid-template-columns: 1fr;
  }

  .iosco-proof-grid {
    gap: var(--space-4);
  }

  .iosco-use-grid {
    margin-top: var(--space-8);
  }

  .iosco-use-grid article,
  .iosco-control-grid article {
    min-height: 0;
  }

  .iosco-quote-section {
    padding-top: 0;
  }

  .iosco-quote-media > img {
    min-height: 17rem;
  }

  .iosco-quote-media blockquote {
    position: relative;
    left: auto;
    top: auto;
    width: calc(100% - var(--space-8));
    margin: calc(var(--space-10) * -1) auto 0;
    padding: var(--space-5);
  }

  .iosco-scope-row,
  .iosco-scope-cta {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-4);
  }

  .iosco-scope-row {
    min-height: 0;
    padding-block: var(--space-6);
  }

  .iosco-scope-items,
  .iosco-scope-cta span {
    grid-column: 1 / -1;
  }

  .iosco-scope-row > svg,
  .iosco-scope-cta > svg {
    grid-column: 2;
    grid-row: 1;
  }

  .iosco-scope-cta {
    padding: var(--space-5);
  }

  .iosco-report-grid {
    grid-template-columns: 1fr;
  }

  .iosco-report-form {
    padding: var(--space-6);
  }

  .iosco-report-form-row,
  .iosco-report-form-submit {
    grid-template-columns: 1fr;
  }

  .iosco-report-form-submit .btn {
    width: 100%;
  }
}

/* Benchmark overview + reusable dynamic specification browser ------------- */
.benchmark-overview-hero--dark .breadcrumbs,
.benchmark-overview-hero--dark .breadcrumbs a,
.benchmark-overview-hero--dark .lead-copy {
  color: var(--text-on-dark-body);
}

.benchmark-overview-hero--dark .eyebrow {
  color: var(--blue-soft);
}

.benchmark-overview-hero--dark .page-title {
  color: var(--white);
}

.benchmark-live-card {
  width: min(100%, 34rem);
  justify-self: end;
  padding: var(--space-6);
  border: var(--border-width) solid var(--border-subtle);
  border-radius: var(--radius-lg);
  color: var(--navy);
  background: var(--white);
  box-shadow: var(--shadow-floating);
}

.benchmark-live-card .benchmark-hero-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-bottom: var(--space-4);
  border-bottom: var(--border-width) solid var(--border-divider);
}

.benchmark-live-card .benchmark-hero-preview-head strong {
  color: var(--navy);
  font-size: var(--font-size-body);
}

.benchmark-live-card .benchmark-hero-preview-head small {
  color: var(--text-tertiary);
  font-size: var(--font-size-label);
}

.benchmark-overview-live-list {
  display: grid;
}

.benchmark-overview-live-row {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: var(--space-4);
  align-items: center;
  border-bottom: var(--border-width) solid var(--border-soft);
}

.benchmark-overview-live-row > span {
  min-width: 0;
}

.benchmark-overview-live-row > span strong,
.benchmark-overview-live-row > span small {
  display: block;
}

.benchmark-overview-live-row > span strong {
  overflow: hidden;
  color: var(--navy);
  font-size: var(--font-size-small);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.benchmark-overview-live-row > span small {
  margin-top: var(--space-1);
  color: var(--text-tertiary);
  font-size: var(--font-size-meta);
}

.benchmark-overview-live-row > b {
  color: var(--navy);
  font-size: var(--font-size-small);
  white-space: nowrap;
}

.benchmark-overview-live-row .benchmark-chip {
  min-width: 4.4rem;
  font-style: normal;
  text-align: center;
}

.benchmark-overview-live-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
  color: var(--blue);
  font-size: var(--font-size-label);
  font-weight: var(--font-weight-semibold);
}

.benchmark-overview-live-empty {
  margin: var(--space-5) 0 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.benchmark-trust-strip {
  border-bottom: var(--border-width) solid var(--border-divider);
  background: var(--white);
}

.benchmark-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: var(--space-24);
  align-items: center;
}

.benchmark-trust-grid > div {
  display: flex;
  align-items: baseline;
  gap: var(--space-2-5);
  padding-inline: var(--space-5);
  border-left: var(--border-width) solid var(--border-divider);
}

.benchmark-trust-grid > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.benchmark-trust-grid strong {
  color: var(--blue);
  font-size: var(--font-size-subtitle);
}

.benchmark-trust-grid span {
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.benchmark-value-grid,
.benchmark-workflow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-2xl);
}

.benchmark-value-grid article {
  padding: var(--space-6) var(--space-4) 0;
  border-top: var(--border-width-accent) solid var(--blue);
}

.benchmark-value-grid h3,
.benchmark-workflow-grid h3 {
  margin-top: 0;
  font-size: var(--font-size-subtitle);
}

.benchmark-value-grid p,
.benchmark-defined-grid {
  align-items: center;
}

.benchmark-browser-heading {
  margin-bottom: var(--space-xl);
}

.benchmark-browser-note {
  margin-top: var(--space-sm) !important;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.benchmark-market-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-xl);
}

.benchmark-market-filter button {
  min-height: 42px;
  padding: 0 var(--space-5);
  border: var(--border-width) solid var(--border-divider);
  border-radius: var(--radius-pill);
  color: var(--navy);
  background: var(--white);
  font: inherit;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);
}

.benchmark-market-filter button[aria-pressed="true"] {
  color: var(--white);
  border-color: var(--blue);
  background: var(--blue);
}

@media (hover: hover) {
  .benchmark-market-filter button:not([aria-pressed="true"]):hover {
    color: var(--blue);
    border-color: var(--blue);
  }
}

.benchmark-spec-card[hidden] {
  display: none;
}

.benchmark-spec-card {
  min-height: 0;
  scroll-margin-top: var(--sticky-content-offset);
}

.benchmark-spec-card li {
  min-height: 0;
}

.benchmark-spec-link {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  color: var(--text-secondary) !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: var(--font-size-meta) !important;
}

.benchmark-spec-link > span:first-child {
  min-width: 0;
}

.benchmark-spec-arrow {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--navy);
  transition: transform var(--transition-fast), background-color var(--transition-fast);
}

.benchmark-spec-arrow .icon {
  width: 12px;
  height: 12px;
}

@media (hover: hover) {
  .benchmark-spec-link:hover {
    color: var(--blue) !important;
  }

  .benchmark-spec-link:hover .benchmark-spec-arrow {
    background: var(--blue);
    transform: translateX(var(--space-0-5));
  }
}

.benchmark-spec-empty {
  margin-bottom: 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
}

.benchmark-workflow-section .section-copy-row > p {
  color: var(--text-on-dark-body);
}

.benchmark-workflow-grid > a {
  min-width: 0;
  padding: var(--space-6);
  border: var(--border-width) solid var(--border-on-dark-soft);
  border-radius: var(--radius-md);
  color: var(--white);
  background: var(--surface-on-dark-subtle);
  transition: transform var(--transition), border-color var(--transition), background-color var(--transition);
}

.benchmark-workflow-grid p {
  color: var(--text-on-dark-secondary);
  font-size: var(--font-size-small);
}

.benchmark-workflow-grid span {
  color: var(--blue-soft);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
}

@media (hover: hover) {
  .benchmark-workflow-grid > a:hover {
    transform: translateY(calc(-1 * var(--space-1)));
    border-color: var(--border-on-dark);
    background: var(--surface-on-dark-hover);
  }
}

.benchmark-governance-links {
  display: grid;
  align-self: center;
}

.benchmark-governance-links a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border-bottom: var(--border-width) solid var(--border-divider);
  color: var(--navy);
  font-weight: var(--font-weight-semibold);
}

.benchmark-governance-links .icon {
  width: 14px;
  height: 14px;
  color: var(--blue);
}

@media (max-width: 960px) {
  .benchmark-trust-grid,
  .benchmark-value-grid,
  .benchmark-workflow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .benchmark-trust-grid > div:nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .benchmark-live-card {
    width: 100%;
    justify-self: stretch;
    padding: var(--space-5);
  }

  .benchmark-overview-live-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-3);
  }

  .benchmark-overview-live-row .benchmark-chip {
    display: none;
  }

  .benchmark-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: var(--space-3);
  }

  .benchmark-trust-grid > div {
    min-height: 58px;
    display: block;
    padding: var(--space-3);
    border-left: 0;
  }

  .benchmark-trust-grid strong,
  .benchmark-trust-grid span {
    display: block;
  }

  .benchmark-value-grid,
  .benchmark-workflow-grid {
    grid-template-columns: 1fr;
  }

  .benchmark-market-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-inline: calc(-1 * var(--space-6));
    padding-inline: var(--space-6);
    scrollbar-width: none;
  }

  .benchmark-market-filter::-webkit-scrollbar {
    display: none;
  }

  .benchmark-market-filter button {
    flex: 0 0 auto;
  }
}

/* Benchmark catalogue: preserve the compact list structure of the public benchmark overview. */
.benchmark-browser--list .benchmark-market-filter {
  margin-bottom: var(--space-8);
}

.benchmark-list-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-10) var(--space-8);
}

.benchmark-list-group {
  min-width: 0;
  scroll-margin-top: var(--sticky-content-offset);
  padding-top: var(--space-4);
  border-top: var(--border-width-accent) solid var(--blue);
}

.benchmark-list-group[hidden] {
  display: none;
}

.benchmark-list-group h3 {
  margin: 0 0 var(--space-4);
  color: var(--navy);
  font-size: var(--font-size-subtitle);
}

.benchmark-list-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.benchmark-list-group li {
  border-bottom: var(--border-width) solid var(--border-divider);
}

.benchmark-list-group a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2-5) 0;
  color: var(--text-secondary);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
  transition: color var(--transition-fast), transform var(--transition-fast);
}

.benchmark-list-group a .icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: var(--blue);
}

@media (hover: hover) {
  .benchmark-list-group a:hover {
    color: var(--blue);
    transform: translateX(2px);
  }
}

@media (max-width: 960px) {
  .benchmark-list-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .benchmark-browser--list .benchmark-market-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-right: calc(var(--page-gutter) * -1);
    padding-right: var(--page-gutter);
    scrollbar-width: none;
  }

  .benchmark-browser--list .benchmark-market-filter::-webkit-scrollbar {
    display: none;
  }

  .benchmark-browser--list .benchmark-market-filter button {
    flex: 0 0 auto;
  }

  .benchmark-list-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
}

.benchmark-browser-utility { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--space-10); padding: var(--space-5) var(--space-6); border: var(--border-width) solid var(--border-divider); border-radius: var(--radius-sm); color: var(--navy); background: var(--surface-subtle); transition: border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast); }
.benchmark-browser-utility > span:first-child { display: grid; gap: var(--space-1); }
.benchmark-browser-utility .eyebrow { margin: 0; }
.benchmark-browser-utility strong { font-size: var(--font-size-body); }
.benchmark-browser-utility > span:first-child > span { color: var(--text-secondary); font-size: var(--font-size-small); }
.benchmark-browser-utility-arrow { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy); }
.benchmark-browser-utility-arrow .icon { width: 14px; height: 14px; }
@media (hover: hover) { .benchmark-browser-utility:hover { border-color: var(--blue); box-shadow: var(--shadow-subtle); transform: translateY(-2px); } .benchmark-browser-utility:hover .benchmark-browser-utility-arrow { background: var(--blue); } }

.benchmark-browser-methodology {
  margin-top: var(--space-4);
}


/* Case-study trust row */
.case-clients-section { padding-top: var(--space-12); border-top: var(--border-width) solid var(--border-soft); }
.case-clients-section .trusted-label { margin: 0 0 var(--space-7); text-align: center; }

/* Governance: purpose-built control framework page. */
.governance-hero { padding: var(--space-8) 0 var(--space-16); }
.governance-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(20rem,.95fr); gap: var(--space-16); align-items: center; margin-top: var(--space-8); }
.governance-hero .page-title { max-width: 42rem; }
.governance-hero .page-title span { color: var(--blue); }
.governance-hero .lead-copy { max-width: 40rem; }
.governance-orbit { width: min(28rem,100%); aspect-ratio: 1; position: relative; justify-self: center; display: grid; place-items: center; }
.governance-orbit-ring { position: absolute; border: var(--border-width) solid var(--dca-columbia-blue); border-radius: 50%; }
.governance-orbit-ring--outer { inset: 7%; }
.governance-orbit-ring--middle { inset: 18%; }
.governance-orbit-core { width: 42%; aspect-ratio: 1; z-index: 1; display: grid; place-content: center; gap: var(--space-1); padding: var(--space-5); border-radius: 50%; color: var(--white); background: var(--navy); text-align: center; }
.governance-orbit-core small, .governance-orbit-core span { color: var(--text-on-dark-muted); font-size: var(--font-size-micro); }
.governance-orbit-core strong { font-size: var(--font-size-subtitle); line-height: 1.1; }
.governance-orbit-label { position: absolute; z-index: 2; padding: var(--space-2) var(--space-4); border: var(--border-width) solid var(--dca-columbia-blue); border-radius: var(--radius-pill); color: var(--blue); background: var(--white); font-size: var(--font-size-micro); font-weight: var(--font-weight-semibold); box-shadow: var(--shadow-subtle); }
.governance-orbit-label--methodology { top: 14%; left: 5%; }
.governance-orbit-label--oversight { top: 25%; right: 0; }
.governance-orbit-label--controls { bottom: 16%; left: 2%; }
.governance-orbit-label--escalation { right: 2%; bottom: 18%; }
.governance-framework-intro { margin-bottom: var(--space-8); }
.governance-control-list { border-top: var(--border-width) solid var(--border-divider); }
.governance-control-list article { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--space-12); padding: var(--space-7) 0; border-bottom: var(--border-width) solid var(--border-divider); }
.governance-control-list small { color: var(--blue); font-size: var(--font-size-micro); font-weight: var(--font-weight-bold); text-transform: uppercase; }
.governance-control-list h3 { max-width: 34rem; margin: var(--space-2) 0 0; font-size: var(--font-size-subtitle); }
.governance-control-list p { margin: 0; color: var(--text-secondary); }
.governance-review-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: var(--space-16); align-items: center; }
.governance-review-grid > div:first-child { max-width: 36rem; }
.governance-review-grid p { color: var(--text-on-dark-body); }
.governance-review-media { overflow: hidden; border-radius: var(--radius-md); }
.governance-review-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.governance-document-links { display: grid; align-self: center; }
.governance-document-links a { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); border-top: var(--border-width) solid var(--border-divider); color: var(--blue); font-weight: var(--font-weight-semibold); }
.governance-document-links a:last-child { border-bottom: var(--border-width) solid var(--border-divider); }
.governance-document-links .icon { width: 14px; height: 14px; }
@media (max-width: 960px) { .governance-hero-grid, .governance-review-grid, .governance-control-list article { grid-template-columns: 1fr; } .governance-orbit { width: min(24rem,85vw); } .governance-control-list article { gap: var(--space-4); } }
@media (max-width: 640px) { .governance-hero-grid { gap: var(--space-10); } .governance-orbit-label { padding-inline: var(--space-3); } }

/* Reusable contextual photography from the current DCA site. */
.editorial-context-photo,
.contact-context-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--radius-card);
}

.editorial-context-photo {
  margin: 0 0 var(--space-lg);
}

.contact-context-photo {
  margin: var(--space-xl) 0 0;
}

.contact-context-photo img {
  max-width: 520px;
}

.team-phone {
  display: inline-flex;
  width: fit-content;
  margin-top: var(--space-2);
  color: var(--navy);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}

.team-phone:hover {
  color: var(--blue);
}

