/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5
 * Hallmark · macrostructure: Marquee Hero · genre: modern-minimal
 * hero: centred motion portrait · enrichment: E8 candidate greeting sequence · polish: none
 * nav: N10 floating-on-scroll morph · footer: Ft2 inline-rule single line
 * theme: studied-DNA (sources: Apple KR product pages + Democratic Party official candidate page) · typography: Noto Sans KR + Noto Serif KR
 * source-url: https://0817.theminjoo.kr/leader03
 * motion: centred 15-step scroll-bound bow · state crossfade · 20:1-to-1:1 transition
 * team: three separate transparent full-length portraits · equal scale · shared ground line
 * content: preview → evidence → promises → team → declaration → vote · contrast: pass (40–41) · nav: N10 · footer: Ft2 · slop: pass (42–45)
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57)
 */

* { box-sizing: border-box; }

html,
body {
  min-width: 0;
  margin: 0;
  overflow-x: clip;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  word-break: keep-all;
}

html { scroll-behavior: smooth; }

body {
  font-size: var(--text-base);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

main { min-width: 0; }

img,
iframe {
  display: block;
  max-width: 100%;
}

img { height: auto; }

a { color: inherit; }
a:active { opacity: 0.76; }
button:active { opacity: 0.76; }
button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

h1,
h2,
h3,
p,
blockquote,
figure,
ol,
ul,
dl,
dd { margin: 0; }

ol,
ul { padding: 0; }

h1,
h2,
h3 {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 1.04;
  text-wrap: balance;
}

button,
a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: var(--z-modal);
  inset-block-start: var(--space-sm);
  inset-inline-start: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm);
  background: var(--color-ink);
  color: var(--color-paper);
  transform: translateY(-160%);
  transition: transform var(--dur-short) var(--ease-out);
}

.skip-link:focus { transform: translateY(0); }

.site-nav {
  position: fixed;
  z-index: var(--z-nav);
  inset: 0 0 auto;
  height: var(--nav-height);
  padding-block: 0;
  border-block-end: var(--rule-hair) solid transparent;
  background-color: transparent;
  backdrop-filter: saturate(1) blur(0);
  color: var(--color-ink);
  transition: background-color var(--dur-mid) var(--ease-out), border-color var(--dur-mid) var(--ease-out), backdrop-filter var(--dur-mid) var(--ease-out), color var(--dur-mid) var(--ease-out);
}

.site-nav__inner {
  display: flex;
  width: calc(100% - (2 * var(--page-gutter)));
  max-width: var(--content-max);
  min-height: var(--nav-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-inline: auto;
  padding-inline: 0;
  border: var(--rule-hair) solid transparent;
  border-radius: 0;
  background-color: transparent;
  backdrop-filter: blur(0);
  box-shadow: none;
  transform: translateY(0);
  transition: border-color var(--dur-mid) var(--ease-out), border-radius var(--dur-mid) var(--ease-out), background-color var(--dur-mid) var(--ease-out), backdrop-filter var(--dur-mid) var(--ease-out), box-shadow var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out);
}

.site-nav.is-on-field { color: var(--color-on-dark); }

.site-nav.is-floating {
  padding-block: var(--space-xs);
  border-color: transparent;
  background-color: transparent;
  backdrop-filter: blur(0);
  color: var(--color-on-dark);
}

.site-nav.is-floating .site-nav__inner {
  width: calc(100% - (2 * var(--page-gutter)));
  max-width: 44rem;
  min-height: calc(var(--nav-height) - (2 * var(--space-xs)));
  padding-inline: var(--space-xs) var(--space-2xs);
  border-color: color-mix(in oklch, var(--color-nav-rule) 16%, transparent);
  border-radius: var(--radius-round);
  background-color: color-mix(in oklch, var(--color-nav-surface) 90%, transparent);
  backdrop-filter: saturate(1.25) blur(18px);
  box-shadow: 0 var(--space-xs) var(--space-xl) var(--color-shadow);
  transform: translateY(var(--space-xs));
}

.site-nav__brand,
.site-nav__action,
.text-action {
  white-space: nowrap;
  text-decoration: none;
}

.site-nav__brand {
  font-size: var(--text-md);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.site-nav__brand strong { color: var(--color-accent); }

.site-nav__action {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding-inline: var(--space-lg);
  border: var(--rule-hair) solid currentColor;
  border-radius: var(--radius-round);
  font-size: var(--text-sm);
  font-weight: 800;
}

.site-nav__action:active { transform: translateY(1px); }

.hero {
  position: relative;
  min-height: 260svh;
  --greeting-mix: 0;
  background: var(--color-hero-base);
}

.hero__stage {
  position: sticky;
  top: 0;
  display: grid;
  min-height: 100svh;
  align-items: start;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 42%, var(--color-hero-bloom), transparent 34%),
    linear-gradient(120deg, var(--color-hero-deep) 0%, var(--color-hero-mid) 54%, var(--color-hero-light) 100%);
  color: var(--color-on-dark);
  isolation: isolate;
}

.hero-greeting,
.hero__shade {
  position: absolute;
  z-index: calc(var(--z-base) * -1);
  inset: 0;
}

.hero-greeting {
  display: flex;
  align-items: end;
  justify-content: center;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
}

