@font-face{font-family:"Signal Narrow";src:url("../assets/fonts/NimbusSansNarrow-Regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Signal Narrow";src:url("../assets/fonts/NimbusSansNarrow-Bold.otf") format("opentype");font-weight:700 900;font-display:swap}
:root{--black:#070708;--panel:#111113;--panel2:#17171a;--white:#f4f1ea;--red:#ff2b2b;--gray:#7e7e83;--rule:#303034;--display:"Signal Narrow","Arial Narrow",sans-serif;--mono:"Courier New",monospace}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;background:var(--black);max-width:100%}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;max-width:100%}main{max-width:100%;min-width:0;overflow-x:clip}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--red);color:white}

.site-header{height:80px;padding:0 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--rule);background:rgba(7,7,8,.96);position:relative;z-index:30;backdrop-filter:blur(14px);width:100%;max-width:100%;min-width:0}
.wordmark{margin:0;font-family:var(--display);font-size:31px;font-weight:900;letter-spacing:.015em;text-transform:uppercase;width:max-content}.wordmark a{color:inherit}.wordmark span{color:var(--red)}
.desktop-nav{display:flex;gap:clamp(38px,7vw,100px)}.desktop-nav a{font-family:var(--display);font-size:14px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-11px;height:2px;background:var(--red);transition:right .2s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}
.header-arrow{justify-self:end;width:48px;height:48px;border:1px solid var(--red);border-radius:0;background:transparent;display:grid;place-items:center}.header-arrow span{color:var(--red);font-size:25px;transition:transform .2s}.header-arrow:hover{background:var(--red)}.header-arrow:hover span{color:white;transform:translate(3px,3px)}.menu-toggle{display:none}

.hero{min-height:calc(100svh - 80px);height:calc(100svh - 80px);display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%);border-bottom:1px solid var(--rule);width:100%;max-width:100%;min-width:0;overflow:hidden}
.hero-copy{padding:clamp(20px,3.2vh,42px) 34px clamp(16px,2.4vh,30px);display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--rule);position:relative;overflow:hidden}.hero-copy:after{content:"";position:absolute;right:22px;top:20px;bottom:20px;width:1px;background:linear-gradient(transparent,var(--red),transparent);opacity:.3}
.eyebrow,.section-kicker{margin:0;color:var(--red);font:700 11px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;background:var(--red);border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(255,43,43,.14);animation:blink 1.4s ease-in-out infinite}
.hero h1{margin:clamp(16px,3vh,32px) 0 clamp(12px,2.2vh,24px);font-family:var(--display);font-size:clamp(64px,min(7vw,14vh),122px);font-weight:900;line-height:.78;letter-spacing:-.045em;text-transform:uppercase}.hero h1 span{color:var(--red)}
.hero-bottom{margin-top:auto;padding-top:clamp(12px,2vh,24px);display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end}.hero-deck{margin:0;max-width:340px;color:#b8b6b1;font:12px/1.6 var(--mono)}.hero-stats{display:flex}.hero-stats>div{min-height:54px;padding:0 15px;border-left:1px solid var(--rule);display:grid;grid-template-columns:auto auto;align-items:center;gap:8px}.hero-stats b{color:var(--red);font:900 24px/1 var(--display)}.hero-stats span{font:700 8px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.09em}
.primary-cta{margin-top:clamp(12px,2vh,24px);min-height:clamp(56px,8vh,70px);width:100%;border:1px solid var(--red);background:var(--red);padding:0 20px;display:flex;align-items:center;justify-content:space-between;font:900 clamp(24px,2.4vw,39px)/1 var(--display);text-transform:uppercase}.primary-cta span{font:300 35px/1 Arial;transition:transform .2s}.primary-cta:hover{background:var(--white);border-color:var(--white);color:var(--black)}.primary-cta:hover span{transform:translateX(8px)}

.hero-visual{display:grid;grid-template-rows:minmax(180px,1fr) auto;min-width:0;min-height:0;height:100%;overflow:hidden}.signal-terminal{background:var(--panel);position:relative;overflow:hidden;min-height:180px}.terminal-bar{height:44px;padding:0 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--rule);font:10px/1 var(--mono);letter-spacing:.09em;color:#aaa8a4}.terminal-bar span:nth-child(2){color:var(--red)}.signal-online{justify-self:end;color:var(--white)!important;display:flex;align-items:center;gap:8px}.signal-online i{width:6px;height:6px;background:var(--red);border-radius:50%;box-shadow:0 0 12px var(--red)}
.terminal-field{position:absolute;left:0;right:0;top:44px;bottom:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;overflow:hidden}.terminal-field:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(255,43,43,.2),transparent 34%)}
.scan-line{position:absolute;z-index:5;top:0;bottom:0;width:2px;background:var(--red);box-shadow:0 0 18px 4px rgba(255,43,43,.5);animation:scan 4.5s linear infinite}.terminal-number{position:absolute;left:28px;top:clamp(8px,1.5vh,15px);color:transparent;-webkit-text-stroke:1px rgba(244,241,234,.22);font:900 clamp(120px,min(20vw,28vh),330px)/.8 var(--display);letter-spacing:-.06em}.signal-axis{position:absolute;left:20px;top:32px;bottom:28px;display:flex;flex-direction:column;justify-content:space-between;color:var(--gray);font:9px var(--mono)}
.waveform{position:absolute;left:44%;right:4%;top:27%;height:44%;display:flex;align-items:center;gap:4px}.waveform:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(255,43,43,.45)}.waveform i{flex:1;min-width:2px;background:var(--red);height:var(--h,24%);animation:wave 1.8s ease-in-out infinite alternate;transform-origin:center}.waveform i:nth-child(3n){height:82%;animation-delay:-.6s}.waveform i:nth-child(4n){height:45%;animation-delay:-1.1s}.waveform i:nth-child(5n){height:100%;animation-delay:-.2s}.fragment-grid{position:absolute;right:28px;top:26px;width:min(180px,28%);height:min(90px,22%);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;opacity:.8}.fragment-grid i{background:linear-gradient(135deg,#2b2b2f,#8a8780);filter:grayscale(1)}.fragment-grid i:nth-child(2),.fragment-grid i:nth-child(5){background:var(--red)}.terminal-label{position:absolute;left:46%;right:clamp(12px,2vw,28px);bottom:clamp(12px,2.2vh,24px);border-top:1px solid var(--red);padding-top:12px;display:flex;justify-content:space-between;gap:12px;color:#aaa8a4;font:9px var(--mono);letter-spacing:.07em;min-width:0}.terminal-label b,.terminal-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-label b{color:var(--white)}
.top-three{padding:0 18px;background:var(--black);min-width:0}.top-three-head{height:clamp(40px,5.5vh,52px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);font-family:var(--mono)}.top-three-head span{display:flex;align-items:center;gap:9px;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.top-three-head small{color:var(--gray);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.top-row{width:100%;height:clamp(52px,7.2vh,74px);padding:0;border:0;border-bottom:1px solid var(--rule);background:transparent;display:grid;grid-template-columns:minmax(72px,118px) minmax(0,1fr) 50px;align-items:center;text-align:left;transition:.18s;min-width:0}.top-row b{color:var(--red);font:900 clamp(42px,7vh,72px)/.8 var(--display)}.top-row>span:nth-child(2){font:900 clamp(24px,min(3.4vw,5.5vh),53px)/1 var(--display);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.top-row:hover,.top-row:focus-visible{background:var(--red);color:white;padding:0 10px;outline:0}.top-row:hover b,.top-row:focus-visible b{color:white}
.movement{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;color:var(--red);font:700 11px var(--mono);font-style:normal}.movement>span{font:300 27px/1 Arial}.movement-down{color:#77777c}.movement-flat{color:var(--white)}.top-row:hover .movement{color:white}

.index-intro{padding:110px 34px 70px;display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end;background:var(--black)}.index-intro h2,.movers-heading h2,.method-heading h2{margin:18px 0 0;font:900 clamp(65px,7vw,112px)/.84 var(--display);letter-spacing:-.04em;text-transform:uppercase}.index-intro>p{margin:0;color:#9c9a96;font:13px/1.75 var(--mono);max-width:570px}
.city-banners{margin:0 34px 48px;padding-top:8px}.city-banners[hidden]{display:none!important}.city-banners-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--rule)}.city-banners-head p:last-child{margin:0;max-width:420px;color:#9c9a96;font:11px/1.55 var(--mono);text-align:right}.city-banner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));border-left:1px solid var(--rule)}.city-banner{min-height:132px;padding:18px 16px;border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:transparent;color:var(--white);text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.city-banner:hover,.city-banner.is-active{background:var(--red)}.city-banner-top{display:flex;justify-content:space-between;align-items:center;font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#aaa8a4}.city-banner:hover .city-banner-top,.city-banner.is-active .city-banner-top{color:rgba(255,255,255,.8)}.city-banner b{font:900 clamp(28px,3vw,42px)/.9 var(--display);text-transform:uppercase}.city-banner span{font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#aaa8a4}.city-banner:hover span,.city-banner.is-active span{color:rgba(255,255,255,.85)}.ranking-shell{margin:0 34px 120px;border:0;min-width:0;max-width:100%}.ranking-controls{min-height:96px;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);grid-template-areas:"search sort" "modes modes";gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--rule);width:100%;max-width:100%;min-width:0}.ranking-controls .search-box{grid-area:search;min-width:0;max-width:100%}.ranking-controls .sort-select{grid-area:sort;min-width:0;max-width:100%}.ranking-controls .mode-filters-bar{grid-area:modes;min-width:0;max-width:100%}.mode-filters-bar{min-width:0;max-width:100%;width:100%;display:grid;gap:8px;justify-items:stretch;align-content:center;text-align:left;overflow:hidden}.mode-filters-bar .filter-group{width:100%;max-width:100%;min-width:0;border:1px solid var(--rule);justify-self:stretch}.mode-filters-bar .filter-group button{min-width:auto;flex:0 0 auto;padding:0 14px;white-space:nowrap}.mode-filters-kicker{margin:0;color:#9c9a96;font:700 10px/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;max-width:100%}.location-filters-bar{padding:14px 0;border-bottom:1px solid var(--rule);min-width:0;max-width:100%;overflow:hidden}.location-filters-bar .filter-group{width:100%;max-width:100%;min-width:0;border:1px solid var(--rule)}
.search-box,.sort-select{height:58px;border:1px solid var(--rule);display:grid;align-items:center;padding:0 14px;min-width:0;max-width:100%;box-sizing:border-box}.search-box{grid-template-columns:minmax(92px,max-content) minmax(0,1fr) 28px;gap:8px}.search-box span,.sort-select span{color:var(--gray);font:700 9px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--white);font:12px var(--mono)}.search-box b{color:var(--red);font-size:21px;text-align:right}.sort-select{grid-template-columns:auto minmax(0,1fr);gap:12px}.sort-select select{min-width:0;width:100%;border:0;outline:0;background:var(--black);font:11px var(--mono)}
.filter-group{height:58px;border:1px solid var(--rule);display:flex;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}.filter-group button{flex:0 0 auto;min-width:57px;padding:0 14px;border:0;border-right:1px solid var(--rule);background:transparent;color:#aaa8a4;font:700 clamp(12px,1.6vw,14px)/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase}.filter-group button:last-child{border-right:0}.filter-group button:hover,.filter-group button.active{background:var(--red);color:white}
.table-head,.artist-row{display:grid;grid-template-columns:minmax(260px,2fr) .55fr .7fr .55fr .55fr .55fr .5fr .4fr;gap:8px;align-items:center}.artist-row.is-shared-target{background:rgba(255,43,43,.1);box-shadow:inset 3px 0 0 var(--red)}.table-head{height:46px;padding:0 12px;border-bottom:1px solid var(--rule);color:var(--gray);font:700 8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.artist-row{position:relative;width:100%;min-height:90px;padding:0 12px;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;animation:rowIn .45s both;animation-delay:var(--delay)}.artist-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--red);transition:width .16s}.artist-row:hover:before,.artist-row:focus-visible:before{width:5px}.artist-row:hover,.artist-row:focus-visible{background:var(--panel2);outline:0}.artist-row>span:not(.artist-identity):not(.movement){color:#aaa8a4;font:11px var(--mono)}
.artist-identity{display:grid;grid-template-columns:74px 48px minmax(0,1fr);align-items:center;gap:13px}.artist-identity>b{color:var(--red);font:900 52px/.8 var(--display)}.artist-identity>i,.artist-identity>.artist-avatar{width:48px;height:48px;display:grid;place-items:center;background:var(--red)!important;color:var(--black);font:900 16px var(--display);font-style:normal;overflow:hidden;position:relative}.artist-identity>.artist-avatar.has-photo{background:#1a1a1c!important}.artist-identity>.artist-avatar img{width:100%;height:100%;object-fit:cover;display:block}.artist-identity>strong{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;font:900 clamp(28px,2.2vw,36px)/1.05 var(--display);text-transform:uppercase}.artist-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-profile-link{color:var(--gray);font:700 7px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.artist-profile-link span{font-size:9px;margin-left:2px}.artist-profile-link:hover{color:var(--red)}.artist-row:hover .artist-profile-link,.artist-row:focus-visible .artist-profile-link{color:rgba(255,255,255,.8)}.artist-row em{display:inline-grid;place-items:center;min-width:48px;height:29px;border:1px solid var(--red);color:var(--red);font-style:normal;font-weight:800}.artist-row:hover em{background:var(--red);color:white}.momentum{font:700 11px var(--mono)}.momentum-up{color:var(--red)!important}.momentum-down{color:#8a8780!important}.momentum-flat{color:#aaa8a4!important}.drawer-metrics .momentum{font:900 28px/1.05 var(--display)}
.ranking-footer{min-height:94px;padding:0 12px;display:flex;align-items:center;justify-content:space-between}.ranking-footer p{margin:0;color:var(--gray);font:700 8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.ranking-footer button{height:52px;padding:0 18px;border:1px solid var(--red);background:transparent;font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.ranking-footer button span{margin-left:24px;color:var(--red);font-size:18px}.ranking-footer button:hover{background:var(--red);color:white}.ranking-footer button:hover span{color:white}.empty-state{padding:80px 20px;display:grid;gap:8px;text-align:center}.empty-state b{font:900 40px var(--display);text-transform:uppercase}.empty-state span{color:var(--gray);font:11px var(--mono)}.empty-state-link{margin-top:14px;justify-self:center;color:var(--red);font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.empty-state-link:hover{color:var(--white)}

.movers-section{padding:110px 34px 120px;background:var(--white);color:var(--black)}.movers-heading{display:flex;justify-content:space-between;align-items:end;padding-bottom:42px;border-bottom:1px solid var(--black)}.movers-heading .section-kicker{color:#686761}.movers-heading h2{margin:0;text-align:right}.movers-heading h2 span{color:var(--red)}.mover-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--black)}.mover-card{min-height:500px;padding:24px;border:0;border-right:1px solid var(--black);background:transparent;color:var(--black);display:flex;flex-direction:column;text-align:left}.mover-card:hover{background:var(--red);color:white}.mover-card-top{display:flex;justify-content:space-between;font:900 25px var(--display)}.mover-card-top b{font:300 38px Arial}.mini-bars{height:185px;margin:45px 0 36px;border-bottom:1px solid currentColor;display:flex;align-items:end;gap:5px}.mini-bars i{flex:1;border:1px solid currentColor;border-bottom:0;background:repeating-linear-gradient(0deg,currentColor 0 1px,transparent 1px 4px)}.mover-card h3{margin:auto 0 12px;font:900 clamp(45px,4.3vw,70px)/.82 var(--display);text-transform:uppercase}.mover-card p{margin:0;font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.mover-card p strong{font-size:20px;margin-right:8px}
.method-section{padding:120px 34px 130px;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.method-heading>p:last-child{max-width:540px;color:#9c9a96;font:12px/1.75 var(--mono);margin:28px 0 0}.weights{border-top:1px solid var(--white)}.weights article{min-height:130px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:40px 100px 1fr;gap:14px;align-items:center}.weights article>span{color:var(--gray);font:9px var(--mono)}.weights article>b{color:var(--red);font:900 54px var(--display)}.weights h3{margin:0 0 7px;font:900 22px var(--display);text-transform:uppercase}.weights p{margin:0;color:var(--gray);font:9px/1.5 var(--mono)}
.closing-band{min-height:220px;padding:32px 34px;background:var(--red);display:flex;align-items:center;justify-content:space-between;gap:28px}.closing-copy{display:flex;flex-direction:column;gap:14px;max-width:850px}.closing-band p{margin:0;color:white;font:900 clamp(52px,6vw,92px)/.8 var(--display);text-transform:uppercase}.closing-deck{color:rgba(255,255,255,.82);font:700 10px/1.55 var(--mono);letter-spacing:.06em;text-transform:uppercase;max-width:520px}.closing-cta{flex:0 0 min(280px,100%);min-height:68px;height:auto;border:1px solid white;background:white;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;color:var(--red);font:700 clamp(13px,2.4vw,16px)/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.closing-cta span{font-size:clamp(22px,3vw,28px);line-height:1;flex:0 0 auto}.closing-cta:hover{background:transparent;color:white}
footer{min-height:230px;padding:52px 34px 30px;display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:30px;align-items:start}footer>p{margin:0;color:var(--gray);font:9px/1.8 var(--mono);letter-spacing:.07em;text-transform:uppercase}footer>div{display:flex;justify-content:flex-end;gap:22px;font:700 10px var(--mono);text-transform:uppercase}footer>div a:hover{color:var(--red)}footer small{grid-column:1/-1;color:#505055;align-self:end;font:8px var(--mono);letter-spacing:.1em}

.drawer-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);backdrop-filter:blur(7px);display:flex;justify-content:flex-end;animation:fadeIn .18s both}.artist-drawer{width:min(570px,100%);height:100%;overflow-y:auto;background:var(--panel2);color:var(--white);padding:36px 34px 28px;border-left:2px solid var(--red);position:relative;animation:drawerIn .3s cubic-bezier(.2,.8,.2,1) both}.drawer-top-actions{position:absolute;right:24px;top:22px;display:flex;align-items:center;gap:10px;z-index:2}.drawer-share-btn,.drawer-close{width:auto;min-width:45px;height:45px;padding:0 14px;border:1px solid var(--red);background:transparent;color:var(--red);font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.drawer-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.drawer-share-btn svg{width:14px;height:14px;flex:0 0 auto;fill:currentColor}.drawer-close{width:45px;padding:0;font-size:28px;line-height:1}.drawer-share-btn:hover,.drawer-close:hover{background:var(--red);color:white}.drawer-share-btn[aria-expanded="true"]{background:var(--red);color:white}.drawer-rank{margin-top:70px;color:var(--red);font:900 38px/1.05 var(--display);padding:.04em 0}.artist-drawer h2{margin:4px 0 28px;max-width:100%;min-width:0;padding:.08em 0 .12em;font:900 clamp(48px,7vw,112px)/1.02 var(--display);letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;overflow:visible}.artist-drawer h2.is-wrapped{white-space:normal;overflow-wrap:anywhere;word-break:break-word;hyphens:manual;line-height:1.05}.drawer-score{min-height:100px;border-top:1px solid var(--white);border-bottom:1px solid var(--white);display:flex;align-items:center;justify-content:space-between;font:700 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.drawer-score b{color:var(--red);font:900 66px var(--display)}.drawer-metrics{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--white)}.drawer-metrics div{min-height:78px;padding:14px 0;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--rule)}.drawer-metrics div:nth-child(odd){border-right:1px solid var(--rule);padding-right:12px}.drawer-metrics div:nth-child(even){padding-left:12px}.drawer-metrics div:nth-last-child(-n+2){border-bottom:0}.drawer-metrics span{color:var(--gray);font:8px var(--mono);letter-spacing:.09em;text-transform:uppercase}.drawer-metrics b{font:900 28px/1.05 var(--display);word-break:break-word}.drawer-chart{height:160px;margin-top:27px;border-bottom:1px solid var(--white);display:flex;align-items:end;gap:4px}.drawer-chart i{flex:1;background:var(--red)}.drawer-chart i:nth-child(odd){background:#6a191b}.drawer-note{color:#aaa8a4;font:9px/1.65 var(--mono);margin:20px 0 12px}.drawer-claim-note{color:#dddcd8;font:9px/1.65 var(--mono);margin:0 0 18px}.drawer-actions{display:grid;gap:10px}.drawer-link{min-height:62px;height:auto;padding:14px 17px;background:var(--red);display:flex;align-items:center;justify-content:space-between;gap:12px;color:white;font:700 clamp(13px,2.2vw,15px)/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.drawer-link span{font-size:clamp(22px,3vw,26px);line-height:1;flex:0 0 auto}.drawer-link:hover{background:white;color:var(--black)}.drawer-link-claim{background:var(--red)}.drawer-link-secondary{background:transparent;border:1px solid var(--white);color:var(--white)}.drawer-link-secondary:hover{background:var(--white);color:var(--black)}.drawer-link-outline{background:transparent;border:1px solid var(--rule);color:var(--white)}.drawer-link-outline:hover{border-color:var(--white);background:var(--white);color:var(--black)}.drawer-link[hidden]{display:none!important}.drawer-rank-meta{margin:12px 0 22px;color:#aaa8a4;font:700 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.drawer-rank-meta[hidden]{display:none!important}.drawer-share-wrap{position:relative}.drawer-share-popup{position:absolute;top:calc(100% + 10px);right:0;z-index:5;width:min(360px,calc(100vw - 40px));padding:14px;border:1px solid var(--rule);background:#121211;box-shadow:0 18px 40px rgba(0,0,0,.55);display:grid;gap:12px;animation:fadeIn .16s both;max-height:min(82vh,760px);overflow-y:auto}.drawer-share-popup:before{content:"";position:absolute;top:-6px;right:18px;width:10px;height:10px;border-left:1px solid var(--rule);border-top:1px solid var(--rule);background:#121211;transform:rotate(45deg)}.drawer-share-popup[hidden]{display:none!important}.drawer-share-preview{margin:0;color:#dddcd8;font:10px/1.45 var(--mono);white-space:pre-wrap;word-break:break-word;max-height:4.4em;overflow:hidden}.drawer-share-label{margin:0;color:var(--gray);font:700 8px var(--mono);letter-spacing:.1em;text-transform:uppercase}.drawer-share-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.drawer-share-app{min-height:58px;padding:8px 4px 6px;border:1px solid var(--rule);background:transparent;color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:700 8px/1.1 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;text-align:center}.drawer-share-app svg{width:18px;height:18px;flex:0 0 auto;fill:currentColor}.drawer-share-app:hover{border-color:var(--red);color:white;background:rgba(255,43,43,.08)}.drawer-share-app[hidden]{display:none!important}.drawer-share-status{margin:0;color:var(--red);font:700 8px/1.45 var(--mono);letter-spacing:.06em;text-transform:uppercase}.drawer-share-status[hidden]{display:none!important}


.how-inline-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:var(--red);font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.how-inline-link span{font-size:18px}.how-inline-link:hover{color:var(--white)}
.page-how .how-hero{padding:90px 34px 70px;border-bottom:1px solid var(--rule);max-width:1100px}.page-how .how-hero h1{margin:22px 0 24px;font:900 clamp(64px,8vw,118px)/.82 var(--display);letter-spacing:-.04em;text-transform:uppercase}.page-how .how-hero h1 span{color:var(--red)}.how-lede{margin:0;max-width:640px;color:#b8b6b1;font:13px/1.7 var(--mono)}.how-hero-actions{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}.how-cta{margin-top:0;max-width:420px}.how-secondary{min-height:70px;padding:0 20px;border:1px solid var(--rule);display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font:700 clamp(13px,2.2vw,15px)/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase}.how-secondary span{font-size:clamp(20px,3vw,24px);color:var(--red)}.how-secondary:hover{border-color:var(--white);background:var(--white);color:var(--black)}.how-secondary:hover span{color:var(--black)}
.how-steps{padding:100px 34px;display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;border-bottom:1px solid var(--rule)}.how-steps-head h2{margin:18px 0 0;font:900 clamp(52px,6vw,92px)/.84 var(--display);text-transform:uppercase}.how-step-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--white)}.how-step-list li{min-height:140px;padding:28px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:64px 1fr;gap:18px}.how-step-list li>span{color:var(--red);font:900 28px var(--display)}.how-step-list h3{margin:0 0 10px;font:900 26px var(--display);text-transform:uppercase}.how-step-list p{margin:0;color:#9c9a96;font:12px/1.7 var(--mono)}
.page-how .how-method{border-top:1px solid var(--rule)}
.how-metrics{padding:100px 34px 110px;background:var(--white);color:var(--black)}.how-metrics-head{max-width:760px;margin-bottom:48px}.how-metrics-head .section-kicker{color:#686761}.how-metrics-head h2{margin:18px 0 18px;font:900 clamp(52px,6vw,92px)/.84 var(--display);text-transform:uppercase}.how-metrics-head p{margin:0;color:#4a4946;font:12px/1.7 var(--mono)}.how-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--black)}.how-metric-grid article{min-height:260px;padding:28px 22px;border-right:1px solid var(--black);border-top:1px solid var(--black);border-bottom:1px solid var(--black)}.how-metric-grid b{display:block;color:var(--red);font:900 54px var(--display)}.how-metric-grid h3{margin:28px 0 10px;font:900 28px var(--display);text-transform:uppercase}.how-metric-grid p{margin:0;font:11px/1.6 var(--mono);color:#4a4946}
.how-panels{padding:100px 34px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--rule)}.how-panels article{padding:36px 34px;border-right:1px solid var(--rule)}.how-panels article:last-child{border-right:0}.how-panels h2{margin:18px 0 16px;font:900 clamp(42px,4.5vw,68px)/.86 var(--display);text-transform:uppercase}.how-panels p{margin:0 0 28px;max-width:460px;color:#9c9a96;font:12px/1.7 var(--mono)}.how-panels a{display:inline-flex;align-items:center;gap:12px;color:var(--red);font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.how-panels a:hover{color:var(--white)}
.how-note{padding:90px 34px 100px;max-width:900px}.how-note h2{margin:18px 0 16px;font:900 clamp(48px,5.5vw,84px)/.86 var(--display);text-transform:uppercase}.how-note>p:last-child{margin:0;color:#9c9a96;font:12px/1.7 var(--mono);max-width:620px}.how-note-modes{border-bottom:1px solid var(--rule)}
.desktop-nav a[aria-current="page"]:after{right:0}

@media(max-width:900px){.how-steps,.how-panels,.how-metric-grid{grid-template-columns:1fr}.how-panels article{border-right:0;border-bottom:1px solid var(--rule)}.how-panels article:last-child{border-bottom:0}.page-how .how-hero,.how-steps,.how-metrics,.how-panels,.how-note{padding-left:18px;padding-right:18px}.how-hero-actions{flex-direction:column}.how-cta,.how-secondary{width:100%}}

@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}@keyframes scan{from{left:-2%}to{left:102%}}@keyframes wave{from{transform:scaleY(.45);opacity:.55}to{transform:scaleY(1);opacity:1}}@keyframes rowIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}}@keyframes drawerIn{from{transform:translateX(100%)}}

/* Modes stay on their own row — wider chips no longer collide with Search/Sort */
@media(min-width:1280px){.ranking-controls{grid-template-columns:minmax(0,1fr) minmax(200px,240px);grid-template-areas:"search sort" "modes modes";align-items:center}.ranking-controls .mode-filters-bar{justify-items:stretch;text-align:left}.mode-filters-bar .filter-group{width:100%;max-width:100%;justify-self:stretch}}

@media(max-width:1100px){.hero{grid-template-columns:minmax(0,44%) minmax(0,56%)}.hero-copy{padding-left:24px}.hero h1{font-size:clamp(64px,min(8vw,12vh),104px)}.hero-bottom{grid-template-columns:1fr}.hero-stats{display:none}.ranking-controls{grid-template-columns:minmax(0,1fr) minmax(150px,200px);grid-template-areas:"search sort" "modes modes";padding:16px 0}.location-filters-bar{padding:12px 0}.table-head,.artist-row{grid-template-columns:minmax(240px,2fr) .7fr .55fr .55fr .55fr .45fr .35fr}.table-head span:nth-child(2),.artist-row>span:nth-child(2){display:none}}
@media(max-width:980px){
.site-header{height:64px;padding:0 17px;grid-template-columns:1fr auto;position:sticky;top:0}
.wordmark{font-size:25px;max-width:min(220px,70vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-arrow{display:none}
.menu-toggle{display:grid;width:42px;height:42px;border:1px solid var(--rule);background:transparent;place-content:center;gap:6px;justify-self:end}
.menu-toggle span{display:block;width:18px;height:1px;background:var(--red)}
.desktop-nav{position:absolute;top:64px;left:0;right:0;background:var(--red);color:white;display:grid;gap:0;transform:translateY(-130%);opacity:0;visibility:hidden;transition:.22s;z-index:40}
.desktop-nav.is-open{transform:none;opacity:1;visibility:visible}
.desktop-nav a{height:62px;padding:0 18px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.55)}
.desktop-nav a:after{display:none}
.hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none;overflow:visible}
.hero-copy{min-height:0;padding:30px 18px 22px;border-right:0}
.hero-copy:after{display:none}
.hero h1{font-size:clamp(56px,12vw,92px);margin-top:24px;line-height:.82}
.hero-deck{font-size:10px;max-width:100%;display:block}
.hero-stats{display:none}
.primary-cta{min-height:64px;font-size:clamp(22px,7vw,29px)}
.hero-visual{grid-template-rows:minmax(280px,42vh) auto;height:auto;overflow:visible}
.terminal-number{font-size:clamp(120px,36vw,190px);left:16px}
.waveform{left:28%;right:5%}
.fragment-grid{width:130px;height:70px;display:grid}
.terminal-label{left:30%;font-size:7px}
.top-three{padding:0 13px;display:block}
.top-row{height:62px;grid-template-columns:70px minmax(0,1fr) 34px}
.top-row b{font-size:48px}
.top-row>span:nth-child(2){font-size:clamp(22px,8vw,29px)}
}
@media(max-height:760px) and (min-width:981px){.hero-deck,.hero-stats{display:none}.hero h1{font-size:clamp(52px,min(7vw,11vh),88px)}.terminal-number{font-size:clamp(100px,min(18vw,24vh),220px)}.fragment-grid{display:none}.top-row{height:48px}.top-row b{font-size:40px}.top-row>span:nth-child(2){font-size:clamp(20px,4.5vh,36px)}.top-three-head{height:36px}}
@media(max-height:560px) and (min-width:981px){.hero{height:auto;max-height:none;min-height:calc(100svh - 80px);overflow:visible}.hero-visual{height:auto;overflow:visible;grid-template-rows:minmax(200px,36vh) auto}.signal-terminal{min-height:200px}.top-three{display:none}}
@media(max-width:720px){
.index-intro{padding:76px 18px 46px;display:block;scroll-margin-top:80px}
.city-banners{margin:0 18px 36px;max-width:calc(100% - 36px)}
.city-banners-head{flex-direction:column;align-items:stretch}
.city-banners-head p:last-child{text-align:left;max-width:none}
.city-banner-grid{grid-template-columns:1fr}
.index-intro h2,.movers-heading h2,.method-heading h2{font-size:clamp(48px,14vw,82px)}
.index-intro>p{margin-top:28px;font-size:10px}
.ranking-shell{margin:0 18px 84px;max-width:calc(100% - 36px);scroll-margin-top:80px}
.ranking-controls{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"search" "modes" "sort";gap:10px;align-items:stretch;padding:15px 0;width:100%;max-width:100%}
.ranking-controls .search-box,.ranking-controls .mode-filters-bar,.ranking-controls .sort-select{width:100%;max-width:100%;min-width:0}
.ranking-controls .search-box{grid-area:search}
.ranking-controls .mode-filters-bar{grid-area:modes;justify-items:stretch;text-align:left}
.ranking-controls .sort-select{grid-area:sort}
.search-box{grid-template-columns:minmax(78px,max-content) minmax(0,1fr) 22px;padding:0 10px;gap:6px}
.search-box span{font-size:9px;letter-spacing:.05em}
.sort-select{grid-template-columns:auto minmax(0,1fr);padding:0 10px}
.sort-select select{min-width:0;width:100%}
.mode-filters-bar .filter-group,.location-filters-bar .filter-group{width:100%;max-width:100%;min-width:0;border:1px solid var(--rule);justify-self:stretch}
.mode-filters-bar .filter-group button{padding:0 12px;font-size:12px;letter-spacing:.03em}
.mode-filters-kicker{white-space:normal;font-size:10px}
.location-filters-bar{padding:12px 0;max-width:100%}
.filter-group{height:54px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.filter-group button{flex:0 0 auto;min-width:auto;font-size:12px}
.table-head{display:none}
.artist-list{border-top:1px solid var(--rule)}
.artist-row{min-height:142px;display:grid;grid-template-columns:1fr 1fr 1fr;padding:13px 2px;gap:0;max-width:100%}
.artist-identity{grid-column:1/-1;grid-template-columns:40px 40px minmax(0,1fr);gap:10px;padding-bottom:12px;align-items:center}
.artist-identity>b{font-size:22px;line-height:1;letter-spacing:-.02em;min-width:0}
.artist-identity>i,.artist-identity>.artist-avatar{width:40px;height:40px}
.artist-identity>strong{font-size:clamp(18px,5.5vw,24px)}
.artist-row>span:not(.artist-identity):not(.movement){display:flex;flex-direction:column;gap:5px;font-size:10px}
.artist-row>span:not(.artist-identity):not(.movement):before{content:attr(data-label);color:var(--gray);font:7px var(--mono);letter-spacing:.09em;text-transform:uppercase}
.artist-row>.momentum{display:flex;flex-direction:column;gap:5px;font-size:10px}
.artist-row>.momentum:before{content:attr(data-label);color:var(--gray);font:7px var(--mono);letter-spacing:.09em;text-transform:uppercase}
.artist-row>span:nth-child(2),.artist-row>span:nth-child(3),.artist-row>span:nth-child(7){display:none}
.artist-row>.movement{align-self:end}
.ranking-footer{min-height:128px;padding:20px 0;flex-direction:column;align-items:stretch;gap:17px}
.ranking-footer button{width:100%;display:flex;justify-content:space-between;align-items:center}
.movers-section{padding:76px 18px 84px}
.movers-heading{display:block}
.movers-heading h2{text-align:left;margin-top:28px}
.mover-grid{grid-template-columns:1fr}
.mover-card{min-height:390px}
.mini-bars{height:125px;margin:30px 0}
.mover-card h3{font-size:clamp(36px,12vw,58px)}
.method-section{padding:84px 18px 92px;grid-template-columns:1fr;gap:58px}
.weights article{min-height:106px;grid-template-columns:28px 74px 1fr;gap:7px}
.weights article>b{font-size:42px}
.weights h3{font-size:18px}
.closing-band{min-height:330px;padding:32px 18px;flex-direction:column;align-items:stretch;justify-content:space-between;gap:22px}
.closing-band p{font-size:clamp(40px,12vw,58px)}
.closing-cta{flex:0 0 auto;width:100%;min-height:64px;font-size:14px;padding:16px 18px}
footer{padding:48px 18px 28px;grid-template-columns:1fr;min-height:330px}
footer>div{justify-content:flex-start}
footer small{grid-column:1}
.artist-drawer{padding:28px 20px 24px}
.drawer-top-actions{right:20px;top:20px}
.drawer-rank{margin-top:82px}
.drawer-share-popup{width:min(360px,calc(100vw - 24px));right:0;left:auto}
.drawer-share-apps{grid-template-columns:repeat(3,1fr)}
.artist-drawer h2{font-size:clamp(36px,10.5vw,56px);line-height:1.05;padding:.1em 0 .14em}.artist-drawer h2.is-wrapped{line-height:1.08}.drawer-identity{gap:12px}.drawer-identity h2{margin:0}.drawer-artist-avatar{width:40px;height:40px}.drawer-artist-avatar .artist-avatar{width:100%;height:100%}.drawer-artist-avatar .artist-avatar img{width:100%;height:100%;object-fit:cover;display:block}
}
html{scroll-padding-top:80px}
/* Drawer: profile photo + name lockup */
.drawer-identity{display:flex;align-items:center;gap:14px}
.drawer-identity h2{margin:0}
.drawer-artist-avatar{flex:0 0 auto;width:56px;height:56px;display:grid;place-items:center;border-radius:0;overflow:hidden}
.drawer-artist-avatar .artist-avatar{width:100%;height:100%;border-radius:0;display:grid;place-items:center;overflow:hidden}
.drawer-artist-avatar .artist-avatar img{width:100%;height:100%;object-fit:cover;display:block}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
