/*
Theme Name: ProjectArt
Theme URI: https://projectart.org
Author: ProjectArt
Description: The ProjectArt electric-on-ink design system as a WordPress theme. Cities and residency artists are custom post types; editable copy, stats, press links and partner logos are Secure Custom Fields. Polylang-ready.
Version: 1.6.1
Requires at least: 6.4
Requires PHP: 8.0
License: Proprietary
Text Domain: projectart
*/

/* ==========================================================================
   1. Fonts
   ========================================================================== */

@font-face {
  font-family: 'Maax';
  src: url('assets/fonts/maax.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maax';
  src: url('assets/fonts/maaxmedium.otf') format('opentype');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maax';
  src: url('assets/fonts/maaxbold.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Maax Mono';
  src: url('assets/fonts/Maax-RegularMono.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}

/* ==========================================================================
   2. Tokens
   ========================================================================== */

:root {
  --pa-ink: #050505;
  --pa-paper: #FFFFFF;
  --pa-body-ink: #231F20;
  --pa-magenta: #CB1CA4;
  --pa-magenta-hot: #FF00E5;
  --pa-yellow: #FFD600;
  --pa-cyan: #00F0FF;
  --pa-gray: #6F6F6F;
  --pa-gray-line: #C1C1C1;
  --pa-rule-dark: rgba(255, 255, 255, 0.2);
  --pa-on-ink-soft: rgba(255, 255, 255, 0.75);
  --pa-on-ink-faint: rgba(255, 255, 255, 0.45);
  --pa-on-magenta: rgba(255, 255, 255, 0.85);

  --pa-sans: 'Maax', system-ui, -apple-system, sans-serif;
  --pa-mono: 'Maax Mono', ui-monospace, SFMono-Regular, monospace;

  --pa-gutter: 122px;
  --pa-content: 1196px;
  --pa-ease: 240ms ease-out;
}

/* ==========================================================================
   3. Reset + base
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

/* The page is capped at the 1440 canvas and centred; past that the surround is
   flat ink, so bands never stretch with the browser. */
html { -webkit-text-size-adjust: 100%; background: var(--pa-ink); }

body {
  max-width: 1440px;
  margin: 0 auto;
  background: var(--pa-ink);
  color: var(--pa-paper);
  font-family: var(--pa-sans);
  font-weight: 400;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; }
img { border-style: none; }

a { color: var(--pa-magenta-hot); text-decoration: none; transition: color var(--pa-ease); }
a:hover, a:focus-visible { color: var(--pa-link-hover, var(--pa-paper)); }

/* Link hover follows the surface the link sits on. Paper on ink and magenta;
   magenta on white and #F5F5F5; ink on yellow. Nested surfaces win because
   the nearest ancestor that sets the property is the one that applies. */
.pa-band--ink, .pa-splitband--ink, .pa-statband, .pa-statement--magenta, .pa-splitband--magenta,
.pa-th-compare__cell--b, .pa-drawer, .pa-nav { --pa-link-hover: var(--pa-paper); }
.pa-band--paper, .pa-band--mist, .pa-footer, .pa-quote, .pa-branch, .pa-person, .pa-juror,
.pa-th-player, .pa-th-rule, .pa-th-tile, .pa-th-compare__cell--a { --pa-link-hover: var(--pa-magenta); }
.pa-adm, .pa-resband, .pa-splitband--yellow, .pa-statement--yellow, .pa-dated, .pa-th-yellow,
.pa-register, .pa-mark { --pa-link-hover: var(--pa-ink); }

button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

:focus-visible { outline: 2px solid var(--pa-magenta-hot); outline-offset: 3px; }

.pa-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.pa-skip {
  position: absolute; left: 24px; top: -60px; z-index: 100;
  background: var(--pa-magenta-hot); color: var(--pa-paper);
  padding: 12px 20px; border-radius: 999px; font-size: 13px;
  font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase;
  transition: top var(--pa-ease);
}
.pa-skip:focus { top: 18px; color: var(--pa-paper); }

@keyframes paRise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   4. Bands — the horizontal rhythm every section sits in
   ========================================================================== */

.pa-band {
  padding: 112px var(--pa-gutter);
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.pa-band--ink    { background: var(--pa-ink); color: var(--pa-paper); }
.pa-band--paper  { background: var(--pa-paper); color: var(--pa-ink); }
.pa-band--ruled  { border-bottom: 1px solid var(--pa-rule-dark); }
.pa-band--flush  { padding-top: 0; padding-bottom: 0; }

/* Beyond the design canvas the bands stay full-bleed while the content
   column stays 1196px and centred. Percentages, not vw: 100vw includes the
   scrollbar and the layout box does not. */
@media (min-width: 1441px) {
  .pa-band, .pa-nav, .pa-stats, .pa-cities, .pa-footer { padding-left: calc(50% - 598px); padding-right: calc(50% - 598px); }
  .pa-hero__text { padding-left: calc(100% - 598px); }
  .pa-hero { grid-template-columns: 50% 598px; }
}
@media (min-width: 1101px) and (max-width: 1440px) {
  .pa-band, .pa-nav, .pa-stats { padding-left: 8.5vw; padding-right: 8.5vw; }
  .pa-hero__text { padding-left: 8.5vw; }
  .pa-cities, .pa-footer { padding-left: 8.5vw; padding-right: 8.5vw; }
  .pa-adm__text { padding-right: 8.5vw; }
  .pa-quote__text { padding-left: 8.5vw; }
}

/* ==========================================================================
   5. Type
   ========================================================================== */

.pa-eyebrow {
  font-family: var(--pa-mono);
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pa-magenta);
}
.pa-eyebrow--cyan  { color: var(--pa-cyan); }
.pa-eyebrow--faint { color: var(--pa-on-ink-faint); }

.pa-h1 {
  margin: 0;
  font-size: 96px;
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 400;
  text-wrap: pretty;
}
.pa-h2 {
  margin: 0;
  font-size: 72px;
  line-height: 0.96;
  letter-spacing: -0.05em;
  font-weight: 400;
  text-wrap: pretty;
}
.pa-h3 {
  margin: 0;
  font-size: 45px;
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 400;
  text-wrap: pretty;
}
.pa-lead {
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: -0.045em;
  max-width: 540px;
  text-wrap: pretty;
}
.pa-body {
  margin: 0;
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: -0.025em;
  max-width: 560px;
  text-wrap: pretty;
}
.pa-body--lg { font-size: 24px; line-height: 1.4; }
.pa-body--sm { font-size: 16px; line-height: 1.5; letter-spacing: 0; }
.pa-band--ink .pa-body { color: var(--pa-on-ink-soft); }
.pa-band--paper .pa-body { color: var(--pa-body-ink); }

.pa-mark { background: var(--pa-yellow); color: var(--pa-ink); padding: 0 4px; }
.pa-hot { color: var(--pa-magenta-hot); }

/* WYSIWYG content from the editor */
.pa-rte > * + * { margin-top: 1.1em; }
.pa-rte { font-size: 20px; line-height: 1.5; letter-spacing: -0.025em; max-width: 720px; }
.pa-rte h2 { font-size: 45px; line-height: 1.02; letter-spacing: -0.045em; font-weight: 400; margin-top: 1.6em; }
.pa-rte h3 { font-size: 28px; line-height: 1.15; letter-spacing: -0.035em; font-weight: 500; margin-top: 1.5em; }
.pa-rte ul, .pa-rte ol { padding-left: 1.1em; }
.pa-rte li + li { margin-top: 0.4em; }
.pa-rte blockquote {
  margin: 1.6em 0; padding-left: 28px;
  border-left: 2px solid var(--pa-magenta);
  font-size: 28px; line-height: 1.2; letter-spacing: -0.035em;
}
.pa-rte img { height: auto; display: block; }
.pa-band--ink .pa-rte { color: var(--pa-on-ink-soft); }
.pa-band--ink .pa-rte h2, .pa-band--ink .pa-rte h3 { color: var(--pa-paper); }
.pa-band--paper .pa-rte { color: var(--pa-body-ink); }
.pa-band--paper .pa-rte h2, .pa-band--paper .pa-rte h3 { color: var(--pa-ink); }

/* ==========================================================================
   6. Buttons
   ========================================================================== */

.pa-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.02em;
  cursor: pointer;
  transition: background var(--pa-ease), color var(--pa-ease), border-color var(--pa-ease);
}
.pa-btn--solid {
  background: var(--pa-paper);
  color: var(--pa-ink);
  padding: 18px 32px;
}
.pa-btn--solid:hover, .pa-btn--solid:focus-visible {
  background: var(--pa-magenta-hot);
  color: var(--pa-paper);
}
.pa-btn--outline {
  color: var(--pa-paper);
  padding: 16px 30px;
  border: 2px solid rgba(255, 255, 255, 0.5);
}
.pa-btn--outline:hover, .pa-btn--outline:focus-visible {
  border-color: var(--pa-magenta-hot);
  color: var(--pa-magenta-hot);
}
.pa-btn--dark {
  color: var(--pa-ink);
  padding: 14px 26px;
  border: 2px solid var(--pa-ink);
}
.pa-btn--dark:hover, .pa-btn--dark:focus-visible {
  background: var(--pa-ink);
  color: var(--pa-paper);
}
.pa-btn--magenta {
  background: var(--pa-magenta);
  color: var(--pa-paper);
  padding: 12px 22px;
  font-size: 13px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.pa-btn--magenta:hover, .pa-btn--magenta:focus-visible {
  background: var(--pa-magenta-hot);
  color: var(--pa-paper);
}

/* ==========================================================================
   7. Navigation
   ========================================================================== */

.pa-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px var(--pa-gutter);
  background: var(--pa-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  position: relative;
  z-index: 30;
}
.pa-wordmark {
  display: block;
  width: 170px;
  height: 35px;
  flex: none;
  background: var(--pa-paper);
  -webkit-mask: url('assets/projectart-wordmark.svg') no-repeat left center/contain;
  mask: url('assets/projectart-wordmark.svg') no-repeat left center/contain;
}
.pa-nav__desktop { display: flex; align-items: center; gap: 28px; }
.pa-nav__list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }

.pa-nav__link {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pa-paper);
  transition: color var(--pa-ease);
}
.pa-nav__link:hover, .pa-nav__link:focus-visible { color: var(--pa-magenta-hot); }
.pa-nav__item { position: relative; display: flex; align-items: center; padding: 26px 0; margin: -26px 0; }
.pa-nav__item.current-menu-item > .pa-nav__link,
.pa-nav__item.current-page-ancestor > .pa-nav__link {
  color: var(--pa-magenta-hot);
  padding-bottom: 3px;
  border-bottom: 2px solid var(--pa-magenta-hot);
}

.pa-nav__submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: -22px;
  z-index: 40;
  min-width: 230px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: var(--pa-ink);
  border: 1px solid var(--pa-rule-dark);
}
.pa-nav__item:hover > .pa-nav__submenu,
.pa-nav__item:focus-within > .pa-nav__submenu { display: block; }
.pa-nav__submenu .pa-nav__link { display: block; padding: 12px 22px; }

.pa-lang { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pa-lang a {
  font-family: var(--pa-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--pa-paper);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  padding: 10px 16px;
}
.pa-lang .current-lang a { color: var(--pa-magenta-hot); border-color: var(--pa-magenta-hot); }

.pa-nav__rule { width: 1px; height: 26px; background: rgba(255, 255, 255, 0.25); flex: none; }

.pa-nav__mobile { display: none; align-items: center; gap: 12px; }
.pa-burger {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-end;
  gap: 5px; width: 44px; height: 44px;
}
.pa-burger span { display: block; width: 24px; height: 2px; background: var(--pa-paper); }

/* Mobile drawer. In normal flow under the (non-sticky) nav, so a long menu
   scrolls with the page. Two type steps: 28px sections, 20px pages. */
.pa-drawer {
  display: none;
  flex-direction: column;
  background: var(--pa-ink);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  padding: 0 24px 28px;
  position: relative;
  z-index: 30;
}
.pa-drawer.is-open { display: flex; }
.pa-drawer ul { margin: 0; padding: 0; list-style: none; }
.pa-drawer__menu > li { border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.pa-drawer__link, .pa-drawer__parent {
  display: flex; align-items: center; min-height: 64px; padding: 12px 0;
  font-family: var(--pa-sans); font-size: 28px; font-weight: 400; line-height: 1.1; letter-spacing: -0.04em;
  color: var(--pa-paper); text-align: left; text-transform: none;
}
.pa-drawer__parent { width: 100%; justify-content: space-between; gap: 16px; }
.pa-drawer__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pa-drawer__row .pa-drawer__link { flex: 1; min-width: 0; }
.pa-drawer__toggle { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -10px; color: var(--pa-paper); }
.pa-drawer__parent .pa-drawer__toggle { margin-right: -10px; }
.pa-drawer__plus { position: relative; width: 16px; height: 16px; }
.pa-drawer__plus::before, .pa-drawer__plus::after { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 2px; background: currentColor; }
.pa-drawer__plus::after { transform: rotate(90deg); transition: opacity var(--pa-ease); }
[aria-expanded="true"] .pa-drawer__plus::after { opacity: 0; }
.pa-drawer__parent:hover, .pa-drawer__parent:focus-visible,
.pa-drawer__toggle:hover, .pa-drawer__toggle:focus-visible { color: var(--pa-magenta-hot); }
.pa-drawer__menu > li.current-menu-item > .pa-drawer__link,
.pa-drawer__menu > li.current-menu-item > .pa-drawer__row .pa-drawer__link,
.pa-drawer__menu > li.current-menu-ancestor > .pa-drawer__parent,
.pa-drawer__menu > li.current-menu-ancestor > .pa-drawer__row .pa-drawer__link { color: var(--pa-magenta-hot); }
.pa-drawer .sub-menu { display: none; padding: 0 0 16px; }
.pa-drawer .is-expanded > .sub-menu { display: block; }
.pa-drawer .sub-menu .pa-drawer__link {
  min-height: 48px; padding: 10px 0;
  font-size: 20px; line-height: 1.2; letter-spacing: -0.03em; color: var(--pa-on-ink-soft);
}
.pa-drawer .sub-menu .current-menu-item > .pa-drawer__link { color: var(--pa-magenta-hot); }
.pa-drawer .sub-menu .pa-drawer__link:hover, .pa-drawer .sub-menu .pa-drawer__link:focus-visible { color: var(--pa-paper); }
.pa-drawer__lang { display: flex; gap: 10px; padding-top: 24px; }
.pa-drawer__lang a { display: inline-flex; align-items: center; min-height: 44px; }

/* ==========================================================================
   8. Hero + stat band
   ========================================================================== */

.pa-hero {
  display: grid;
  grid-template-columns: 1.06fr 1fr;
  align-items: stretch;
  background: var(--pa-ink);
}
.pa-hero__text {
  padding: 96px 64px 88px var(--pa-gutter);
  display: flex;
  flex-direction: column;
  gap: 34px;
  animation: paRise 520ms ease-out both;
}
.pa-hero__photo { min-height: 720px; overflow: hidden; }
.pa-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 40%; display: block; }
.pa-hero__ctas { display: flex; align-items: center; gap: 14px; padding-top: 6px; flex-wrap: wrap; }

/* Column count comes from --pa-cols (2–4), set inline from the number of stats. */
.pa-stats {
  background: var(--pa-magenta);
  padding: 0 var(--pa-gutter);
  display: grid;
  grid-template-columns: repeat(var(--pa-cols, 4), minmax(0, 1fr));
}
.pa-stat {
  padding: 64px 40px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: -1px 0 0 rgba(255, 255, 255, 0.3);
}
.pa-stats > .pa-stat:first-child { box-shadow: none; padding-left: 0; }
.pa-stats > .pa-stat:last-child { padding-right: 0; }
.pa-stat__figure {
  font-size: 72px;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--pa-paper);
}
.pa-stat__label {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: var(--pa-on-magenta);
}

/* ==========================================================================
   8b. City page — switcher, admissions, schedules, quote, funders
   ========================================================================== */

.pa-h1--city { font-size: 120px; line-height: 0.88; letter-spacing: -0.055em; }
.pa-h2--sm { font-size: 64px; line-height: 1; }
.pa-hero__body { max-width: 520px; color: var(--pa-on-ink-soft); }
.pa-eyebrow--ink { color: var(--pa-ink); }

.pa-cities {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding: 20px var(--pa-gutter);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.pa-cities__label {
  font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pa-yellow); margin-right: 12px;
}
.pa-cities__pill {
  border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 999px; padding: 8px 17px;
  font-size: 18px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase;
  color: var(--pa-paper);
  transition: border-color var(--pa-ease), color var(--pa-ease);
}
a.pa-cities__pill:hover, a.pa-cities__pill:focus-visible { border-color: var(--pa-magenta-hot); color: var(--pa-magenta-hot); }
.pa-cities__pill.is-current { background: var(--pa-yellow); border-color: var(--pa-yellow); color: var(--pa-ink); }

.pa-btn--ink { background: var(--pa-ink); color: var(--pa-paper); padding: 18px 32px; align-self: flex-start; }
.pa-btn--ink:hover, .pa-btn--ink:focus-visible { background: var(--pa-magenta); color: var(--pa-paper); }
.pa-btn--square {
  border-radius: 0; background: var(--pa-paper); color: var(--pa-ink);
  justify-content: space-between; gap: 24px; align-self: flex-start; min-width: 380px;
  padding: 22px 30px; font-size: 20px;
}
.pa-btn--square:hover, .pa-btn--square:focus-visible { background: var(--pa-magenta); color: var(--pa-paper); }
.pa-btn--card { padding: 14px 26px; }

.pa-adm { display: grid; grid-template-columns: 1fr 1.05fr; align-items: stretch; background: var(--pa-yellow); color: var(--pa-ink); }
.pa-adm__photo { min-height: 620px; overflow: hidden; }
.pa-adm__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-adm__text { padding: 96px var(--pa-gutter) 96px 72px; display: flex; flex-direction: column; gap: 28px; justify-content: center; }
.pa-adm__text .pa-h2 { line-height: 0.94; }
.pa-adm__body { max-width: 500px; color: var(--pa-ink); }
.pa-facts { margin: 0; max-width: 500px; display: flex; flex-direction: column; gap: 14px; border-top: 2px solid rgba(5, 5, 5, 0.2); padding-top: 24px; }
.pa-facts__row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; }
.pa-facts dt { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; color: rgba(5, 5, 5, 0.6); }
.pa-facts dd { margin: 0; font-size: 20px; letter-spacing: -0.03em; text-align: right; }