.hero-greeting__portrait {
  position: absolute;
  inset: auto 50% -4svh auto;
  width: auto;
  height: min(100svh, 64rem);
  aspect-ratio: 1024 / 1700;
  transform-origin: 50% 100%;
  transform: translate3d(50%, 0, 0);
  filter: saturate(1.01) contrast(1.015);
}

.hero-greeting__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 100%;
  will-change: opacity;
}

.hero-greeting__frame--primary { opacity: calc(1 - var(--greeting-mix)); }
.hero-greeting__frame--secondary { opacity: var(--greeting-mix); }

.hero__shade {
  background:
    linear-gradient(0deg, var(--color-hero-shade), transparent 42%),
    radial-gradient(circle at 18% 42%, var(--color-hero-glow), transparent 38%);
}

.hero__copy {
  display: grid;
  gap: var(--space-lg);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: calc(var(--nav-height) + var(--space-3xl)) var(--page-gutter) var(--space-3xl);
  transform: translate3d(0, calc(var(--hero-progress, 0) * -1.4rem), 0);
}

.hero__meta {
  max-width: 34ch;
  font-size: var(--text-sm);
  font-weight: 700;
}

.hero h1 {
  max-width: 8ch;
  font-size: var(--text-display);
}

.hero h1 span,
.hero h1 strong { display: block; }

.hero h1 strong { color: var(--color-accent-soft); }

.hero__sub {
  max-width: 28ch;
  font-size: var(--text-lg);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.35;
}

.hero__commitment {
  max-width: 31ch;
  padding-block-start: var(--space-md);
  border-block-start: var(--rule-hair) solid var(--color-on-dark-rule);
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.5;
}

.hero__progress {
  position: absolute;
  inset: auto var(--page-gutter) var(--space-xl);
  height: 2px;
  overflow: hidden;
  background: var(--color-on-dark-rule);
}

.hero__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-on-dark);
  transform: scaleX(var(--hero-progress, 0));
  transform-origin: left center;
}

.overview {
  position: relative;
  background: var(--color-dark);
  color: var(--color-on-dark);
}

