/* Results section (podium + full list). Loaded after css/index.css. */
.results[hidden] { display: none !important; }
.results { scroll-margin-top: 150px; }
#finalists { scroll-margin-top: 150px; }
.results {
  background: radial-gradient(900px 420px at 50% -8%, rgba(244,158,0,.20), transparent 62%), var(--navy);
  color: #fff; padding: 96px 0 104px; position: relative; overflow: hidden;
}
.results .section-title { color: #fff; }
.results .section-eyebrow { color: var(--accent); }
.rs-head { text-align: center; margin-bottom: 32px; }
.rs-sub { max-width: 640px; margin: 0 auto; color: rgba(255,255,255,.62); line-height: 1.7; font-size: 1.02rem; }
.rs-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* stats strip */
.rs-stats { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 auto 36px; max-width: 900px; padding: 0; }
.rs-stats li { flex: 1 1 130px; text-align: center; padding: 14px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.05); }
.rs-stats b { display: block; font-family: var(--font-heading), sans-serif; font-size: 1.8rem; color: var(--accent); line-height: 1.1; }
.rs-stats span { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); font-weight: 600; }

/* podium (ranks 1-3) */
.rs-podium { display: flex; justify-content: center; align-items: flex-end; gap: 18px; max-width: 1100px; margin: 0 auto; padding-top: 34px; }
.rs-step { flex: 1 1 0; max-width: 270px; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; }
.rs-step.rs-r1 { flex: 1.18 1 0; max-width: 310px; order: 2; min-height: 396px; }
.rs-step.rs-r2 { order: 1; min-height: 362px; }
.rs-step.rs-r3 { order: 3; min-height: 328px; }
.rs-card {
  position: relative; text-align: center; padding: 30px 20px 24px;
  background: rgba(255,255,255,.07); border: 2px solid rgba(255,255,255,.16);
  border-radius: 22px 22px 0 0; border-bottom: 0; flex: 1 1 auto;
  display: flex; flex-direction: column; justify-content: center;
}
.rs-r1 .rs-card { padding-top: 44px; }
.rs-gold   { background: linear-gradient(150deg, #3D2C00, #5C4200); border-color: #FFD700; }
.rs-silver { border-color: #CFD4DC; }
.rs-bronze { border-color: rgba(204,127,39,.7); }
.rs-crown { position: absolute; top: -26px; left: 50%; transform: translateX(-50%); font-size: 32px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.4)); }
.rs-label { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 10px; }
.rs-gold .rs-label { color: #FFD700; } .rs-silver .rs-label { color: #DDE1E8; } .rs-bronze .rs-label { color: #E8924D; }
.rs-org { font-family: var(--font-heading), sans-serif; font-size: 1.12rem; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.rs-r1 .rs-org { font-size: 1.32rem; }
.rs-project { margin-top: 6px; font-weight: 600; color: var(--accent); font-size: .95rem; }
.rs-domain { margin-top: 10px; font-size: .8rem; color: rgba(255,255,255,.6); line-height: 1.45; }
.rs-prize { margin-top: 14px; font-family: var(--font-heading), sans-serif; font-weight: 700; font-size: 1.5rem; color: #fff; }
.rs-gold .rs-prize { color: #FFD700; font-size: 1.8rem; }
.rs-prize small { font-size: .55em; font-weight: 600; color: rgba(255,255,255,.55); }
.rs-id { margin-top: 10px; font: 600 11px/1 ui-monospace, Menlo, Consolas, monospace; color: rgba(255,255,255,.4); letter-spacing: .04em; }
.rs-pedestal {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-heading), sans-serif; font-weight: 800; color: rgba(0,0,0,.55);
  border-radius: 0 0 14px 14px;
}
.rs-pedestal span { font-size: 2.6rem; line-height: 1; }
.rs-r1 .rs-pedestal { height: 104px; } .rs-r2 .rs-pedestal { height: 76px; } .rs-r3 .rs-pedestal { height: 54px; }
.rs-r3 .rs-pedestal span { font-size: 2rem; }
.rs-pedestal.rs-gold   { background: linear-gradient(160deg, #FFE27A, #F49E00); }
.rs-pedestal.rs-silver { background: linear-gradient(160deg, #EEF0F4, #B7BDC9); }
.rs-pedestal.rs-bronze { background: linear-gradient(160deg, #E8924D, #B5601C); }

/* ranks 4-5 */
.rs-tiers { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; max-width: 1100px; margin: 34px auto 0; }
.rs-card.rs-tier { flex-direction: row; justify-content: flex-start; flex: 1 1 280px; max-width: 350px; display: flex; gap: 16px; align-items: flex-start; text-align: left; border-radius: 20px; border: 1.5px solid rgba(255,255,255,.16); padding: 22px 20px; }
.rs-badge { flex: 0 0 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font: 700 1.1rem var(--font-heading), sans-serif; background: rgba(255,255,255,.1); border: 2px solid rgba(255,255,255,.28); }
.rs-tier-body { min-width: 0; }
.rs-tier .rs-org { font-size: 1.02rem; }
.rs-tier .rs-prize { font-size: 1.25rem; margin-top: 10px; }

/* complete list */
.rs-list { margin: 72px auto 0; max-width: 1100px; background: #fff; color: var(--text); border-radius: 22px; padding: 28px 28px 22px; box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.rs-list-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.rs-list h3 { font-family: var(--font-heading), sans-serif; font-size: 1.35rem; color: var(--navy); }
.rs-dl { text-decoration: none; font: 600 13px var(--font-heading), sans-serif; padding: 9px 18px; border-radius: 100px; border: 2px solid var(--navy); color: var(--navy); }
.rs-dl:hover { background: var(--navy); color: #fff; }
.rs-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.rs-chips { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 100%; }
.rs-chip { font: 600 13px var(--font-body), sans-serif; padding: 8px 14px; border-radius: 100px; border: 1.5px solid var(--border); background: #fff; color: var(--navy); cursor: pointer; }
.rs-chip em { font-style: normal; opacity: .55; margin-left: 4px; }
.rs-chip.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.rs-chip:focus-visible, .rs-field input:focus-visible, .rs-field select:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.rs-field { flex: 1 1 220px; }
.rs-field input, .rs-field select { width: 100%; padding: 10px 14px; border: 1.5px solid var(--border); border-radius: 12px; font: 500 14px var(--font-body), sans-serif; color: var(--text); background: #fff; }
.rs-table-wrap { overflow-x: auto; }
.rs-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.rs-table th { text-align: left; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--gray); padding: 10px 12px; border-bottom: 2px solid var(--border); white-space: nowrap; }
.rs-table td { padding: 12px; border-bottom: 1px solid var(--border); vertical-align: top; }
.rs-table td strong { display: block; color: var(--navy); }
.rs-table td small { display: block; color: var(--gray); margin-top: 2px; }
.rs-mono { font: 600 12px ui-monospace, Menlo, Consolas, monospace; color: var(--gray); white-space: nowrap; }
.rs-pill { display: inline-block; padding: 4px 10px; border-radius: 100px; font-size: 12px; font-weight: 700; background: #EEF1F7; color: var(--navy); white-space: nowrap; }
.rs-p-rank1 { background: #FFE9A6; color: #5C4200; } .rs-p-rank2 { background: #E6E9EF; color: #1C2230; } .rs-p-rank3 { background: #F6D5B8; color: #6B3A0E; }
.rs-p-rank4, .rs-p-rank5 { background: #DDE8FA; color: #123B7A; }
.rs-p-certificate { background: #F3F4F6; color: var(--gray); }
.rs-empty { text-align: center; color: var(--gray); padding: 28px 12px !important; }
.rs-count { margin-top: 12px; font-size: 12.5px; color: var(--gray); }

@media (max-width: 820px) {
  .results { padding: 72px 0 80px; }
  .rs-podium { flex-direction: column; align-items: stretch; gap: 16px; padding-top: 20px; }
  .rs-step, .rs-step.rs-r1 { max-width: none; flex: none; min-height: 0 !important; }
  .rs-step.rs-r1 { order: 1; } .rs-step.rs-r2 { order: 2; } .rs-step.rs-r3 { order: 3; }
  .rs-card { border-radius: 20px; border-bottom: 2px solid; }
  .rs-pedestal { display: none; }
  .rs-crown { top: -22px; }
  .rs-list { padding: 20px 16px 16px; }
}
@media (max-width: 720px) {
  .rs-table thead { display: none; }
  .rs-table, .rs-table tbody, .rs-table tr, .rs-table td { display: block; width: 100%; }
  .rs-table tr { border: 1px solid var(--border); border-radius: 14px; padding: 10px 12px; margin-bottom: 10px; }
  .rs-table td { border: 0; padding: 5px 0; display: flex; justify-content: space-between; gap: 14px; text-align: right; }
  .rs-table td::before { content: attr(data-label); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); font-weight: 700; text-align: left; flex: 0 0 auto; }
  .rs-table td strong, .rs-table td small { text-align: right; }
}
@media (prefers-reduced-motion: reduce) { .results * { transition: none !important; animation: none !important; } }