.pa-sched { gap: 48px; }
.pa-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.pa-sec-head .pa-stack { gap: 20px; }
.pa-sec-head__note { margin: 0; font-size: 16px; line-height: 1.45; color: var(--pa-gray); max-width: 320px; }
.pa-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pa-branch {
  background: #F5F5F5; padding: 40px 36px; min-height: 420px;
  display: flex; flex-direction: column; gap: 28px;
  transition: background var(--pa-ease);
}
.pa-branch:hover { background: #EFEFEF; }
.pa-branch__head { display: flex; flex-direction: column; gap: 10px; }
.pa-branch__name { margin: 0; font-size: 45px; line-height: 1; letter-spacing: -0.045em; font-weight: 400; color: var(--pa-ink); }
.pa-branch__address { font-family: var(--pa-mono); font-size: 16px; line-height: 1.5; text-transform: uppercase; color: var(--pa-gray); overflow-wrap: anywhere; }
.pa-branch__artist { display: flex; align-items: center; gap: 12px; padding-top: 6px; }
.pa-branch__artist img { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; object-position: 50% 30%; flex: none; display: block; }
.pa-branch__artist > div { display: flex; flex-direction: column; gap: 2px; }
.pa-branch__artist-label { font-size: 16px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; color: var(--pa-gray); }
.pa-branch__artist-name { font-size: 24px; letter-spacing: -0.02em; color: var(--pa-ink); }
.pa-branch__sessions { display: flex; flex-direction: column; }
.pa-session {
  display: grid; grid-template-columns: 1.1fr 1fr 0.8fr; gap: 16px;
  padding: 14px 0; border-top: 1px solid #E9E9E9; font-size: 16px;
}
.pa-session:last-child { border-bottom: 1px solid #E9E9E9; }
.pa-session__day { color: var(--pa-ink); }
.pa-session__time { color: var(--pa-gray); }
.pa-session__ages { color: var(--pa-magenta); text-align: right; }
.pa-branch__ctas { display: flex; align-items: center; gap: 20px; margin-top: auto; flex-wrap: wrap; }
.pa-branch__directions { font-size: 16px; font-weight: 500; color: var(--pa-ink); }
.pa-branch__directions:hover, .pa-branch__directions:focus-visible { color: var(--pa-magenta); }

.pa-quote { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: var(--pa-paper); border-top: 1px solid #E9E9E9; }
.pa-quote__text { padding: 96px 72px 96px var(--pa-gutter); display: flex; flex-direction: column; gap: 30px; justify-content: center; }
.pa-quote__line { margin: 0; font-size: 40px; line-height: 1.1; letter-spacing: -0.045em; color: var(--pa-ink); text-wrap: pretty; }
.pa-quote__attr { font-size: 16px; letter-spacing: -0.02em; color: var(--pa-gray); }
.pa-quote__photo { height: 580px; overflow: hidden; }
.pa-quote__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pa-fund__aside { gap: 26px; padding-top: 8px; }
.pa-fund__aside .pa-body { max-width: none; }
.pa-supporters { display: flex; flex-direction: column; gap: 28px; border-top: 1px solid var(--pa-rule-dark); padding-top: 40px; }
.pa-partners { gap: 16px 32px; }

/* Language dropdown in the nav */
.pa-lang-menu__toggle {
  display: flex; align-items: center; gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 999px; padding: 11px 18px;
  font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--pa-paper);
  transition: border-color var(--pa-ease);
}
.pa-lang-menu__toggle:hover, .pa-lang-menu:focus-within .pa-lang-menu__toggle { border-color: var(--pa-magenta-hot); }
.pa-lang-menu__caret { font-size: 10px; }
.pa-lang-menu__list { left: auto; right: 0; min-width: 120px; }
.pa-lang-menu__list a {
  display: block; padding: 11px 18px;
  font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.55);
}
.pa-lang-menu__list a:hover, .pa-lang-menu__list a.is-current { color: var(--pa-magenta-hot); }

/* ==========================================================================
   9. Layout primitives
   ========================================================================== */

.pa-split { display: grid; grid-template-columns: 1fr 1.2fr; gap: 96px; align-items: start; }
.pa-split--even { grid-template-columns: 1fr 1fr; }
.pa-split--end { align-items: end; }
.pa-stack { display: flex; flex-direction: column; gap: 22px; }
.pa-stack--lg { gap: 34px; }
.pa-stack--sm { gap: 14px; }

.pa-photo { overflow: hidden; }
.pa-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-photo--bleed { min-height: 560px; }
.pa-caption {
  display: flex; flex-wrap: wrap; gap: 8px 20px;
  padding: 18px 0;
  border-top: 1px solid var(--pa-rule-dark);
  font-family: var(--pa-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pa-on-ink-faint);
}

/* Ledger — label/value rows used for schedules, budgets, city facts */
.pa-ledger { display: flex; flex-direction: column; }
.pa-ledger__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  padding: 16px 0;
  border-top: 1px solid var(--pa-rule-dark);
}
.pa-ledger__label { font-size: 16px; color: var(--pa-on-ink-soft); }
.pa-ledger__value { font-size: 24px; line-height: 1; letter-spacing: -0.035em; color: var(--pa-paper); }
.pa-band--paper .pa-ledger__row { border-color: var(--pa-gray-line); }
.pa-band--paper .pa-ledger__label { color: var(--pa-gray); }
.pa-band--paper .pa-ledger__value { color: var(--pa-ink); }

