.ranking-page{padding:0 0 64px;background:linear-gradient(180deg,#f8fafc 0,#fff 360px)}
.ranking-page .directory-shell{width:min(calc(100% - 40px),1320px);max-width:none;margin-inline:auto}
.ranking-hero{padding:34px 0 30px;background:linear-gradient(135deg,#f2f6fd 0%,#fff 72%);border-bottom:1px solid #e7ecf3}
.ranking-hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.ranking-hero .eyebrow{display:block;margin-bottom:5px;color:var(--ui-primary);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.ranking-hero h1{margin:0;color:var(--ui-text);font-size:clamp(28px,3vw,40px);font-weight:860;line-height:1.08;letter-spacing:-.035em}
.ranking-hero p{max-width:680px;margin:8px 0 0;color:var(--ui-muted);font-size:14px;line-height:1.55}
.ranking-scale{flex:0 0 auto;min-width:168px;padding:12px 14px;border:1px solid #dfe7f1;border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 6px 18px rgba(24,42,74,.045);text-align:right}
.ranking-scale strong,.ranking-scale span{display:block}.ranking-scale strong{color:var(--ui-primary);font-size:22px;font-weight:900;letter-spacing:-.025em}.ranking-scale span{margin-top:2px;color:var(--ui-muted);font-size:11px}
.ranking-shell{padding-top:18px}
.ranking-filters{display:grid;grid-template-columns:minmax(155px,.8fr) minmax(0,3.4fr) minmax(150px,.8fr) auto;gap:10px;align-items:end;margin:0 0 16px;padding:14px;border:1px solid var(--ui-border);border-radius:15px;background:#fff;box-shadow:0 3px 14px rgba(18,35,61,.035)}
.ranking-location-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}
.ranking-filters label{min-width:0;display:grid;gap:5px;margin:0;color:#536176;font-size:11px;font-weight:800}
.ranking-filters .form-select{min-width:0;min-height:44px;padding-block:7px;border-color:#d9e1eb;border-radius:10px;background-color:#fff;color:#263247;font-size:12px}
.ranking-filters .form-select:focus{border-color:#8eacd4;box-shadow:0 0 0 3px rgba(15,63,147,.08)}
.ranking-filters>.btn{min-height:44px;padding-inline:16px;border-radius:10px;white-space:nowrap}
.ranking-sponsored{margin-bottom:14px}
.ranking-list{display:grid;gap:9px}
.ranking-card{position:relative;display:grid;grid-template-columns:54px 58px minmax(0,1fr) 132px;gap:13px;align-items:center;min-height:112px;padding:13px 14px;border:1px solid #e1e7ef;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(19,37,65,.03);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.ranking-card.ranking-top{border-color:#d7e2f0;background:linear-gradient(105deg,#fbfdff 0%,#fff 36%)}
.ranking-position{display:grid;place-items:center;align-content:center;min-height:56px;text-align:center}
.ranking-position span{display:block;color:#2b3a50;font-size:20px;font-weight:900;line-height:1}
.ranking-position small{margin-top:5px;color:var(--ui-primary);font-size:10px;font-weight:850;white-space:nowrap}
.ranking-business-media{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;text-decoration:none}
.ranking-business-media img,.ranking-business-media .avatar{width:58px;height:58px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.ranking-business-media img{display:block;padding:4px;object-fit:contain;object-position:center}.ranking-business-media .avatar{display:grid;place-items:center;overflow:hidden}
.ranking-business-copy{min-width:0}
.ranking-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ranking-title-row>div{min-width:0}.ranking-title-row .eyebrow{display:block;overflow:hidden;margin-bottom:2px;color:#728096;font-size:10px;font-weight:800;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.ranking-title-row h2{display:flex;align-items:center;gap:5px;min-width:0;margin:0;font-size:15px;font-weight:860;line-height:1.25}
.ranking-title-row h2 a{overflow:hidden;color:var(--ui-text);text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.ranking-title-row .verified-badge{width:17px;height:17px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;background:#198754;color:#fff;font-size:10px}
.ranking-title-row .level-pill{flex:0 0 auto;max-width:130px;min-height:24px;display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #dce5f0;border-radius:999px;background:#f6f9fc;color:#465873;font-size:10px;font-weight:850;line-height:1.15;white-space:nowrap}
.ranking-business-copy>p{display:-webkit-box;overflow:hidden;margin:5px 0 7px;color:#667085;font-size:12px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.ranking-meta{display:flex;align-items:center;gap:12px;min-width:0;color:#6b788b;font-size:11px}
.ranking-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-meta span:first-child{color:#4f5f75;font-weight:700}
.ranking-score{min-width:0;text-align:right}.ranking-score strong{display:block;color:var(--ui-primary);font-size:19px;font-weight:900;line-height:1}.ranking-score>span{display:block;margin-top:2px;color:#7a8798;font-size:10px}
.ranking-progress{display:block;width:100%;height:5px;margin:7px 0 8px;overflow:hidden;border:0;border-radius:999px;background:#e8edf4;appearance:none;-webkit-appearance:none}.ranking-progress::-webkit-progress-bar{background:#e8edf4;border-radius:999px}.ranking-progress::-webkit-progress-value{background:var(--ui-primary);border-radius:999px}.ranking-progress::-moz-progress-bar{background:var(--ui-primary);border-radius:999px}
.ranking-score .btn{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding-inline:10px;border-radius:9px;font-size:11px}
.ranking-page .directory-empty{padding:34px 24px;border-radius:15px;text-align:center}.ranking-page .directory-empty h2{margin:0 0 5px;font-size:18px}.ranking-page .directory-empty p{margin:0;color:var(--ui-muted);font-size:13px}
@media(hover:hover) and (pointer:fine){.ranking-card:hover{border-color:#c7d5e7;box-shadow:0 7px 20px rgba(24,42,74,.07);transform:translateY(-1px)}.ranking-title-row h2 a:hover{color:var(--ui-primary)}}
@media(max-width:1199.98px){.ranking-filters{grid-template-columns:1fr 1fr}.ranking-location-filters{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.ranking-filters>.btn{align-self:end}.ranking-card{grid-template-columns:48px 56px minmax(0,1fr) 126px}}
@media(max-width:991.98px){.ranking-page .directory-shell{width:min(calc(100% - 28px),820px)}.ranking-hero{padding:26px 0 24px}.ranking-filters{grid-template-columns:1fr 1fr}.ranking-location-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-card{grid-template-columns:44px 54px minmax(0,1fr) 112px}.ranking-business-media,.ranking-business-media img,.ranking-business-media .avatar{width:54px;height:54px}.ranking-title-row .level-pill{max-width:100px}}
@media(max-width:767.98px){.ranking-page{padding-bottom:82px}.ranking-page .directory-shell{width:100%;padding-inline:8px}.ranking-hero{padding:20px 0 18px}.ranking-hero-inner{align-items:flex-start}.ranking-hero h1{font-size:27px}.ranking-hero p{font-size:13px}.ranking-scale{min-width:128px;padding:9px 10px}.ranking-scale strong{font-size:18px}.ranking-scale span{font-size:10px}.ranking-shell{padding-top:9px}.ranking-filters{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px;padding:9px;border-radius:12px}.ranking-location-filters{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px}.ranking-filters label{font-size:10.5px}.ranking-filters .form-select,.ranking-filters>.btn{min-height:44px;font-size:11px}.ranking-filters>.btn{width:100%}.ranking-list{gap:7px}.ranking-card{grid-template-columns:34px 48px minmax(0,1fr);gap:9px;min-height:104px;padding:10px 9px;border-radius:12px}.ranking-position{min-height:48px}.ranking-position span{font-size:17px}.ranking-position small{font-size:10px}.ranking-business-media,.ranking-business-media img,.ranking-business-media .avatar{width:48px;height:48px;border-radius:12px}.ranking-title-row{gap:6px}.ranking-title-row h2{font-size:13.5px}.ranking-title-row .eyebrow{font-size:10px}.ranking-title-row .level-pill{max-width:88px;min-height:22px;padding:3px 6px;font-size:10px}.ranking-business-copy>p{margin:4px 0 5px;font-size:11.5px}.ranking-meta{gap:8px;font-size:10.5px}.ranking-score{grid-column:2/-1;display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;text-align:left}.ranking-score strong{font-size:15px}.ranking-score>span{display:none}.ranking-progress{margin:0}.ranking-score .btn{width:auto;min-height:44px;padding-inline:12px}.ranking-page .directory-empty{margin:0 6px;padding:26px 16px}}
@media(max-width:575.98px){.ranking-hero-inner{display:block}.ranking-scale{width:max-content;margin-top:13px;text-align:left}.ranking-filters{grid-template-columns:1fr}.ranking-location-filters{grid-template-columns:1fr 1fr}.ranking-filters>.btn{grid-column:1/-1}.ranking-title-row .level-pill{max-width:74px}.ranking-meta span:last-child{display:none}}
@media(max-width:430px){.ranking-page .directory-shell{padding-inline:6px}.ranking-location-filters{grid-template-columns:1fr}.ranking-card{grid-template-columns:30px 46px minmax(0,1fr);gap:8px;padding:9px 8px}.ranking-business-media,.ranking-business-media img,.ranking-business-media .avatar{width:46px;height:46px}.ranking-position span{font-size:16px}.ranking-position small{font-size:10px}.ranking-title-row h2{font-size:13px}.ranking-business-copy>p{font-size:11px}.ranking-score{grid-template-columns:auto minmax(70px,1fr) auto;gap:6px}.ranking-score .btn{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.ranking-card{transition:none}}
.ranking-score .btn{min-height:44px}
