/* One real counter: beside the homepage portrait, compact elsewhere. */
.support-strip { background:#14120d; border-bottom:1px solid #4a3f27; color:var(--ink,#F2EEE5); }
.support-strip-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:68px; padding-block:10px; }
.support-total { display:flex; flex-direction:column; align-items:flex-start; gap:5px; position:relative; font-size:16px; font-weight:600; min-width:0; }
.support-label { max-width:34ch; color:#e8ddc1; font-family:'Helvetica Neue',Arial,'PingFang SC','Microsoft Yahei',sans-serif; font-size:14px; font-weight:700; line-height:1.3; letter-spacing:.025em; overflow-wrap:anywhere; text-wrap:balance; }
.support-context { display:flex; flex-wrap:wrap; gap:4px 14px; margin:0 auto; padding-bottom:12px; color:#d4c9b1; font-size:13px; font-weight:400; line-height:1.5; }
.support-context > span { min-width:0; overflow-wrap:anywhere; }
.support-context b { font-weight:650; font-variant-numeric:tabular-nums; }
html:is([lang=ar],[lang=hi]) .support-label { letter-spacing:0; }
.support-count-shell { position:relative; min-width:0; }
.support-total strong { display:block; font-size:42px; line-height:1; color:var(--gold-bright,#F0D58B); font-weight:750; font-variant-numeric:tabular-nums; letter-spacing:-.035em; white-space:nowrap; }
.support-count-reels { display:inline-flex; align-items:baseline; direction:ltr; unicode-bidi:isolate; }
.support-digit { display:inline-block; height:1em; width:.66em; overflow:hidden; text-align:center; }
.support-digit-track { display:block; }
.support-digit-face { display:block; height:1em; line-height:1em; }
.support-separator { display:inline-block; line-height:1em; min-width:.22em; text-align:center; }
.support-strip:not(.support-poster) .support-odometer:is([data-digit-count="7"],[data-digit-count="8"],[data-digit-count="9"]) { font-size:30px; }
.support-strip:not(.support-poster) .support-odometer:is([data-digit-count="10"],[data-digit-count="11"],[data-digit-count="12"],[data-digit-count="13"],[data-digit-count="14"],[data-digit-count="15"],[data-digit-count="16"]) { font-size:24px; }
.support-strip :is(.support-open,.support-close,.support-send), .support-confirm .support-send { font:inherit; cursor:pointer; border:1px solid #a38b4b; border-radius:6px; min-height:44px; }
.support-open { display:inline-flex; align-items:center; justify-content:center; gap:9px; background:transparent; color:var(--gold-bright,#F0D58B); padding:8px 16px; font-weight:600; }
.support-open svg { stroke:currentColor; fill:none; stroke-width:1.8; flex-shrink:0; }
.support-open:hover { background:#302714; }
.support-increase { position:absolute; inset-inline-start:100%; margin-inline-start:10px; bottom:4px; opacity:0; color:var(--gold-bright,#F0D58B); pointer-events:none; font-size:20px; }
.support-increase.is-visible { animation:support-increase 1.2s ease-out forwards; }
@keyframes support-increase { 0% { opacity:0; transform:translateY(8px); } 20%,70% { opacity:1; } 100% { opacity:0; transform:translateY(-14px); } }
.support-dialog { width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; margin:auto; padding:28px; border:1px solid #756338; border-radius:12px; background:#12110f; color:var(--ink,#F2EEE5); box-shadow:0 20px 90px #000a; }
.support-dialog::backdrop { background:#000b; backdrop-filter:blur(4px); }
.support-dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; }
.support-dialog h2 { margin:0; font-size:30px; line-height:1.15; letter-spacing:-.03em; }
.support-close { width:44px; padding:0; font-size:28px!important; background:transparent; color:var(--ink,#F2EEE5); border-color:#514831!important; flex-shrink:0; }
.support-close:hover { background:#211c12; }
.support-dialog p { font-size:16px; line-height:1.6; margin:0 0 22px; }
.support-breakdown { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 0 24px; padding:18px 0; border-block:1px solid #39342a; }
.support-breakdown dt { font-size:15px; color:var(--muted,#B4ABA0); margin-bottom:6px; }
.support-breakdown dd { margin:0; font-size:26px; font-weight:600; color:var(--gold-bright,#F0D58B); font-variant-numeric:tabular-nums; }
.support-form { display:flex; flex-direction:column; gap:10px; }
.support-form > label { font-size:16px; font-weight:600; }
.support-form input[type=email] { width:100%; min-width:0; min-height:50px; border:1px solid #756338; border-radius:5px; background:#080808; color:var(--ink,#F2EEE5); padding:12px; font:inherit; font-size:16px; direction:ltr; text-align:start; }
.support-dialog .support-email-privacy { color:var(--muted,#B4ABA0); margin:0 0 10px; font-size:15px; }
.support-send { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:13px 16px; background:var(--gold,#D6B45F); color:#080808; font-weight:700!important; text-decoration:none; }
.support-send:hover { background:var(--gold-bright,#F0D58B); }
.support-send:disabled { opacity:.55; cursor:wait; }
.support-dialog .support-form-status { margin:8px 0 0; font-size:16px; color:var(--gold-bright,#F0D58B); }
.support-dialog .support-form-status[data-error=true] { color:#f09b8c; }
.support-honeypot { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.support-confirm { max-width:640px; margin:70px auto; border:1px solid #514831; padding:36px; background:#12110f; border-radius:12px; }
.support-confirm h1 { margin:0 0 20px; font-size:clamp(30px,4vw,44px); line-height:1.15; letter-spacing:-.035em; }
.support-confirm p { font-size:18px; line-height:1.6; color:var(--muted,#B4ABA0); margin:0 0 28px; }
.support-confirm-heart { color:var(--gold-bright,#F0D58B); font-size:42px; display:block; margin-bottom:18px; }
.support-poster { margin-top:30px; background:transparent; border:0; }
.support-poster .support-strip-inner { width:100%; padding:0; min-height:0; flex-wrap:wrap; justify-content:flex-start; gap:18px; }
.support-poster .support-total { display:block; }
.support-poster .support-context { margin:14px 0 0; padding:0; max-width:45ch; }
.support-poster .support-label { display:block; max-width:28ch; margin-bottom:10px; font-size:15px; font-weight:700; letter-spacing:.035em; }
.support-poster .support-odometer { font-size:clamp(80px,8.2vw,118px); letter-spacing:-.045em; color:#efd28b; text-shadow:0 0 24px #e5bd6140; animation:support-gold-glow 3.2s ease-in-out infinite; }
.support-poster .support-digit-face { position:relative; color:transparent; text-shadow:none; }
.support-poster .support-digit-face::before, .support-poster .support-digit-face::after { content:attr(data-glyph); position:absolute; inset:0; display:block; height:1em; line-height:1em; text-align:center; pointer-events:none; }
.support-poster .support-digit-face::before { z-index:0; color:#b5812d; text-shadow:1px 1px 0 #bd8b35,2px 2px 0 #aa7527,3px 3px 0 #a06b21,4px 4px 0 #93601c,5px 5px 0 #815014,6px 6px 0 #603909,7px 8px 3px #0009; }
.support-poster .support-digit-face::after, .support-poster .support-separator { z-index:1; color:transparent; background:linear-gradient(115deg,#946016 0%,#e6ae3d 15%,#fff0b0 27%,#d69b32 37%,#f6d36e 48%,#fffef0 52%,#fff5c5 56%,#ba7c1b 66%,#edbb53 84%,#fff2b6 100%); background-size:260% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-stroke:.45px #f7dea0; text-shadow:0 -.6px .3px #fff8d93d; animation:support-gold-sheen 4.8s ease-in-out infinite; }
.support-poster .support-count-shell::before, .support-poster .support-count-shell::after { content:''; position:absolute; z-index:2; width:26px; height:26px; pointer-events:none; background:#fffef2; clip-path:polygon(50% 0,58% 40%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 40%); filter:drop-shadow(0 0 7px #ffe0a0); opacity:0; animation:support-gold-spark 4.8s ease-in-out infinite; }
.support-poster .support-count-shell::before { top:8%; left:17%; }
.support-poster .support-count-shell::after { bottom:17%; right:12%; width:19px; height:19px; animation-delay:1.9s; }
.support-poster .support-open { align-self:flex-end; margin-bottom:8px; background:#100e0bc7; }
.support-poster .support-increase { font-size:28px; }
.support-poster .support-odometer[data-digit-count="7"], .support-poster .support-odometer[data-digit-count="8"] { font-size:clamp(52px,5.6vw,82px); }
.support-poster .support-odometer[data-digit-count="9"], .support-poster .support-odometer[data-digit-count="10"] { font-size:clamp(38px,4.6vw,66px); }
.support-poster .support-odometer[data-digit-count="11"], .support-poster .support-odometer[data-digit-count="12"], .support-poster .support-odometer[data-digit-count="13"], .support-poster .support-odometer[data-digit-count="14"], .support-poster .support-odometer[data-digit-count="15"], .support-poster .support-odometer[data-digit-count="16"] { font-size:clamp(28px,3vw,44px); }
.poster-copy:has(.support-poster) .poster-actions { margin-top:24px; }
@keyframes support-gold-glow { 0%,100% { text-shadow:0 0 12px #e5bd6124; } 50% { text-shadow:0 0 30px #e5bd6166; } }
@keyframes support-gold-sheen { 0%,15%,100% { background-position:100% 50%; } 65%,80% { background-position:0% 50%; } }
@keyframes support-gold-spark { 0%,25%,55%,100% { opacity:0; transform:scale(.35) rotate(0deg); } 38% { opacity:.95; transform:scale(1) rotate(15deg); } }
.presidential-poster .poster-art img { transform:perspective(1200px) translate3d(-5px,0,0) rotateY(-1.2deg) scale(1.045); transform-origin:65% 48%; backface-visibility:hidden; animation:poster-space-drift 14s ease-in-out infinite; }
@keyframes poster-space-drift { 0%,100% { transform:perspective(1200px) translate3d(-5px,0,0) rotateY(-1.2deg) scale(1.045); } 50% { transform:perspective(1200px) translate3d(5px,0,0) rotateY(1.2deg) scale(1.045); } }
@media(max-width:760px) {
  .support-strip-inner { gap:12px; min-height:66px; flex-wrap:wrap; }
  .support-total { gap:5px; font-size:15px; }
  .support-strip:not(.support-poster) .support-total { flex:1 1 190px; }
  .support-strip:not(.support-poster) .support-label { font-size:13px; }
  .support-strip:not(.support-poster) .support-open { flex-shrink:0; }
  .support-total strong { font-size:32px; }
  .support-open { padding:8px 12px; font-size:14px!important; }
  .support-increase { margin-inline-start:5px; font-size:16px; }
  .support-dialog { padding:24px; }
  .support-confirm { margin:32px auto; padding:24px; }
  /* The number stays on the dark side of the portrait on phones. */
  .presidential-poster .poster-copy { position:static; }
  .support-poster { position:static; width:100%; margin:0; }
  .support-poster .support-strip-inner { position:absolute; z-index:3; top:calc(clamp(325px,72vw,435px) - 172px); left:20px; width:calc(100% - 40px); display:block; direction:ltr; }
  .support-poster .support-total { width:max-content; max-width:100%; }
  .support-poster .support-label { margin-bottom:8px; font-size:14px; max-width:clamp(150px,42vw,180px); text-shadow:0 1px 8px #000; }
  .support-poster .support-context { gap:4px 14px; max-width:none; margin-top:16px; }
  .support-poster .support-odometer { font-size:clamp(54px,13.5vw,78px); }
  .support-poster .support-open { margin:12px 0 0; padding:8px 12px; min-height:44px; }
  .support-poster .support-increase { font-size:20px; }
  .support-poster .support-odometer[data-digit-count="7"], .support-poster .support-odometer[data-digit-count="8"] { font-size:clamp(35px,8.5vw,52px); }
  .support-poster .support-odometer[data-digit-count="9"], .support-poster .support-odometer[data-digit-count="10"] { font-size:clamp(28px,6.8vw,42px); }
  .support-poster .support-odometer[data-digit-count="11"], .support-poster .support-odometer[data-digit-count="12"], .support-poster .support-odometer[data-digit-count="13"], .support-poster .support-odometer[data-digit-count="14"], .support-poster .support-odometer[data-digit-count="15"], .support-poster .support-odometer[data-digit-count="16"] { font-size:clamp(20px,4.8vw,30px); }
  [dir=rtl] .support-poster .support-label { direction:rtl; text-align:left; }
}
@media(max-width:430px) {
  .support-poster .support-strip-inner { top:calc(clamp(325px,72vw,435px) - 152px); }
}
@media(max-width:380px) {
  .support-strip-inner { gap:8px; }
  .support-total { gap:5px; font-size:14px; }
  .support-total strong { font-size:30px; }
  .support-open { gap:6px; padding:8px 10px; }
  .support-dialog { padding:22px; }
  .support-dialog h2 { font-size:27px; }
  .support-strip:not(.support-poster) .support-odometer:is([data-digit-count="14"],[data-digit-count="15"],[data-digit-count="16"]) { font-size:21px; }
  .support-poster .support-odometer[data-digit-count="16"] { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .support-increase.is-visible { animation:none; opacity:1; transform:none; }
  .support-poster .support-odometer { animation:none; color:var(--gold-bright,#F0D58B); text-shadow:none; }
  .support-poster .support-digit-face::after, .support-poster .support-separator { animation:none; background-position:50% 50%; }
  .support-poster .support-count-shell::before, .support-poster .support-count-shell::after { animation:none; display:none; }
  .presidential-poster .poster-art img { animation:none; transform:none; }
}