/* Card grid — cities, libraries, cohort members */
.pa-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1px; background: var(--pa-rule-dark); }
.pa-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pa-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pa-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px 24px;
  background: var(--pa-ink);
  transition: background var(--pa-ease);
}
a.pa-card:hover, a.pa-card:focus-visible { background: #0E0E0E; color: var(--pa-paper); }
.pa-card__name { font-size: 24px; line-height: 1.1; letter-spacing: -0.035em; color: var(--pa-paper); }
.pa-card__meta { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-on-ink-faint); }
.pa-card__portrait { aspect-ratio: 4 / 5; overflow: hidden; background: #111; }
.pa-card__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ==========================================================================
   10. Press, partners, footer
   ========================================================================== */

.pa-press { display: flex; align-items: center; gap: 64px; flex-wrap: wrap; }
.pa-press a { display: flex; align-items: center; }
.pa-press img { height: 55px; width: auto; display: block; transition: transform var(--pa-ease); }
.pa-press a:hover img, .pa-press a:focus-visible img { transform: translateY(-6px); }

.pa-partners { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.pa-partners__name { font-size: 28px; line-height: 1.1; letter-spacing: -0.03em; color: var(--pa-paper); }
.pa-partners__rule { width: 1px; height: 24px; background: rgba(255, 255, 255, 0.3); flex: none; }
.pa-partners img { max-height: 56px; width: auto; display: block; }

.pa-footer { background: var(--pa-paper); color: var(--pa-ink); padding: 64px var(--pa-gutter); display: flex; flex-direction: column; gap: 40px; }
.pa-footer a { color: var(--pa-ink); }
.pa-footer a:hover, .pa-footer a:focus-visible { color: var(--pa-magenta); }
.pa-footer__top { display: grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap: 96px; align-items: start; }
.pa-footer__col { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pa-footer__col--brand { gap: 18px; }
.pa-footer__wordmark {
  display: block; width: 170px; height: 35px; flex: none; background: var(--pa-ink);
  -webkit-mask: url('assets/projectart-wordmark.svg') no-repeat left center/contain;
  mask: url('assets/projectart-wordmark.svg') no-repeat left center/contain;
  transition: background var(--pa-ease);
}
.pa-footer a.pa-footer__wordmark:hover { background: var(--pa-magenta); }
.pa-footer__blurb { font-size: 16px; line-height: 1.5; color: var(--pa-gray); max-width: 280px; }
.pa-footer__contact { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; font-size: 16px; line-height: 1.5; }
.pa-footer__contact a { white-space: nowrap; }
.pa-footer__muted { color: var(--pa-gray); }
.pa-footer__sep { color: var(--pa-gray-line); }
.pa-footer__head { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; color: var(--pa-gray); }
.pa-badges { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.pa-badges a { display: block; }
.pa-badges img { height: 92px; width: auto; display: block; }
.pa-footer__legal { font-family: var(--pa-mono); font-size: 12px; color: var(--pa-magenta); }

/* Newsletter signup — the theme's own form, and any plugin form dropped in */
.pa-signup { gap: 16px; }
.pa-signup__form, .pa-signup__plugin form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.pa-signup__input,
.pa-signup__plugin input[type="text"],
.pa-signup__plugin input[type="email"] {
  width: 100%; box-sizing: border-box; margin: 0;
  font-family: var(--pa-sans); font-size: 16px; color: var(--pa-ink);
  background: transparent; border: 2px solid var(--pa-ink); border-radius: 999px;
  padding: 14px 22px; outline: none;
}
.pa-signup__email { display: flex; align-items: center; gap: 8px; border: 2px solid var(--pa-ink); border-radius: 999px; padding: 6px 6px 6px 22px; }
.pa-signup__email input { flex: 1; min-width: 0; font-family: var(--pa-sans); font-size: 16px; color: var(--pa-ink); background: transparent; border: 0; outline: none; padding: 8px 0; }
.pa-signup__email button,
.pa-signup__plugin button, .pa-signup__plugin input[type="submit"] {
  flex: none; font-family: var(--pa-sans); background: var(--pa-ink); color: var(--pa-paper);
  padding: 12px 22px; border: 0; border-radius: 999px;
  font-size: 13px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase;
  cursor: pointer; transition: background var(--pa-ease);
}
.pa-signup__email button:hover, .pa-signup__email button:focus-visible,
.pa-signup__plugin button:hover, .pa-signup__plugin input[type="submit"]:hover { background: var(--pa-magenta); }
.pa-signup__plugin input[type="submit"] { align-self: flex-start; }
.pa-signup__plugin label { font-size: 13px; color: var(--pa-gray); }
.pa-signup__plugin p { margin: 0; }
.pa-signup input::placeholder, .pa-signup__plugin input::placeholder { color: rgba(5, 5, 5, 0.35); }
.pa-signup__email:focus-within, .pa-signup__input:focus { border-color: var(--pa-magenta); }

/* ==========================================================================
   11. Filter chips (residency archive)
   ========================================================================== */

.pa-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.pa-chip {
  font-family: var(--pa-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pa-paper);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  padding: 11px 18px;
  transition: border-color var(--pa-ease), color var(--pa-ease), background var(--pa-ease);
}
.pa-chip:hover, .pa-chip:focus-visible { border-color: var(--pa-magenta-hot); color: var(--pa-magenta-hot); }
.pa-chip.is-active { background: var(--pa-magenta); border-color: var(--pa-magenta); color: var(--pa-paper); }

/* Year rows */
.pa-year { border-top: 1px solid var(--pa-rule-dark); }
.pa-year__head {
  display: flex; align-items: baseline; justify-content: space-between; gap: 20px;
  width: 100%; padding: 26px 0; text-align: left;
}
.pa-year__label { font-size: 45px; line-height: 1; letter-spacing: -0.045em; color: var(--pa-paper); }
.pa-year__count { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-on-ink-faint); }
.pa-year__body { padding-bottom: 40px; }
.pa-year[hidden] { display: none; }

/* ==========================================================================
   11b. Artists page (1.3.0)
   ========================================================================== */

.pa-band.pa-art-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; align-items: start; padding-top: 104px; padding-bottom: 88px; animation: paRise 520ms ease-out both; }
.pa-art-hero__title { margin: 0; font-size: 72px; line-height: 0.92; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-paper); text-wrap: pretty; }
.pa-art-hero__side { display: flex; flex-direction: column; gap: 26px; }
.pa-art-hero__lead { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -0.03em; color: var(--pa-on-ink-soft); text-wrap: pretty; }
.pa-art-stats { display: grid; border-top: 1px solid var(--pa-rule-dark); padding-top: 24px; }
.pa-art-stat { display: flex; flex-direction: column; gap: 6px; padding: 0 24px; box-shadow: -1px 0 0 var(--pa-rule-dark); }
.pa-art-stat:first-child { padding-left: 0; box-shadow: none; }
.pa-art-stat:last-child { padding-right: 0; }
.pa-art-stat__figure { font-size: 45px; line-height: 1; letter-spacing: -0.045em; color: var(--pa-paper); }
.pa-art-stat:nth-child(3) .pa-art-stat__figure { color: var(--pa-yellow); }
.pa-art-stat__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-on-ink-faint); }

.pa-band.pa-art-controls { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 0; padding-bottom: 40px; }
.pa-art-controls__cities { display: flex; flex-wrap: wrap; gap: 10px; }
.pa-art-pill {
  border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.3); padding: 9px 19px;
  font-size: 13px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; color: var(--pa-paper); text-decoration: none;
  transition: border-color var(--pa-ease), color var(--pa-ease);
}
.pa-art-pill:hover, .pa-art-pill:focus-visible { border-color: var(--pa-magenta-hot); color: var(--pa-magenta-hot); }
.pa-art-controls__all { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.pa-art-controls__all[hidden] { display: none; }
.pa-art-toggle { font-family: var(--pa-mono); font-size: 14px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-paper); transition: color var(--pa-ease); }
.pa-art-toggle + .pa-art-toggle { color: var(--pa-on-ink-faint); }
.pa-art-toggle:hover, .pa-art-toggle:focus-visible { color: var(--pa-magenta-hot); }

.pa-band.pa-art-cities { gap: 0; padding-top: 0; padding-bottom: 64px; }
.pa-art-city { border-top: 2px solid rgba(255, 255, 255, 0.5); }
.pa-art-city__head { display: grid; grid-template-columns: 1fr auto auto; gap: 32px; align-items: baseline; padding: 26px 0; cursor: pointer; list-style: none; }
.pa-art-city__head::-webkit-details-marker { display: none; }
.pa-art-city__head::marker { content: ""; }
.pa-art-city__name { margin: 0; font-size: 45px; line-height: 1; letter-spacing: -0.045em; font-weight: 400; color: var(--pa-paper); transition: color var(--pa-ease); }
.pa-art-city__head:hover .pa-art-city__name { color: var(--pa-magenta-hot); }
.pa-art-city__count { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-cyan); }
.pa-art-city__mark { font-size: 32px; line-height: 1; color: var(--pa-paper); width: 24px; text-align: right; }
.pa-art-city__mark::before { content: "+"; }
.pa-art-city[open] .pa-art-city__mark::before { content: "\2212"; }
.pa-art-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-bottom: 56px; }
.pa-art-card { border: 1px solid var(--pa-rule-dark); display: flex; flex-direction: column; transition: border-color var(--pa-ease); }
.pa-art-card:hover { border-color: var(--pa-magenta-hot); }
.pa-art-card__portrait { height: 300px; overflow: hidden; background: #111; }
.pa-art-card__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.pa-art-card__body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 12px; }
.pa-art-card__branch { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta-hot); }
.pa-art-card__name { margin: 0; font-size: 32px; line-height: 1.05; letter-spacing: -0.04em; font-weight: 400; color: var(--pa-paper); }
.pa-art-card__bio { margin: 0; font-size: 16px; line-height: 1.5; color: var(--pa-on-ink-soft); text-wrap: pretty; }

.pa-resband { display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; background: var(--pa-yellow); color: var(--pa-ink); }
.pa-resband--solo { grid-template-columns: 1fr; }
.pa-resband__text { padding: 104px 72px 104px var(--pa-gutter); display: flex; flex-direction: column; gap: 28px; justify-content: center; }
.pa-resband__title { margin: 0; font-size: 60px; line-height: 0.94; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-ink); text-wrap: pretty; }
.pa-resband__body { margin: 0; max-width: 500px; font-size: 20px; line-height: 1.5; letter-spacing: -0.025em; color: var(--pa-ink); text-wrap: pretty; }
.pa-resband__photo { min-height: 480px; overflow: hidden; }
.pa-resband__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (min-width: 1441px) {
  .pa-resband:not(.pa-resband--solo) { grid-template-columns: 50% 50%; }
  .pa-resband__text { padding-left: calc(100% - 598px); }
  .pa-resband--solo .pa-resband__text { padding-left: calc(50% - 598px); }
}
@media (min-width: 1101px) and (max-width: 1440px) {
  .pa-resband__text { padding-left: 8.5vw; }
}

/* ==========================================================================
   12. Responsive
   ========================================================================== */

