/* Public website typography and spacing, September 2026.
   Loaded after the historical page layers. Evidence Pack documents and print
   output keep their own typography. Compact headings belong to figures and
   panels; page and section headings use the shared editorial scale. */
@media screen {
  body[data-site-polish] {
    --type-title: 60.5px;
    --type-section: 52.5px;
    --type-panel: 32px;
    --type-heading: 22px;
    --type-feature: 28px;
    --space-section: 64px;
  }

  body[data-site-polish] :is(main, #main) :is(h1, h2, h3) {
    font-weight: 700;
    hyphens: none;
    -webkit-hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: balance;
    max-width: 100%;
  }
  body[data-site-polish] :is(main, #main) h1 {
    font-size: var(--type-title);
    line-height: 1.06;
    letter-spacing: -.04em;
  }
  body[data-site-polish] :is(main, #main) h2 {
    font-size: var(--type-section);
    line-height: 1.08;
    letter-spacing: -.035em;
  }
  body[data-site-polish] :is(main, #main) h3 {
    font-size: var(--type-heading);
    line-height: 1.3;
    letter-spacing: -.015em;
  }
  body[data-site-polish] :is(main, #main) p {
    line-height: 1.6;
  }
  body[data-site-polish] :is(main, #main) p:not(.eyebrow, .kicker, .r4-kicker, .r4-meta, .r4-status-label, .sat-kicker, .sat-zoom-kicker, .about-role, .about-programme-role) + h3 {
    margin-top: 28px;
    margin-bottom: 10px;
  }
  body[data-site-polish] :is(main, #main) details + h3 {
    margin-top: 28px;
    margin-bottom: 10px;
  }
  body[data-site-polish] :is(main, #main) :is(.eyebrow, .kicker, .r4-kicker, .r4-meta, .r4-status-label, .sat-kicker, .sat-zoom-kicker, .about-role, .about-programme-role) {
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: .13em;
  }
  body[data-site-polish] :is(main, #main) :is(.lead, .r4-lead, .sat-lead) {
    line-height: 1.55;
  }

  /* Subordinate headings describe a panel or a figure, not a new chapter. */
  body[data-site-polish] :is(main, #main) :is(.sat-visual-story, .sat-research, .structured-panel, .r4-closing, .notice, .notice-page) h2 {
    font-size: var(--type-panel);
    line-height: 1.2;
    letter-spacing: -.025em;
  }
  body[data-site-polish] :is(main, #main) .sat-visual-story h2 {
    font-size: var(--type-heading);
    line-height: 1.3;
    letter-spacing: -.015em;
  }
  body[data-site-polish] :is(main, #main) .about-founder-copy h2 {
    font-size: 46px;
  }
  body[data-site-polish] :is(main, #main) :is(.r4-lens-location, .v3-report) h3 {
    font-size: var(--type-feature);
    line-height: 1.2;
    letter-spacing: -.025em;
  }
  body[data-site-polish] :is(main, #main) .sat-process h3 {
    font-size: 18px;
  }

  body[data-site-polish] :is(main, #main) :is(.section, .r4-section):not(.hero, .r4-hero, .r4-relationships, .r4-closing, .v32-folded-section, .r38-at-glance) {
    padding-top: var(--space-section);
    padding-bottom: var(--space-section);
  }
  body[data-site-polish] :is(main, #main) :is(.section-head, .r4-section-head) {
    margin-bottom: 32px;
  }
  body[data-site-polish] :is(main, #main) .section.compact {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  body[data-site-polish] :is(main, #main) .section-title {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-site-polish] :is(main, #main) .section-title > * {
    min-width: 0;
    max-width: 100%;
  }
  body[data-site-polish] :is(main, #main) .v32-folded-section { padding-block: 48px; }
  body[data-site-polish] :is(main, #main) :is(.text-link, .r4-text-link) {
    max-width: 100%;
    white-space: normal;
    line-height: 1.5;
    text-underline-offset: .22em;
  }
  body[data-site-polish] :is(main, #main) :is(section[id], h2[id], h3[id], .related-links[id]) {
    scroll-margin-top: 112px;
  }

  /* The cover, its provenance label and the review cycle are separate rows.
     The image stage accounts for the rotation and offset of the rear page. */
  body[data-site-polish].r4-home .r4-folio-stage {
    --folio-width: clamp(180px, calc((100svh - 340px) * .70665), 310px);
    display: grid;
    gap: 20px;
    height: auto;
    padding: 0;
    min-width: 0;
    margin-bottom: 0;
    align-self: start;
  }
  body[data-site-polish].r4-home .r4-hero-copy { align-self: start; }
  body[data-site-polish].r4-home .r4-evidence-anchor {
    position: static;
    margin: 0 8px;
  }
  body[data-site-polish].r4-home .r4-evidence-anchor::before {
    flex: 0 0 18px;
  }
  body[data-site-polish].r4-home .r4-folio-pages {
    position: relative;
    height: calc(var(--folio-width) * 1.41513 + 32px);
    margin: 0 8px;
  }
  body[data-site-polish].r4-home .r4-folio-sheet {
    top: 0;
    width: var(--folio-width);
  }
  body[data-site-polish].r4-home .r4-folio-page-1 { left: 0; }
  body[data-site-polish].r4-home .r4-folio-page-2 {
    right: 0;
    transform: rotate(2deg) translateY(16px);
  }
  body[data-site-polish].r4-home .r4-review-cycle {
    position: static;
    margin: 0 8px;
  }
  body[data-site-polish].r4-home .r4-review-action {
    min-height: 44px;
    margin-top: 12px;
    max-width: 100%;
    padding: 8px 16px;
  }
  body[data-site-polish].r4-home :is(main, #main) .r4-hero .r4-kicker {
    font-size: 22px;
    line-height: 1.25;
    letter-spacing: .1em;
  }
  body[data-site-polish].r4-home :is(main, #main) .r4-human-boundary {
    margin: 24px 0;
    line-height: 1.55;
  }
  body[data-site-polish].r4-home :is(main, #main) .r4-relationships {
    padding: 36px 0 40px;
  }
  body[data-site-polish].r4-home .r4-relationship-history-link {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    line-height: 1.55;
    overflow-wrap: normal;
    text-underline-offset: .22em;
  }
  body[data-site-polish].r4-home .r4-input-list > .r4-input-item {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }
  body[data-site-polish].r4-home .r4-input-list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  body[data-site-polish].r4-home .r4-input-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 16px;
    padding: 16px;
  }
  body[data-site-polish].r4-home .r4-input-item strong { margin-top: 0; }
  body[data-site-polish].r4-home .r4-input-list > .r4-input-item :is(strong, span) {
    overflow-wrap: normal;
    word-break: normal;
  }

  /* Keep the approved image-led analysis story and its Munich follow-on close. */
  body[data-site-polish].r4-home :is(main, #main) .sat-home-story {
    padding-bottom: 28px;
    padding-inline: 32px;
  }
  body[data-site-polish].r4-home .sat-home-grid { max-width: var(--r4-max); }
  body[data-site-polish].r4-home #neufreimann-intro {
    padding-top: 24px;
    padding-bottom: 48px;
  }
  body[data-site-polish].r4-home #neufreimann-intro .munich-copy {
    align-self: start;
    padding-top: 20px;
    max-width: 720px;
  }
  body[data-site-polish].r4-home #neufreimann-intro .munich-copy h2 {
    font-size: var(--type-section);
    line-height: 1.08;
    letter-spacing: -.035em;
    max-width: 100%;
  }
  body[data-site-polish].r4-home #neufreimann-intro .munich-copy .munich-action {
    margin-top: 24px;
  }

  /* Real route choices, not an extra unstyled link above the first item. */
  body[data-site-polish] :is(main, #main) .v32-contact-routes > .eyebrow {
    padding: 20px 0 8px;
    margin: 0;
  }
  body[data-site-polish] .v32-contact-routes a { min-width: 0; }
  body[data-site-polish] .v32-contact-routes a > * { min-width: 0; }
  body[data-site-polish] .hero-grid > * { min-width: 0; }
  body[data-site-polish] .v32-contact-routes a span {
    overflow-wrap: normal;
    word-break: normal;
  }

  body[data-site-polish] .r2-value-row article {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  body[data-site-polish] .r2-value-row article > a:last-child {
    margin-top: auto;
    padding-top: 24px;
    align-self: flex-start;
    max-width: 100%;
  }
  body[data-site-polish] .v31-fan-rear > span { display: none; }
  body[data-site-polish] .about-programme-cluster .about-programme-cluster-copy > h3 + p {
    color: #182733;
    font-size: 16px;
  }
  body[data-site-polish] .about-programme-cluster .about-programme-cluster-copy > p + p {
    color: #4b6475;
    font-size: 15px;
  }
  body[data-site-polish] .related-links {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px 28px;
    margin-top: 24px;
  }
  body[data-site-polish] .related-links > a {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    text-underline-offset: .22em;
  }
  body[data-site-polish] .v3-record-thread {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
  }
  body[data-site-polish] .v3-record-thread > span:not([aria-hidden]) {
    display: inline-block;
    white-space: normal;
    max-width: 100%;
  }

  @media (min-width: 981px) and (max-height: 800px) {
    body[data-site-polish].r4-home :is(main, #main) .r4-hero h1 {
      font-size: clamp(40px, 3.55vw, 50px);
    }
    body[data-site-polish].r4-home :is(main, #main) .r4-human-boundary {
      margin: 20px 0;
    }
  }
  @media (min-width: 1000px) {
    /* The two bank-hero sentences each fit a line at the normal desktop width. */
    body[data-site-polish] :is(main, #main) .hero:has(.v3-validate-path) h1 {
      font-size: clamp(36px, 3.4vw, 52px);
    }
  }
  @media (max-width: 1100px) {
    body[data-site-polish].r4-home .r4-input-list {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    body[data-site-polish].r4-home .r4-input-list > .r4-input-item { padding: 16px; }
  }
  @media (min-width: 721px) and (max-width: 980px) {
    body[data-site-polish].r4-home .r4-folio-stage {
      --folio-width: 310px;
      width: min(100%, 620px);
      margin-inline: auto;
    }
  }
  @media (max-width: 760px) {
    body[data-site-polish] {
      --type-title: clamp(36px, 12vw, 47px);
      --type-section: clamp(30px, 9.5vw, 37px);
      --type-panel: 28px;
      --type-heading: 18px;
      --type-feature: 26px;
      --space-section: 48px;
    }
    body[data-site-polish] :is(main, #main) h1 { letter-spacing: -.035em; }
    body[data-site-polish] .cri-n4.cri-web-r3 .hero-grid { grid-template-columns: minmax(0, 1fr); }
    body[data-site-polish] :is(main, #main) .about-founder-copy h2 { font-size: 37px; }
    body[data-site-polish] :is(main, #main) :is(.lead, .sat-lead) { font-size: 18px; }
    body[data-site-polish] :is(main, #main) :is(.section-head, .r4-section-head) { margin-bottom: 24px; }
    body[data-site-polish] :is(main, #main) .section.compact { padding-block: 32px; }
    body[data-site-polish] :is(main, #main) .v32-folded-section { padding-block: 20px; }
    body[data-site-polish].r4-home :is(main, #main) .r4-hero .r4-kicker {
      font-size: 18px;
      letter-spacing: .09em;
    }
    body[data-site-polish].r4-home .r4-folio-stage {
      --folio-width: min(65vw, 270px);
      gap: 20px;
      width: 100%;
      max-width: 480px;
      margin-inline: auto;
    }
    body[data-site-polish].r4-home .r4-review-interval { gap: 4px; }
    body[data-site-polish].r4-home .r4-input-item { display: block; }
    body[data-site-polish].r4-home .r4-input-item strong { margin-top: 8px; }
    body[data-site-polish].r4-home .r4-relationship-history-link {
      grid-column: auto;
      justify-self: stretch;
      padding: 0;
    }
    body[data-site-polish].r4-home #neufreimann-intro .munich-copy { padding-top: 0; }
    body[data-site-polish].r4-home :is(main, #main) .sat-home-story { padding-inline: 18px; }
    body[data-site-polish] .related-links { gap: 16px; }
  }
  @media (max-width: 380px) {
    body[data-site-polish].r4-home :is(main, #main) .sat-home-story { padding-inline: 14px; }
  }
}