.overview__stage {
  display: grid;
  gap: var(--space-3xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
}

.overview__head {
  display: grid;
  gap: var(--space-lg);
}

.overview__head p {
  color: var(--color-accent-soft);
  font-size: var(--text-sm);
  font-weight: 800;
}

.overview__head h2 {
  max-width: 10ch;
  font-size: var(--text-3xl);
}

.overview__statements {
  display: grid;
  gap: var(--space-2xl);
  min-width: 0;
}

.overview__statements article {
  display: grid;
  gap: var(--space-md);
  min-width: 0;
  padding-block-start: var(--space-xl);
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
}

.overview__statements strong {
  font-size: clamp(3.25rem, 14vw, 7rem);
  letter-spacing: -0.075em;
  line-height: 0.92;
}

.overview__statements span {
  max-width: 25ch;
  color: var(--color-on-dark-muted);
  font-size: var(--text-lg);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.overview__index,
.overview__beats,
.overview__progress { display: none; }

.scene-label {
  color: var(--color-accent);
  font-size: var(--text-sm);
  font-weight: 800;
}

.source-link {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-accent-hover);
  font-size: var(--text-sm);
  font-weight: 700;
  text-decoration-thickness: var(--rule-hair);
  text-underline-offset: var(--space-2xs);
  white-space: nowrap;
}

.source-link--dark { color: var(--color-accent-soft); }

.sovereignty {
  display: grid;
  gap: var(--space-3xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
}

.sovereignty__intro {
  display: grid;
  gap: var(--space-lg);
}

.sovereignty__intro h2 {
  max-width: 8ch;
  font-size: var(--text-display);
}

.sovereignty__intro h2 strong { color: var(--color-accent); }

.sovereignty__intro > p:last-child {
  color: var(--color-ink-soft);
  font-family: var(--font-editorial);
  font-size: var(--text-lg);
  font-weight: 600;
}

.equal-vote {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: center;
  width: 100%;
}

.equal-vote__state {
  display: grid;
  min-width: 0;
  gap: var(--space-xs);
  align-content: end;
}

.equal-vote__state > span {
  color: var(--color-muted);
  font-size: var(--text-sm);
  font-weight: 800;
}

.equal-vote__state strong {
  display: flex;
  align-items: baseline;
  color: var(--color-ink);
  font-size: clamp(3.5rem, 9vw, 8.5rem);
  font-variant-numeric: tabular-nums;
  font-weight: 900;
  letter-spacing: -0.09em;
  line-height: 0.86;
  transform: scale(1);
  transform-origin: left center;
  transition: transform var(--dur-long) var(--ease-out), opacity var(--dur-long) var(--ease-out), color var(--dur-long) var(--ease-out);
}

.equal-vote__state strong b,
.equal-vote__state strong i { font-style: normal; }

.equal-vote__state strong i {
  padding-inline: 0.05em 0.1em;
  color: var(--color-rule);
  font-weight: 500;
}

.equal-vote__state small {
  min-height: 3em;
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.equal-vote__arrow {
  color: var(--color-rule);
  font-size: var(--text-xl);
  font-weight: 500;
}

.equal-vote__state--now > span,
.equal-vote__state--now strong { color: var(--color-accent); }

.equal-vote:not(.is-equal) .equal-vote__state--before strong { transform: scale(1.08); }
.equal-vote:not(.is-equal) .equal-vote__state--now strong { opacity: 0.42; transform: scale(0.82); }

.equal-vote.is-equal .equal-vote__state--before strong {
  color: var(--color-muted);
  opacity: 0.46;
  transform: scale(0.82);
}

.change-sequence {
  list-style: none;
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.change-sequence li {
  display: grid;
  gap: var(--space-md);
  padding-block: var(--space-xl);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.change-sequence time {
  color: var(--color-accent-hover);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.change-sequence h3 { font-size: var(--text-xl); }

.change-sequence p {
  max-width: 52ch;
  color: var(--color-ink-soft);
}

.change-sequence__stat {
  display: block;
  margin-block-end: var(--space-xs);
  color: var(--color-ink);
  font-size: var(--text-md);
  font-variant-numeric: tabular-nums;
}

.change-sequence__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

.field {
  position: relative;
  background: var(--color-dark);
  color: var(--color-on-dark);
}

.field__stage {
  position: relative;
  display: grid;
  min-height: 42rem;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
}

.field__photos,
.field__photos figure,
.field__shade {
  position: absolute;
  z-index: calc(var(--z-base) * -1);
  inset: 0;
}

.field__photos figure {
  opacity: 0;
  transition: opacity var(--dur-long) var(--ease-in-out), transform var(--dur-long) var(--ease-out);
  transform: scale(1.015);
}

.field__photos figure.is-active {
  opacity: 1;
  transform: scale(1);
}

.field__photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.field__photos figure:nth-child(1) img { object-position: 46% center; }
.field__photos figure:nth-child(2) img { object-position: 58% center; }
.field__photos figure:nth-child(3) img { object-position: 62% center; }

.field__shade {
  background: linear-gradient(90deg, var(--color-overlay), var(--color-overlay-soft), var(--color-overlay));
}

.field__headline {
  display: grid;
  gap: var(--space-lg);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-3xl);
}

.field__headline > p {
  color: var(--color-accent-soft);
  font-size: var(--text-sm);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.field__headline h2 {
  max-width: 14ch;
  font-size: var(--text-3xl);
}

.field__headline h2 span { font-size: 0.58em; }

.field__headline dl {
  display: grid;
  gap: var(--space-sm);
  max-width: 38rem;
  padding-block-start: var(--space-lg);
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
}

.field__headline dl div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-md);
}

.field__headline dt { color: var(--color-on-dark-muted); }
.field__headline dd { font-weight: 800; }

.field__route {
  position: absolute;
  inset: auto var(--page-gutter) var(--space-xl);
  height: var(--rule-hair);
  background: var(--color-dark-rule);
}

.field__route span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-accent-soft);
  transform: scaleX(var(--field-progress, 0));
  transform-origin: left center;
  transition: transform var(--dur-long) var(--ease-out);
}

.field__route i {
  display: none;
}

.field__journey {
  display: grid;
  gap: var(--space-xl);
  padding: var(--space-2xl) var(--page-gutter) var(--space-3xl);
}

.field-beat {
  display: grid;
  gap: var(--space-md);
  padding: var(--space-2xl) 0;
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
}

.field-beat__date {
  color: var(--color-accent-soft);
  font-size: var(--text-sm);
  font-weight: 800;
}

.field-beat h3 { font-size: var(--text-2xl); }

.field-beat--stat h3 {
  font-size: var(--text-stat);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.07em;
}

.field-beat--stat h3 span {
  display: block;
  margin-block-end: var(--space-sm);
  color: var(--color-on-dark-muted);
  font-size: 0.24em;
  letter-spacing: -0.03em;
}
.field-beat > p:last-of-type { color: var(--color-on-dark-muted); font-size: var(--text-lg); }
.field-beat small { max-width: 42ch; color: var(--color-on-dark-muted); font-size: var(--text-sm); }

.field__source {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-xl) var(--page-gutter) var(--space-3xl);
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
}

.wins {
  display: grid;
  gap: var(--space-3xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
}

.wins__lead { display: grid; gap: var(--space-lg); }

.wins__lead > p {
  color: var(--color-muted);
  font-size: var(--text-sm);
  font-weight: 800;
}

.wins__lead > strong {
  font-size: var(--text-stat);
  font-weight: 900;
  letter-spacing: -0.075em;
  line-height: 0.92;
  font-variant-numeric: tabular-nums;
}

.wins__lead h2 {
  max-width: 14ch;
  color: var(--color-accent-hover);
  font-size: var(--text-2xl);
}

.wins__meaning { border-block-start: var(--rule-hair) solid var(--color-rule); }

.wins__meaning article {
  display: grid;
  gap: var(--space-sm);
  padding-block: var(--space-2xl);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.wins__meaning p { color: var(--color-muted); }
.wins__meaning h3 { font-size: var(--text-3xl); font-variant-numeric: tabular-nums; }
.wins__meaning span { color: var(--color-ink-soft); }

.promises {
  background: var(--color-dark);
  color: var(--color-on-dark);
}

.promises__intro,
.pledge-feature,
.pledge-rest,
.promises > .reader-link {
  width: min(100%, var(--content-max));
  margin-inline: auto;
}

.promises__intro {
  display: grid;
  gap: var(--space-lg);
  padding: var(--space-4xl) var(--page-gutter) var(--space-3xl);
}

.promises__intro > p:first-child {
  color: var(--color-accent-soft);
  font-size: var(--text-sm);
  font-weight: 800;
}

.promises__intro h2 { max-width: 13ch; font-size: var(--text-display); }
.promises__intro > p:nth-of-type(2) { color: var(--color-on-dark-muted); font-size: var(--text-lg); }

.promises__official {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xs) var(--space-lg);
  align-items: center;
  margin-block-start: var(--space-xl);
  padding-block: var(--space-xl);
  border-block: var(--rule-hair) solid var(--color-dark-rule);
  color: var(--color-on-dark);
  text-decoration: none;
}

.promises__official span {
  color: var(--color-on-dark-muted);
  font-size: var(--text-sm);
}

.promises__official strong {
  grid-column: 1;
  font-size: var(--text-lg);
  letter-spacing: -0.035em;
  white-space: nowrap;
}

.promises__official i {
  grid-column: 2;
  grid-row: 1 / 3;
  font-size: var(--text-xl);
  font-style: normal;
}

.pledge-feature {
  position: relative;
  display: grid;
  gap: var(--space-2xl);
  padding: var(--space-4xl) var(--page-gutter);
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
  overflow: hidden;
}

.pledge-feature > div { display: grid; gap: var(--space-lg); }

.pledge-feature > div > span {
  color: var(--color-on-dark-muted);
  font-size: var(--text-stat);
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.08em;
  line-height: 0.8;
  opacity: 0.22;
}

.pledge-feature h3 { max-width: 14ch; font-size: var(--text-3xl); }
.pledge-feature > div > p { max-width: 54ch; color: var(--color-on-dark-muted); font-size: var(--text-md); }

.pledge-feature aside,
.pledge-feature ul,
.pledge-feature ol {
  align-self: end;
  list-style: none;
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
}

.pledge-feature aside {
  display: grid;
  gap: var(--space-sm);
  padding-block-start: var(--space-lg);
}

.pledge-feature aside p,
.pledge-feature aside span { color: var(--color-on-dark-muted); }
.pledge-feature aside strong { font-size: var(--text-2xl); font-variant-numeric: tabular-nums; }

.pledge-feature ul li,
.pledge-feature ol li {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  border-block-end: var(--rule-hair) solid var(--color-dark-rule);
}

.pledge-feature ol li span { color: var(--color-on-dark-muted); text-align: end; }

.pledge-actions--inline {
  align-self: auto;
  margin-block-start: var(--space-sm);
}

.pledge-actions--inline li {
  color: var(--color-on-dark);
  font-weight: 700;
}

.pledge-rest { border-block-start: var(--rule-hair) solid var(--color-dark-rule); }

.pledge-rest article {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-md);
  padding: var(--space-xl) var(--page-gutter);
  border-block-end: var(--rule-hair) solid var(--color-dark-rule);
}

.pledge-rest > article > span {
  color: var(--color-accent-soft);
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.pledge-rest h3 { font-size: var(--text-lg); }
.pledge-rest > article > div { min-width: 0; }

.pledge-actions--compact {
  display: grid;
  gap: var(--space-sm);
  margin-block-start: var(--space-lg);
  color: var(--color-on-dark-muted);
  list-style: none;
}

.pledge-actions--compact li {
  position: relative;
  padding-inline-start: var(--space-lg);
  line-height: 1.5;
}

.pledge-actions--compact li::before {
  position: absolute;
  inset-block-start: 0.68em;
  inset-inline-start: 0;
  width: 0.45rem;
  height: var(--rule-hair);
  background: var(--color-accent-soft);
  content: "";
}

.reader-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xs) var(--space-lg);
  align-items: end;
  padding: var(--space-2xl) var(--page-gutter) var(--space-3xl);
  color: var(--color-on-dark);
  text-decoration: none;
}

