.ranking-page{background:linear-gradient(180deg,#f8fbff 0,#fff 18%,#fff 100%)}
.ranking-page .container{max-width:1200px}
.ranking-page-hero{padding:clamp(28px,5vw,56px) 0 20px}
.ranking-page-hero__inner{position:relative;padding:clamp(24px,4vw,40px);border:1px solid rgba(0,102,204,.12);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.98) 0,rgba(248,251,255,.96) 100%);box-shadow:0 12px 36px rgba(15,23,42,.06)}
.ranking-page-hero__eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 1rem;padding:.45rem .85rem;border-radius:999px;background:rgba(0,102,204,.08);color:#0052a3;font-size:.85rem;font-weight:700;letter-spacing:.04em}
.ranking-page-hero h1{margin:0;max-width:16ch;font-size:clamp(30px,4.6vw,54px);line-height:1.14;letter-spacing:.01em}
.ranking-page-hero__links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.ranking-page-hero__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1.2rem;border-radius:999px;background:linear-gradient(135deg,#0066cc 0,#0052a3 100%);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 8px 18px rgba(0,102,204,.18);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.ranking-page-hero__link:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,102,204,.24)}
.ranking-page-hero__link--ghost{background:#fff;color:#004aad;border:1px solid rgba(0,74,173,.18);box-shadow:none}
.ranking-page-hero__link--ghost:hover{background:rgba(0,74,173,.04)}
.ranking-page-nav-section{padding:0}
.ranking-page-nav{position:relative;padding:12px;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 10px 28px rgba(15,23,42,.05)}
.ranking-page-nav__list{display:flex;flex-wrap:wrap;gap:.6rem;overflow:visible;padding-bottom:0}
.ranking-page-nav__item{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:999px;border:1px solid transparent;background:#f8fafc;color:#1f2937;text-decoration:none;font-size:.95rem;font-weight:700;white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.ranking-page-nav__item:hover{background:#eef4ff;color:#0052a3;border-color:rgba(0,82,163,.12)}
.ranking-page-nav__item.is-active,.ranking-page-nav__item[aria-current="page"]{background:linear-gradient(135deg,#0066cc 0,#0052a3 100%);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(0,102,204,.2)}
.comparison-section{margin-top:0;padding:0 0 0;margin-bottom:0}
.ranking-page .comparison-section h2{margin-bottom:clamp(16px,2vw,24px)}
.ranking-page-section{padding:clamp(16px,2vw,24px) 0 0}
.ranking-page-section #ranking-list{min-height:600px}
.ranking-page-section .ranking-tab-panel{gap:1.25rem}
.ranking-page-section .ranking-panel-footer{margin-top:.25rem}
.ranking-tab-panel--empty{
  min-height:320px;
  padding:clamp(24px,4vw,40px);
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px dashed rgba(0,82,163,.2);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(0,102,204,.04) 0,rgba(255,255,255,.96) 100%);
}
.ranking-empty-state{
  width:100%;
  max-width:42rem;
  margin:0 auto;
}
.ranking-empty-state__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 .9rem;
  padding:.4rem .8rem;
  border-radius:999px;
  background:rgba(0,102,204,.08);
  color:#0052a3;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.04em;
}
.ranking-empty-state__title{
  margin:0 0 .75rem;
  font-size:clamp(1.25rem,2.4vw,1.7rem);
  line-height:1.35;
  font-weight:800;
  color:#0f172a;
}
.ranking-empty-state__text{
  margin:0;
  color:#475569;
  line-height:1.8;
}
.hero--ranking-page .hero-badge-top{white-space:nowrap}
.ranking-page-stack{display:flex;flex-direction:column}
.ranking-page-stack > .ranking-page-nav-section{
  padding:0 0 clamp(12px,1.6vw,20px);
}
.ranking-page-stack > .comparison-section{
  margin:0;
  padding:0;
}
.ranking-page-stack > .ranking-page-section{
  padding-top:clamp(20px,2.5vw,28px);
}
.ranking-page-stack > .ranking-page-section #ranking-list{
  min-height:600px;
}
@media (max-width:768px){
  .ranking-page-hero{padding-top:20px}
  .ranking-page-hero__inner{padding:20px}
  .ranking-page-hero h1{max-width:none}
  .ranking-page-hero__links{flex-direction:column;align-items:stretch}
  .ranking-page-hero__link{width:100%}
  .ranking-page-nav{padding:10px}
  .ranking-page-nav__item{padding:.65rem .9rem;font-size:.9rem}
}
