/* Phone layout: compact invitation, a complete cast, and all campaign totals. */
@media(max-width:680px){
 .hero-game.code-actors{min-height:450px}
 .hero-game .hero-inner{height:auto!important;min-height:0!important;padding:22px 24px 16px!important;align-items:flex-start}
 .hero-game .hero-details{margin-top:18px!important}
 .hero-game .hero-foundation-link{margin-top:12px!important;gap:10px!important}
 .stadium-engine.code-actors .hero-stadium-scene,
 .hero-game .hero-opening-frame{height:224px;top:auto;bottom:0}
 .hero-game .hero-fireworks{height:224px}
 .community{height:auto!important;padding-top:23px;padding-bottom:24px}
 .community-stats{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.72fr);gap:20px 12px}
 .community-stats .total-stat,
 .community-stats .total-donors,
 .community-stats .total-foundations{display:grid;grid-template-rows:30px auto;row-gap:2px;align-self:start;min-width:0;grid-row:1}
 .community-stats .total-stat{grid-column:1;text-align:left}
 .community-stats .total-donors{grid-column:2;text-align:right}
 .community-stats .total-foundations{grid-column:3;text-align:right}
 .community-stats .community-goal{grid-column:1/-1;grid-row:2}
 .community-goal>div:first-child{align-items:flex-end;gap:14px}
 .community-goal>div:first-child>strong{font-size:36px;line-height:1}
 .community-goal>div:first-child>span{line-height:1.25;margin:0 0 3px;max-width:none}
 .community-goal .overall-track{margin-top:5px}

 .community-stats .total-stat strong{font-size:clamp(20px,6.3vw,28px);letter-spacing:-.04em}
 .community-stats .total-donors strong,
 .community-stats .total-foundations strong{font-size:clamp(24px,7.2vw,30px)}
 .community-stats .total-stat strong,
 .community-stats .total-donors strong,
 .community-stats .total-foundations strong{grid-row:1;align-self:end;line-height:1;white-space:nowrap}
 .community-stats .stat-label{grid-row:2;font-size:8px;letter-spacing:.02em;line-height:1.25;margin-top:0}
}
@media(max-width:350px){.community-stats .stat-label{font-size:7.5px}}

/* Tickers remain independent of hover and focus on touch screens. */
.ticker-label-short{display:none}
#ticker-track[data-motion-driver="js"]{animation:none!important;will-change:transform}
@media(max-width:680px){
 .hero-game .hero-copy .hero-details p{line-height:1.4}
 .hero-game.stadium-engine .hero-stadium-message{display:block;z-index:4;transform:none;box-shadow:inset 0 0 0 1px #275389b8}
 .hero-game .hero-stadium-crop{inset:2px 3px}
 .hero-game .hero-stadium-canvas{filter:blur(.35px) contrast(.92)}
 .ticker .ticker-label{flex:0 0 54px;width:54px;padding:0 7px;gap:6px;font-size:8px;white-space:nowrap}
 .ticker .ticker-label-full{display:none}
 .ticker .ticker-label-short{display:inline}
 .ticker>button{padding-inline:10px}
 .challenge-about p,.foundation-enquiry p,.campaign-history p{line-height:1.4}
 .foundation-enquiry .enquiry-layout{row-gap:16px;--enquiry-indent:68px}
 .foundation-enquiry .enquiry-intro{gap:16px;align-items:flex-start}
 .foundation-enquiry .enquiry-cup{width:52px;flex:0 0 52px}
 .foundation-enquiry .enquiry-intro p{margin-bottom:0}
 .foundation-enquiry #enquiry-toggle{justify-self:stretch;margin-left:var(--enquiry-indent);width:calc(100% - var(--enquiry-indent));padding:12px 14px;gap:12px;text-align:left}
 .foundation-enquiry .enquiry-toggle-icon{flex:0 0 22px;text-align:center}
 .site-footer .footer-action .footer-play{display:none}
 .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}
 .site-footer .footer-links a,.site-footer .footer-links .footer-link-give{display:flex;align-items:center;gap:10px;min-height:48px;font-size:11px;line-height:1.3;white-space:normal}
 .site-footer .footer-links a:last-child{grid-column:auto}
 .site-footer .footer-links a>span:last-child{min-width:0}
 .site-footer .footer-links .footer-round-key{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:2px solid #b9f4ed;border-radius:50%;background:radial-gradient(circle at 35% 25%,#a6f4ee,#43cadf 70%);color:#0a3157;box-shadow:0 0 0 3px #06172f,0 3px 0 3px #020b1c,inset 0 2px 0 #ffffff80,inset 0 -3px 0 #1788ad;font:700 18px/1 var(--font-score)}
 .site-footer .footer-links a:nth-child(2) .footer-round-key{background:radial-gradient(circle at 35% 25%,#c8daff,#7da0e5 70%);border-color:#cadbff;box-shadow:0 0 0 3px #06172f,0 3px 0 3px #020b1c,inset 0 2px 0 #ffffff80,inset 0 -3px 0 #4b68aa}
 .site-footer .footer-links a:nth-child(3) .footer-round-key{background:radial-gradient(circle at 35% 25%,#e0d6fa,#b09bdd 70%);border-color:#e1d6ff;box-shadow:0 0 0 3px #06172f,0 3px 0 3px #020b1c,inset 0 2px 0 #ffffff80,inset 0 -3px 0 #8062ac}
 .site-footer .footer-links a:nth-child(4) .footer-round-key{background:radial-gradient(circle at 35% 25%,#f5e7b8,#d7bb72 70%);border-color:#f6e7bd;box-shadow:0 0 0 3px #06172f,0 3px 0 3px #020b1c,inset 0 2px 0 #ffffff80,inset 0 -3px 0 #a58944}
 .site-footer .footer-links a:active .footer-round-key{translate:0 2px}
}
@media(max-width:350px){
 .stadium-engine.code-actors .hero-stadium-scene,.hero-game .hero-opening-frame{object-position:68% center}
}
