/* v1.0.51 · Public Grand Final winners podium. Retain all existing site fonts. */
.gf51-celebration{--champion-navy:#06295e;--champion-blue:#1255aa;color:#103464}
.gf51-header{background:radial-gradient(ellipse at 48% 5%,#2865b3 0%,#0d3978 43%,#061f4a 100%);color:white;text-align:center;border-radius:14px 14px 0 0;padding:30px 18px 23px;overflow:hidden}
.gf51-header .gf51-eyebrow{display:block;color:#e9c576;letter-spacing:.13em;font-weight:700;font-size:11px}
.gf51-trophy{display:block;font-size:34px;color:#f4c25e;margin:8px auto 2px}
.gf51-header h2{font:inherit;color:white;font-size:clamp(23px,3vw,35px);font-weight:800;line-height:1.15;margin:4px 0 8px;letter-spacing:-.025em}
.gf51-header p{font-size:13px;color:#deecff;margin:0 auto;max-width:570px;line-height:1.6}
.gf51-stage{display:grid;grid-template-columns:1fr 1.24fr 1fr;align-items:end;gap:9px;background:linear-gradient(#e9f3ff,#fff);border:1px solid #d9e7f5;border-top:0;padding:22px clamp(9px,3vw,28px) 0}
.gf51-podium-unit{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;opacity:0;animation:gf51-up .65s ease-out both}
.gf51-place-3{animation-delay:.12s;grid-column:3;grid-row:1}.gf51-place-2{animation-delay:.50s;grid-column:1;grid-row:1}.gf51-place-1{animation-delay:.90s;grid-column:2;grid-row:1}
.gf51-medal{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:2px solid rgba(255,255,255,.75);font-weight:900;font-size:22px;box-shadow:0 3px 8px #092a4d20;background:linear-gradient(120deg,#e1e7ef,#9eaec0);color:#304763}
.gf51-place-1 .gf51-medal{background:linear-gradient(120deg,#ffe998,#d59b2c);color:#74500b}.gf51-place-3 .gf51-medal{background:linear-gradient(120deg,#e8b98b,#ae7547);color:#6b3813}
.gf51-person{text-align:center;padding:7px 3px 10px;min-height:60px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.gf51-person strong{display:block;font-size:clamp(12px,1.2vw,16px);line-height:1.35;color:#103b79;overflow-wrap:anywhere}
.gf51-person small{font-size:11px;color:#6680a2}
.gf51-step{width:100%;height:106px;border:1px solid #a1b4c9;border-bottom:0;background:linear-gradient(145deg,#cbd8e7,#849db6);border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;box-shadow:0 -3px 14px #0e468520}
.gf51-place-1 .gf51-step{height:166px;background:linear-gradient(135deg,#ffde83,#c99325);border-color:#d29e37;color:#60420e}
.gf51-place-3 .gf51-step{height:80px;background:linear-gradient(135deg,#d9a780,#af6944);border-color:#ba815c}
.gf51-step span{font-size:clamp(30px,4vw,54px);font-weight:900;line-height:1}.gf51-step small{font-size:12px;font-weight:800;margin-top:6px}
.gf51-published{display:flex;justify-content:center;align-items:center;gap:12px;padding:17px 15px;border:1px solid #bee8d2;background:#edfbf2;margin:17px 0;border-radius:12px;text-align:left}
.gf51-check{width:32px;height:32px;display:grid;place-items:center;background:#109766;border-radius:50%;color:white;font-size:19px;flex-shrink:0}
.gf51-published strong{display:block;color:#086c4a;font-size:15px}.gf51-published small{display:block;font-size:11px;color:#4d846c;margin-top:2px}
.gf51-results{border:1px solid #d9e5f4;border-radius:12px;padding:17px;background:#fff}.gf51-results h3{margin:0 0 9px;font-size:15px;color:#123b75}.gf51-results>div{display:flex;justify-content:space-between;gap:12px;padding:10px 3px;border-bottom:1px solid #edf2f8;font-size:13px}.gf51-results>div:last-child{border:0}.gf51-results span{color:#587899}.gf51-results strong{text-align:right;color:#0d3670}.gf51-history-help{font-size:11px;color:#6c8098;margin:14px 0 2px;text-align:center}
@keyframes gf51-up{from{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:600px){.gf51-header{padding:23px 11px}.gf51-stage{gap:5px;padding:17px 6px 0}.gf51-medal{height:33px;width:33px;font-size:18px}.gf51-person{min-height:65px}.gf51-person strong{font-size:11px}.gf51-person small{font-size:9px}.gf51-step{height:78px}.gf51-place-1 .gf51-step{height:114px}.gf51-place-3 .gf51-step{height:61px}.gf51-step small{font-size:9px}.gf51-published{align-items:flex-start}.gf51-published strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.gf51-podium-unit{animation:none;opacity:1}}