@media (max-width: 1100px) {
  .pa-nav { padding: 18px 24px; }
  .pa-nav__desktop { display: none; }
  .pa-nav__mobile { display: flex; }
  .pa-band { padding: 56px 24px 64px; gap: 40px; }
  .pa-footer { padding: 56px 24px 40px; gap: 32px; }
  .pa-footer__top { grid-template-columns: 1fr; gap: 32px; }
  .pa-badges img { height: 80px; }
  .pa-hero { grid-template-columns: 1fr; }
  .pa-hero__text { padding: 40px 24px 48px; gap: 24px; }
  .pa-hero__photo { min-height: 0; height: 420px; }
  .pa-split, .pa-split--even { grid-template-columns: 1fr; gap: 36px; }
  .pa-grid--3, .pa-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-h1 { font-size: 72px; }
  .pa-h2 { font-size: 44px; }
  .pa-h3 { font-size: 30px; }
  .pa-lead { font-size: 28px; max-width: none; }
  .pa-body { font-size: 17px; max-width: none; }
  .pa-body--lg { font-size: 19px; }
  .pa-rte { font-size: 17px; }
  .pa-rte h2 { font-size: 30px; }
  .pa-photo--bleed { min-height: 320px; }
  .pa-press { gap: 36px; }
  .pa-press img { height: 40px; }
  .pa-year__label { font-size: 30px; }
  .pa-h1--city { font-size: 60px; }
  .pa-h2--sm { font-size: 36px; }
  .pa-cities { padding: 16px 24px; }
  .pa-cities__pill { font-size: 14px; }
  .pa-adm, .pa-quote { grid-template-columns: 1fr; }
  .pa-adm__photo { order: 2; min-height: 0; aspect-ratio: 14 / 9; }
  .pa-adm__text, .pa-quote__text { padding: 56px 24px 64px; }
  .pa-quote__photo { height: auto; aspect-ratio: 14 / 9; }
  .pa-quote__line { font-size: 28px; }
  .pa-sec-head { flex-direction: column; align-items: stretch; gap: 18px; }
  .pa-sec-head__note { max-width: none; }
  .pa-branches { grid-template-columns: 1fr; }
  .pa-branch__name { font-size: 30px; }
  .pa-session { grid-template-columns: 1fr auto; gap: 4px 16px; }
  .pa-session__time { grid-row: 2; grid-column: 1; }
  .pa-session__ages { grid-row: 1; grid-column: 2; }
  .pa-btn--square { min-width: 0; align-self: stretch; font-size: 17px; }
  .pa-partners { flex-direction: column; align-items: flex-start; gap: 14px; }
  .pa-partners__rule { display: none; }
  .pa-partners__name { font-size: 21px; }
}

@media (max-width: 560px) {
  .pa-h1 { font-size: 52px; }
  .pa-lead { font-size: 24px; }
  .pa-hero__ctas { flex-direction: column; align-items: stretch; }
  .pa-btn { justify-content: center; }
  .pa-grid--3, .pa-grid--4 { grid-template-columns: 1fr; }
  .pa-branch { padding: 30px 22px; min-height: 0; }
  .pa-branch__address { font-size: 14px; }
  .pa-branch__ctas { flex-direction: column; align-items: flex-start; gap: 14px; }
}

@media (max-width: 1100px) {
  .pa-band.pa-art-hero { grid-template-columns: 1fr; gap: 28px; padding: 56px 24px 40px; }
  .pa-art-hero__title { font-size: 48px; }
  .pa-art-hero__lead { font-size: 19px; }
  .pa-art-stat { padding: 0 14px; }
  .pa-art-stat:first-child { padding-left: 0; }
  .pa-art-stat__figure { font-size: 30px; }
  .pa-band.pa-art-controls { padding: 0 24px 32px; gap: 14px; }
  .pa-art-controls__all { width: 100%; margin-left: 0; gap: 28px; padding-top: 8px; }
  .pa-band.pa-art-cities { padding: 0 24px 64px; }
  .pa-art-city__head { grid-template-columns: 1fr auto; gap: 6px 16px; }
  .pa-art-city__name { font-size: 30px; }
  .pa-art-city__count { grid-row: 2; grid-column: 1; }
  .pa-art-city__mark { grid-row: 1 / span 2; grid-column: 2; align-self: center; font-size: 28px; }
  .pa-art-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-art-card__name { font-size: 24px; }
  .pa-resband, .pa-resband:not(.pa-resband--solo) { grid-template-columns: 1fr; }
  .pa-resband__text { padding: 56px 24px 64px; }
  .pa-resband__title { font-size: 34px; }
  .pa-resband__body { font-size: 17px; max-width: none; }
  .pa-resband__photo { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 560px) {
  .pa-art-cards { grid-template-columns: 1fr; }
}

/* ==========================================================================
   11c. Page header (inset) and 1.4.0 bands
   ========================================================================== */

.pa-band.pa-hero-inset { display: grid; grid-template-columns: 1.15fr 1fr; gap: 96px; align-items: stretch; padding-top: 128px; padding-bottom: 112px; animation: paRise 520ms ease-out both; }
.pa-hero-inset__text { display: flex; flex-direction: column; gap: 40px; }
.pa-hero-inset__title { margin: 0; font-size: 72px; line-height: 0.94; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-paper); text-wrap: balance; }
.pa-hero-inset__lead { margin: 0; max-width: 620px; font-size: 24px; line-height: 1.4; letter-spacing: -0.025em; color: rgba(255, 255, 255, 0.8); text-wrap: pretty; }
.pa-hero-inset__photo { min-height: 420px; overflow: hidden; }
.pa-hero-inset__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; display: block; }

.pa-bandhead { margin: 0; font-size: 64px; line-height: 1; letter-spacing: -0.05em; font-weight: 400; text-wrap: pretty; }
.pa-bandhead--56 { font-size: 56px; line-height: 0.98; }
.pa-band--ink .pa-bandhead { color: var(--pa-paper); }
.pa-band--paper .pa-bandhead { color: var(--pa-ink); }

.pa-band.pa-statband { background: var(--pa-magenta); color: var(--pa-paper); padding-top: 0; padding-bottom: 0; }
.pa-statband__row { display: grid; grid-template-columns: repeat(var(--pa-cols, 4), minmax(0, 1fr)); }
.pa-statband__cell { padding: 64px 40px; display: flex; flex-direction: column; gap: 10px; box-shadow: -1px 0 0 rgba(255, 255, 255, 0.3); }
.pa-statband__cell:first-child { padding-left: 0; box-shadow: none; }
.pa-statband__cell:last-child { padding-right: 0; }
.pa-statband__figure { font-size: 72px; line-height: 1; letter-spacing: -0.05em; color: var(--pa-paper); }
.pa-statband__label { font-size: 16px; line-height: 1.4; letter-spacing: -0.02em; color: var(--pa-on-magenta); text-wrap: pretty; }

.pa-band.pa-evidence { gap: 72px; }
.pa-evidence__intro { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -0.025em; color: var(--pa-body-ink); text-wrap: pretty; }
.pa-evidence__ring { display: grid; grid-template-columns: 1fr auto 1fr; gap: 56px; align-items: center; }
.pa-evidence__ring--noart { grid-template-columns: 1fr 1fr; }
.pa-evidence__col { display: flex; flex-direction: column; gap: 56px; }
.pa-evidence__item { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pa-evidence__col--left .pa-evidence__item { align-items: flex-end; text-align: right; }
.pa-evidence__figure { font-size: 56px; line-height: 1; letter-spacing: -0.055em; color: var(--pa-magenta); }
.pa-evidence__text { font-size: 18px; line-height: 1.4; color: var(--pa-body-ink); max-width: 250px; text-wrap: pretty; }
.pa-evidence__rule { height: 1px; width: 100%; background: #E9E9E9; margin-top: 6px; }
.pa-evidence__art { padding: 0 24px; }
.pa-evidence__art img { width: 300px; height: auto; display: block; }

.pa-founder__title { margin: 0; font-size: 42px; line-height: 0.98; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-paper); text-wrap: balance; }
.pa-founder__title b { font-weight: 700; }
.pa-founder__body { max-width: none; }

.pa-band.pa-tl { gap: 0; }
.pa-band.pa-tl--joined { padding-top: 0; }
.pa-founder + .pa-tl--joined { margin-top: -40px; }
.pa-tl--joined .pa-tl__inner { border-top: 1px solid var(--pa-rule-dark); padding-top: 48px; }
.pa-tl__inner { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.pa-tl__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.pa-tl__title { margin: 0; font-size: 45px; line-height: 1.02; letter-spacing: -0.045em; font-weight: 400; color: var(--pa-paper); }
.pa-tl__controls { display: flex; align-items: center; gap: 10px; flex: none; }
.pa-tl__controls[hidden] { display: none; }
.pa-tl__count { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; color: rgba(255, 255, 255, 0.6); margin-right: 10px; }
.pa-tl__arrow { width: 48px; height: 48px; border-radius: 999px; border: 2px solid rgba(255, 255, 255, 0.5); color: var(--pa-paper); display: flex; align-items: center; justify-content: center; font-size: 18px; transition: border-color var(--pa-ease), color var(--pa-ease); }
.pa-tl__arrow:hover, .pa-tl__arrow:focus-visible { border-color: var(--pa-magenta-hot); color: var(--pa-magenta-hot); }
.pa-tl__track { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.pa-tl__track::-webkit-scrollbar { display: none; }
.pa-tl__track:focus-visible { outline: 2px solid var(--pa-magenta-hot); outline-offset: 4px; }
.pa-tl__col { width: 381px; flex: none; scroll-snap-align: start; display: flex; flex-direction: column; }
.pa-tl__year { font-size: 64px; line-height: 1; letter-spacing: -0.05em; color: var(--pa-paper); padding: 0 36px 22px 0; }
.pa-tl__line { position: relative; height: 11px; flex: none; }
.pa-tl__line::before { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 1px; background: var(--pa-rule-dark); }
.pa-tl__line::after { content: ""; position: absolute; left: 0; top: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--pa-magenta-hot); }
.pa-tl__entries { display: flex; flex-direction: column; gap: 18px; padding: 30px 36px 0 0; }
.pa-tl__entry { display: flex; flex-direction: column; gap: 6px; }
.pa-tl__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-cyan); }
.pa-tl__text { font-size: 16px; line-height: 1.5; color: var(--pa-on-ink-soft); }

.pa-band.pa-people { gap: 56px; }
.pa-people__group { display: flex; flex-direction: column; gap: 20px; }
.pa-people__label { color: var(--pa-gray); }
.pa-people__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pa-person { background: #F5F5F5; display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 22px; padding: 22px; align-items: start; }
.pa-person__photo { width: 132px; height: 132px; overflow: hidden; background: #E9E9E9; }
.pa-person__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; }
.pa-person__text { display: flex; flex-direction: column; gap: 6px; }
.pa-person__role { font-family: var(--pa-mono); font-size: 12px; line-height: 1.5; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta); white-space: pre-line; }
.pa-person__name { font-size: 24px; line-height: 1.05; letter-spacing: -0.035em; color: var(--pa-ink); }
.pa-people__names { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; }
.pa-people__names li { padding: 18px 0; border-top: 1px solid #E9E9E9; font-size: 24px; line-height: 1.2; letter-spacing: -0.035em; color: var(--pa-ink); }

.pa-band.pa-reports { gap: 48px; }
.pa-reports__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 64px; }
.pa-reports__intro { margin: 0; max-width: 320px; font-size: 16px; line-height: 1.45; color: rgba(255, 255, 255, 0.6); }
.pa-reports__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--pa-rule-dark); }
.pa-reports__cell { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 28px 24px; background: var(--pa-ink); color: var(--pa-paper); transition: background var(--pa-ease); }
a.pa-reports__cell:hover, a.pa-reports__cell:focus-visible { background: #1A1A1A; color: var(--pa-paper); }
.pa-reports__year { font-size: 45px; line-height: 1; letter-spacing: -0.045em; }
.pa-reports__meta { display: flex; align-items: center; gap: 12px; font-size: 20px; }
.pa-reports__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta-hot); }
.pa-reports__cell--off .pa-reports__year { color: rgba(255, 255, 255, 0.35); }
.pa-reports__cell--off .pa-reports__label { color: rgba(255, 255, 255, 0.3); }