.reader-link span { color: var(--color-on-dark-muted); }
.reader-link strong { grid-column: 1; font-size: var(--text-xl); letter-spacing: -0.04em; white-space: nowrap; }
.reader-link i { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: var(--text-xl); font-style: normal; }

.method {
  display: grid;
  gap: var(--space-4xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
}

.method > header { display: grid; gap: var(--space-lg); }
.method > header h2 { max-width: 12ch; font-size: var(--text-display); }
.method > header h2 span { color: var(--color-accent-hover); }
.method > header h2 strong { color: var(--color-ink-soft); font-weight: inherit; }
.method > header > p { color: var(--color-ink-soft); font-size: var(--text-xl); font-weight: 800; letter-spacing: -0.04em; }

.unity__body { display: grid; gap: var(--space-3xl); min-width: 0; }

.unity__history {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
}

.unity__history li {
  position: relative;
  min-width: 0;
  padding-block-start: var(--space-lg);
  color: var(--color-ink-soft);
  font-size: clamp(0.9rem, 2.8vw, 1.3rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  text-align: center;
  white-space: nowrap;
}

.unity__history li::before {
  position: absolute;
  inset-block-start: calc(var(--rule-hair) * -1);
  inset-inline-start: 50%;
  width: 0.7rem;
  aspect-ratio: 1;
  border-radius: var(--radius-round);
  background: var(--color-accent);
  content: "";
  transform: translate(-50%, -50%);
}

.method__sequence { border-block-start: var(--rule-hair) solid var(--color-rule); }

.method__sequence article {
  display: grid;
  gap: var(--space-md);
  padding-block: var(--space-2xl);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.method__sequence article > span { color: var(--color-accent-hover); font-weight: 800; }
.method__sequence h3 { max-width: 21ch; font-size: var(--text-xl); }
.method__sequence p { max-width: 56ch; color: var(--color-ink-soft); }

.unity__statement {
  display: grid;
  gap: var(--space-md);
  max-width: 32ch;
  padding-block-start: var(--space-2xl);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
  color: var(--color-ink-soft);
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.35;
}

.unity__statement strong { color: var(--color-ink); font-size: var(--text-xl); line-height: 1.18; }
.unity__links { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-xl); }

.record {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: var(--space-3xl);
  min-height: 100svh;
  overflow: hidden;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
  background: var(--color-dark);
  color: var(--color-on-dark);
}

.record > header,
.commitment__body {
  position: relative;
  z-index: var(--z-base);
  width: min(100%, var(--content-max));
  margin-inline: auto;
}

.record > header { display: grid; align-content: start; gap: var(--space-lg); }
.record > header p { color: var(--color-accent-soft); font-size: var(--text-sm); font-weight: 800; }
.record > header h2 { max-width: 9ch; font-size: clamp(3rem, 5.3vw, 4.75rem); }
.record > header h2 span { white-space: nowrap; }

.commitment__body {
  display: grid;
  gap: var(--space-2xl);
}

.commitment__quote {
  display: grid;
  gap: var(--space-lg);
  padding-block-end: var(--space-2xl);
  border-block-end: var(--rule-hair) solid var(--color-dark-rule);
}

.commitment__quote p {
  color: var(--color-on-dark-muted);
  font-size: var(--text-lg);
  font-weight: 700;
}

.commitment__quote strong {
  max-width: 12ch;
  font-family: var(--font-display);
  font-size: clamp(3rem, 7vw, 7.5rem);
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.98;
  text-wrap: balance;
}

.commitment__quote span {
  color: var(--color-accent-soft);
  font-size: var(--text-2xl);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.12;
}

.commitment__principles {
  display: grid;
  border-block-start: var(--rule-hair) solid var(--color-dark-rule);
}

.commitment__principles p {
  padding-block: var(--space-lg);
  border-block-end: var(--rule-hair) solid var(--color-dark-rule);
  color: var(--color-on-dark-muted);
  font-size: var(--text-md);
  font-weight: 700;
}

.commitment__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-md) var(--space-xl);
}

