/* The approved photographic casing remains intact; the entire display is live SVG. */
.competition-grid{grid-template-columns:minmax(0,1fr) clamp(380px,32vw,480px);gap:32px}
.competition>.section-heading{padding-right:calc(32vw + 32px)}
.spotlight.stadium-board{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;margin-top:-70px;padding:0;align-self:start;container-type:inline-size;position:sticky;top:30px}
.stadium-housing{position:relative;aspect-ratio:1032/932;overflow:hidden;isolation:isolate;background:#16212b}
.stadium-hardware{position:absolute;width:108.721%;max-width:none;height:auto;left:-4.36%;top:-21.705cqw;pointer-events:none}
.stadium-screen{position:absolute;left:1.35%;right:1.35%;top:1.8%;bottom:1.25%;background:#001421;overflow:hidden;box-shadow:0 0 2px 1px #000}
.stadium-screen svg{display:block;width:100%;height:100%;overflow:hidden}
.stadium-screen:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent .65px,#00101e80 .85px);background-size:2.1px 2.1px;opacity:.5;box-shadow:inset 0 0 10px #0008}
.stadium-screen text{font-family:var(--font-score);font-weight:700;fill:#f3f8ff;text-shadow:0 0 5px #b8dfff85;font-variant-numeric:tabular-nums}
.stadium-screen .score-label{font-size:34px;letter-spacing:1.4px}
.stadium-screen #latest-letters{font-family:var(--font-display);font-weight:700;fill:var(--score-on-primary);letter-spacing:-10px}
.stadium-screen #latest-foundation,.stadium-screen #score-descriptor{font-family:var(--font-display);font-weight:800;fill:var(--score-on-primary);letter-spacing:-2.7px}
.stadium-screen #score-total{letter-spacing:-4px;paint-order:stroke;stroke:#f3f8ff;stroke-width:3px}
.stadium-screen #score-rank,.stadium-screen #score-rank-of,.stadium-screen #latest-amount,.stadium-screen #gift-time{fill:var(--score-accent);text-shadow:0 0 6px color-mix(in srgb,var(--score-accent) 65%,transparent)}
.stadium-screen #score-rank-of{font-size:72px;letter-spacing:-4px}
.stadium-screen .score-gold-seam{stroke:var(--score-accent);filter:drop-shadow(0 0 2px var(--score-accent))}
.stadium-screen .score-divider{stroke:#c2eaff;stroke-width:2;filter:drop-shadow(0 0 2px #c2eaff)}
.stadium-screen #score-goal,.stadium-screen #score-donors{fill:var(--score-light);letter-spacing:-4px;paint-order:stroke;stroke:var(--score-light);stroke-width:2px}
.stadium-screen #gift-time{font-size:34px;letter-spacing:.5px}
.stadium-screen #donor-time{font-size:30px;letter-spacing:0}




@media(min-width:1101px) and (max-width:1500px){.board-labels,.board-row{grid-template-columns:24px minmax(0,1fr) 125px 50px 110px;gap:10px}.foundation-name .greek{font-size:30px;flex-basis:70px!important;min-width:0}.foundation-name{gap:12px}.foundation-name .name{font-size:15px}.mini-track{width:62px}.row-progress{gap:7px}.metric-tabs button{padding-inline:10px;font-size:11px}.board-controls{flex-wrap:wrap;gap:12px}.board-controls .search{flex:1}.search input{width:100%}}
@media(max-width:1100px){.competition-grid{display:flex;flex-direction:column;gap:32px}.competition>.section-heading{padding-right:0}.spotlight.stadium-board{order:-1;position:relative;top:auto;margin:0 auto 12px;width:100%;max-width:500px}.leaderboard{width:100%}}
@media(max-width:680px){.spotlight.stadium-board{margin-bottom:6px}.stadium-screen:after{opacity:.32;background-size:1.8px 1.8px}}

.stadium-fireworks{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;image-rendering:auto;z-index:4;opacity:0}
.stadium-screen:after{z-index:3}
@media(prefers-reduced-motion:reduce){.stadium-fireworks{display:none}}
.motion-off .stadium-fireworks{display:none}

.stadium-screen #latest-donor{font-family:var(--font-score);letter-spacing:-1px;fill:#fff;text-shadow:0 0 5px #c7e8ff80}
.stadium-screen #latest-amount{letter-spacing:-2px}

/* Soft ambient depth, with the strongest weight directly beneath the frame. */
.stadium-housing{
 border-radius:4px;
 box-shadow:0 3px 7px rgba(6,27,51,.16),0 12px 25px -8px rgba(6,27,51,.23),0 30px 30px -23px rgba(6,27,51,.42);
}
@media(max-width:680px){
 .stadium-housing{box-shadow:0 2px 6px rgba(6,27,51,.15),0 10px 20px -8px rgba(6,27,51,.21),0 24px 25px -20px rgba(6,27,51,.38)}
}

/* Standings title echoes the scoreboard's illuminated lettering. */
.competition h2{
 font-family:var(--font-display);font-weight:800;font-size:54px;
 line-height:1.12;letter-spacing:-.035em;color:#081d47;
}
.competition h2,.competition h2 .field-accent{
 background-image:radial-gradient(circle,currentColor .75px,transparent .95px);
 background-size:1.8px 1.8px;background-clip:text;-webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
}
.competition h2 .field-accent{color:#00afd1}
@media(max-width:680px){.competition h2{font-size:34px;letter-spacing:-.04em}}

/* Compact, consistent tracking for supporting uppercase labels. */
.eyebrow,.hero-copy .eyebrow,.community-title .eyebrow,.gift-intro .eyebrow,
.stat-label,.ticker-label,.section-kicker,.campaign-kicker,.history-label,
.board-labels,.dock-label{letter-spacing:.045em}
.stadium-screen .score-label{letter-spacing:.5px}

/* Event label shares the scoreboard's compact LED lettering. */
.hero-copy .eyebrow{
 font-family:var(--font-score);font-weight:700;letter-spacing:.035em;
 color:#e8f8ff;background-image:radial-gradient(circle,currentColor .75px,transparent .95px);
 background-size:1.8px 1.8px;background-clip:text;-webkit-background-clip:text;
 -webkit-text-fill-color:transparent;
}

/* A daylight scoreboard ticker: keep recipient colours and the light surface. */
.ticker{
 background-image:radial-gradient(circle,rgba(35,80,118,.09) .5px,transparent .7px);
 background-size:3px 3px;
}
.ticker .ticker-item{
 font-family:var(--font-score);font-size:13px;font-weight:700;
 font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.35;
}
.ticker .ticker-item b{font-weight:700}
.ticker .ticker-item .ticker-org{font-weight:700}
.ticker .ticker-label,.ticker>button{font-family:var(--font-score);font-weight:700;letter-spacing:.02em}
@media(max-width:680px){.ticker .ticker-item{font-size:11px}}

/* Align the event label with the headline's optical edge and LED vocabulary. */
.hero-copy .eyebrow{position:relative;left:10px;top:10px}
.hero-copy .eyebrow:after{
 height:5px;background:conic-gradient(#35cfea 25%,transparent 0) 0 0/3px 3px;
}
@media(max-width:680px){.hero-copy .eyebrow{left:4px;top:5px}}

/* The activity ribbon is a continuous dark LED screen, like the live board. */
.ticker{
 color:#e8f6ff;
 background:radial-gradient(circle at 50% 0,rgba(64,113,146,.2),transparent 70%),
 radial-gradient(circle,rgba(144,198,224,.12) .6px,transparent .9px) 0 0/3px 3px,
 linear-gradient(180deg,#03121f,#071e2d 45%,#020c16);
 border-top:2px solid #344757;border-bottom:2px solid #172b3c;
 box-shadow:inset 0 3px 9px #000a,inset 0 -3px 8px #0009,0 3px 6px #00132118;
}
.ticker .ticker-item,.ticker .ticker-item b,.ticker .ticker-item .ticker-org{
 color:color-mix(in srgb,var(--ticker-ink) 76%,white);text-shadow:0 0 4px color-mix(in srgb,var(--ticker-ink) 35%,transparent);
}
.ticker .ticker-item>span.ticker-heart:last-child{background:linear-gradient(135deg,var(--ticker-ink),var(--ticker-accent))}
.ticker .ticker-label,.ticker>button{
 background:linear-gradient(180deg,#102a3c,#041420);color:#c7eafa;
 text-shadow:0 0 4px #68c8f34d;border-color:#385365;
}
.ticker .ticker-label{border-right:1px solid #294252}
.ticker>button:hover{background:#17364a;color:white}
.ticker :focus-visible{outline:2px solid #57d9f2;outline-offset:-3px}

/* Independent game clock, tethered to the board with two short metal brackets. */
.challenge-clock{position:relative;width:80%;margin:0 auto 20px;z-index:1}
.challenge-clock[hidden]{display:none}
.challenge-clock:before,.challenge-clock:after{content:'';position:absolute;top:100%;height:22px;width:8px;background:linear-gradient(90deg,#101a23,#53606a 45%,#1b2833);z-index:-1}
.challenge-clock:before{left:17%}.challenge-clock:after{right:17%}
.clock-face{padding:9px 15px 10px;border:4px solid #263440;border-radius:3px;background:radial-gradient(circle,#5289a32e .6px,transparent .9px) 0 0/3px 3px,radial-gradient(ellipse at 50% 0,#153348,transparent 75%),#020f1b;box-shadow:inset 0 0 7px #000,0 3px 0 #111e28,0 8px 15px -9px #03142380;color:#dff6ff;font-family:var(--font-score);font-weight:700}
.clock-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;letter-spacing:.035em;color:#97c9df}
.clock-readout{display:flex;align-items:baseline;justify-content:center;gap:10px;white-space:nowrap;line-height:1.2;margin:3px 0 6px;font-variant-numeric:tabular-nums;text-shadow:0 0 5px #65cbff66}
.clock-digits{font-size:clamp(27px,7.5cqw,38px);letter-spacing:.035em}.clock-days{font-size:20px;color:#a9dbf1}
.clock-quarters{display:flex;justify-content:center;gap:18px;font-size:10px;color:#7791a5}.clock-quarters span{border-bottom:2px solid transparent;padding:0 2px 2px}
.clock-quarters .is-active{color:#75e5ff;border-color:#35cfea;text-shadow:0 0 5px #35cfea88}.clock-quarters .is-complete{color:#bad8e4}
.challenge-clock[data-quarter="4"][data-phase="live"] .clock-status{color:#ffe3a0}
.challenge-clock[data-phase="final"] .clock-digits{color:#bcd1db;text-shadow:none}
@media(max-width:680px){.challenge-clock{width:88%;margin-bottom:18px}.clock-face{padding:7px 12px 8px}.clock-digits{font-size:29px}.clock-top{font-size:8px}.clock-quarters{gap:22px}}
.clock-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Small ticker lettering stays crisp; the large board retains its glow. */
.ticker .ticker-item,.ticker .ticker-item b,.ticker .ticker-item .ticker-org,
.ticker .ticker-label,.ticker>button{text-shadow:none}

/* Tilted pixel cup and dedicated seven-segment clock face. */
.challenge-clock{width:90%}
.clock-face{display:grid;grid-template-columns:55px minmax(0,1fr);gap:12px;align-items:center}
.clock-cup{width:55px;height:76px;color:#bfeaff;transform:rotate(-8deg);filter:drop-shadow(0 0 2px #74d8ff44)}
.clock-content{min-width:0}
.clock-readout{gap:6px;align-items:center;justify-content:flex-start;margin:7px 0 8px}
.clock-digits{display:block;width:clamp(138px,43cqw,190px);flex-shrink:0;line-height:1;color:#dff8ff;filter:drop-shadow(0 0 2px #7edbff55)}
.clock-digits svg{display:block;width:100%;height:auto}
.clock-days{font-size:15px;letter-spacing:0}
.clock-zone{font-size:9px;color:#a7cbdc;align-self:flex-end;margin-bottom:3px}
.clock-top{justify-content:flex-start}.clock-quarters{justify-content:flex-start;gap:21px}
@media(max-width:680px){.clock-face{grid-template-columns:43px minmax(0,1fr);gap:9px;padding:8px 10px}.clock-cup{width:43px;height:65px}.clock-days{font-size:12px}.clock-zone{font-size:8px}.clock-readout{gap:4px}.clock-quarters{gap:19px}}

/* Match the main scoreboard's block numerals and LED matrix. */
.clock-digits{
 width:auto;font-family:var(--font-score);font-weight:700;
 font-size:clamp(28px,8cqw,38px);letter-spacing:-.035em;line-height:1.15;
 font-variant-numeric:tabular-nums;color:#eff8ff;
 background:radial-gradient(circle,currentColor .8px,transparent 1px) 0 0/2px 2px;
 background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
 text-shadow:none;filter:drop-shadow(0 0 2px #b8dfff65);
}
@media(max-width:680px){.clock-digits{font-size:29px}}

/* Compact clock hangs beneath the main display. */
.challenge-clock{width:max-content;max-width:100%;margin:18px auto 0}
.challenge-clock:before,.challenge-clock:after{top:auto;bottom:100%;height:20px}
.clock-face{grid-template-columns:48px max-content;gap:10px;padding:8px 13px}
.clock-cup{width:48px;height:67px}
@media(max-width:680px){
 .challenge-clock{width:max-content;max-width:100%;margin:16px auto 0}
 .clock-face{grid-template-columns:40px max-content;gap:8px;padding:8px 10px}
 .clock-cup{width:40px;height:60px}
}

/* Center the readout and reserve each numeral's space across every tick. */
.clock-top,.clock-quarters,.clock-readout{justify-content:center}
.clock-content{text-align:center}
.clock-digits{display:grid;grid-template-columns:repeat(2,.64em) .26em repeat(2,.64em) .26em repeat(2,.64em);width:4.36em;letter-spacing:0;background:none}
.clock-digits>span{background:radial-gradient(circle,currentColor .8px,transparent 1px) 0 0/2px 2px;background-clip:text;-webkit-background-clip:text;text-align:center}
.clock-days{width:2.6em;flex-shrink:0;text-align:right}

.clock-zone{align-self:center;margin-bottom:0}

/* Give the trophy more presence within its existing column. */
.clock-cup{transform:rotate(-8deg) scale(1.16);transform-origin:center}

/* Recessed mounting collars and brushed metal links join the two frames. */
.challenge-clock:before,.challenge-clock:after{
 top:auto;bottom:calc(100% - 4px);height:26px;width:12px;
 box-sizing:border-box;border:1px solid #14212c;border-top:4px solid #283845;border-bottom:4px solid #283845;
 border-radius:2px;
 background:linear-gradient(90deg,#182731 0%,#354957 25%,#71818c 43%,#455965 58%,#20313e 85%);
 box-shadow:inset 1px 0 #81919b55,inset -1px 0 #07131c99,1px 1px 3px #00142233;
}
.challenge-clock:before{left:17%;transform:translateX(-50%)}
.challenge-clock:after{right:17%;transform:translateX(50%)}
.clock-face{position:relative;z-index:1}
@media(max-width:680px){.challenge-clock:before,.challenge-clock:after{height:24px;width:10px}}

/* Keep the paired screens close with shorter mounting links. */
.challenge-clock{margin-top:12px}
.challenge-clock:before,.challenge-clock:after{height:20px}
@media(max-width:680px){.challenge-clock{margin-top:11px}.challenge-clock:before,.challenge-clock:after{height:19px}}

/* Matching mounting collars at both ends of each connector. */
.challenge-clock:before,.challenge-clock:after{
 width:16px;border:0;border-radius:2px;
 background:linear-gradient(#354956,#22333f) top/100% 7px no-repeat,
 linear-gradient(#354956,#22333f) bottom/100% 7px no-repeat,
 linear-gradient(90deg,#182731,#71818c 43%,#455965 58%,#20313e) center/8px 100% no-repeat;
 box-shadow:none;
}
@media(max-width:680px){.challenge-clock:before,.challenge-clock:after{width:14px}}

/* A restrained contact edge and soft downward shadow ground the timer. */
.clock-face{box-shadow:inset 0 0 7px #000,0 3px 0 #111e28,0 7px 9px -5px #03142338,0 15px 20px -12px #03142340}

.clock-cup{transform:rotate(-8deg) scale(1.28)}

.clock-cup{transform:translateX(4px) rotate(-8deg) scale(1.28)}

/* A gentle clockwise trophy tilt, returning to its resting angle every 3s. */
.clock-cup{animation:clock-cup-tilt 3s ease-in-out infinite;transform-origin:50% 65%}
@keyframes clock-cup-tilt{
 0%,20%,100%{transform:translateX(4px) rotate(-8deg) scale(1.28)}
 55%{transform:translateX(4px) rotate(17deg) scale(1.28)}
 85%{transform:translateX(4px) rotate(-8deg) scale(1.28)}
}
@media(prefers-reduced-motion:reduce){.clock-cup{animation:none}}

/* Scoreboard-style pose changes: no interpolated rotation. */
.clock-cup{animation-timing-function:steps(1,end)}
@keyframes clock-cup-tilt{
 0%,100%{transform:translateX(4px) rotate(-8deg) scale(1.28)}
 50%{transform:translateX(4px) rotate(17deg) scale(1.28)}
}

/* Two poses, held for ten seconds each. */
.clock-cup{animation-duration:20s}

/* Donor names retain the digital face; gift details use the board's slab serif. */
.ticker .ticker-item{font-family:var(--font-display)}
.ticker .ticker-item b{font-family:var(--font-score)}

/* Give the slab-serif ticker details room to read, with donor names leading. */
.ticker .ticker-item{font-size:15px}
.ticker .ticker-item b{font-size:16px}
@media(max-width:680px){.ticker .ticker-item{font-size:13px}.ticker .ticker-item b{font-size:14px}}

.ticker .ticker-item b{color:#f0eadc}

.ticker .ticker-item .ticker-connector{color:#c4cbd2}

/* Campaign figures share the scoreboard's numeric language. */
.community-stats strong,.community-stats #total-goal,.milestone-number,.milestone-year,.history-label,.milestone-detail b{font-family:var(--font-score);font-weight:700;font-variant-numeric:tabular-nums}
.community-title .eyebrow,.community .stat-label{font-family:var(--font-score);letter-spacing:.035em}
.community-stats strong,.milestone-number{background-image:radial-gradient(circle,currentColor .75px,transparent .95px);background-size:1.8px 1.8px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.milestone-year,.history-label{letter-spacing:.035em}
@media(max-width:680px){.community-stats #total-raised{font-size:clamp(25px,7.2vw,32px);letter-spacing:-.04em}}

/* Align visible hero letter edges, accounting for the display face's side bearing. */
.hero-copy .eyebrow{left:0}
.hero-copy h1{margin-left:-.045em}

/* All internal screen rules share a real pixel grid, including thin dividers. */
.stadium-screen>svg path[stroke],.stadium-screen>svg .score-gold-seam,.stadium-screen>svg .score-divider{mask:url(#score-separator-mask)}

/* The rigid lower display pivots around the horizontal axis of its top mounts. */
.challenge-clock{perspective:1000px;perspective-origin:50% 0}
.challenge-clock .clock-face{transform-origin:50% 0;backface-visibility:hidden}

/* A keyboard-accessible screen control beside the rank heading. */
#score-rank-next{position:absolute;right:1%;top:62.5%;width:11%;height:10%;min-width:36px;min-height:36px;z-index:5;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#b9d8e5;cursor:pointer}
#score-rank-next span{font:700 24px var(--font-score);background:radial-gradient(circle,currentColor .8px,transparent 1px) 0 0/2px 2px;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
#score-rank-next:hover{background:#b9d8e510;color:#f0eadc}
#score-rank-next:focus-visible{outline:2px dotted #b9d8e5;outline-offset:-5px}
#score-rank-next:disabled{cursor:default}

/* Focusing a screen control must not scroll the oversized casing artwork. */
.stadium-housing{overflow:clip}