@media (min-width: 1441px) {
  .pa-band.pa-hero-inset { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1100px) {
  .pa-band.pa-hero-inset { grid-template-columns: 1fr; gap: 28px; padding: 56px 24px 48px; }
  .pa-hero-inset__text { gap: 24px; }
  .pa-hero-inset__title { font-size: 52px; }
  .pa-hero-inset__lead { font-size: 20px; max-width: none; }
  .pa-hero-inset__photo { min-height: 0; aspect-ratio: 16 / 9; }
  .pa-bandhead, .pa-bandhead--56 { font-size: 40px; }
  .pa-evidence__intro { font-size: 19px; }
  .pa-band.pa-evidence { gap: 40px; }
  .pa-evidence__ring, .pa-evidence__ring--noart { grid-template-columns: 1fr; gap: 28px; }
  .pa-evidence__col { gap: 28px; }
  .pa-evidence__col--left .pa-evidence__item { align-items: flex-start; text-align: left; }
  .pa-evidence__text { max-width: none; }
  .pa-evidence__figure { font-size: 44px; }
  .pa-evidence__art { order: -1; padding: 0; }
  .pa-evidence__art img { width: 220px; }
  .pa-founder__title { font-size: 30px; }
  .pa-founder + .pa-tl--joined { margin-top: -24px; }
  .pa-tl--joined .pa-tl__inner { padding-top: 32px; }
  .pa-tl__head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .pa-tl__title { font-size: 32px; }
  .pa-tl__col { width: 100%; }
  .pa-tl__year { font-size: 52px; }
  .pa-tl__entries { padding-right: 0; }
  .pa-band.pa-people { gap: 40px; }
  .pa-people__cards, .pa-people__names { grid-template-columns: 1fr; column-gap: 0; }
  .pa-reports__head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .pa-reports__grid { grid-template-columns: 1fr 1fr; }
  .pa-reports__cell { padding: 20px 18px; }
  .pa-reports__year { font-size: 32px; }
  .pa-reports__cell--off .pa-reports__label { display: none; }
}
@media (max-width: 560px) {
  .pa-person { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 16px; }
  .pa-person__photo { width: 96px; height: 96px; }
}

/* ==========================================================================
   12b. 1.5.0 — header extras, new bands, Thesis template
   ========================================================================== */

.pa-admin-hint { margin: 0; font-family: var(--pa-mono); font-size: 12px; line-height: 1.5; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-yellow); }

/* Founder band — eyebrow, heading size and links pinned so nothing upstream can override them */
.pa-band.pa-founder .pa-founder__eyebrow { color: var(--pa-cyan); }
.pa-band.pa-founder .pa-founder__title { font-size: 42px; line-height: 0.98; letter-spacing: -0.05em; }
.pa-founder__body a { color: var(--pa-magenta-hot); }
.pa-founder__body a:hover, .pa-founder__body a:focus-visible { color: var(--pa-paper); }
.pa-founder__cta { padding-top: 4px; }

/* Buttons */
.pa-btn--sm { padding: 12px 24px; font-size: 13px; letter-spacing: 0.02em; text-transform: uppercase; }
.pa-btn--square-outline, .pa-btn--square-hot { border-radius: 0; justify-content: space-between; gap: 24px; font-size: 20px; letter-spacing: -0.03em; }
.pa-btn--square-outline { color: var(--pa-paper); border: 2px solid rgba(255, 255, 255, 0.4); padding: 18px 26px; }
.pa-btn--square-outline:hover, .pa-btn--square-outline:focus-visible { border-color: var(--pa-magenta-hot); color: var(--pa-magenta-hot); }
.pa-btn--square-hot { background: var(--pa-magenta-hot); color: var(--pa-paper); padding: 24px 30px; }
.pa-btn--square-hot:hover, .pa-btn--square-hot:focus-visible { background: var(--pa-magenta); color: var(--pa-paper); }
.pa-hero-stack { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pa-hero-stack .pa-btn { align-self: stretch; min-width: 0; }
.pa-hero-stack__note { font-family: var(--pa-mono); font-size: 12px; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255, 255, 255, 0.45); }

/* Page header extras */
.pa-lead--hero { font-size: 24px; line-height: 1.4; letter-spacing: -0.03em; max-width: 520px; color: var(--pa-paper); }
.pa-hero-plain .pa-hero__body, .pa-hero-inset__text .pa-hero__body { margin: 0; font-size: 20px; line-height: 1.5; letter-spacing: -0.025em; text-wrap: pretty; }
.pa-figline { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin: 0; font-size: 16px; font-weight: 500; letter-spacing: -0.02em; color: var(--pa-on-ink-soft); }
a.pa-figline:hover, a.pa-figline:focus-visible { color: var(--pa-paper); }
.pa-figline__fig { color: var(--pa-magenta-hot); }

.pa-band.pa-hero-plain { gap: 40px; padding-top: 96px; padding-bottom: 88px; animation: paRise 520ms ease-out both; }
.pa-hero-plain__title { max-width: 1150px; line-height: 0.94; }
.pa-hero-plain__split { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 96px; align-items: start; padding-top: 8px; }
.pa-hero-plain__lead { margin: 0; max-width: 620px; font-size: 24px; line-height: 1.4; letter-spacing: -0.025em; color: rgba(255, 255, 255, 0.8); text-wrap: pretty; }
.pa-band.pa-hero-plain--aside { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 96px; align-items: start; padding-top: 128px; padding-bottom: 120px; }
.pa-hero-plain__text { display: flex; flex-direction: column; gap: 44px; min-width: 0; }
.pa-hero-plain__text .pa-hero__ctas { padding-top: 0; }

.pa-hero-aside { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.pa-notice { display: flex; align-items: flex-start; gap: 14px; border: 1px solid var(--pa-yellow); padding: 24px 26px; }
.pa-notice__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--pa-yellow); flex: none; margin-top: 10px; }
.pa-notice__text { margin: 0; font-size: 22px; line-height: 1.45; letter-spacing: -0.02em; color: var(--pa-paper); text-wrap: pretty; }
.pa-notice__mark { color: var(--pa-yellow); }
.pa-facts { display: flex; flex-direction: column; }
.pa-facts__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-on-ink-faint); padding-bottom: 16px; }
.pa-facts__list { margin: 0; }
.pa-facts__row { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 18px 0; border-top: 1px solid var(--pa-rule-dark); }
.pa-facts__row:last-child { border-bottom: 1px solid var(--pa-rule-dark); }
.pa-facts__row dt { font-size: 16px; color: var(--pa-on-ink-soft); }
.pa-facts__row dd { margin: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.pa-facts__value { font-size: 32px; line-height: 1; letter-spacing: -0.04em; color: var(--pa-paper); }
.pa-facts__note { font-size: 16px; color: var(--pa-on-ink-soft); }

/* Shared head row: heading left, note or button right */
.pa-headrow { display: flex; align-items: flex-end; justify-content: space-between; gap: 64px; }
.pa-headrow > .pa-stack { min-width: 0; }
.pa-headrow .pa-btn { flex: none; }
.pa-headrow__aside { margin: 0; max-width: 320px; font-size: 16px; line-height: 1.45; color: rgba(255, 255, 255, 0.6); }

/* Funders directory */
.pa-band.pa-funders { gap: 72px; }
.pa-funders__title { margin: 0; font-size: 96px; line-height: 0.94; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-ink); text-wrap: pretty; }
.pa-funders__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 96px; row-gap: 72px; }
.pa-funders__group { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.pa-funders__group--half { grid-column: auto; }
.pa-funders__label { margin: 0; display: flex; align-items: center; gap: 24px; font-family: var(--pa-mono); font-size: 12px; font-weight: 400; line-height: 1.3; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-ink); }
.pa-funders__label::after { content: ""; flex: 1; height: 1px; background: #E9E9E9; }
.pa-funders__names { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 96px; }
.pa-funders__group--half .pa-funders__names { columns: 1; }
.pa-funders__names li { font-size: 18px; line-height: 1.35; letter-spacing: -0.02em; color: var(--pa-body-ink); break-inside: avoid; }

/* Split callout */
.pa-splitband { display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; }
.pa-splitband--yellow { background: var(--pa-yellow); color: var(--pa-ink); }
.pa-splitband--ink { background: var(--pa-ink); color: var(--pa-paper); }
.pa-splitband--left { grid-template-columns: 1fr 1.05fr; }
.pa-splitband--solo { grid-template-columns: 1fr; }
.pa-splitband__text { padding: 104px 72px 104px var(--pa-gutter); display: flex; flex-direction: column; gap: 28px; justify-content: center; min-width: 0; }
.pa-splitband--left .pa-splitband__text { padding: 104px var(--pa-gutter) 104px 72px; }
.pa-splitband--solo .pa-splitband__text { padding-right: var(--pa-gutter); }
.pa-splitband--left .pa-splitband__photo { order: -1; }
.pa-splitband__title { margin: 0; font-size: 80px; line-height: 0.94; letter-spacing: -0.05em; font-weight: 400; color: inherit; text-wrap: pretty; }
.pa-splitband__body { margin: 0; max-width: 500px; font-size: 20px; line-height: 1.5; letter-spacing: -0.025em; color: inherit; text-wrap: pretty; }
.pa-splitband--ink .pa-splitband__body { color: var(--pa-on-ink-soft); }
.pa-splitband--yellow .pa-splitband__eyebrow { color: rgba(5, 5, 5, 0.7); }
.pa-splitband--ink .pa-splitband__eyebrow { color: var(--pa-cyan); }
.pa-splitband .pa-btn { align-self: flex-start; }
.pa-splitband__photo { min-height: 480px; overflow: hidden; }
.pa-splitband__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 1101px) and (max-width: 1440px) {
  .pa-splitband__text { padding-left: 8.5vw; }
  .pa-splitband--left .pa-splitband__text { padding-left: 72px; padding-right: 8.5vw; }
  .pa-splitband--solo .pa-splitband__text { padding-right: 8.5vw; }
  .pa-th-photo__panel { padding-right: 8.5vw; }
}

/* Statement / highlight quote */
.pa-band.pa-statement { padding-top: 88px; padding-bottom: 88px; }
.pa-statement--magenta { background: var(--pa-magenta); color: var(--pa-paper); }
.pa-statement--yellow { background: var(--pa-yellow); color: var(--pa-ink); }
.pa-band.pa-statement--split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 96px; align-items: center; }
.pa-statement__text { margin: 0; max-width: 1100px; font-size: 40px; line-height: 1.12; letter-spacing: -0.04em; color: inherit; text-wrap: pretty; }
.pa-knock { background: var(--pa-ink); color: var(--pa-yellow); padding: 0 8px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.pa-statement__title { margin: 0; font-size: 45px; line-height: 1.02; letter-spacing: -0.045em; font-weight: 400; color: inherit; }
.pa-statement--yellow .pa-statement__eyebrow { color: rgba(5, 5, 5, 0.7); }
.pa-statement--magenta .pa-statement__eyebrow { color: rgba(255, 255, 255, 0.85); }
.pa-statement__attr { font-size: 16px; letter-spacing: -0.02em; }

/* Expandable rows */
.pa-band.pa-rows { gap: 56px; }
.pa-rows__head { display: grid; grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.pa-rows__head > .pa-stack { grid-column: 1 / 3; }
.pa-rows__title { max-width: 560px; text-wrap: balance; }
.pa-rows__intro { display: flex; flex-direction: column; gap: 28px; }
.pa-rows__lead { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -0.025em; color: var(--pa-body-ink); text-wrap: pretty; }
.pa-rows__more { margin: 0; font-size: 20px; line-height: 1.5; letter-spacing: -0.025em; color: var(--pa-gray); text-wrap: pretty; }
.pa-rows__list { border-bottom: 1px solid #E9E9E9; }
.pa-rows__row { display: grid; grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1.2fr); column-gap: 48px; align-items: center; padding: 32px 0; border-top: 1px solid #E9E9E9; }
.pa-rows__num { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--pa-magenta); }
.pa-rows__name { margin: 0; font-weight: 400; }
.pa-rows__toggle { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; text-align: left; font-size: 40px; line-height: 1.05; letter-spacing: -0.04em; color: var(--pa-ink); transition: color var(--pa-ease); }
.pa-rows__toggle:hover, .pa-rows__toggle:focus-visible { color: var(--pa-magenta); }
.pa-rows__mark { flex: none; width: 28px; text-align: center; font-size: 32px; line-height: 1; }
.pa-rows__mark::before { content: "\2212"; }
.pa-rows__toggle[aria-expanded="false"] .pa-rows__mark::before { content: "+"; }
.pa-rows__body p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--pa-gray); text-wrap: pretty; }

