/* Polished type and a small optical lens around the campaign amount.
   Light moves through the material; the readable value never blurs. */
:root{--optical-ease:cubic-bezier(.16,1,.3,1)}
body[data-variant="community"] h1,
body[data-variant="community"] h2,
body[data-variant="community"] h3{font-optical-sizing:auto;letter-spacing:-.03em}
.hero h1{font-weight:720;line-height:1.075}
.profile-intro h2{font-weight:720;line-height:1.055;letter-spacing:-.035em}
.faq-heading h2{font-weight:700;line-height:1.09}
.entry-story h2{font-weight:700;line-height:1.07}
.form-card-heading h3{font-weight:680;line-height:1.13;letter-spacing:-.028em}
.faq-list summary{font-weight:650;letter-spacing:-.014em}
.entry-prize strong{font-weight:700;letter-spacing:-.03em}
.footer-nav h3{font-weight:700;letter-spacing:0}

/* The prism lives inside the numerals, never in an inline badge. */
.prize-glow{
 --prize-ink:inherit;--prize-light:#ffffff;position:relative;display:inline-block;
 isolation:isolate;white-space:nowrap;font:inherit;letter-spacing:inherit;
 line-height:inherit;color:inherit;vertical-align:baseline;text-shadow:none;
}
.prize-glow>.prize-value{position:relative;z-index:1;font:inherit;letter-spacing:inherit;line-height:inherit;color:var(--prize-ink);white-space:nowrap}
.prize-glow.prize-display{--prize-ink:#0b553a}
.hero .prize-display{--prize-ink:#bded99}
.prize-glow>.prize-optics{position:absolute;z-index:2;inset:0;display:block;pointer-events:none;font:inherit;letter-spacing:inherit;line-height:inherit;color:transparent}
.prize-optics::before,.prize-optics::after{
 content:attr(data-amount);position:absolute;inset:0;display:block;pointer-events:none;
 font:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap;
 color:transparent;-webkit-background-clip:text;background-clip:text;
 background-repeat:no-repeat;background-size:330% 100%;background-position:160% 50%;opacity:0;
}
.prize-optics::before{
 background-image:linear-gradient(112deg,transparent 28%,rgba(114,217,187,.15) 40%,rgba(245,245,203,.6) 44%,#fff 47%,rgba(175,237,229,.8) 49%,rgba(159,139,221,.24) 52%,transparent 59%);
 filter:blur(.008em);
}
.prize-optics::after{
 background-image:linear-gradient(112deg,transparent 28%,rgba(131,225,195,.25) 39%,rgba(222,248,212,.7) 45%,#faffee 48%,rgba(179,208,236,.5) 51%,transparent 60%);
 filter:blur(.085em);mix-blend-mode:screen;
}
@supports (background-clip:text){
 .prize-display>.prize-value{
  background-image:linear-gradient(158deg,#174b35 0%,#0b543a 31%,#3a8060 46%,#073c2b 56%,#1b6848 79%,#074631 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:.006em rgba(0,54,33,.2);
 }
 .hero .prize-display>.prize-value{
  background-image:linear-gradient(158deg,#efffe4 0%,#bde797 32%,#f3ffe2 47%,#9dc876 57%,#d8fcb7 82%,#b2d994 100%);
  -webkit-text-stroke:.006em rgba(220,255,192,.3);
 }
}
.prize-glow.is-glowing{animation:prize-cycle 2800ms linear both}
.prize-glow.is-glowing>.prize-optics::before{animation:prize-refracted-beam 2800ms cubic-bezier(.2,.55,.35,1) both}
.prize-glow.is-glowing>.prize-optics::after{animation:prize-caustic 2800ms cubic-bezier(.2,.55,.35,1) both}
@keyframes prize-cycle{from{--prize-phase:0}to{--prize-phase:1}}
@keyframes prize-refracted-beam{0%,6%{background-position:160% 50%;opacity:0}17%{opacity:.75}74%{opacity:.75}100%{background-position:-65% 50%;opacity:0}}
@keyframes prize-caustic{0%,6%{background-position:175% 50%;opacity:0;filter:blur(.11em)}28%,70%{opacity:.65;filter:blur(.045em)}100%{background-position:-55% 50%;opacity:0;filter:blur(.08em)}}
@media(prefers-reduced-motion:reduce){
 .prize-glow.is-glowing,.prize-glow.is-glowing>.prize-optics::before,.prize-glow.is-glowing>.prize-optics::after{animation:none!important}
 .prize-optics{display:none!important}
}
@media(forced-colors:active){
 .prize-display>.prize-value,.hero .prize-display>.prize-value{background:none;color:inherit;-webkit-text-stroke:0}
 .prize-optics{display:none!important}
}
