/* Donate page (8 Nov 2026): the team's text, a photo of a past edition, the way to the campaign page. Scoped to body.p-donate;
   tokens and type from fot.css. */
body.p-donate .do-head { padding-bottom: 0; }
body.p-donate .do-head .h1 { text-wrap: balance; }
body.p-donate .do-body { padding-top: clamp(48px, 5vw, 80px); }
body.p-donate .do-ph { grid-column: 1 / 8; margin: 0; position: relative; overflow: hidden; background: var(--soft); aspect-ratio: 4 / 3; }
body.p-donate .do-ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 42% 30%; transform: scale(1.17); transform-origin: 50% 0; }
body.p-donate .do-ph figcaption { position: absolute; left: 8px; bottom: 8px; font: 500 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: #fff; background: rgba(10,10,10,.78); padding: 6px 8px; }
body.p-donate .do-t { grid-column: 9 / 13; display: flex; flex-direction: column; gap: 22px; min-width: 0; }
body.p-donate .do-t .lead { max-width: none; font-size: clamp(22px, 1.9vw, 28px); line-height: 1.3; }
body.p-donate .do-go { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
body.p-donate .do-go .btn { justify-content: center; }
body.p-donate .do-thanks { font-weight: 700; }
@media (max-width: 1080px) {
  body.p-donate .do-ph, body.p-donate .do-t { grid-column: 1 / -1; }
  body.p-donate .do-ph { aspect-ratio: 16 / 10; }
  body.p-donate .do-ph img { object-position: 70% 30%; }
  body.p-donate .do-t { margin-top: 32px; }
  body.p-donate .do-t .lead { font-size: var(--t-lead); }
}
@media (max-width: 480px) { body.p-donate .do-go .btn { width: 100%; } }
body.p-donate #do-url { overflow-wrap: anywhere; }