/* Numbered stages */
.pa-band.pa-stages { gap: 56px; }
.pa-stages__cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pa-stages__card { border: 1px solid var(--pa-rule-dark); padding: 40px 34px; display: flex; flex-direction: column; justify-content: space-between; gap: 44px; min-height: 220px; transition: border-color var(--pa-ease); }
.pa-stages__card:hover { border-color: var(--pa-magenta-hot); }
.pa-stages__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; color: var(--pa-magenta-hot); }
.pa-stages__text { display: flex; flex-direction: column; gap: 10px; }
.pa-stages__title { font-size: 32px; line-height: 1.05; letter-spacing: -0.04em; color: var(--pa-paper); }
.pa-stages__body { font-size: 16px; line-height: 1.45; color: rgba(255, 255, 255, 0.6); }
.pa-stages__prose { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 96px; align-items: start; border-top: 1px solid var(--pa-rule-dark); padding-top: 48px; }
.pa-stages .pa-btn { align-self: flex-start; }

/* Dated callout */
.pa-band.pa-dated { background: var(--pa-yellow); color: var(--pa-ink); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 96px; align-items: center; padding-top: 72px; padding-bottom: 72px; }
.pa-dated__eyebrow { color: rgba(5, 5, 5, 0.7); }
.pa-dated__date { margin: 0; font-size: 64px; line-height: 0.96; letter-spacing: -0.05em; }
.pa-dated__side { display: flex; flex-direction: column; gap: 26px; }
.pa-dated__body { margin: 0; font-size: 24px; line-height: 1.35; letter-spacing: -0.03em; text-wrap: pretty; }
.pa-dated__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.pa-dated__note { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(5, 5, 5, 0.7); }
a.pa-dated__note:hover, a.pa-dated__note:focus-visible { color: var(--pa-ink); }

/* Cohort roster */
.pa-band.pa-roster { gap: 48px; }
.pa-roster__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; }
.pa-roster__city { border: 1px solid var(--pa-rule-dark); padding: 32px 28px; display: flex; flex-direction: column; gap: 22px; min-width: 0; transition: border-color var(--pa-ease); }
.pa-roster__city:hover { border-color: var(--pa-magenta-hot); }
.pa-roster__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--pa-rule-dark); padding-bottom: 14px; }
.pa-roster__name { margin: 0; font-family: var(--pa-mono); font-size: 12px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-paper); }
.pa-roster__count { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta-hot); flex: none; }
.pa-roster__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pa-roster__list a { font-size: 20px; line-height: 1.3; letter-spacing: -0.03em; color: var(--pa-paper); }
.pa-roster__list a:hover, .pa-roster__list a:focus-visible { color: var(--pa-magenta-hot); }

/* Jurors */
.pa-band--mist { background: #F5F5F5; color: var(--pa-ink); }
.pa-band--mist .pa-bandhead { color: var(--pa-ink); }
.pa-band.pa-jurors { gap: 44px; }
.pa-jurors__lead { margin: 0; max-width: 720px; font-size: 20px; line-height: 1.45; letter-spacing: -0.025em; color: var(--pa-body-ink); text-wrap: pretty; }
.pa-jurors__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pa-juror { background: var(--pa-paper); display: flex; flex-direction: column; }
.pa-juror__photo { height: 260px; overflow: hidden; background: #E9E9E9; }
.pa-juror__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.pa-juror__text { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 10px; }
.pa-juror__role { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta); }
.pa-juror__name { font-size: 32px; line-height: 1.05; letter-spacing: -0.04em; color: var(--pa-ink); }

/* Alumni archive */
.pa-band.pa-alumni { gap: 44px; }
.pa-alumni__filters { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; border-top: 1px solid #E9E9E9; border-bottom: 1px solid #E9E9E9; padding: 20px 0; }
.pa-alumni__filters[hidden] { display: none; }
.pa-alumni__flabel { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-gray); margin-right: 12px; }
.pa-chip { min-height: 36px; border-radius: 999px; border: 1px solid #E9E9E9; padding: 8px 18px; font-size: 13px; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; color: var(--pa-ink); transition: border-color var(--pa-ease), color var(--pa-ease), background var(--pa-ease); }
.pa-chip:hover, .pa-chip:focus-visible { border-color: var(--pa-magenta); color: var(--pa-magenta); }
.pa-chip.is-active, .pa-chip.is-active:hover { background: var(--pa-ink); border-color: var(--pa-ink); color: var(--pa-paper); }
.pa-alumni__year { border-bottom: 1px solid #E9E9E9; }
.pa-alumni__row { display: grid; grid-template-columns: 116px 120px minmax(0, 1fr) 34px; align-items: center; gap: 20px; padding: 16px 0; cursor: pointer; list-style: none; transition: padding-left var(--pa-ease); }
.pa-alumni__row::-webkit-details-marker { display: none; }
.pa-alumni__row:hover { padding-left: 12px; }
.pa-alumni__yr { font-size: 36px; line-height: 1; letter-spacing: -0.04em; color: var(--pa-ink); }
.pa-alumni__count { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta); }
.pa-alumni__sum { font-size: 16px; line-height: 1.4; color: var(--pa-gray); }
.pa-alumni__mark::before { content: "+"; display: block; text-align: right; font-size: 32px; line-height: 1; color: var(--pa-ink); }
.pa-alumni__year[open] .pa-alumni__mark::before { content: "\2212"; }
.pa-alumni__year.is-empty .pa-alumni__row { cursor: default; padding-left: 0; }
.pa-alumni__year.is-empty .pa-alumni__yr, .pa-alumni__year.is-empty .pa-alumni__count, .pa-alumni__year.is-empty .pa-alumni__sum { color: #A8A8A8; }
.pa-alumni__year.is-empty .pa-alumni__mark { visibility: hidden; }
.pa-alumni__cities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 48px; padding: 8px 0 40px; }
.pa-alumni__city[hidden] { display: none; }
.pa-alumni__cname { display: block; font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-ink); border-bottom: 1px solid #E9E9E9; padding-bottom: 10px; margin-bottom: 12px; }
.pa-alumni__city ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pa-alumni__city li { font-size: 16px; line-height: 1.4; color: var(--pa-body-ink); }

/* Thesis template */
.pa-th-narrow { max-width: 780px; }
.pa-th-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 96px; align-items: start; }
.pa-band.pa-th-deep { gap: 48px; }
.pa-band--ink.pa-th-deep { border-top: 1px solid var(--pa-rule-dark); }
.pa-th-kicker { display: flex; align-items: baseline; gap: 24px; }
.pa-th-kicker__rule { flex: 1; height: 1px; background: var(--pa-rule-dark); }
.pa-band--paper .pa-th-kicker__rule { background: #E9E9E9; }
.pa-band--ink .pa-th-kicker .pa-eyebrow { color: var(--pa-cyan); }
.pa-band.pa-th-surplus { gap: 56px; }
.pa-th-cards { display: grid; gap: 12px; }
.pa-th-card { border: 1px solid var(--pa-rule-dark); padding: 40px 34px; display: flex; flex-direction: column; justify-content: space-between; gap: 60px; min-height: 300px; }
.pa-th-card__kicker { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta-hot); }
.pa-th-card__figure { font-size: 64px; line-height: 1; letter-spacing: -0.05em; color: var(--pa-paper); }
.pa-th-card__claim { font-size: 20px; line-height: 1.3; letter-spacing: -0.03em; color: var(--pa-paper); }
.pa-th-card__detail { font-size: 16px; line-height: 1.45; color: rgba(255, 255, 255, 0.6); }
.pa-band.pa-th-players { gap: 56px; }
.pa-th-intro { padding-top: 8px; }
.pa-th-players__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: #E9E9E9; border: 1px solid #E9E9E9; }
.pa-th-player { background: var(--pa-paper); padding: 34px 26px; display: flex; flex-direction: column; justify-content: space-between; gap: 44px; min-height: 340px; }
.pa-th-player__dot { width: 44px; height: 44px; border-radius: 50%; background: var(--pa-magenta); color: var(--pa-paper); display: flex; align-items: center; justify-content: center; font-size: 20px; }
.pa-th-player__name { font-size: 32px; line-height: 1.05; letter-spacing: -0.04em; color: var(--pa-ink); }
.pa-th-player__text { font-size: 16px; line-height: 1.45; color: var(--pa-gray); }
.pa-thl { margin: 0; display: flex; flex-direction: column; }
.pa-thl__row { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 20px 0; border-top: 1px solid var(--pa-rule-dark); }
.pa-thl__row:last-child { border-bottom: 1px solid var(--pa-rule-dark); }
.pa-thl__row dt { font-size: 16px; line-height: 1.45; color: rgba(255, 255, 255, 0.7); }
.pa-thl__note { display: block; color: var(--pa-on-ink-faint); }
.pa-thl__row dd { margin: 0; font-size: 32px; line-height: 1.1; letter-spacing: -0.04em; color: var(--pa-paper); text-align: right; white-space: nowrap; }
.pa-thl__row.is-total dt, .pa-thl__row.is-total dd { color: var(--pa-magenta-hot); }
.pa-thl--sm .pa-thl__row { padding: 16px 0; }
.pa-thl--sm .pa-thl__row dd { font-size: 24px; letter-spacing: -0.03em; }
.pa-thl--sm .pa-thl__row.is-total dd { font-size: 32px; letter-spacing: -0.04em; }
.pa-thl--yellow .pa-thl__row { border-top: 0; border-bottom: 1px solid rgba(5, 5, 5, 0.2); padding: 16px 0; }
.pa-thl--yellow .pa-thl__row dt { color: rgba(5, 5, 5, 0.75); }
.pa-thl--yellow .pa-thl__row dd { font-size: 24px; letter-spacing: -0.03em; color: var(--pa-ink); }
.pa-thl--yellow .pa-thl__row--grand { border-bottom: 0; padding: 20px 0 0; }
.pa-thl--yellow .pa-thl__row--grand dt { font-size: 20px; letter-spacing: -0.03em; color: var(--pa-ink); }
.pa-thl--yellow .pa-thl__row--grand dd { font-size: 45px; letter-spacing: -0.045em; }
.pa-th-photo { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: var(--pa-ink); color: var(--pa-paper); border-top: 1px solid var(--pa-rule-dark); }
.pa-th-photo--solo { grid-template-columns: 1fr; }
.pa-th-photo__img { min-height: 620px; overflow: hidden; }
.pa-th-photo__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-th-photo__panel { padding: 96px var(--pa-gutter) 96px 72px; display: flex; flex-direction: column; gap: 34px; justify-content: center; min-width: 0; }
.pa-th-photo .pa-bandhead { color: var(--pa-paper); }
.pa-th-photo .pa-body { color: rgba(255, 255, 255, 0.7); }
.pa-th-source { margin: 0; font-family: var(--pa-mono); font-size: 12px; line-height: 1.6; text-transform: uppercase; color: var(--pa-gray); }
.pa-th-graylabel { color: var(--pa-gray); }
.pa-th-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pa-th-tile { background: #F5F5F5; padding: 28px 26px; display: flex; flex-direction: column; gap: 10px; }
.pa-th-tile__fig { font-size: 45px; line-height: 1; letter-spacing: -0.05em; color: var(--pa-magenta); }
.pa-th-tile__text { font-size: 16px; line-height: 1.4; color: var(--pa-body-ink); }
.pa-band.pa-th-magenta { background: var(--pa-magenta); color: var(--pa-paper); gap: 56px; }
.pa-th-magenta .pa-bandhead { color: var(--pa-paper); }
.pa-th-magenta .pa-headrow__aside { color: rgba(255, 255, 255, 0.85); }
.pa-th-onmag { color: rgba(255, 255, 255, 0.85); }
.pa-th-mtiles { display: grid; gap: 12px; }
.pa-th-mtile { border: 1px solid rgba(255, 255, 255, 0.4); padding: 32px 28px; display: flex; flex-direction: column; gap: 12px; }
.pa-th-mtile__fig { font-size: 56px; line-height: 1; letter-spacing: -0.05em; }
.pa-th-mtile__text { font-size: 16px; line-height: 1.4; color: rgba(255, 255, 255, 0.9); }
.pa-th-lev { display: flex; flex-direction: column; gap: 28px; border-top: 1px solid rgba(255, 255, 255, 0.4); padding-top: 40px; }
.pa-th-lev__row { display: grid; gap: 48px; }
.pa-th-lev__fig { font-size: 45px; line-height: 1; letter-spacing: -0.05em; color: var(--pa-yellow); }
.pa-th-lev__text { font-size: 16px; line-height: 1.45; }
.pa-th-formula { margin: 0; display: flex; flex-direction: column; gap: 10px; font-family: var(--pa-mono); font-size: 20px; color: var(--pa-ink); }
.pa-th-formula small { font-size: 12px; }
.pa-th-formula__hot { color: var(--pa-magenta); }
.pa-th-formula--faint { display: block; font-size: 12px; line-height: 1.7; color: var(--pa-on-ink-faint); }
.pa-th-taxcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pa-th-taxcard { border: 1px solid var(--pa-rule-dark); padding: 34px 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 44px; min-height: 240px; }
.pa-th-taxcard.is-accent { border-color: var(--pa-magenta-hot); }
.pa-th-taxcard__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.pa-th-taxcard.is-accent .pa-th-taxcard__label { color: var(--pa-magenta-hot); }
.pa-th-taxcard__pair { display: flex; flex-direction: column; gap: 4px; }
.pa-th-taxcard__fig { font-size: 40px; line-height: 1; letter-spacing: -0.05em; color: var(--pa-paper); }
.pa-th-taxcard__unit { font-size: 16px; color: rgba(255, 255, 255, 0.6); }
.pa-band.pa-th-yellow { background: var(--pa-yellow); color: var(--pa-ink); gap: 56px; }
.pa-th-onyellow { color: rgba(5, 5, 5, 0.7); }
.pa-th-eq__head { max-width: 1000px; }
.pa-th-eq__statement { margin: 0; font-size: 64px; line-height: 1.02; letter-spacing: -0.05em; text-wrap: pretty; }
.pa-th-eq__body { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 64px; align-items: end; border-top: 2px solid rgba(5, 5, 5, 0.2); padding-top: 48px; }
.pa-th-callout { background: var(--pa-ink); padding: 40px 36px; display: flex; flex-direction: column; gap: 16px; }
.pa-th-callout__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-yellow); }
.pa-th-callout__fig { font-size: 96px; line-height: 0.94; letter-spacing: -0.055em; color: var(--pa-paper); }
.pa-th-callout__text { font-size: 20px; line-height: 1.35; letter-spacing: -0.03em; color: var(--pa-on-ink-soft); }
.pa-th-compare { display: flex; gap: 12px; }
.pa-th-compare__cell { flex: 1; padding: 28px 24px; display: flex; flex-direction: column; gap: 8px; }
.pa-th-compare__cell--a { background: #F5F5F5; color: var(--pa-ink); }
.pa-th-compare__cell--b { background: var(--pa-ink); color: var(--pa-yellow); }
.pa-th-compare__label { font-size: 16px; color: var(--pa-gray); }
.pa-th-compare__cell--b .pa-th-compare__label { color: rgba(255, 255, 255, 0.6); }
.pa-th-compare__fig { font-size: 40px; line-height: 1.1; letter-spacing: -0.05em; }
.pa-th-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: #E9E9E9; border: 1px solid #E9E9E9; }
.pa-th-rule { background: var(--pa-paper); padding: 32px 26px; display: flex; flex-direction: column; gap: 12px; }
.pa-th-rule__label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-magenta); }
.pa-th-rule__title { font-size: 24px; line-height: 1.15; letter-spacing: -0.035em; color: var(--pa-ink); }
.pa-th-rule__text { font-size: 16px; line-height: 1.45; color: var(--pa-gray); }
.pa-band.pa-th-lecture { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 96px; align-items: center; }
.pa-th-lecture__quote { margin: 0; font-size: 56px; line-height: 1.02; letter-spacing: -0.05em; color: var(--pa-paper); text-wrap: pretty; }
.pa-band.pa-th-sources { padding-top: 0; padding-bottom: 96px; }
.pa-th-sources__inner { display: flex; flex-direction: column; gap: 20px; border-top: 1px solid var(--pa-rule-dark); padding-top: 40px; }
.pa-th-sources__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 64px; }
.pa-th-sources__list li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, 0.7); }
.pa-th-sources__n { font-family: var(--pa-mono); font-size: 12px; line-height: 2; color: var(--pa-magenta-hot); }