.team {
  display: grid;
  gap: var(--space-3xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
}

.team > header { display: grid; gap: var(--space-lg); }
.team > header p { color: var(--color-accent-hover); font-weight: 800; }
.team > header h2 { max-width: 12ch; font-size: var(--text-display); }
.team__stage {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: visible;
  background: transparent;
}

.team__stage::after {
  position: absolute;
  z-index: var(--z-raised);
  inset: auto 0 0;
  height: var(--rule-hair);
  background: var(--color-rule);
  content: "";
}

.team__portraits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: clamp(18rem, 56vw, 44rem);
  min-width: 0;
  align-items: end;
  overflow: hidden;
  background: linear-gradient(180deg, transparent 0 82%, var(--color-paper-soft) 100%);
  transform-origin: 50% 72%;
}

.team__portraits img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: contain;
  object-position: 50% 100%;
  filter: drop-shadow(0 var(--space-sm) var(--space-lg) var(--color-shadow));
}

.team__stage figcaption {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-block-start: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper);
}

.team__stage figcaption span {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-xs);
}

.team__stage figcaption span + span { border-inline-start: var(--rule-hair) solid var(--color-rule); }

.team__stage figcaption b {
  display: inline-grid;
  width: 2.5rem;
  aspect-ratio: 1;
  flex: 0 0 auto;
  place-items: center;
  border-radius: var(--radius-round);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}

.team__stage figcaption strong { min-width: 0; font-size: var(--text-md); letter-spacing: -0.04em; }

.team__messages { display: grid; border-block-start: var(--rule-hair) solid var(--color-rule); }

