.mark { overflow: hidden; background: transparent; }
.mark::after { display: none; content: none; }
.mark img { width: 100%; height: 100%; object-fit: contain; }
.hero h1 { max-width: 14ch; font-size: clamp(3.15rem, 4.8vw, 5.35rem); line-height: 1.01; letter-spacing: -.035em; text-wrap: balance; }
.organisation-link { display: inline-block; margin-top: .35rem; color: var(--violet); font-weight: 800; text-underline-offset: .2em; }
.results {
  max-width: none;
  background: #fff;
  padding-left: max(calc((100% - var(--max)) / 2 + 3vw), 4vw);
  padding-right: max(calc((100% - var(--max)) / 2 + 3vw), 4vw);
}
.results .section-title { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4vw; align-items: end; }
.results .section-title .eyebrow { grid-column: 1; }
.results .section-title h2 { grid-column: 1; grid-row: 2; }
.results .section-title .lead { grid-column: 2; grid-row: 2; }
.result-numbers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); margin-top: 3.5rem; border: 1px solid var(--line); }
.result-numbers article { background: #fff; padding: 2rem; }
.result-numbers strong, .result-numbers span, .editor-list strong, .editor-list span { display: block; }
.result-numbers strong { font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: 1; color: var(--violet); letter-spacing: -.06em; }
.result-numbers span { font-size: .82rem; margin-top: .8rem; }
.editor-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); margin-top: 1px; }
.editor-list article { background: var(--paper); padding: 1.2rem 1.4rem; }
.editor-list span { font-size: .78rem; opacity: .68; margin-top: .2rem; }
.request-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 3rem; align-items: start; }
.request-chart { margin: 0; min-width: 0; }
.request-chart h3 { margin: 0; padding: .9rem 1rem; background: var(--paper); border: 1px solid var(--line); border-bottom: 0; border-radius: .7rem .7rem 0 0; font-size: 1rem; }
.chart-crop { position: relative; overflow: hidden; width: 100%; aspect-ratio: 2.42 / 1; border: 1px solid var(--line); background: #fff; }
.request-chart img { display: block; width: 100%; height: auto; max-width: none; border: 0; border-radius: 0; }
.chart-2024 .chart-crop img { transform: translateY(-16.6%); }
.chart-2025 .chart-crop img { transform: translateY(-14.2%); }
.request-chart figcaption { max-width: 90ch; }
.chart-note { display: block; width: 100%; max-width: none; margin: 1.25rem 0 0; font-size: .92rem; line-height: 1.6; text-align: justify; }
.meeting-gallery { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin: 3rem auto 0; max-width: 980px; }
.meeting-gallery figure { margin: 0; }
.meeting-gallery img { width: 100%; height: auto; object-fit: contain; border-radius: .7rem; }
.meeting-gallery figcaption { padding-left: .2rem; }
.legacy { display: grid; grid-template-columns: minmax(280px, .78fr) 1.22fr; gap: 4rem; align-items: center; }
.legacy figure { width: 100%; max-width: 560px; }
.legacy > div { display: block; margin-top: 0; }
.legacy > div .eyebrow, .legacy > div h2, .legacy > div p { display: block; }
.poster-feature figure { width: 100%; max-width: 380px; justify-self: center; }
.poster-feature img { width: 100%; height: auto; object-fit: contain; }
.contact-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 6vw; padding: 5rem max(calc((100% - var(--max)) / 2 + 3vw), 4vw); background: var(--mint); align-items: end; }
.contact-section h2 { margin-bottom: 0; }
.contact-section p { max-width: 58ch; font-size: 1.08rem; }
.contact-email { display: inline-block; margin-top: .8rem; color: var(--ink); font-size: clamp(1.45rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -.035em; text-decoration-thickness: 2px; text-underline-offset: .18em; }
@media (max-width: 900px) {
  .hero h1 { max-width: 15ch; font-size: clamp(3rem, 9vw, 4.9rem); line-height: 1.02; letter-spacing: -.03em; }
  .results .section-title { grid-template-columns: 1fr; }
  .results .section-title .eyebrow, .results .section-title h2, .results .section-title .lead { grid-column: 1; grid-row: auto; }
  .result-numbers { grid-template-columns: repeat(2, 1fr); }
  .editor-list { grid-template-columns: repeat(2, 1fr); }
  .request-charts { grid-template-columns: 1fr; }
  .legacy { grid-template-columns: 1fr; }
  .legacy figure { max-width: 520px; }
  .contact-section { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 560px) {
  .hero h1 { max-width: none; font-size: clamp(2.7rem, 13vw, 3.8rem); line-height: 1.03; letter-spacing: -.025em; text-wrap: pretty; }
  .result-numbers, .editor-list, .meeting-gallery { grid-template-columns: 1fr; }
}
