body.action-page {
  min-height: 100vh;
  color: var(--paper);
  background: #0a0d0c;
}

body.contact-page {
  background:
    linear-gradient(90deg, rgba(18, 100, 62, 0.22) 0, transparent 42%),
    #0a0d0c;
}

body.donate-page {
  background:
    linear-gradient(115deg, rgba(18, 100, 62, 0.2) 0, transparent 38%),
    linear-gradient(245deg, rgba(214, 33, 28, 0.16) 0, transparent 40%),
    #0a0d0c;
}

.action-page .action-shell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100lvh;
  padding-bottom: 0;
}

.action-page .subpage-topbar,
.action-page .action-hero,
.action-page .action-editorial-stack,
.action-page .contact-landing-content,
.action-page .contact-methods,
.action-page .contact-email-panel,
.action-page .donation-simple,
.action-page .action-next,
.action-page .action-footer,
.action-page .site-credit,
.action-page .footer-legal {
  position: relative;
  z-index: 1;
}

.action-page .subpage-back {
  color: var(--paper);
  background: transparent;
  border-color: rgba(255, 253, 248, 0.28);
}

.contact-page {
  color: var(--paper);
}

.contact-page .action-shell,
.donate-page .action-shell {
  isolation: isolate;
  background: linear-gradient(90deg, #0b1711 0%, #171511 48%, #30110f 100%);
}

.contact-page .action-shell::before,
.donate-page .action-shell::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  background-image: var(--surface-noise);
  background-repeat: repeat;
  background-size: 180px 180px;
  mix-blend-mode: overlay;
  opacity: 0.045;
}