.team__messages article {
  display: grid;
  align-content: start;
  gap: var(--space-md);
  min-width: 0;
  padding-block: var(--space-xl);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.team__messages article > strong { color: var(--color-accent-hover); font-size: var(--text-2xl); letter-spacing: -0.05em; }
.team__messages blockquote { max-width: 50ch; font-family: var(--font-editorial); font-size: var(--text-md); font-weight: 600; line-height: 1.65; }
.team__messages article a { width: fit-content; min-height: 2.75rem; display: inline-flex; align-items: center; font-size: var(--text-sm); font-weight: 700; white-space: nowrap; }

@supports (animation-timeline: view()) {
  .team__portraits {
    animation: team-stage-settle linear both;
    animation-range: entry 8% cover 48%;
    animation-timeline: view();
  }

  @keyframes team-stage-settle {
    from { opacity: 0.72; transform: scale(1.035); }
    to { opacity: 1; transform: scale(1); }
  }
}

.declaration {
  display: grid;
  gap: var(--space-3xl);
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
  background: var(--color-dark);
  color: var(--color-on-dark);
}

.declaration > header,
.video-tabs,
.declaration > .reader-link {
  width: min(100%, var(--content-max));
  margin-inline: auto;
}

.declaration > header { display: grid; gap: var(--space-lg); }
.declaration > header p { color: var(--color-accent-soft); font-size: var(--text-sm); font-weight: 800; }
.declaration > header h2 { max-width: 11ch; font-size: var(--text-display); }
.video-tabs { display: grid; gap: var(--space-xl); }
.video-tabs__list {
  display: flex;
  gap: var(--space-xs);
  overflow-x: auto;
  padding-block-end: var(--space-sm);
  border-block-end: var(--rule-hair) solid var(--color-dark-rule);
  scrollbar-width: none;
}
.video-tabs__list::-webkit-scrollbar { display: none; }
.video-tabs__list button {
  min-height: 2.75rem;
  flex: 0 0 auto;
  padding: 0 var(--space-lg);
  border: var(--rule-hair) solid var(--color-dark-rule);
  border-radius: var(--radius-round);
  background: transparent;
  color: var(--color-dark-muted);
  font: inherit;
  font-size: var(--text-sm);
  font-weight: 800;
  cursor: pointer;
}
.video-tabs__list button[aria-selected="true"] {
  border-color: var(--color-accent-soft);
  background: var(--color-accent);
  color: var(--color-accent-ink);
}
.video-tabs__list button:focus-visible { outline: 0.2rem solid var(--color-accent-soft); outline-offset: 0.18rem; }
.video-tabs__panel { display: grid; gap: var(--space-md); }
.video-tabs__panel[hidden] { display: none; }
.video-tabs__panel > p { display: grid; gap: var(--space-xs); }
.video-tabs__panel > p strong { font-size: var(--text-lg); }
.video-tabs__panel > p span { color: var(--color-dark-muted); font-size: var(--text-sm); font-weight: 700; }

.video-frame {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-dark-rule);
  background: var(--color-dark-raised);
}

.video-frame iframe { width: 100%; height: 100%; border: 0; }
.reader-link--light { padding-inline: 0; border-block-start: var(--rule-hair) solid var(--color-dark-rule); }

.now {
  display: grid;
  gap: var(--space-3xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
}

.now > header { display: grid; gap: var(--space-md); }
.now > header h2 { font-size: var(--text-display); }
.now > header p { color: var(--color-ink-soft); }
.news-list { border-block-start: var(--rule-hair) solid var(--color-rule); }

.news-list article {
  display: grid;
  gap: var(--space-md);
  padding-block: var(--space-xl);
  border-block-end: var(--rule-hair) solid var(--color-rule);
}

.news-list article > p:first-child { display: flex; gap: var(--space-md); color: var(--color-muted); font-size: var(--text-sm); font-weight: 700; }
.news-list time { font-variant-numeric: tabular-nums; }
.news-list h3 { font-size: var(--text-lg); }
.news-list h3 a { text-decoration-thickness: var(--rule-hair); text-underline-offset: var(--space-2xs); }
.news-list article > p:last-child { max-width: 54ch; color: var(--color-ink-soft); }

.calendar {
  display: grid;
  gap: var(--space-3xl);
  padding: var(--space-4xl) var(--page-gutter) var(--space-5xl);
  background: var(--color-paper-soft);
}

.calendar > header,
.calendar__rounds,
.calendar__final,
.calendar__actions {
  width: min(100%, var(--content-max));
  margin-inline: auto;
}

.calendar > header { display: grid; gap: var(--space-lg); }
.calendar > header p { color: var(--color-accent-hover); font-weight: 800; }
.calendar > header h2 { max-width: 13ch; font-size: var(--text-display); }
.calendar__rounds { display: grid; gap: var(--space-xl); }
.calendar__rounds article { border-block-start: var(--rule-hair) solid var(--color-rule); }

.calendar__rounds article > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  padding-block: var(--space-lg);
}

.calendar__rounds article > div span { color: var(--color-accent-hover); font-weight: 900; }
.calendar__rounds article > div strong { font-size: var(--text-xl); font-variant-numeric: tabular-nums; }
.calendar__rounds ol { list-style: none; }

.calendar__rounds li {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-md);
  padding-block: var(--space-md);
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.calendar__rounds time { color: var(--color-muted); font-weight: 800; font-variant-numeric: tabular-nums; }
.calendar__rounds li span { font-weight: 700; }

.calendar__final {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: center;
  padding: var(--space-xl);
  background: var(--color-dark);
  color: var(--color-on-dark);
}

.calendar__final time { color: var(--color-accent-soft); font-size: var(--text-2xl); font-weight: 900; font-variant-numeric: tabular-nums; }
.calendar__final div { display: grid; gap: var(--space-2xs); }
.calendar__final strong { font-size: var(--text-lg); }

.calendar__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-lg); }
.calendar__actions p { color: var(--color-muted); font-size: var(--text-sm); }

.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding-inline: var(--space-lg);
  border: var(--rule-hair) solid var(--color-accent);
  border-radius: var(--radius-round);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);
}

.button:active { transform: translateY(1px); }

.final {
  position: relative;
  display: grid;
  min-height: clamp(48rem, 88dvh, 62rem);
  align-items: end;
  overflow: hidden;
  background: var(--color-dark);
  color: var(--color-on-dark);
  isolation: isolate;
}

