/* EOF donate upgrade 2026-11-09 — additive only. Dark / red accents; contrast-checked. */
:root{
  --don-card-bg:linear-gradient(180deg,#161010 0%,#0d0a0a 100%);
  --don-card-border:#3a2222;
  --don-ink:#ece3d2;
  --don-mute:#b7aea3;
  --don-red:#c8102e;
  --don-red2:#ff2a3d;
}
.don-impact{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.85rem;max-width:44rem;margin:2rem auto 0;padding:0;list-style:none;text-align:center}
.don-impact li{border:1px solid var(--don-card-border);background:rgba(20,12,12,.65);padding:1rem .75rem .9rem;border-radius:2px}
.don-impact b{display:block;font:1.55rem/1 Bebas,Impact,sans-serif;letter-spacing:.06em;color:#fff;margin:0 0 .35rem}
.don-impact span{display:block;font-size:.82rem;line-height:1.35;color:var(--don-mute)}
.don-lede{max-width:40rem;margin:0 auto;font:italic 400 clamp(1.1rem,2vw,1.35rem)/1.65 Playfair,Georgia,serif;color:#d9cfbf}
.don-free{max-width:40rem;margin:1rem auto 0;color:var(--don-mute);font-size:.95rem}
.don-amounts{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin:1.6rem 0 .4rem}
.don-amt{display:inline-flex;align-items:center;justify-content:center;min-width:4.6rem;padding:.7rem 1rem .55rem;font:1.2rem/1 Bebas,Impact,sans-serif;letter-spacing:.14em;text-decoration:none;color:#fff;border:1px solid var(--don-red);background:rgba(200,16,46,.18);border-radius:2px;transition:.25s}
.don-amt:hover,.don-amt:focus-visible{background:var(--don-red);color:#fff}
.don-amt.is-primary{background:var(--don-red);box-shadow:0 0 28px rgba(200,16,46,.45)}
.don-amt-note{max-width:36rem;margin:.4rem auto 0;font-size:.85rem;color:var(--don-mute)}
.don-legal{max-width:36rem;margin:1.5rem auto 0;font-size:.92rem;line-height:1.55;color:var(--don-mute)}
.don-legal strong{color:var(--don-ink);font-weight:600}
.don-promo{max-width:40rem;margin:2.5rem auto 0;border:1px dashed #5a3535;background:rgba(30,14,14,.45);padding:1.25rem 1rem;border-radius:2px;color:var(--don-mute);font-size:.9rem}
.don-promo[hidden],.don-promo.is-placeholder{/* visible dashed slot until Director's promo exists */}
.don-promo .label{font:1rem/1 Bebas,Impact,sans-serif;letter-spacing:.2em;color:var(--don-red2);margin:0 0 .6rem;text-transform:uppercase}
.don-promo .slot{aspect-ratio:16/9;max-width:100%;margin:.75rem auto 0;background:#0a0707;border:1px solid #2a1c1c;display:grid;place-items:center;color:#8a8076;font-size:.85rem}
.support-card{max-width:44rem;margin:2.5rem auto;padding:1.35rem 1.35rem 1.25rem;border:1px solid var(--don-card-border);background:var(--don-card-bg);border-radius:2px;text-align:left;color:var(--don-ink);box-shadow:0 0 40px rgba(200,16,46,.08)}
.support-card h2,.support-card .sc-h{font:1.55rem/1.05 Bebas,Impact,sans-serif;letter-spacing:.12em;margin:0 0 .7rem;color:#fff;text-align:left}
.support-card p{margin:0 0 .85rem;color:var(--don-mute);font-size:.98rem;line-height:1.55}
.support-card .sc-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}
.support-card .sc-actions .btn{font-size:1.1rem;padding:.75rem 1.25rem .65rem}
.support-card a.sc-more{color:var(--don-ink);font-size:.9rem;text-underline-offset:3px;text-decoration-color:var(--don-red)}
.support-card a.sc-more:hover{color:#fff;text-decoration-color:var(--don-red2)}
.ff-head-don{margin-top:1.5rem}
.ff-head-don .btn{font-size:1.15rem}
.footer-ask{border-top:1px solid #2a1c1c;padding:1.1rem 1.25rem;text-align:center;background:#050404}
.footer-ask p{margin:0;color:var(--don-mute);font-size:.92rem;line-height:1.5}
.footer-ask a{color:#fff;font:1rem/1 Bebas,Impact,sans-serif;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid var(--don-red);margin-left:.35rem}
.footer-ask a:hover{color:var(--don-red2);border-bottom-color:var(--don-red2)}
@media (max-width:640px){
  .don-impact{grid-template-columns:1fr 1fr}
  .support-card{margin:1.75rem 1rem;padding:1.15rem}
  .support-card .sc-actions{flex-direction:column;align-items:stretch}
  .support-card .sc-actions .btn{justify-content:center}
}


/* Donate page hero — framed for landscape + vertical promo captures */
.don-hero{min-height:min(88svh,920px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(3.5rem,8vw,6rem) 1.25rem 2.5rem;background:
  /* near headline: dark neutral, no red wash */
  radial-gradient(ellipse 70% 50% at 50% 18%,rgba(18,16,16,.9),transparent 65%),
  /* soft red only lower, away from title */
  radial-gradient(ellipse 50% 40% at 50% 78%,rgba(200,16,46,.14),transparent 70%),
  radial-gradient(ellipse 40% 30% at 50% 92%,rgba(255,240,215,.05),transparent 70%),
  linear-gradient(#050404,#0b0a0a 70%)}
/* superseded by .don-h */
.don-hero .don-pitch{font:italic 400 clamp(1.15rem,2.4vw,1.55rem)/1.45 Playfair,Georgia,serif;color:#f0e6d6;max-width:34rem;margin:0 auto 1rem}
.don-hero .don-sub{max-width:38rem;margin:0 auto;color:var(--don-mute);font-size:clamp(.95rem,1.6vw,1.08rem);line-height:1.55}
.don-hero .dons{margin-top:1.75rem}
.don-hero .don-tag{margin-top:2rem;font:1.05rem/1.2 Bebas,Impact,sans-serif;letter-spacing:.14em;color:var(--don-red2);text-transform:uppercase}
.don-close{padding:clamp(3rem,8vw,5rem) 1.25rem;text-align:center;background:radial-gradient(ellipse 45% 60% at 50% 50%,rgba(200,16,46,.2),transparent 70%)}
.don-close blockquote{margin:0 auto;max-width:28rem;font:clamp(1.6rem,4.5vw,2.6rem)/1.15 Bebas,Impact,sans-serif;letter-spacing:.06em;color:#fff}
.don-close blockquote span{display:block;color:var(--don-red2)}
.mf-teaser{max-width:52rem;margin:0 auto;padding:clamp(2.5rem,7vw,4.5rem) 1.25rem 1rem;text-align:center}
.mf-teaser .don-lede{margin-top:.5rem}
.mf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:2rem auto 0;text-align:left;max-width:52rem;padding:0;list-style:none}
.mf-grid a.mf-card{display:block;text-decoration:none;color:var(--don-ink);border:1px solid #3a2222;background:linear-gradient(180deg,#161010,#0d0a0a);padding:1.25rem 1.15rem 1.15rem;border-radius:2px;transition:.25s;min-height:100%}
.mf-grid a.mf-card:hover,.mf-grid a.mf-card:focus-visible{border-color:var(--don-red);box-shadow:0 0 36px rgba(200,16,46,.22)}
.mf-grid .kicker{font:0.85rem/1 Bebas,Impact,sans-serif;letter-spacing:.2em;color:var(--don-red2);margin:0 0 .55rem;text-transform:uppercase}
.mf-grid h3{font:1.35rem/1.1 Bebas,Impact,sans-serif;letter-spacing:.1em;margin:0 0 .55rem;color:#fff}
.mf-grid p{margin:0;color:var(--don-mute);font-size:.92rem;line-height:1.5}
.mf-grid .more{display:inline-block;margin-top:.85rem;font:1rem/1 Bebas,Impact,sans-serif;letter-spacing:.16em;color:var(--don-red2)}
.mf-cta{margin-top:2rem}
.mf-cta a.btn{margin:.25rem}
@media (max-width:640px){
  .don-hero{min-height:auto;padding:4.2rem 1.1rem 1.6rem}
  .don-hero .don-pitch{font-size:1.05rem;margin-bottom:.75rem}
  .don-hero .dons{margin-top:1.25rem}
  .don-hero .don-tag{margin-top:1.15rem;font-size:.92rem}
  .don-impact{margin-top:1.25rem;gap:.55rem}
  .don-impact li{padding:.75rem .55rem .65rem}
  .don-impact b{font-size:1.3rem}
  .mf-grid{grid-template-columns:1fr}
}
/* Vertical promo frame (tall narrow): keep headline + CTAs in first screen */
@media (max-width:1100px) and (min-height:1400px){
  .don-hero{min-height:auto;padding:5rem 1.5rem 2rem}
  .don-hero .dons{margin-top:1.5rem}
}
@media (orientation:landscape) and (max-height:520px){
  .don-hero{min-height:100svh;padding:2.5rem 1rem 1.5rem}
  .don-impact{display:none}
  .don-hero .don-tag{margin-top:1rem}
}


/* Previously published supporters */
.don-thanks{max-width:52rem;margin:0 auto;padding:clamp(2.5rem,7vw,4rem) 1.25rem;text-align:center}
.don-thanks .don-lede{margin:0 auto 1.25rem}
.don-thanks .credit{max-width:40rem;margin:0 auto 1.5rem;color:var(--don-mute);font-size:.88rem;line-height:1.5}
.don-names{display:flex;flex-wrap:wrap;gap:.35rem .7rem;justify-content:center;max-width:48rem;margin:0 auto;padding:0;list-style:none}
.don-names li{font-size:.92rem;color:#d9cfbf;letter-spacing:.01em}
.don-names li::after{content:"·";margin-left:.7rem;color:#5a4545}
.don-names li:last-child::after{content:none}
.don-orgs{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;max-width:48rem;margin:1.25rem auto 0;padding:0;list-style:none}
.don-orgs li{font:0.95rem/1 Bebas,Impact,sans-serif;letter-spacing:.1em;color:#ece3d2;border:1px solid #3a2222;padding:.55rem .75rem .45rem;background:rgba(20,12,12,.55)}
.donors-page .don-names{justify-content:flex-start;max-width:56rem}
.donors-page .don-names li{font-size:1rem}
.donors-page .don-cols{columns:2 16rem;column-gap:2rem;text-align:left;max-width:56rem;margin:1.5rem auto 0;padding:0 1rem;list-style:none}
.donors-page .don-cols li{break-inside:avoid;padding:.2rem 0;color:#d9cfbf;border:0}
.donors-page .don-cols li::after{content:none}
@media (max-width:640px){
  .donors-page .don-cols{columns:1}
}

.don-tax-note{max-width:36rem;margin:.85rem auto 0;font-size:.82rem;line-height:1.45;color:#b7aea3}


/* Donate hero title — exactly two lines on desktop */
.don-h{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:0 0 1.1rem;max-width:28ch;text-shadow:none}
.don-h-pre{display:block;font:italic 400 clamp(1.5rem,2.2vw,2.5rem)/1.25 Playfair,Georgia,"Times New Roman",serif;letter-spacing:.02em;color:#f0e6d6;text-wrap:balance}
.don-h-title{display:block;white-space:nowrap;line-height:.92;margin-top:.15rem}
.don-h-ep{font:clamp(2.4rem,6.5vw,4.6rem)/.9 Bebas,Impact,"Arial Narrow",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f3ead8;text-shadow:0 0 40px rgba(0,0,0,.75)}
.don-h-fraud{font:clamp(2.6rem,7vw,5rem)/.88 Bebas,Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;text-transform:uppercase;
  color:#ff4444; /* brighter red for contrast on dark bg */
  /* dark separation outline/shadow — no red glow */
  text-shadow:
    0 1px 0 rgba(0,0,0,.95),
    0 0 2px rgba(0,0,0,.9),
    0 2px 6px rgba(0,0,0,.75),
    -1px 0 0 rgba(0,0,0,.55),
    1px 0 0 rgba(0,0,0,.55);
  background:none;
  -webkit-background-clip:initial;background-clip:initial;
  filter:none;
  position:relative}
.don-hero > .eyebrow{
  color:#ff5a5a; /* brighter than --red2 for eyebrow on dark hero */
  text-shadow:0 1px 2px rgba(0,0,0,.85);
}
.don-hero h1.don-h{max-width:min(96vw,28ch)}
@media (max-width:640px){
  .don-h{max-width:16ch;gap:.25rem}
  .don-h-pre{font-size:clamp(1.2rem,5.2vw,1.55rem)}
  .don-h-title{white-space:normal} /* may wrap gracefully */
  .don-h-ep,.don-h-fraud{display:inline}
  .don-h-title{line-height:1.02}
}
@media (min-width:641px){
  .don-h-title{white-space:nowrap} /* line 2 one visual unit */
}


/* Magic Feathers mascot illustrations */
.don-mascot-hero{margin:1rem auto .25rem;max-width:280px;pointer-events:none}
.don-mascot-hero img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.55))}
.don-mascot-row{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:1.75rem;align-items:center;max-width:52rem;margin:0 auto;padding:clamp(2rem,6vw,3.5rem) 1.25rem;text-align:left}
.don-mascot-frame{border-radius:14px;overflow:hidden;border:1px solid #3a2222;box-shadow:0 0 40px rgba(200,16,46,.12);background:#0a0707;aspect-ratio:4/3}
.don-mascot-frame img{display:block;width:100%;height:100%;object-fit:cover}
.don-mascot-copy p{color:var(--don-mute);font-size:1rem;line-height:1.55;margin:0;max-width:36rem}
.don-mascot-adv{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:1.75rem auto 1.25rem;max-width:260px}
.don-mascot-adv img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 32px rgba(0,0,0,.6))}
.don-mascot-cap{margin:0;font-size:.88rem;color:var(--don-mute);text-align:center;max-width:18rem}
@media (max-width:720px){
  .don-mascot-row{grid-template-columns:1fr;text-align:center}
  .don-mascot-copy .sm,.don-mascot-copy .eyebrow{text-align:center!important}
  .don-mascot-copy p{margin-left:auto;margin-right:auto}
  .don-mascot-hero{max-width:200px}
  .don-mascot-adv{max-width:180px}
}
@media (min-width:1280px){
  .don-hero{position:relative}
  .don-mascot-hero{position:absolute;right:clamp(.5rem,4vw,3rem);bottom:clamp(4rem,12vh,8rem);margin:0;max-width:260px;opacity:.95}
  /* keep headline/CTAs clear — mascot sits lower-right, no overlap with centered text column */
  .don-hero .don-h,.don-hero .don-pitch,.don-hero .don-sub,.don-hero .don-impact,.don-hero .dons,.don-hero .don-tax-note,.don-hero .don-tag{position:relative;z-index:1}
}

.don-mascot-adv-row{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:1.5rem 1.75rem;align-items:center;max-width:44rem;margin:1.5rem auto 1.25rem;text-align:left}
.don-mascot-adv-row .don-mascot-adv{margin:0;max-width:220px}
.don-mascot-adv-copy .don-lede{max-width:36rem}
@media (max-width:640px){
  .don-mascot-adv-row{grid-template-columns:1fr;justify-items:center;text-align:center}
  .don-mascot-adv-copy .don-lede,.don-mascot-adv-copy .don-mascot-cap{text-align:center!important;margin-left:auto;margin-right:auto}
}