@media (max-width: 1100px) {
  .pa-band.pa-founder .pa-founder__title { font-size: 30px; }
  .pa-btn--square-outline, .pa-btn--square-hot { font-size: 17px; }
  .pa-band.pa-hero-plain, .pa-band.pa-hero-plain--aside { padding: 56px 24px 48px; }
  .pa-band.pa-hero-plain--aside, .pa-hero-plain__split { grid-template-columns: 1fr; gap: 40px; }
  .pa-hero-plain__title { font-size: 52px; }
  .pa-hero-plain__text { gap: 24px; }
  .pa-hero-plain__lead { font-size: 20px; max-width: none; }
  .pa-notice__text { font-size: 19px; }
  .pa-facts__value { font-size: 26px; }
  .pa-headrow { flex-direction: column; align-items: flex-start; gap: 20px; }
  .pa-headrow__aside { max-width: none; }
  .pa-funders__title { font-size: 48px; }
  .pa-funders__groups { grid-template-columns: 1fr; row-gap: 48px; }
  .pa-funders__names { columns: 1; }
  .pa-splitband, .pa-splitband--left { grid-template-columns: 1fr; }
  .pa-splitband__text, .pa-splitband--left .pa-splitband__text, .pa-splitband--solo .pa-splitband__text { padding: 56px 24px 64px; }
  .pa-splitband__photo, .pa-splitband--left .pa-splitband__photo { order: 2; min-height: 0; aspect-ratio: 16 / 9; }
  .pa-splitband__title { font-size: 40px; }
  .pa-splitband__body { font-size: 17px; max-width: none; }
  .pa-band.pa-statement { padding-top: 56px; padding-bottom: 64px; }
  .pa-band.pa-statement--split { grid-template-columns: 1fr; gap: 24px; }
  .pa-statement__text { font-size: 28px; }
  .pa-statement__title { font-size: 30px; }
  .pa-rows__head { grid-template-columns: 1fr; gap: 20px; }
  .pa-rows__head > .pa-stack { grid-column: auto; }
  .pa-rows__lead { font-size: 19px; }
  .pa-rows__more { font-size: 17px; }
  .pa-rows__row { grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; padding: 18px 0; }
  .pa-rows__toggle { font-size: 26px; min-height: 44px; }
  .pa-rows__body { grid-column: 2; padding-top: 8px; }
  .pa-stages__cards { grid-template-columns: 1fr !important; }
  .pa-stages__card { min-height: 0; padding: 28px 24px; gap: 28px; }
  .pa-stages__title { font-size: 26px; }
  .pa-stages__prose { grid-template-columns: 1fr; gap: 32px; padding-top: 32px; }
  .pa-band.pa-dated { grid-template-columns: 1fr; gap: 24px; padding: 56px 24px 64px; }
  .pa-dated__date { font-size: 44px; }
  .pa-dated__body { font-size: 19px; }
  .pa-roster__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-roster__city { grid-column: auto !important; padding: 24px 20px; }
  .pa-roster__list a { font-size: 18px; }
  .pa-jurors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-juror__photo { height: 200px; }
  .pa-juror__text { padding: 18px 18px 22px; }
  .pa-juror__name { font-size: 24px; }
  .pa-alumni__row { grid-template-columns: minmax(0, 1fr) auto 24px; grid-template-areas: "yr count mark" "sum sum sum"; row-gap: 6px; }
  .pa-alumni__yr { grid-area: yr; font-size: 28px; }
  .pa-alumni__count { grid-area: count; }
  .pa-alumni__sum { grid-area: sum; }
  .pa-alumni__mark { grid-area: mark; }
  .pa-alumni__row:hover { padding-left: 0; }
  .pa-alumni__cities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .pa-th-split, .pa-th-eq__body { grid-template-columns: 1fr; gap: 40px; }
  .pa-th-cards, .pa-th-mtiles, .pa-th-lev__row, .pa-th-rules { grid-template-columns: 1fr !important; }
  .pa-th-players__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pa-th-player { min-height: 0; gap: 28px; padding: 24px 20px; }
  .pa-th-card { min-height: 0; gap: 32px; padding: 28px 24px; }
  .pa-th-card__figure { font-size: 48px; }
  .pa-th-photo { grid-template-columns: 1fr; }
  .pa-th-photo__img { min-height: 0; aspect-ratio: 16 / 10; }
  .pa-th-photo__panel { padding: 56px 24px 64px; gap: 24px; }
  .pa-thl__row dd { font-size: 24px; }
  .pa-th-tile__fig { font-size: 36px; }
  .pa-th-mtile__fig { font-size: 44px; }
  .pa-th-taxcards { grid-template-columns: 1fr; }
  .pa-th-taxcard { min-height: 0; gap: 28px; }
  .pa-th-eq__statement { font-size: 34px; }
  .pa-th-callout__fig { font-size: 64px; }
  .pa-band.pa-th-lecture { grid-template-columns: 1fr; gap: 32px; }
  .pa-th-lecture__quote { font-size: 34px; }
  .pa-band.pa-th-sources { padding: 0 24px 64px; }
  .pa-th-sources__list { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pa-hero-plain__title, .pa-hero-plain--aside .pa-h1 { font-size: 44px; }
  .pa-roster__grid, .pa-alumni__cities, .pa-th-tiles { grid-template-columns: 1fr; }
  .pa-th-players__grid { grid-template-columns: 1fr !important; }
  .pa-th-compare { flex-direction: column; }
  .pa-thl__row { flex-direction: column; align-items: flex-start; gap: 6px; }
  .pa-thl__row dd { text-align: left; white-space: normal; }
  .pa-jurors__grid { gap: 8px; }
  .pa-juror__photo { height: 160px; }
  .pa-juror__name { font-size: 20px; }
}

/* ==========================================================================
   12b. 1.6.0 — stat band sizing, homepage bands, split + quote options
   ========================================================================== */

/* Stat bands (homepage field + Stat band layout): 72px at 1440, scaling with
   the gutter between 1101 and 1440, two columns on phones. */
@media (min-width: 1101px) and (max-width: 1440px) {
  .pa-stats > .pa-stat, .pa-statband__row > .pa-statband__cell { padding-left: 28px; padding-right: 28px; }
  .pa-stats > .pa-stat:first-child, .pa-statband__row > .pa-statband__cell:first-child { padding-left: 0; }
  .pa-stats > .pa-stat:last-child, .pa-statband__row > .pa-statband__cell:last-child { padding-right: 0; }
  .pa-stat__figure, .pa-statband__figure { font-size: clamp(40px, 4.4vw, 72px); }
}

/* The case */
.pa-band.pa-case { gap: 64px; }
.pa-case__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 96px; align-items: start; }
.pa-case__title { margin: 0; font-size: 72px; line-height: 0.96; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-ink); text-wrap: pretty; }
.pa-case__side { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.pa-case__body { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -0.025em; color: var(--pa-body-ink); text-wrap: pretty; }
.pa-case__body + .pa-case__body { margin-top: -12px; }
.pa-case .pa-mark { -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.pa-case .pa-btn { align-self: flex-start; }
.pa-case__seals img { height: 80px; }

/* How it works carousel */
.pa-band.pa-steps { padding-top: 104px; border-bottom: 1px solid var(--pa-rule-dark); }
.pa-steps__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 96px; align-items: end; }
.pa-steps__head .pa-stack { gap: 20px; }
.pa-steps__title { margin: 0; font-size: 64px; line-height: 0.98; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-paper); text-wrap: pretty; }
.pa-steps__controls { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.pa-steps__controls[hidden] { display: none; }
.pa-steps__arrow { width: 52px; height: 52px; border-radius: 999px; border: 2px solid rgba(255, 255, 255, 0.5); background: none; color: var(--pa-paper); font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color var(--pa-ease), color var(--pa-ease); }
.pa-steps__arrow:hover, .pa-steps__arrow:focus-visible { border-color: var(--pa-magenta-hot); color: var(--pa-magenta-hot); }
.pa-steps__count { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-on-ink-faint); padding-left: 8px; min-width: 8ch; }
.pa-steps__track { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.pa-steps__track::-webkit-scrollbar { display: none; }
.pa-steps__track:focus-visible { outline: 2px solid var(--pa-magenta-hot); outline-offset: 4px; }
.pa-steps__step { flex: 0 0 50%; min-width: 0; scroll-snap-align: start; display: flex; flex-direction: column; }
.pa-steps__line { position: relative; height: 13px; flex: none; }
.pa-steps__line::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 1px; background: var(--pa-rule-dark); }
.pa-steps__line::after { content: ""; position: absolute; left: 0; top: 0; width: 13px; height: 13px; border-radius: 50%; background: var(--pa-magenta-hot); }
.pa-steps__text { display: flex; flex-direction: column; gap: 14px; padding: 28px 64px 0 0; min-height: 260px; }
.pa-steps__label { font-family: var(--pa-mono); font-size: 12px; line-height: 1.3; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-cyan); }
.pa-steps__name { margin: 0; font-size: 45px; line-height: 1.02; letter-spacing: -0.045em; font-weight: 400; color: var(--pa-paper); text-wrap: pretty; }
.pa-steps__body { margin: 0; font-size: 20px; line-height: 1.5; letter-spacing: -0.025em; color: var(--pa-on-ink-soft); text-wrap: pretty; }
.pa-steps__media { margin-top: 24px; padding-right: 64px; display: flex; flex-direction: column; gap: 24px; }
.pa-steps__photo { height: 300px; overflow: hidden; }
.pa-steps__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-steps__ledger { display: flex; flex-direction: column; gap: 24px; }
.pa-steps__ledger-label { font-family: var(--pa-mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pa-on-ink-faint); }
.pa-steps__rows { margin: 0; display: flex; flex-direction: column; border-bottom: 1px solid var(--pa-rule-dark); }
.pa-steps__row { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 16px 0; border-top: 1px solid var(--pa-rule-dark); }
.pa-steps__row dt { font-size: 16px; color: var(--pa-on-ink-soft); }
.pa-steps__row dd { margin: 0; font-size: 24px; line-height: 1; letter-spacing: -0.035em; color: var(--pa-paper); text-align: right; }
.pa-steps__row.is-hot dt, .pa-steps__row.is-hot dd { color: var(--pa-magenta-hot); }
.pa-steps__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; padding-top: 4px; }
.pa-steps__notice { margin: 0; display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--pa-yellow); padding: 12px 18px; font-size: 16px; line-height: 1.3; color: var(--pa-paper); }
.pa-steps__notice-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--pa-yellow); flex: none; }
.pa-steps__notice-mark { color: var(--pa-yellow); }
.pa-steps__link { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500; color: var(--pa-paper); text-decoration: none; transition: color var(--pa-ease); }
.pa-steps__link:hover, .pa-steps__link:focus-visible { color: var(--pa-magenta-hot); }