.final > figure,
.final__shade {
  position: absolute;
  z-index: calc(var(--z-base) * -1);
  inset: 0;
}

.final > figure img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.final__shade { background: linear-gradient(90deg, var(--color-overlay), var(--color-overlay-soft), var(--color-overlay-clear)); }

.final__copy {
  display: grid;
  gap: var(--space-xl);
  width: min(100%, var(--content-max));
  margin-inline: auto;
  padding: var(--space-4xl) var(--page-gutter) var(--space-4xl);
}

.final__copy > p:first-child { color: var(--color-accent-soft); font-weight: 800; }
.final h2 { max-width: 10ch; font-size: var(--text-display); }
.final h2 strong,
.final h2 span { display: block; }
.final h2 strong { color: var(--color-accent-soft); }
.final__copy > div { display: grid; gap: var(--space-xs); }
.final__copy > div span { color: var(--color-on-dark-muted); }
.final__copy > div strong { font-size: var(--text-xl); }
.final__copy > p:nth-of-type(2) { font-size: var(--text-md); font-weight: 700; }
.final__copy nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-lg); }
.button--light { border-color: var(--color-on-dark); background: var(--color-on-dark); color: var(--color-dark); }
.text-action { display: inline-flex; min-height: 3rem; align-items: center; font-weight: 800; }

.foot-line {
  display: grid;
  gap: var(--space-lg);
  padding: var(--space-2xl) var(--page-gutter);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper);
}

.foot-line p { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: baseline; }
.foot-line p strong { font-size: var(--text-md); }
.foot-line p span,
.foot-line small { color: var(--color-muted); font-size: var(--text-sm); }
.foot-line nav { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-xl); }
.foot-line a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 700; text-underline-offset: var(--space-2xs); white-space: nowrap; }

@media (hover: hover) and (pointer: fine) {
  .site-nav__action:hover { background: var(--color-on-dark); color: var(--color-dark); }
  .site-nav.is-floating .site-nav__action:hover { background: var(--color-on-dark); color: var(--color-dark); }
  .button:hover { background: var(--color-accent-hover); }
  .button--light:hover { background: var(--color-paper-soft); }
  .source-link:hover,
  .team__messages article a:hover,
  .news-list h3 a:hover,
  .text-action:hover { text-decoration-thickness: 2px; }
}

@media (max-width: 39.99rem) {
  .hero-greeting__portrait {
    inset-block-end: -8svh;
    height: min(102svh, 54rem);
  }

  .hero__copy {
    position: absolute;
    inset: auto 0 0;
    padding-block: var(--space-5xl) calc(env(safe-area-inset-bottom) + var(--space-2xl));
    background: linear-gradient(0deg, var(--color-hero-deep) 0%, var(--color-hero-deep-90) 62%, transparent 100%);
  }

  .hero__sub {
    max-width: 54vw;
    text-wrap: balance;
  }

  .hero__commitment {
    max-width: 62vw;
    margin-block-start: calc(var(--space-sm) * -1);
  }

  .promises__official strong { font-size: var(--text-md); }
}

@media (min-width: 40rem) {
  .hero__stage { align-items: center; }

  .hero__copy { padding-block-start: calc(var(--nav-height) + var(--space-2xl)); }

  .change-sequence li {
    grid-template-columns: 8rem minmax(0, 1.1fr) minmax(0, 1fr);
    column-gap: var(--space-xl);
    align-items: start;
  }

  .change-sequence li > .source-link,
  .change-sequence li > .change-sequence__links { grid-column: 3; }

  .wins__meaning { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wins__meaning article:first-child { padding-inline-end: var(--space-xl); }
  .wins__meaning article:last-child { padding-inline-start: var(--space-xl); border-inline-start: var(--rule-hair) solid var(--color-rule); }

  .pledge-feature { grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr); }

  .pledge-rest > article > div {
    display: grid;
    grid-template-columns: minmax(12rem, 0.8fr) minmax(0, 1.2fr);
    gap: var(--space-xl);
    align-items: start;
  }

  .pledge-actions--compact { margin-block-start: 0; }

  .method__sequence article {
    grid-template-columns: 7rem minmax(0, 0.9fr) minmax(0, 1fr);
    column-gap: var(--space-xl);
  }

  .method__sequence article .source-link { grid-column: 3; }

  .commitment__principles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .commitment__principles p { padding-inline: var(--space-xl); }
  .commitment__principles p:first-child { padding-inline-start: 0; }
  .commitment__principles p + p { border-inline-start: var(--rule-hair) solid var(--color-dark-rule); }
  .team__messages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .team__messages article { padding-inline: var(--space-xl); }
  .team__messages article:first-child { padding-inline-start: 0; }
  .team__messages article:last-child { padding-inline-end: 0; }
  .team__messages article + article { border-inline-start: var(--rule-hair) solid var(--color-rule); }
  .news-list article { grid-template-columns: 8rem minmax(0, 0.9fr) minmax(0, 1fr); column-gap: var(--space-xl); }
  .calendar__rounds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calendar__final { grid-template-columns: 10rem minmax(0, 1fr); padding: var(--space-2xl); }
}

