.ending-page { background: var(--ink); }
.ending-page .sun-glow { background: radial-gradient(circle, rgba(255,210,58,.24), rgba(255,210,58,0) 68%); }
.ending-shell { grid-template-rows: 132px 1fr 70px; }
.ending-stage { position: relative; min-height: 0; }
.ending-countdown-wrap { min-width: 340px; }
.ending-chip i { background: var(--yellow); box-shadow: 0 0 0 6px rgba(255,212,59,.11); }

.ending-scene {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(24px) scale(.985);
  filter: blur(5px);
  pointer-events: none;
  transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1), filter .75s ease, visibility .75s;
}
.ending-scene.active { opacity: 1; visibility: visible; transform: translateY(0) scale(1); filter: none; pointer-events: auto; }

.ending-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 34px; align-items: stretch; }
.ending-hero-copy { padding: 42px 8px; align-self: center; }
.ending-hero-copy h1 { margin: 25px 0 16px; font-size: clamp(90px, 8.5vw, 158px); line-height: .82; letter-spacing: -.08em; font-weight: 1000; }
.ending-hero-copy p { margin: 0; color: var(--muted); font-size: 23px; }
.ending-road-card {
  min-height: 340px;
  padding: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: linear-gradient(150deg, rgba(255,255,255,.08), rgba(255,255,255,.015)), var(--panel);
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
  text-align: center;
}
.ending-road-card::before { content:""; position:absolute; width:160%; height:74px; left:-30%; bottom:58px; background:repeating-linear-gradient(90deg,transparent 0 32px,rgba(255,255,255,.72) 32px 78px,transparent 78px 112px); transform:rotate(-24deg); opacity:.14; }
.ending-road-card span { z-index:1; color:var(--yellow); font-size:12px; font-weight:900; letter-spacing:.22em; }
.ending-road-card strong { z-index:1; margin:18px 0; font-size:48px; line-height:.95; letter-spacing:-.045em; }
.ending-road-card b { z-index:1; width:74px; height:74px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:var(--ink); font-size:42px; box-shadow:0 0 0 12px rgba(83,227,154,.1); }

.summary-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.summary-grid article { min-height: 116px; padding: 24px; display:flex; flex-direction:column; justify-content:center; border:1px solid var(--line); border-radius:20px; background:var(--panel); box-shadow:0 22px 60px rgba(0,0,0,.18); }
.summary-grid span { display:block; color:var(--muted); font-size:11px; font-weight:900; letter-spacing:.15em; }
.summary-grid strong { display:block; margin-top:10px; font-size:31px; }

.ending-leaderboard-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:42px; align-items:end; }
.ending-passport { grid-template-columns: repeat(5,1fr); }

.next-stop-card { padding: 30px 38px; border:1px solid rgba(255,212,59,.28); border-radius:24px; background:linear-gradient(155deg,rgba(255,212,59,.14),rgba(7,25,37,.9)); text-align:center; }
.next-stop-card span { color:var(--yellow); font-size:12px; font-weight:900; letter-spacing:.22em; }
.next-stop-card h2 { margin:12px 0 0; font-size:clamp(48px,5vw,86px); line-height:.94; letter-spacing:-.055em; }
.outro-columns { margin-top:24px; display:grid; grid-template-columns:.84fr 1.16fr; gap:24px; }
.outro-columns .social-panel, .outro-columns .partner-panel { min-height:310px; }
.ending-sponsors { grid-auto-rows:minmax(88px,1fr); }

@media (max-aspect-ratio:4/3) {
  .ending-hero-grid { grid-template-columns:1fr; }
  .ending-road-card { display:none; }
  .summary-grid { grid-template-columns:repeat(2,1fr); }
  .ending-leaderboard-layout { grid-template-columns:1fr; }
  .ending-leaderboard-layout .podium-visual { display:none; }
  .ending-passport { grid-template-columns:repeat(4,1fr); }
  .outro-columns { grid-template-columns:1fr; }
}