/* Registration */
.pa-band.pa-register { background: var(--pa-yellow); color: var(--pa-ink); padding-top: 104px; gap: 72px; }
.pa-register__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 96px; align-items: end; }
.pa-register__eyebrow { color: rgba(5, 5, 5, 0.6); }
.pa-register__title { margin: 0; font-size: 80px; line-height: 0.94; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-ink); text-wrap: pretty; }
.pa-register__side { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.pa-register__body { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -0.025em; color: var(--pa-ink); text-wrap: pretty; }
.pa-register__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--pa-cols, 3), minmax(0, 1fr)); gap: 12px; }
.pa-register__tile { background: var(--pa-ink); padding: 34px 30px 36px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pa-register__fig { font-size: 72px; line-height: 1; letter-spacing: -0.055em; color: var(--pa-yellow); }
.pa-register__label { font-size: 16px; line-height: 1.4; letter-spacing: -0.02em; color: var(--pa-paper); text-wrap: pretty; }

/* Explore our branches */
.pa-band.pa-branchlist { gap: 44px; }
.pa-branchlist .pa-stack { gap: 20px; }
.pa-branchlist__title { margin: 0; font-size: 64px; line-height: 1; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-ink); text-wrap: pretty; }
.pa-branchlist__rows { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid #E9E9E9; }
.pa-branchlist__row { display: grid; grid-template-columns: 40px minmax(0, 1fr) 140px 150px; grid-template-areas: "n name count go"; align-items: center; gap: 32px; padding: 26px 0; border-top: 1px solid #E9E9E9; color: var(--pa-ink); text-decoration: none; transition: padding-left var(--pa-ease); }
.pa-branchlist__row:hover, .pa-branchlist__row:focus-visible { padding-left: 12px; }
.pa-branchlist__n { grid-area: n; font-family: var(--pa-mono); font-size: 12px; color: var(--pa-gray); }
.pa-branchlist__name { grid-area: name; font-size: 45px; line-height: 1.05; letter-spacing: -0.045em; }
.pa-branchlist__count { grid-area: count; font-family: var(--pa-mono); font-size: 12px; color: var(--pa-magenta); text-align: right; }
.pa-branchlist__go { grid-area: go; display: flex; align-items: center; justify-content: flex-end; gap: 10px; font-size: 16px; font-weight: 500; letter-spacing: -0.02em; transition: color var(--pa-ease); }
.pa-branchlist__row:hover .pa-branchlist__go, .pa-branchlist__row:focus-visible .pa-branchlist__go { color: var(--pa-magenta); }

/* Split callout — magenta */
.pa-splitband--magenta { background: var(--pa-magenta); color: var(--pa-paper); }
.pa-splitband--magenta .pa-splitband__body { color: var(--pa-on-magenta); line-height: 1.45; }
.pa-splitband--magenta .pa-splitband__eyebrow { color: var(--pa-on-magenta); }
.pa-splitband--magenta .pa-btn--ink:hover, .pa-splitband--magenta .pa-btn--ink:focus-visible { background: var(--pa-paper); color: var(--pa-ink); }

/* Pull quote on ink: cyan phrase, mono attribution, press logos joined below */
.pa-band.pa-pullquote-band { gap: 22px; }
.pa-pullquote { margin: 0; max-width: 1000px; font-size: 72px; line-height: 1.02; letter-spacing: -0.05em; font-weight: 400; color: var(--pa-paper); text-wrap: pretty; }
.pa-pullquote__hi { color: var(--pa-cyan); }
.pa-quote__hi { color: var(--pa-magenta); }
.pa-pullquote__attr { font-family: var(--pa-mono); font-size: 12px; line-height: 1.4; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.pa-band.pa-pullquote-band + .pa-band.pa-press--joined { padding-top: 0; margin-top: -48px; }
.pa-press__joined { display: flex; flex-direction: column; gap: 28px; border-top: 1px solid var(--pa-rule-dark); padding-top: 40px; }

@media (min-width: 1101px) and (max-width: 1440px) {
  .pa-register__fig { font-size: clamp(44px, 5vw, 72px); }
}

@media (max-width: 1100px) {
  .pa-stats, .pa-band.pa-statband { padding: 0; }
  .pa-stats, .pa-statband__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-stats > .pa-stat:nth-child(n), .pa-statband__row > .pa-statband__cell:nth-child(n) { padding: 30px 24px; box-shadow: -1px 0 0 rgba(255, 255, 255, 0.3); }
  .pa-stats > .pa-stat:nth-child(odd), .pa-statband__row > .pa-statband__cell:nth-child(odd) { box-shadow: none; }
  .pa-stats > .pa-stat:nth-child(n+3), .pa-statband__row > .pa-statband__cell:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, 0.3); }
  .pa-stats > .pa-stat:nth-child(3):last-child, .pa-statband__row > .pa-statband__cell:nth-child(3):last-child { grid-column: 1 / -1; }
  .pa-stat__figure, .pa-statband__figure { font-size: 48px; }

  .pa-band.pa-case { padding-top: 76px; padding-bottom: 80px; gap: 32px; }
  .pa-case__split { grid-template-columns: 1fr; gap: 28px; }
  .pa-case__title { font-size: 44px; }
  .pa-case__side { gap: 24px; }
  .pa-case__body { font-size: 17px; line-height: 1.45; }
  .pa-case__body + .pa-case__body { margin-top: -8px; }
  .pa-case__seals img { height: 72px; }

  .pa-band.pa-steps { padding: 56px 24px 64px; gap: 22px; }
  .pa-steps__head { grid-template-columns: 1fr; gap: 14px; }
  .pa-steps__head .pa-stack { gap: 14px; }
  .pa-steps__title { font-size: 44px; }
  .pa-steps__controls { justify-content: flex-start; gap: 12px; padding-top: 6px; }
  .pa-steps__arrow { width: 46px; height: 46px; font-size: 18px; }
  .pa-steps__step { flex-basis: 100%; }
  .pa-steps__text { min-height: 0; padding: 22px 0 0; gap: 12px; }
  .pa-steps__name { font-size: 28px; line-height: 1.05; letter-spacing: -0.04em; }
  .pa-steps__body { font-size: 17px; letter-spacing: -0.02em; }
  .pa-steps__media { margin-top: 16px; padding-right: 0; gap: 14px; }
  .pa-steps__photo { height: auto; aspect-ratio: 16 / 9; }
  .pa-steps__ledger { gap: 14px; }
  .pa-steps__row { padding: 12px 0; gap: 16px; }
  .pa-steps__row dt { font-size: 15px; }
  .pa-steps__row dd { font-size: 20px; letter-spacing: -0.03em; }
  .pa-steps__notice { font-size: 15px; padding: 13px 18px; gap: 10px; }

  .pa-band.pa-register { padding: 56px 24px 64px; gap: 32px; }
  .pa-register__split { grid-template-columns: 1fr; gap: 28px; }
  .pa-register__title { font-size: 48px; }
  .pa-register__body { font-size: 17px; line-height: 1.45; }
  .pa-register__tiles { grid-template-columns: 1fr; gap: 10px; }
  .pa-register__tile { padding: 24px 22px 26px; gap: 8px; }
  .pa-register__fig { font-size: 48px; }

  .pa-band.pa-branchlist { padding-top: 56px; padding-bottom: 64px; gap: 32px; }
  .pa-branchlist__title { font-size: 44px; }
  .pa-branchlist__row { grid-template-columns: 28px minmax(0, 1fr) auto; grid-template-areas: "n name go" ". count go"; column-gap: 16px; row-gap: 4px; padding: 18px 0; }
  .pa-branchlist__row:hover, .pa-branchlist__row:focus-visible { padding-left: 0; }
  .pa-branchlist__name { font-size: 30px; }
  .pa-branchlist__count { text-align: left; }

  .pa-splitband__text, .pa-splitband--left .pa-splitband__text, .pa-splitband--solo .pa-splitband__text { padding: 72px 24px 76px; }
  .pa-splitband__title { font-size: 48px; }

  .pa-pullquote { font-size: 34px; line-height: 1.05; letter-spacing: -0.045em; }
  .pa-band.pa-pullquote-band + .pa-band.pa-press--joined { margin-top: -32px; }
  .pa-press__joined { padding-top: 28px; gap: 22px; }
}
@media (max-width: 560px) {
  .pa-stat__figure, .pa-statband__figure { font-size: clamp(30px, 9.5vw, 48px); }
}

/* ==========================================================================
   13. Print
   ========================================================================== */

@media print {
  body { background: #fff; color: #000; }
  .pa-nav, .pa-drawer, .pa-skip, .pa-filters, .pa-art-controls, .pa-tl__controls, .pa-steps__controls { display: none !important; }
  .pa-tl__track, .pa-steps__track { flex-wrap: wrap; overflow: visible; }
  .pa-band { padding: 24pt 0; break-inside: avoid; }
}