@media (min-width: 60rem) {
  .overview { min-height: 400svh; }

  .overview__stage {
    position: sticky;
    top: 0;
    z-index: var(--z-raised);
    grid-template-columns: minmax(18rem, 0.75fr) minmax(30rem, 1.25fr);
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 100svh;
    align-items: center;
    gap: var(--space-4xl);
    padding-block: calc(var(--nav-height) + var(--space-4xl)) var(--space-3xl);
  }

  .overview__head { align-self: end; }
  .overview__head h2 { font-size: var(--text-2xl); }

  .overview__statements {
    position: relative;
    min-height: 22rem;
    align-self: end;
  }

  .overview__statements article {
    position: absolute;
    inset: 0;
    align-content: end;
    border: 0;
    opacity: 0;
    transform: translateY(var(--space-lg));
    transition: opacity var(--dur-long) var(--ease-in-out), transform var(--dur-long) var(--ease-out);
    pointer-events: none;
  }

  .overview__statements article.is-active {
    opacity: 1;
    transform: translateY(0);
  }

  .overview__statements strong { font-size: clamp(5rem, 11vw, 10rem); }
  .overview__statements span { font-size: var(--text-xl); }

  .overview__index {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    border-block-start: var(--rule-hair) solid var(--color-dark-rule);
  }

  .overview__index li {
    min-width: 0;
    padding-block-start: var(--space-md);
    color: var(--color-on-dark-muted);
    font-size: var(--text-sm);
    font-weight: 700;
    opacity: 0.5;
    transition: opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);
  }

  .overview__index li.is-active { opacity: 1; transform: translateY(calc(var(--space-2xs) * -1)); }

  .overview__progress {
    position: absolute;
    inset: auto var(--page-gutter) var(--space-lg);
    display: block;
    height: 2px;
    overflow: hidden;
    background: var(--color-dark-rule);
  }

  .overview__progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-accent-soft);
    transform: scaleX(var(--overview-progress, 0.25));
    transform-origin: left center;
    transition: transform var(--dur-long) var(--ease-out);
  }

  .overview__beats {
    display: grid;
    height: 300svh;
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  .hero__copy { padding-block-end: var(--space-5xl); }

  .hero-greeting__portrait {
    inset-block-end: -6svh;
    height: min(114svh, 76rem);
  }

  .sovereignty {
    grid-template-columns: minmax(20rem, 0.8fr) minmax(28rem, 1.2fr);
    grid-template-areas: "intro dots" "sequence sequence";
    align-items: end;
  }

  .sovereignty__intro { grid-area: intro; }
  .equal-vote { grid-area: dots; }
  .change-sequence { grid-area: sequence; }

  .field { min-height: 310svh; }
  .field__stage { position: sticky; top: 0; min-height: 100svh; }
  .field__headline { padding-block: var(--space-5xl) var(--space-4xl); }
  .field__journey { position: relative; z-index: var(--z-raised); gap: 0; margin-block-start: -100svh; padding: 100svh var(--page-gutter) 0; pointer-events: none; }
  .field-beat { min-height: 88svh; justify-content: end; align-content: center; padding-inline-start: min(54vw, 52rem); border: 0; }
  .field-beat > * { max-width: 33rem; text-shadow: 0 1px 12px var(--color-shadow); }
  .field__source { position: relative; z-index: var(--z-raised); }

  .wins { grid-template-columns: minmax(0, 1.1fr) minmax(26rem, 0.9fr); grid-template-areas: "lead meaning" "source meaning"; align-items: end; }
  .wins__lead { grid-area: lead; }
  .wins__meaning { grid-area: meaning; display: block; }
  .wins > .source-link { grid-area: source; }
  .wins__meaning article:first-child,
  .wins__meaning article:last-child { padding-inline: 0; border-inline: 0; }

  .pledge-feature {
    min-height: 82svh;
    align-items: center;
  }

  .method { gap: var(--space-5xl); }
  .method > header { grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.45fr); align-items: end; }
  .method > header h2 { grid-row: 1 / 3; }
  .method > header > p { align-self: end; padding-block-end: var(--space-sm); }
  .method__sequence article { grid-template-columns: 8rem minmax(18rem, 0.9fr) minmax(0, 1.1fr); }
  .method__sequence article p { grid-column: 3; }
  .unity__statement { margin-inline-start: auto; }

  .record { grid-template-columns: minmax(20rem, 0.75fr) minmax(34rem, 1.25fr); }
  .record > header { position: sticky; top: calc(var(--nav-height) + var(--space-xl)); }
  .commitment__body { width: 100%; }

}

@media (min-width: 90rem) {
  .final__copy { padding-inline: 0; }
}

@media (pointer: coarse) {
  .site-nav__action,
  .button,
  .text-action,
  .source-link,
  .team__messages article a,
  .foot-line a { min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 150ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 150ms !important;
  }

  .hero-greeting__frame,
  .hero__copy { transform: none; }
  .hero { --greeting-mix: 0; }
  .team__portraits { animation: none; transform: none; }
  .equal-vote__state strong { transition: none; }
  .equal-vote__state--before strong { color: var(--color-muted); opacity: 0.46; transform: scale(0.82); }
  .equal-vote__state--now strong { opacity: 1; transform: scale(1); }
  .field__photos figure { transform: none; }
  .overview__statements article { transition: none; transform: none; }
}

@media (prefers-reduced-motion: reduce) and (min-width: 60rem) {
  .overview__statements article { opacity: 0; }
  .overview__statements article.is-active { opacity: 1; }
}