.contact-page .subpage-topbar,
.contact-page .site-credit,
.contact-page .footer-legal {
  width: min(1240px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.contact-page .contact-landing-content {
  width: min(1600px, calc(100% - clamp(48px, 10vw, 240px)));
  margin-right: auto;
  margin-left: auto;
}

.contact-page .subpage-back {
  color: var(--paper);
  border-color: rgba(255, 253, 248, 0.32);
}

.contact-page .subpage-back:is(:hover, :focus-visible) {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
}

.contact-landing-content {
  display: grid;
  min-height: 0;
  align-content: start;
  justify-items: center;
  padding: clamp(76px, 9vh, 112px) 0 clamp(68px, 8vw, 104px);
  text-align: center;
}

.contact-page .contact-hero {
  margin-bottom: clamp(38px, 5vw, 64px);
}

.action-hero {
  max-width: 1080px;
  margin: clamp(82px, 13vh, 150px) 0 clamp(62px, 9vw, 108px);
}

.action-kicker {
  margin: 0 0 18px;
  color: var(--yellow);
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

.contact-hero .action-kicker {
  color: var(--green);
}

.contact-page .contact-hero {
  max-width: 820px;
  margin: 0 auto;
}

.contact-page .contact-hero h1 {
  max-width: none;
  color: var(--paper);
  font-size: clamp(3.8rem, 6.2vw, 6.6rem);
  line-height: 0.94;
  overflow-wrap: normal;
  white-space: nowrap;
}

.contact-page .action-intro {
  max-width: 650px;
  margin-top: clamp(26px, 3.6vw, 40px);
  margin-right: auto;
  margin-left: auto;
  color: rgba(255, 253, 248, 0.7);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.action-hero h1 {
  max-width: 1050px;
  margin: 0;
  color: var(--paper);
  font-size: clamp(4.3rem, 11vw, 10rem);
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.action-intro {
  max-width: 760px;
  margin: clamp(30px, 5vw, 52px) 0 0;
  color: rgba(255, 253, 248, 0.7);
  font-size: clamp(1.08rem, 1.8vw, 1.36rem);
  font-weight: 400;
  line-height: 1.55;
}

/* Shared editorial panels: the same centred, colour-ruled construction used
   for Project and Archive on the home page, now reused by the action pages. */
.action-editorial-stack {
  width: min(820px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.action-page .editorial-panel {
  width: 100%;
  color: var(--paper);
}

.action-page .editorial-panel h2,
.action-page .editorial-panel h3 {
  color: var(--paper);
}

.contact-methods {
  display: grid;
  gap: 0;
  width: 100%;
  max-width: 820px;
  margin-top: clamp(48px, 6vw, 76px);
}

.contact-method {
  display: grid;
  justify-items: center;
  padding: clamp(34px, 4.5vw, 54px) 0 clamp(42px, 5.5vw, 66px);
  border-top: 4px solid var(--green);
  text-align: center;
}

.contact-method-message {
  border-color: var(--yellow);
}

.contact-method-school {
  border-color: var(--yellow);
}

.contact-method .action-kicker {
  margin-bottom: 18px;
  color: var(--green);
}

.contact-method-message .action-kicker {
  color: var(--yellow);
}

.contact-method h2 {
  margin: 0;
  color: var(--paper);
  font-size: clamp(2.3rem, 4.2vw, 4.1rem);
  line-height: 1;
}

.contact-method-actions {
  display: grid;
  width: min(520px, 100%);
  gap: 14px;
  justify-items: center;
  margin-top: clamp(26px, 3vw, 36px);
}

.contact-method > p:not(.action-kicker) {
  max-width: 620px;
  margin: 20px auto 0;
  color: rgba(255, 253, 248, 0.68);
  font-size: clamp(0.96rem, 1.35vw, 1.1rem);
  font-weight: 400;
  line-height: 1.55;
}

.contact-method-button {
  display: grid;
  gap: 5px;
  width: min(420px, 100%);
  min-height: 68px;
  align-content: center;
  margin-top: clamp(26px, 3vw, 36px);
  padding: 12px 24px;
  color: var(--paper);
  background: #050605;
  border: 2px solid rgba(255, 253, 248, 0.9);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(var(--ink-rgb), 0.22);
  text-decoration: none;
  transition: color 170ms ease, background 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.contact-method-button span {
  font-size: clamp(1rem, 1.5vw, 1.24rem);
  font-weight: 900;
  text-transform: uppercase;
}

.contact-method-button small {
  font-size: 0.78rem;
  font-weight: 700;
  opacity: 0.68;
}

.contact-method-button:is(:hover, :focus-visible) {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--paper);
  box-shadow: 0 12px 28px rgba(var(--ink-rgb), 0.3);
  outline: none;
  transform: translateY(-2px);
}

.contact-method-actions .contact-method-button {
  margin-top: 0;
}

/* Three direct contact routes: one open, full-width contact strip rather than
   disconnected cards. */
.contact-email-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  margin-top: 0;
  background: linear-gradient(90deg, var(--green) 0 33.333%, var(--yellow) 33.333% 66.666%, var(--red) 66.666% 100%) top / 100% 4px no-repeat;
}

.contact-email-entry {
  display: grid;
  min-width: 0;
  min-height: clamp(132px, 11vw, 164px);
  align-content: center;
  gap: 12px;
  padding: clamp(34px, 3.6vw, 48px) clamp(22px, 3vw, 52px);
  color: var(--paper);
  text-align: center;
  text-decoration: none;
  transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.contact-email-entry + .contact-email-entry {
  border-left: 1px solid rgba(255, 253, 248, 0.2);
}

.contact-email-entry span {
  color: rgba(255, 253, 248, 0.58);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.contact-email-entry strong {
  min-width: 0;
  color: var(--paper);
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.contact-email-entry:is(:hover, :focus-visible) strong {
  color: currentColor;
}

.contact-email-entry-green:is(:hover, :focus-visible) {
  color: var(--green);
}

.contact-email-entry-yellow:is(:hover, :focus-visible) {
  color: var(--yellow);
}

.contact-email-entry:is(:hover, :focus-visible) {
  outline: none;
  opacity: 0.9;
  transform: translateY(-4px);
}

.donate-page .subpage-topbar,
.donate-page .action-hero,
.donate-page .site-credit,
.donate-page .footer-legal {
  width: min(1240px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.donate-hero {
  max-width: 860px;
  margin: clamp(76px, 10vh, 118px) auto clamp(48px, 6vw, 76px);
  text-align: center;
}

.donate-page .donate-hero h1 {
  max-width: 840px;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(3.7rem, 6.4vw, 6.8rem);
  line-height: 0.94;
  overflow-wrap: normal;
}

.donate-page .donate-hero .action-intro {
  max-width: 660px;
  margin: clamp(26px, 3.6vw, 40px) auto 0;
  font-size: clamp(1rem, 1.35vw, 1.18rem);
}

.donation-simple {
  width: min(820px, 100%);
  border: 0;
}

.donation-region-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  width: min(540px, 100%);
  margin: 0 auto clamp(36px, 5vw, 58px);
  padding: 3px;
  background: rgba(255, 253, 248, 0.74);
  border: 1px solid rgba(var(--ink-rgb), 0.16);
  border-radius: 999px;
  box-shadow: 0 16px 36px rgba(var(--ink-rgb), 0.18);
}

.donation-region-switch button {
  display: grid;
  min-width: 0;
  min-height: 58px;
  align-content: center;
  justify-items: center;
  gap: 4px;
  padding: 9px 20px;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.donation-region-switch button span {
  font-size: clamp(0.95rem, 1.55vw, 1.15rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.donation-region-switch button small {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0.72;
}

.donation-region-switch button:is(:hover, :focus-visible) {
  color: var(--ink);
  background: rgba(var(--ink-rgb), 0.08);
  outline: none;
  transform: translateY(-1px);
}

.donation-region-switch button.is-active {
  color: var(--paper);
  background: var(--ink);
}

.donation-region-switch button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(var(--ink-rgb), 0.28);
}

.donation-region-switch button.is-active:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(255, 253, 248, 0.5);
}

.donation-account-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.donation-account-simple {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  padding: clamp(36px, 4.8vw, 56px) 0 clamp(46px, 5.8vw, 68px);
  border-top: 4px solid var(--green);
  text-align: center;
}

.donation-account-simple[hidden] {
  display: none;
}

.donation-account-simple.is-active {
  animation: donation-account-in 260ms ease both;
}

@keyframes donation-account-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.donation-account-simple:first-child {
  padding-left: 0;
}

.donation-account-simple + .donation-account-simple {
  border-top-color: var(--yellow);
  border-left: 0;
}

.donation-account-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.donation-account-simple .action-kicker {
  margin: 0;
  color: var(--green);
}

.donation-account-simple-yellow .action-kicker {
  color: var(--yellow);
}

.donation-account-currency {
  color: rgba(255, 253, 248, 0.35);
  font-size: clamp(1.15rem, 2vw, 1.65rem);
  font-weight: 900;
  line-height: 1;
}

.donation-account-simple h3 {
  max-width: 650px;
  margin: clamp(24px, 3.2vw, 36px) auto clamp(28px, 3.5vw, 40px);
  font-size: clamp(2.15rem, 3.9vw, 3.8rem);
  line-height: 1;
}

.simple-account-pending {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 253, 248, 0.14);
}

.simple-account-pending[hidden],
.simple-bank-details[hidden] {
  display: none;
}

.simple-account-pending strong {
  font-size: 1rem;
}

.simple-account-pending p {
  max-width: 430px;
  margin: 0;
  color: rgba(255, 253, 248, 0.58);
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.5;
}

.simple-account-pending a {
  color: var(--paper);
  font-size: 0.78rem;
  font-weight: 900;
  text-underline-offset: 4px;
  text-transform: uppercase;
}

.simple-bank-details {
  display: grid;
  gap: 18px;
  width: min(620px, 100%);
  margin: 0;
  text-align: left;
}

.contact-page .contact-landing-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding-bottom: 0;
}

.contact-page .contact-hero {
  flex: 0 0 auto;
  margin-bottom: 0;
}

.contact-page .contact-email-panel {
  margin-block: auto;
}

.contact-page .action-shell,
.donate-page .action-shell {
  padding-bottom: 0;
}

.simple-bank-details div {
  display: grid;
  grid-template-columns: minmax(112px, 0.68fr) minmax(0, 1.32fr);
  gap: 20px;
  padding: 0;
}

.simple-bank-details dt {
  color: rgba(255, 253, 248, 0.44);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.simple-bank-details dd {
  margin: 0;
  color: var(--paper);
  font-size: 0.97rem;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.donation-simple-note {
  max-width: 820px;
  margin: 0 auto clamp(68px, 8vw, 104px);
  padding: clamp(36px, 4.8vw, 54px) 0 0;
  border-top: 4px solid var(--red);
  text-align: center;
}

.donation-note-title {
  margin: 0 0 24px;
  color: var(--paper);
  font-size: clamp(2.15rem, 3.9vw, 3.8rem);
  line-height: 1;
}

.donation-simple-note > p:not(.action-kicker) {
  max-width: 660px;
  margin: 0;
  margin-right: auto;
  margin-left: auto;
  color: rgba(255, 253, 248, 0.76);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  font-weight: 400;
  line-height: 1.56;
}

.donation-simple-note > p + p {
  margin-top: 14px;
  color: rgba(255, 253, 248, 0.54);
}

.action-footer {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: var(--near-black);
}

.action-footer .site-credit,
.action-footer .footer-legal {
  width: min(1240px, 100%);
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  background: transparent;
}

.action-footer .site-credit {
  padding-right: clamp(18px, 4vw, 58px);
  padding-left: clamp(18px, 4vw, 58px);
}

.action-next {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: clamp(58px, 9vw, 104px) 0;
}

.action-next a {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 24px 16px;
  color: var(--paper);
  border: 1px solid rgba(255, 253, 248, 0.26);
  border-radius: 6px;
  font-size: 0.86rem;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.action-next a:is(:hover, :focus-visible) {
  color: var(--ink);
  background: var(--paper);
  transform: translateY(-2px);
}

@media (max-width: 860px) {
  .action-hero {
    margin-top: 82px;
  }

  .donation-account-list,
  .action-next {
    grid-template-columns: 1fr;
  }

  .donation-account-simple {
    padding-right: 0;
    padding-left: 0;
  }

  .donation-account-simple + .donation-account-simple {
    border-top: 4px solid var(--yellow);
    border-left: 0;
  }
}

@media (max-width: 560px) {
  .action-page .action-shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  .action-hero {
    margin: 68px 0 58px;
  }

  .action-hero h1 {
    overflow-wrap: normal;
  }

  .contact-page .action-hero h1 {
    font-size: clamp(2.9rem, 13vw, 4rem);
  }

  .donate-page .action-hero h1 {
    font-size: clamp(2.7rem, 11.2vw, 3.45rem);
  }

  .action-intro {
    font-size: 1rem;
  }

  .contact-landing-content {
    padding-top: 88px;
  }

  .contact-page .contact-landing-content {
    width: 100%;
  }

  .contact-page .contact-hero h1 {
    white-space: normal;
  }

  .contact-methods {
    margin-top: 48px;
  }

  .contact-method {
    padding: 32px 0 44px;
  }

  .contact-method-button {
    min-height: 66px;
    padding: 12px 20px;
  }

  .contact-email-panel {
    grid-template-columns: minmax(0, 1fr);
    background: linear-gradient(var(--green) 0 50%, var(--yellow) 50% 100%) left / 4px 100% no-repeat;
  }

  .contact-email-entry {
    min-height: 120px;
    padding: 24px 18px 28px 32px;
  }

  .contact-email-entry + .contact-email-entry {
    border-top: 1px solid rgba(255, 253, 248, 0.2);
    border-left: 0;
  }

  .contact-email-entry strong {
    font-size: clamp(0.98rem, 5.2vw, 1.2rem);
  }

  .donation-account-simple {
    padding: 34px 0 46px;
  }

  .donation-region-switch {
    width: 100%;
    margin-bottom: 34px;
  }

  .donation-region-switch button {
    min-height: 56px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .donation-account-simple h3 {
    margin: 24px 0 28px;
    font-size: clamp(2rem, 9.5vw, 2.75rem);
  }

  .simple-bank-details div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .donation-simple-note {
    padding-top: 34px;
  }

  .donation-simple-note > p:not(.action-kicker) {
    max-width: 34ch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-method-button,
  .action-next a {
    transition: none;
  }
}

/* Contact and Donate belong to the same quiet editorial family as the
   Partners page. Their controls remain functional, but the page surface is
   deliberately light, open and free of detached card-like framing. */
.action-page,
body.contact-page,
body.donate-page {
  color: var(--ink);
  background: var(--paper);
}

.contact-page .action-shell,
.donate-page .action-shell {
  min-height: 100vh;
  min-height: 100lvh;
  padding-bottom: clamp(26px, 4.5vw, 70px);
  color: var(--ink);
  background:
    radial-gradient(ellipse at 16% 16%, rgba(0, 120, 69, 0.09), transparent 34%),
    radial-gradient(ellipse at 44% 7%, rgba(239, 159, 0, 0.07), transparent 36%),
    radial-gradient(ellipse at 70% 18%, rgba(212, 29, 25, 0.06), transparent 38%),
    radial-gradient(ellipse at 88% 16%, rgba(0, 68, 148, 0.07), transparent 36%),
    var(--paper);
}

.donate-page .action-shell {
  background: var(--paper);
}

.contact-page .action-shell::before,
.donate-page .action-shell::before {
  display: none;
}

.contact-page .subpage-topbar,
.donate-page .subpage-topbar,
.contact-page .contact-landing-content,
.donate-page .action-hero,
.donate-page .donation-simple,
.contact-page .action-footer,
.donate-page .action-footer,
.contact-page .site-credit,
.contact-page .footer-legal,
.donate-page .site-credit,
.donate-page .footer-legal {
  width: min(1180px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.contact-page .subpage-back,
.donate-page .subpage-back {
  color: var(--paper);
  background: var(--ink);
  border-color: var(--ink);
}

.contact-page .subpage-back:is(:hover, :focus-visible),
.donate-page .subpage-back:is(:hover, :focus-visible) {
  color: var(--paper);
  background: rgba(var(--ink-rgb), 0.84);
  border-color: var(--ink);
}

.contact-page .contact-landing-content {
  display: block;
  padding: 0 0 clamp(54px, 7vw, 86px);
  text-align: left;
}

.contact-page .contact-hero,
.donate-page .donate-hero {
  max-width: none;
  margin: 0 0 clamp(34px, 4.5vw, 52px);
  text-align: left;
}

.contact-page .contact-hero h1,
.donate-page .donate-hero h1 {
  max-width: 1040px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(3rem, 8vw, 7.4rem);
  line-height: 0.86;
  overflow-wrap: anywhere;
  white-space: normal;
}

.donate-page .donate-hero .action-intro {
  max-width: 780px;
  margin: clamp(18px, 2vw, 28px) 0 0;
  color: var(--muted);
  font-size: clamp(1.06rem, 1.45vw, 1.28rem);
  line-height: 1.45;
}

.contact-email-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(34px, 6vw, 84px);
  width: 100%;
  margin: 0;
  background: none;
}

.contact-email-entry {
  display: grid;
  min-height: clamp(150px, 14vw, 190px);
  align-content: center;
  justify-items: start;
  gap: 14px;
  padding: clamp(28px, 3.6vw, 44px) 0;
  color: var(--ink);
  background: transparent;
  border-top: 4px solid var(--green);
  text-align: left;
  transition: opacity 180ms ease, transform 180ms ease;
}

.contact-email-entry-yellow {
  border-top: 4px solid var(--yellow);
  border-left: 0;
}

.contact-email-entry-red {
  border-top: 4px solid var(--red);
  border-left: 0;
}

.contact-email-entry span {
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0;
}

.contact-email-entry strong {
  color: var(--ink);
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  line-height: 1.08;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}

.contact-email-entry:is(:hover, :focus-visible),
.contact-email-entry-green:is(:hover, :focus-visible),
.contact-email-entry-yellow:is(:hover, :focus-visible) {
  color: var(--ink);
  background: transparent;
  outline: none;
  opacity: 0.78;
  transform: translateY(-2px);
}

.contact-email-entry:is(:hover, :focus-visible) strong {
  text-decoration: underline;
}

.donate-page .donation-simple {
  border: 0;
}

.donation-region-switch {
  width: min(560px, 100%);
  margin: 0 auto clamp(34px, 4.5vw, 52px);
  background: rgba(255, 253, 248, 0.82);
  border: 1px solid rgba(var(--ink-rgb), 0.14);
  box-shadow: none;
}

.donation-account-simple,
.action-page .editorial-panel {
  color: var(--ink);
  background: transparent;
}

.donation-account-simple {
  padding: clamp(34px, 4.6vw, 52px) 0 clamp(44px, 5.6vw, 64px);
}

.action-page .editorial-panel h2,
.action-page .editorial-panel h3,
.donation-note-title,
.simple-bank-details dd {
  color: var(--ink);
}

.donation-account-currency,
.simple-bank-details dt,
.donation-simple-note > p + p {
  color: var(--muted);
}

.simple-bank-details {
  width: min(700px, 100%);
}

.simple-bank-details dd {
  font-size: clamp(1rem, 1.3vw, 1.12rem);
}

.donation-simple-note {
  max-width: 820px;
  margin-bottom: clamp(58px, 7vw, 88px);
}

.donation-simple-note > p:not(.action-kicker) {
  color: var(--muted);
}

.action-footer {
  width: min(1180px, 100%);
  margin-left: auto;
  background: transparent;
}

.action-footer .site-credit,
.contact-page .site-credit,
.donate-page .site-credit {
  color: var(--ink);
  background: transparent;
}

.action-footer .footer-legal,
.contact-page .footer-legal,
.donate-page .footer-legal {
  background: transparent;
}

@media (max-width: 700px) {
  .action-page .action-shell {
    padding-right: 18px;
    padding-left: 18px;
  }

  .contact-page .contact-hero,
  .donate-page .donate-hero {
    margin-bottom: 30px;
  }

  .contact-page .contact-hero h1,
  .donate-page .donate-hero h1 {
    font-size: clamp(2.9rem, 14vw, 4.25rem);
  }

  .contact-email-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .contact-email-entry,
  .contact-email-entry + .contact-email-entry {
    min-height: 116px;
    padding: 26px 0 30px;
    border-top-width: 4px;
    border-left: 0;
  }

  .contact-email-entry strong {
    font-size: clamp(1.03rem, 5.2vw, 1.3rem);
  }

  .donation-region-switch {
    margin-bottom: 26px;
  }

  .donation-account-simple,
  .donation-simple-note {
    text-align: left;
  }

  .donation-account-heading {
    justify-content: space-between;
    width: 100%;
  }

  .donation-account-simple {
    justify-items: start;
  }

  .donation-account-simple h3 {
    margin-right: 0;
    margin-left: 0;
  }

  .donation-simple-note > p:not(.action-kicker) {
    max-width: none;
    margin-left: 0;
    text-align: left;
  }
}

/* Donation page overhaul: the page now starts with the transfer workflow
   instead of hiding it behind a redundant Donate / Contact choice. */
.donate-page .action-shell {
  display: block;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 82% 7%, rgba(239, 159, 0, 0.08), transparent 24%),
    radial-gradient(circle at 10% 27%, rgba(0, 120, 69, 0.07), transparent 25%),
    var(--paper);
}

.donate-page .donate-hero {
  width: min(1180px, 100%);
  margin: clamp(48px, 7vw, 92px) auto clamp(72px, 8vw, 112px);
  padding: 0;
  text-align: left;
}

.donate-page .donate-hero .action-kicker {
  margin: 0 0 18px;
  color: var(--green);
}

.donate-page .donate-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(3.5rem, 7vw, 6.8rem);
  line-height: 0.86;
  overflow-wrap: normal;
}

.donate-page .donate-hero .action-intro {
  max-width: 760px;
  margin: clamp(26px, 3vw, 38px) 0 0;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.5vw, 1.3rem);
  line-height: 1.55;
}

.donation-workflow {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  margin: 0 auto;
}

.donation-workflow-intro,
.donation-reference-intro {
  max-width: 740px;
}

.donation-workflow-intro .action-kicker,
.donation-reference-intro .action-kicker,
.donation-help .action-kicker {
  margin: 0 0 14px;
  color: var(--green);
}

.donation-workflow-intro h2,
.donation-reference-intro h2,
.donation-help h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.1rem, 4vw, 4rem);
  line-height: 0.98;
  text-transform: uppercase;
}

.donation-workflow-intro > p:last-child,
.donation-reference-intro > p:last-child,
.donation-help > div > p:last-child {
  max-width: 680px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: clamp(1rem, 1.25vw, 1.13rem);
  font-weight: 400;
  line-height: 1.58;
}

.donate-page .donation-region-switch {
  width: min(760px, 100%);
  margin: clamp(34px, 4.5vw, 52px) 0 22px;
  padding: 4px;
  background: rgba(var(--ink-rgb), 0.04);
  border: 1px solid rgba(var(--ink-rgb), 0.12);
  box-shadow: none;
}

.donate-page .donation-region-switch button {
  min-height: 68px;
}

.donate-page .donation-region-switch button.is-active {
  color: var(--paper);
  background: var(--ink);
  box-shadow: 0 10px 22px rgba(var(--ink-rgb), 0.12);
}

.donate-page .donation-account-list {
  margin: 0 0 clamp(88px, 10vw, 142px);
}

.donate-page .donation-account-simple {
  min-height: 0;
  justify-items: start;
  padding: clamp(36px, 5vw, 66px);
  color: var(--paper);
  background:
    radial-gradient(circle at 100% 0, rgba(0, 120, 69, 0.2), transparent 36%),
    var(--near-black);
  border: 0;
  border-radius: clamp(24px, 3vw, 38px);
  text-align: left;
  box-shadow: 0 28px 70px rgba(var(--ink-rgb), 0.14);
}

.donate-page .donation-account-simple-yellow {
  background:
    radial-gradient(circle at 100% 0, rgba(239, 159, 0, 0.2), transparent 36%),
    var(--near-black);
}

.donate-page .donation-account-heading {
  width: 100%;
  justify-content: space-between;
}

.donate-page .donation-account-simple .action-kicker {
  color: #50aa7a;
}

.donate-page .donation-account-simple-yellow .action-kicker {
  color: var(--yellow);
}

.donate-page .donation-account-currency {
  color: rgba(255, 253, 248, 0.46);
}

.donate-page .donation-account-simple h3 {
  max-width: 780px;
  margin: clamp(22px, 3vw, 34px) 0 clamp(30px, 4vw, 48px);
  color: var(--paper);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.98;
  text-align: left;
}

.donate-page .simple-bank-details {
  gap: 10px;
  width: min(820px, 100%);
  margin: 0;
}

.donate-page .simple-bank-details div {
  grid-template-columns: minmax(130px, 0.6fr) minmax(0, 1.4fr);
  align-items: center;
  gap: 20px;
  min-height: 66px;
  padding: 10px 12px 10px 18px;
  background: rgba(255, 253, 248, 0.055);
  border-radius: 14px;
}

.donate-page .simple-bank-details dt {
  color: rgba(255, 253, 248, 0.5);
  font-size: 0.72rem;
}

.donate-page .simple-bank-details dd {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--paper);
  font-size: clamp(0.98rem, 1.4vw, 1.16rem);
}

.donate-page .simple-bank-details dd span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.donate-page .simple-bank-details button {
  flex: 0 0 auto;
  min-width: 88px;
  padding: 10px 15px 8px;
  color: var(--paper);
  background: transparent;
  border: 1px solid rgba(255, 253, 248, 0.32);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.donate-page .simple-bank-details button:is(:hover, :focus-visible) {
  color: var(--ink);
  background: var(--paper);
  outline: none;
  transform: translateY(-1px);
}

.donation-reference {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  column-gap: clamp(44px, 7vw, 104px);
  row-gap: clamp(32px, 4vw, 52px);
  margin-bottom: clamp(92px, 11vw, 154px);
}

.donation-reference-intro .action-kicker {
  color: var(--red);
}

.donation-reference-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.donation-reference-options button {
  display: grid;
  min-height: 132px;
  align-content: space-between;
  justify-items: start;
  gap: 24px;
  padding: 24px;
  color: var(--ink);
  background: rgba(var(--ink-rgb), 0.045);
  border: 0;
  border-radius: 22px;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.donation-reference-options button strong {
  font-size: clamp(1.05rem, 1.6vw, 1.32rem);
  line-height: 1.12;
}

.donation-reference-options button span {
  color: var(--muted);
  font-size: 0.69rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.donation-reference-options button:is(:hover, :focus-visible) {
  color: var(--paper);
  background: var(--ink);
  outline: none;
  transform: translateY(-3px);
}

.donation-reference-options button:is(:hover, :focus-visible) span {
  color: rgba(255, 253, 248, 0.68);
}

.donation-reference > p:last-child {
  grid-column: 2;
  max-width: 720px;
  margin: -18px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.55;
}

.donation-help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(32px, 5vw, 72px);
  margin-bottom: clamp(84px, 10vw, 136px);
  padding: clamp(34px, 5vw, 64px);
  background: rgba(var(--ink-rgb), 0.045);
  border-radius: clamp(22px, 3vw, 36px);
}

.donation-help h2 {
  max-width: 760px;
  font-size: clamp(1.9rem, 3.3vw, 3.35rem);
}

.donation-help > a {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 16px 26px 13px;
  color: var(--paper);
  background: var(--ink);
  border: 2px solid var(--ink);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.donation-help > a:is(:hover, :focus-visible) {
  color: var(--ink);
  background: transparent;
  outline: none;
  transform: translateY(-2px);
}

.donate-page .action-footer {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
}

.donate-page .action-footer .site-credit {
  max-width: 760px;
  margin: 0 auto;
  padding: 18px 0 16px;
  color: rgba(var(--ink-rgb), 0.45);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.45;
}

.donate-page .action-footer .footer-legal {
  gap: 8px;
  padding: 0;
}

.donate-page .action-footer .footer-legal-link {
  padding: 8px 13px 7px;
  color: rgba(var(--ink-rgb), 0.62);
  background: transparent;
  border: 1px solid rgba(var(--ink-rgb), 0.14);
  font-size: 0.62rem;
}

.donate-page .action-footer .footer-legal-link:is(:hover, :focus-visible) {
  color: var(--ink);
  border-color: rgba(var(--ink-rgb), 0.38);
}

@media (max-width: 760px) {
  .donate-page .donate-hero {
    margin-top: 40px;
    margin-bottom: 70px;
  }

  .donate-page .donate-hero h1 {
    font-size: clamp(2.75rem, 13.5vw, 4.4rem);
    line-height: 0.9;
  }

  .donation-workflow-intro h2,
  .donation-reference-intro h2 {
    font-size: clamp(2rem, 10vw, 3.1rem);
  }

  .donate-page .donation-region-switch {
    margin-top: 30px;
  }

  .donate-page .donation-region-switch button {
    min-height: 62px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .donate-page .donation-region-switch button span {
    font-size: 0.78rem;
  }

  .donate-page .donation-account-simple {
    padding: 30px 20px;
    border-radius: 24px;
  }

  .donate-page .donation-account-simple h3 {
    font-size: clamp(1.75rem, 9vw, 2.65rem);
  }

  .donate-page .simple-bank-details div {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    padding: 14px;
  }

  .donate-page .simple-bank-details dd {
    align-items: flex-end;
  }

  .donate-page .simple-bank-details button {
    min-width: 78px;
  }

  .donation-reference {
    grid-template-columns: minmax(0, 1fr);
  }

  .donation-reference-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .donation-reference-options button {
    min-height: 112px;
  }

  .donation-reference > p:last-child {
    grid-column: 1;
    margin-top: -10px;
  }

  .donation-help {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    padding: 28px 22px;
  }

  .donation-help > a {
    width: 100%;
  }

  .donate-page .action-footer .site-credit {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/* Flat controls: one container per piece of information, without nested cards. */
.donate-page .donation-region-switch {
  gap: 10px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.donate-page .donation-region-switch button {
  border: 1px solid rgba(var(--ink-rgb), 0.16);
}

.donate-page .donation-region-switch button.is-active {
  border-color: var(--ink);
}

.donate-page .simple-bank-details div {
  padding-right: 0;
  padding-left: 0;
  background: transparent;
  border-radius: 0;
}

.donation-allocation-note {
  margin: 12px 0 14px;
  padding: 20px 0 0;
  background: transparent;
  border-radius: 0;
}

/* Compact donation composition. */
.donate-page .donate-hero {
  margin: clamp(30px, 4vw, 56px) auto clamp(28px, 3.5vw, 46px);
}

.donate-page .donate-hero h1 {
  font-size: clamp(3.25rem, 6vw, 5.8rem);
}

.donate-page .donate-hero .action-intro {
  margin-top: 18px;
  font-size: clamp(1rem, 1.25vw, 1.16rem);
}

.donate-page .donation-region-switch {
  margin: 0 0 12px;
}

.donate-page .donation-region-switch button {
  min-height: 60px;
}

.donate-page .donation-account-list {
  margin-bottom: 0;
}

.donate-page .donation-account-simple {
  padding: clamp(28px, 3.8vw, 48px);
}

.donate-page .donation-account-simple h3 {
  margin: 14px 0 clamp(20px, 2.5vw, 30px);
  font-size: clamp(1.9rem, 3.4vw, 3.35rem);
}

.donate-page .simple-bank-details div {
  min-height: 56px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.donation-allocation-note {
  display: grid;
  grid-template-columns: minmax(190px, 0.48fr) minmax(0, 1.52fr);
  gap: 8px clamp(28px, 5vw, 72px);
  margin: 12px 0 clamp(42px, 6vw, 78px);
  padding: clamp(22px, 3vw, 34px);
  color: var(--ink);
  background: rgba(var(--ink-rgb), 0.05);
  border-radius: 22px;
}

.donation-allocation-note > div {
  display: contents;
}

.donation-allocation-note h2 {
  grid-row: 1 / span 3;
  margin: 0;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1;
  text-transform: uppercase;
}

.donation-allocation-note p {
  grid-column: 2;
  max-width: 780px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(0.9rem, 1.1vw, 1rem);
  font-weight: 400;
  line-height: 1.48;
}

.donation-allocation-note > p {
  font-size: 0.8rem;
  opacity: 0.82;
}

.donation-allocation-note > a {
  grid-column: 2;
  justify-self: start;
  margin-top: 6px;
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 900;
  text-underline-offset: 4px;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .donate-page .donate-hero {
    margin: 30px auto 30px;
  }

  .donate-page .donate-hero h1 {
    font-size: clamp(2.65rem, 12.4vw, 4rem);
  }

  .donate-page .donation-region-switch {
    margin: 0 0 10px;
  }

  .donate-page .donation-account-simple {
    padding: 25px 18px;
  }

  .donation-allocation-note {
    display: block;
    margin-top: 10px;
    padding: 22px 18px;
  }

  .donation-allocation-note h2 {
    margin-bottom: 14px;
  }

  .donation-allocation-note p + p {
    margin-top: 8px;
  }

  .donation-allocation-note > a {
    display: inline-block;
    margin-top: 14px;
  }
}

/* The action pages use the same left-hand rail and hero proportions as the
   Partners page. The support choices reveal one focused panel at a time.

   Donate is deliberately excluded from the coloured wash. It keeps the flat
   `background: var(--paper)` set further up. The wash is sized in percentages
   of the shell, so on a long page like Partners it stretches out into a barely
   visible tint, but on Donate — which is one viewport tall and mostly empty —
   the same four ellipses land as distinct green/red/blue blooms across the
   void under the buttons. Listing .donate-page here undid that flat rule. */
.contact-page .action-shell {
  background:
    radial-gradient(ellipse at 16% 18%, rgba(0, 120, 69, 0.09), transparent 34%),
    radial-gradient(ellipse at 42% 8%, rgba(239, 159, 0, 0.08), transparent 36%),
    radial-gradient(ellipse at 66% 20%, rgba(212, 29, 25, 0.07), transparent 36%),
    radial-gradient(ellipse at 84% 18%, rgba(0, 68, 148, 0.08), transparent 36%),
    var(--paper);
}

.contact-page .contact-hero h1,
.donate-page .donate-hero h1 {
  max-width: 980px;
  color: var(--ink);
  font-size: clamp(3rem, 8vw, 7.6rem);
  font-weight: 900;
  line-height: 0.84;
  text-transform: uppercase;
}

.contact-page .contact-hero {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(34px, 4.5vw, 52px);
  text-align: left;
}

.support-choice,
.support-panel {
  position: relative;
  z-index: 1;
}

.support-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: clamp(28px, 3.5vw, 42px);
}

.support-choice-button {
  display: inline-flex;
  min-width: min(230px, 100%);
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 15px 30px 12px;
  color: var(--ink);
  background: transparent;
  border: 2px solid var(--ink);
  border-radius: 999px;
  cursor: pointer;
  font-size: clamp(0.92rem, 1.25vw, 1.08rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
}

.support-choice-donate {
  color: var(--paper);
  background: var(--red);
  border-color: var(--red);
}

.support-choice-contact.is-active {
  color: var(--paper);
  background: var(--ink);
}

.support-choice-button:is(:hover, :focus-visible),
.support-choice-button.is-active {
  box-shadow: 0 12px 26px rgba(var(--ink-rgb), 0.16);
  outline: none;
  transform: translateY(-2px);
}

.support-choice-button:focus-visible {
  box-shadow: 0 0 0 3px var(--paper), 0 0 0 5px var(--ink);
}

.support-panel {
  width: min(1180px, 100%);
  margin: 0 auto clamp(58px, 7vw, 88px);
  scroll-margin-top: clamp(24px, 4vw, 48px);
  animation: support-panel-in 360ms var(--ease-reveal) both;
}

.support-panel[hidden] {
  display: none;
}

.support-donation-panel .donation-region-switch {
  margin-left: 0;
}

.support-donation-panel .donation-account-simple {
  justify-items: start;
  text-align: left;
}

.support-donation-panel .donation-account-heading {
  justify-content: flex-start;
}

.support-donation-panel .donation-account-simple h3,
.support-donation-panel .donation-simple-note,
.support-donation-panel .donation-simple-note > p:not(.action-kicker) {
  margin-left: 0;
  text-align: left;
}

.support-contact-panel {
  padding-top: clamp(8px, 1vw, 14px);
}

@keyframes support-panel-in {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 700px) {
  .contact-page .contact-hero h1,
  .donate-page .donate-hero h1 {
    font-size: clamp(2.8rem, 13vw, 5.4rem);
  }

  .support-choice {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .support-choice-button {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .support-choice-button {
    transition: none;
  }

  .support-panel {
    animation: none;
  }
}

/* Final viewport-fit rules stay last so the earlier editorial variants and
   mobile shorthands cannot reintroduce the old double bottom inset. */
.contact-page .action-shell,
.donate-page .action-shell {
  padding-bottom: 0;
}

.contact-page .contact-landing-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  padding-bottom: 0;
}

.contact-page .contact-hero {
  flex: 0 0 auto;
  margin-bottom: 0;
}

.contact-page .contact-email-panel {
  margin-block: auto;
}

/* Donate page: put every band on the same column, and let the sparse landing
   state use the height it actually has.

   Horizontally, `.donate-page .donate-hero` further up resets `margin` with a
   shorthand, which wiped out the auto side margins that the top bar, the
   support panels and the footer all use to sit on the shared 1180px column.
   That left the headline flush against the shell's padding — 72px to the left
   of the BACK TO FRONT PAGE button on a 1440px viewport, while every other
   band stayed on the column. Restoring the auto side margins lines the page up
   on one left edge, the way the Partners page already does.

   Vertically, the default state is a headline, one line of intro and two
   buttons, which used to stack against the top bar above a screen-high void.
   `margin-block: auto` — the same idiom .contact-email-panel uses above —
   centres that block in the leftover height. When a support panel opens the
   page outgrows the viewport there is no leftover height, so the auto margins
   collapse to 0 by themselves and no state class is needed. */
.donate-page .donate-hero {
  width: min(1180px, 100%);
  margin-block: auto;
  margin-inline: auto;
  padding-block: clamp(18px, 3.5vh, 40px);
}

/* The shared `.subpage-shell > .action-footer { margin-top: auto }` would
   compete with the hero's two auto margins for the same free space and split
   it three ways, parking the hero a third of the way down instead of centred.
   The hero's own bottom auto margin already carries the footer to the bottom. */
.donate-page .action-footer {
  margin-top: 0;
}

/* Keep the shared navigation/hero rail left-aligned, but center the actions
   and the content they reveal. The support surface itself stays plain paper,
   matching the intentionally quiet Partners page treatment. */
.donate-page .action-shell {
  background: var(--paper);
}

.support-choice {
  justify-content: center;
}

.support-donation-panel .donation-region-switch {
  margin-right: auto;
  margin-left: auto;
}

.support-donation-panel .donation-account-simple {
  justify-items: center;
  text-align: center;
}

.support-donation-panel .donation-account-heading {
  justify-content: center;
}

.support-donation-panel .donation-account-simple h3 {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.support-donation-panel .simple-bank-details,
.support-donation-panel .simple-account-pending {
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.support-donation-panel .donation-simple-note {
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.support-donation-panel .donation-note-title {
  text-align: center;
}

.support-donation-panel .donation-simple-note > p:not(.action-kicker) {
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.support-contact-panel .contact-email-entry {
  justify-items: center;
  text-align: center;
}

@media (max-width: 700px) {
  /* Keep the German “UNTERSTÜTZEN” intact instead of allowing the final
     letter to wrap onto a line by itself. */
  .donate-page .donate-hero h1 {
    font-size: clamp(2.35rem, 10.7vw, 2.72rem);
    overflow-wrap: normal;
    hyphens: auto;
  }
}

/* Keep the new donation workflow authoritative over the legacy reveal-panel
   rules above. These selectors intentionally remain at the end of the file. */
.donate-page .action-shell {
  display: block;
  padding-bottom: 0;
  background:
    radial-gradient(circle at 82% 7%, rgba(239, 159, 0, 0.08), transparent 24%),
    radial-gradient(circle at 10% 27%, rgba(0, 120, 69, 0.07), transparent 25%),
    var(--paper);
}

.donate-page .donate-hero {
  width: min(1180px, 100%);
  margin: clamp(48px, 7vw, 92px) auto clamp(72px, 8vw, 112px);
  padding: 0;
  text-align: left;
}

.donate-page .donate-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(3.5rem, 7vw, 6.8rem);
  line-height: 0.86;
  overflow-wrap: normal;
}

.donate-page .action-footer {
  width: min(1180px, 100%);
  margin: 0 auto;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
}

@media (max-width: 760px) {
  .donate-page .donate-hero {
    margin: 40px auto 70px;
  }

  .donate-page .donate-hero h1 {
    font-size: clamp(2.75rem, 13.5vw, 4.4rem);
    line-height: 0.9;
    hyphens: auto;
  }
}

/* Final compact hero values. */
.donate-page .donate-hero {
  margin: clamp(30px, 4vw, 56px) auto clamp(28px, 3.5vw, 46px);
}

.donate-page .donate-hero h1 {
  font-size: clamp(3.25rem, 6vw, 5.8rem);
}

@media (max-width: 760px) {
  .donate-page .donate-hero {
    margin: 30px auto;
  }

  .donate-page .donate-hero h1 {
    font-size: clamp(2.65rem, 12.4vw, 4rem);
  }
}

.donation-allocation-note {
  padding: 20px 0 0;
  background: transparent;
  border-radius: 0;
}

@media (max-width: 760px) {
  .donation-allocation-note {
    margin-bottom: 10px;
    padding: 18px 0 0;
  }
}
