:root{
  --bg:#081018;--bg-2:#0d151e;--panel:#111b25;--panel-2:#151f2a;--line:#25313d;
  --text:#f7f9fb;--muted:#95a2b0;--red:#ff2d3d;--red-2:#ff4857;--green:#57d68d;
  --shadow:0 20px 50px rgba(0,0,0,.35);--radius:18px;--shell:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
html,body{overflow-x:clip;max-width:100vw}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;padding-bottom:calc(86px + env(safe-area-inset-bottom, 0px))}
a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(calc(100% - 32px),var(--shell));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

#page-loader{position:fixed;top:0;left:0;height:3px;background:var(--red);z-index:99999;transition:width .22s ease,opacity .25s ease;pointer-events:none;width:0;opacity:0}
#page-loader.is-loading{opacity:1}

.site-header{position:sticky;top:0;z-index:60;background:rgba(8,16,24,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{height:72px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.02em}
.brand-wave{color:var(--red);font-size:18px;letter-spacing:-4px;transform:rotate(90deg);display:inline-block;width:28px}
.main-nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.main-nav > a,
.main-nav > .has-dropdown > .nav-dropdown-trigger{
  font-size:14px;
  color:#c8d0d8;
  transition:color .15s ease;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:8px 0;
  cursor:pointer;
}
.main-nav > a:hover,
.main-nav > a.is-active,
.main-nav > .has-dropdown:hover > .nav-dropdown-trigger,
.main-nav > .has-dropdown > .nav-dropdown-trigger.is-active{
  color:#fff;
}
.main-nav > a.is-active,
.main-nav > .has-dropdown > .nav-dropdown-trigger.is-active{
  font-weight:750;
}

/* Navigation Dropdown Container */
.has-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.dropdown-caret{
  font-size:11px;
  margin-left:1px;
  color:var(--muted);
  transition:transform .2s ease,color .2s ease;
  line-height:1;
}
.has-dropdown:hover .dropdown-caret,
.has-dropdown:focus-within .dropdown-caret{
  transform:rotate(180deg);
  color:var(--red);
}

/* Invisible Hover Bridge to eliminate any flicker */
.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  width:320px;
  background:#09121a;
  background:rgba(9,18,26,.98);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  box-shadow:0 24px 54px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.05);
  padding:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s;
  pointer-events:none;
  z-index:120;
}
.nav-dropdown-menu::before{
  content:"";
  position:absolute;
  top:-14px;
  left:0;
  right:0;
  height:14px;
  background:transparent;
}
.has-dropdown:hover .nav-dropdown-menu,
.has-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* Dropdown Menu Header */
.dropdown-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:7px 10px 8px;
  border-bottom:1px solid rgba(255,255,255,.07);
  margin-bottom:4px;
}
.dropdown-eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  color:var(--muted);
}
.dropdown-badge{
  font-size:10px;
  font-weight:700;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,45,61,.12);
  color:var(--red);
  border:1px solid rgba(255,45,61,.28);
}

/* Dropdown Station Items */
.dropdown-stations{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.dropdown-station-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 10px;
  border-radius:10px;
  color:#e4ebf3 !important;
  text-decoration:none;
  transition:background .15s ease,color .15s ease;
  position:relative;
}
.dropdown-station-item:hover{
  background:rgba(255,255,255,.08);
  color:#fff !important;
}
.dropdown-station-rank{
  font-size:11px;
  font-weight:750;
  color:var(--muted);
  width:18px;
  text-align:center;
  flex-shrink:0;
}
.dropdown-station-item:hover .dropdown-station-rank{
  color:var(--red);
}
.dropdown-station-logo{
  width:32px;
  height:32px;
  border-radius:8px;
  background:#050c12;
  border:1px solid rgba(255,255,255,.09);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.4);
}
.dropdown-station-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:3px;
  box-sizing:border-box;
}
.dropdown-station-logo span{
  font-size:14px;
  color:var(--muted);
}
.dropdown-station-text{
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
  line-height:1.25;
}
.dropdown-station-name{
  font-size:13.5px;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#f1f5f9;
}
.dropdown-station-meta{
  font-size:11px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dropdown-station-play{
  width:26px;
  height:26px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  opacity:0;
  transform:scale(.85);
  transition:all .15s ease;
  flex-shrink:0;
  cursor:pointer;
  margin-left:auto;
}
.dropdown-station-item:hover .dropdown-station-play{
  opacity:1;
  transform:scale(1);
}
.dropdown-station-play:hover{
  background:var(--red);
  border-color:var(--red);
  transform:scale(1.12) !important;
}

/* Dropdown Footer */
.dropdown-footer{
  margin-top:4px;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.07);
}
.dropdown-all-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 12px;
  border-radius:10px;
  font-size:12.5px;
  font-weight:700;
  color:var(--red) !important;
  background:rgba(255,45,61,.08);
  border:1px solid rgba(255,45,61,.18);
  transition:all .15s ease;
}
.dropdown-all-link:hover{
  background:var(--red);
  color:#fff !important;
  border-color:var(--red);
}
.dropdown-all-link .all-arrow{
  font-size:13px;
  transition:transform .15s ease;
}
.dropdown-all-link:hover .all-arrow{
  transform:translateX(3px);
}

.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.icon-btn{border:1px solid var(--line);background:#0c151d;color:white;width:40px;height:40px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}
.icon-btn:hover{background:#15222e;border-color:#3c4d5d}

/* Hamburger button */
.hamburger-btn{display:none}
.hamburger-icon{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:18px;height:14px}
.hamburger-icon i{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:transform .2s ease,opacity .2s ease}

/* Mobile Nav Drawer */
.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;opacity:0;transition:opacity .25s ease;pointer-events:none}
.mobile-nav-backdrop.is-open{opacity:1;pointer-events:auto}
.mobile-nav{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);background:#09121a;border-left:1px solid rgba(255,255,255,.09);box-shadow:-16px 0 40px rgba(0,0,0,.6);z-index:95;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mobile-nav.is-open{transform:translateX(0)}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.07)}
.mobile-nav-body{padding:20px;display:flex;flex-direction:column;gap:22px;flex:1}
.mobile-nav-group{display:flex;flex-direction:column;gap:10px}
.mobile-nav-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.mobile-nav-links{display:flex;flex-direction:column;gap:6px}
.mobile-nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:14.5px;font-weight:700;color:#fff;transition:background .15s ease,border-color .15s ease}
.mobile-nav-link:hover,.mobile-nav-link.is-active{background:rgba(255,45,61,.14);border-color:rgba(255,45,61,.35);color:#fff}
.nav-link-icon{font-size:18px;width:24px;display:grid;place-items:center}
.nav-link-arrow{margin-left:auto;color:var(--muted);font-size:14px;transition:transform .15s ease}
.mobile-nav-link:hover .nav-link-arrow{transform:translateX(3px);color:#fff}
.mobile-nav-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mobile-nav-view-all{font-size:12px;font-weight:700;color:var(--red);white-space:nowrap;flex-shrink:0}
.mobile-nav-group-head .mobile-nav-label{white-space:nowrap}
.mobile-top-stations{display:flex;flex-direction:column;gap:5px}
.mobile-top-station-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);color:#fff;transition:all .15s ease}
.mobile-top-station-row:hover,.mobile-top-station-row:active{background:rgba(255,255,255,.07)}
.mobile-station-rank{font-size:11px;font-weight:800;color:var(--muted);width:16px;text-align:center;flex-shrink:0}
.mobile-station-logo{width:32px;height:32px;border-radius:8px;background:#050c12;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.mobile-station-logo img{width:100%;height:100%;object-fit:contain;padding:2px}
.mobile-station-logo span{font-size:14px;color:var(--muted)}
.mobile-station-info{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}
.mobile-station-info strong{font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f1f5f9}
.mobile-station-info small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-station-play{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;flex-shrink:0;transition:all .15s ease}
.mobile-station-play:hover,.mobile-station-play:active{background:var(--red);border-color:var(--red)}

.mobile-nav-tags{display:flex;flex-wrap:wrap;gap:7px}
.mobile-nav-tags a{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:600;color:#c8d4df;transition:all .15s ease}
.mobile-nav-tags a:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff}
.mobile-nav-foot{padding:18px 20px;border-top:1px solid rgba(255,255,255,.07);background:#070e14}
.mobile-nav-foot p{margin:0;font-size:12px;color:var(--muted);line-height:1.4}
body.nav-open{overflow:hidden}

.search-panel{position:absolute;left:0;right:0;background:#0b131b;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.search-panel-inner{padding:16px 0 20px;position:relative}
.search-panel input,.hero-search input{width:100%;background:#f3f5f7;border:0;color:#1a2027;padding:16px 54px 16px 18px;border-radius:11px;outline:none}
.search-results{margin-top:10px;background:#101a23;border:1px solid var(--line);border-radius:14px;overflow:hidden;max-height:360px;overflow-y:auto}
.search-results:empty{display:none}
.search-hit{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.05)}
.search-hit:hover{background:#17222d}
.search-hit strong{display:block}
.search-hit small{color:var(--muted)}

.hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06);background:radial-gradient(circle at 72% 20%,rgba(255,45,61,.16),transparent 22%),radial-gradient(circle at 54% 0,rgba(105,63,255,.18),transparent 26%),linear-gradient(180deg,#081018 0%,#09131c 100%)}
.hero-grid{min-height:560px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:48px;position:relative;z-index:2}
.hero-copy{padding:60px 0}
.eyebrow{display:inline-block;color:var(--red-2);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}
.hero h1,.page-hero h1,.station-hero h1{margin:0 0 16px;max-width:760px}
.hero h1{font-size:clamp(26px,3.4vw,42px);line-height:1.15;letter-spacing:-.03em;max-width:660px}
.page-hero h1,.station-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.04em}
.hero p,.page-hero p,.station-hero p{font-size:17px;color:#b9c3cc;max-width:680px;margin:0;line-height:1.55}
.hero-search{margin-top:28px;position:relative;max-width:650px}
.hero-search input{padding:18px 58px 18px 19px}
.hero-search>button{position:absolute;right:5px;top:5px;width:48px;height:48px;border:0;border-radius:9px;background:var(--red);color:#fff;font-size:22px;cursor:pointer}
.hero-search-results{position:absolute;top:62px;left:0;right:0;z-index:8}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.hero-stats div{padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.hero-stats strong{font-size:22px;display:block}
.hero-stats span{color:var(--muted);font-size:12px}

/* Hero Live Visual & Interactive Radio Console */
.hero-visual{height:540px;position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 18% 18%,rgba(255,0,123,.22),transparent 32%),radial-gradient(circle at 82% 14%,rgba(84,78,255,.24),transparent 34%),linear-gradient(180deg,#101926,#071018);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.hero-lights:before,.hero-lights:after{content:"";position:absolute;top:-160px;width:240px;height:620px;filter:blur(18px);opacity:.28;transform:rotate(21deg)}
.hero-lights:before{right:32%;background:linear-gradient(180deg,#ff255f,transparent)}
.hero-lights:after{right:10%;background:linear-gradient(180deg,#523cff,transparent)}
.stage-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 86%,rgba(255,45,61,.2),transparent 48%)}
.hero-console{position:relative;z-index:5;height:100%;display:flex;flex-direction:column;padding:16px;gap:12px}

/* Master Active Station Card in Console */
.hero-console-now{background:rgba(8,16,25,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 28px rgba(0,0,0,.3)}
.hero-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-head-badges{display:flex;align-items:center;gap:8px}
.hero-head-right{display:flex;align-items:center;gap:12px}
.hero-volume-wrap{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:3px 9px;border-radius:999px;transition:background .2s ease,border-color .2s ease}
.hero-volume-wrap:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.hero-volume-btn{background:none;border:0;color:var(--muted);font-size:13px;cursor:pointer;padding:0;display:flex;align-items:center;line-height:1;transition:transform .15s ease,opacity .15s ease}
.hero-volume-btn:hover{color:#fff;transform:scale(1.1)}
.hero-volume-btn:active{transform:scale(.92)}
.hero-volume-slider{width:72px;height:4px;accent-color:var(--red);cursor:pointer;border-radius:2px;outline:none;background:rgba(255,255,255,.2)}
.live-badge{display:inline-flex;color:#ff7580;background:rgba(255,45,61,.14);border:1px solid rgba(255,45,61,.32);border-radius:999px;padding:4px 9px;font-size:10px;font-weight:900;letter-spacing:.08em}
.hero-genre-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:rgba(255,255,255,.06);padding:3px 9px;border-radius:6px}

/* Mini visualizer bars in hero card head */
.equalizer-bars-mini{display:flex;align-items:flex-end;gap:3px;height:18px}
.equalizer-bars-mini i{display:block;width:3px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#ff4a59,#ff2236);height:calc(4px + (var(--i) % 5) * 3px);opacity:.35;transition:height .25s ease,opacity .25s ease}
.equalizer-bars-mini.is-playing i{animation:eqMiniBounce .9s ease-in-out infinite alternate;animation-delay:calc(var(--i) * 0.045s);opacity:.95}
@keyframes eqMiniBounce{0%{height:4px}50%{height:calc(6px + ((var(--i) * 5) % 11) * 1px)}100%{height:18px}}

.hero-station-row{display:flex;align-items:center;gap:14px}
.hero-station-logo{width:52px;height:52px;min-width:52px;border-radius:14px;background:linear-gradient(145deg,#f8fafb,#dfe6ec);display:grid;place-items:center;overflow:hidden;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.hero-station-logo img{width:100%;height:100%;object-fit:contain;padding:5px;box-sizing:border-box}
.hero-station-info{flex:1;min-width:0}
.hero-station-info strong{display:block;font-size:16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}
.hero-station-info span{display:block;font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-play-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:0;border-radius:12px;padding:10px 16px;font-size:13.5px;font-weight:800;cursor:pointer;flex-shrink:0;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;box-shadow:0 4px 14px rgba(255,45,61,.38)}
.hero-play-btn:hover{background:#ff3c4d;transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,45,61,.5)}
.hero-play-btn:active{transform:translateY(1px)}
.hero-play-icon{font-size:14px}

/* Section Title Bar in console */
.hero-list-bar{display:flex;align-items:center;justify-content:space-between;padding:0 4px}
.hero-list-title{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#b6c4d1}
.hero-list-count{font-size:11px;color:var(--muted);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:999px;font-weight:700}

/* Scrollable Station Selector Grid */
.hero-stations-scroll{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow-y:auto;padding-right:4px;align-content:start;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.hero-stations-scroll::-webkit-scrollbar{width:5px}
.hero-stations-scroll::-webkit-scrollbar-track{background:transparent}
.hero-stations-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.hero-stations-scroll::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}

.hero-station-tile{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:#f2f5f8;cursor:pointer;text-align:left;min-width:0;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.hero-station-tile:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);transform:translateY(-1px)}
.hero-station-tile.is-active{background:rgba(255,45,61,.14);border-color:rgba(255,45,61,.45);box-shadow:0 0 14px rgba(255,45,61,.18)}
.hero-station-tile.is-active .hero-tile-play{color:var(--red-2);opacity:1}
.hero-tile-logo{width:28px;height:28px;min-width:28px;border-radius:7px;background:#fff;display:grid;place-items:center;overflow:hidden;padding:2px;flex-shrink:0}
.hero-tile-logo img{width:100%;height:100%;object-fit:contain}
.hero-tile-logo span{font-size:13px;color:#111;font-weight:900}
.hero-tile-info{flex:1;min-width:0}
.hero-tile-info strong{display:block;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;line-height:1.25}
.hero-tile-info small{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.hero-tile-play{font-size:11px;color:var(--muted);opacity:.55;transition:opacity .15s,color .15s;padding-left:2px;flex-shrink:0}
.hero-station-tile:hover .hero-tile-play{opacity:1;color:var(--red)}

/* General Sections */
.section{padding:58px 0}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.section-head h2{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:0}.section-head a,.text-link{color:var(--red-2);font-size:14px;font-weight:750}.station-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.station-grid-large{grid-template-columns:repeat(5,1fr)}.station-card{background:linear-gradient(180deg,#131e29,#0d161f);border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0;transition:.2s transform,.2s border-color}.station-card:hover{transform:translateY(-3px);border-color:#394957}.station-card-link{display:block}.station-logo{aspect-ratio:1;border-radius:13px;background:linear-gradient(145deg,#f8fafb,#dfe6ec);display:grid;place-items:center;overflow:hidden;color:#111;font-weight:900;font-size:24px;letter-spacing:-.04em}.station-logo img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box}.station-logo-xl{width:180px;height:180px;border-radius:24px;background:linear-gradient(145deg,#f8fafb,#dfe6ec);display:grid;place-items:center;overflow:hidden;color:#111;font-weight:900;box-shadow:0 12px 32px rgba(0,0,0,.4)}.station-logo-xl img{width:100%;height:100%;object-fit:contain;padding:16px;box-sizing:border-box}.station-card-copy{padding:12px 2px 10px}.station-card h3{font-size:14px;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-card p{font-size:12px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-pill{width:100%;border:0;border-radius:10px;background:#17232d;color:white;padding:9px 10px;font-size:12px;font-weight:750;text-align:left;cursor:pointer}.play-pill:not(:disabled):hover{background:#222f3b}.play-pill:disabled{opacity:.48;cursor:not-allowed}.play-dot{color:var(--red);margin-right:7px}.genre-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.genre-chip,.taxonomy-card{border:1px solid var(--line);background:#0e1821;border-radius:16px;padding:18px;display:flex;align-items:center;gap:12px;transition:.2s}.genre-chip:hover,.taxonomy-card:hover{border-color:#3b4c5b;background:#121e29}.genre-chip strong{font-size:14px}.genre-chip small{color:var(--muted);margin-left:auto}.genre-icon,.taxonomy-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#252046,#151d27);color:#ff4f8d}.city-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.city-card{border:1px solid var(--line);background:#0d171f;border-radius:16px;overflow:hidden}.city-art{height:112px;background:linear-gradient(135deg,#182c3d,#23394a 50%,#6d3b35);display:grid;place-items:center;font-size:54px;font-weight:900;color:rgba(255,255,255,.28)}.city-card>div:last-child{padding:13px 14px}.city-card strong,.city-card small{display:block}.city-card small{color:var(--muted);margin-top:3px}.now-section{display:grid;grid-template-columns:2fr 1fr;gap:18px}.now-panel,.schedule-teaser,.content-block,.info-card{border:1px solid var(--line);background:linear-gradient(180deg,#101a23,#0b141c);border-radius:var(--radius);padding:26px}.now-panel{min-height:260px;position:relative;overflow:hidden}.now-panel h2,.schedule-teaser h3{font-size:29px;margin:0 0 10px;letter-spacing:-.035em}.now-panel p,.schedule-teaser p{color:var(--muted)}.wave-demo{bottom:15px;height:85px;display:flex;align-items:flex-end;gap:5px;pointer-events:none;position:absolute;left:6%;right:6%}.wave-demo i{display:block;flex:1;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#ff5c69,#802c3d);height:calc(14px + (var(--i) % 8) * 8px);opacity:.35}

.page-hero,.station-hero{background:radial-gradient(circle at 75% 20%,rgba(255,45,61,.13),transparent 24%),linear-gradient(180deg,#0d1720,#081018);border-bottom:1px solid var(--line)}.compact-hero .shell{padding:70px 0}.compact-hero h1{font-size:clamp(30px,4.5vw,50px)}.taxonomy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.taxonomy-card strong{flex:1}.taxonomy-card small{color:var(--muted)}
.station-hero-grid{padding:60px 0;display:grid;grid-template-columns:180px minmax(0,1fr) 310px;gap:32px;align-items:center}.station-hero h1{font-size:clamp(32px,4.5vw,52px);margin-top:10px}.crumbs{display:flex;gap:8px;color:var(--muted);font-size:13px;margin-bottom:15px}.station-actions{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}.primary-play,.ghost-btn{border-radius:11px;padding:13px 17px;font-weight:800;display:inline-flex;align-items:center;gap:8px}.primary-play{border:0;background:var(--red);color:#fff;cursor:pointer}.primary-play:disabled{opacity:.45;cursor:not-allowed}.ghost-btn{border:1px solid var(--line);background:#111b24}.station-now{border:1px solid var(--line);border-radius:18px;background:#0c151e;padding:22px}.station-now strong,.station-now small{display:block}.station-now strong{font-size:18px;margin:12px 0 5px}.station-now small{color:var(--muted)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;padding-top:40px}.content-main{display:grid;gap:18px}.content-aside{position:relative}.info-card{position:sticky;top:92px}.info-card dl{margin:8px 0 0}.info-card dl div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.info-card dt{color:var(--muted)}.info-card dd{margin:0;text-align:right}.track-list>div,.schedule-list>div{display:grid;grid-template-columns:26px minmax(120px,1fr) minmax(120px,1fr) auto;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);align-items:center}.schedule-list>div{grid-template-columns:70px minmax(180px,1fr) minmax(120px,1fr)}.track-list time,.schedule-list time{color:var(--muted);font-size:12px}.frequency-table{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.frequency-table a{display:flex;justify-content:space-between;gap:20px;padding:13px 14px;background:#0a131b;border:1px solid #202c37;border-radius:12px}.empty-state{color:var(--muted);padding:12px 0}.empty-state.big{padding:36px;border:1px dashed #34414d;border-radius:16px}.prose{color:#c3ccd5}.prose h2,.prose h3{color:white}.prose a{color:#ff6b77;text-decoration:underline;text-underline-offset:3px}.taxonomy-copy{margin-top:28px}.inline-btn{margin-top:22px}

/* Bottom Player */
.player-shell{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(8,14,20,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid #27333e;padding-bottom:env(safe-area-inset-bottom, 0px)}
.player-inner{min-height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.player-station{display:flex;align-items:center;gap:12px;min-width:0}
.player-logo{width:44px;height:44px;border-radius:10px;background:#f1f4f6;color:#111;display:grid;place-items:center;font-weight:900;overflow:hidden}
.player-logo img{width:100%;height:100%;object-fit:contain;padding:3px;box-sizing:border-box}
.player-station strong,.player-station span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-station span{font-size:11px;color:var(--muted)}
.player-btn{width:48px;height:48px;border-radius:50%;border:0;background:var(--red);color:#fff;font-size:18px;cursor:pointer}
.player-side{display:flex;justify-content:flex-end;align-items:center;gap:16px}
.volume-wrap{display:flex;align-items:center;gap:8px}
.volume-wrap input{width:90px;accent-color:var(--red)}
.player-open{font-size:12px;color:#d5dce2}
.site-footer{border-top:1px solid var(--line);margin-top:30px;background:#070d13}
.footer-grid{padding:42px 0 120px;display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}
.footer-grid p,.footer-note{color:var(--muted);font-size:13px}
.footer-grid nav{display:grid;gap:8px;font-size:13px}

@media (max-width:1000px){
  .station-grid{grid-template-columns:repeat(4,1fr)}.station-grid-large{grid-template-columns:repeat(4,1fr)}.genre-grid,.city-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:10px}.hero-visual{height:500px;margin-bottom:32px}.station-hero-grid{grid-template-columns:140px 1fr}.station-logo-xl{width:140px;height:140px}.station-now{grid-column:1/-1}.content-grid{grid-template-columns:1fr}.info-card{position:static}.taxonomy-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px))}.shell{width:min(calc(100% - 24px),var(--shell))}.header-inner{height:62px}.brand{font-size:19px}.main-nav{display:none}.hamburger-btn{display:inline-flex}
  .hero-grid{min-height:auto}.hero-copy{padding:32px 0 8px}.hero h1{font-size:26px !important;line-height:1.2 !important}.hero p{font-size:15px}.hero-stats{grid-template-columns:repeat(2,1fr)}
  .hero-visual{height:auto;min-height:380px;border-radius:20px;margin-bottom:24px}
  .hero-console{padding:14px 12px;gap:10px}
  .hero-console-now{padding:12px 14px;border-radius:16px;gap:10px}
  .hero-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .hero-head-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}
  .hero-head-right{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:0;flex-shrink:1}
  .hero-volume-wrap{padding:2px 7px;gap:5px}
  .hero-volume-slider{width:56px}
  .equalizer-bars-mini{gap:2px;height:15px}
  .equalizer-bars-mini i{width:2.5px}
  .equalizer-bars-mini i:nth-child(n+9){display:none}
  .hero-station-row{display:flex;align-items:center;gap:10px}
  .hero-station-logo{width:46px;height:46px;min-width:46px;flex-shrink:0}
  .hero-station-info{flex:1;min-width:0}
  .hero-station-info strong{font-size:15px}
  .hero-station-info span{font-size:11px}
  .hero-play-btn{padding:0 14px;height:40px;font-size:13px;flex-shrink:0;border-radius:999px;gap:6px}
  .hero-stations-scroll{max-height:240px;grid-template-columns:1fr 1fr;gap:6px}
  .hero-station-tile{padding:7px 8px;gap:8px}
  .hero-tile-info strong{font-size:11.5px}
  .hero-tile-info small{font-size:9.5px}
  .section{padding:36px 0}.section-head h2{font-size:24px}
  .station-grid,.station-grid-large{grid-template-columns:repeat(2,1fr)}
  .genre-grid,.city-grid,.taxonomy-grid{grid-template-columns:1fr 1fr}
  .genre-chip{display:grid;grid-template-columns:42px 1fr}
  .genre-chip small{grid-column:2;margin-left:0}
  .now-section{grid-template-columns:1fr}
  .station-hero-grid{grid-template-columns:92px 1fr;padding:38px 0}
  .station-logo-xl{width:92px;height:92px}
  .station-hero h1{font-size:30px}
  .station-hero p{font-size:15px}
  .station-actions{grid-column:1/-1}
  .content-block{padding:20px}
  .frequency-table{grid-template-columns:1fr}
  .track-list>div{grid-template-columns:22px 1fr}
  .track-list>div span:nth-of-type(2),.track-list time{grid-column:2}
  .schedule-list>div{grid-template-columns:58px 1fr}
  .schedule-list>div span{grid-column:2}
  .player-inner{grid-template-columns:1fr auto;padding:8px 0}
  .player-side{display:none}
  .footer-grid{grid-template-columns:1fr;padding-bottom:110px}
}
@media (max-width:480px){
  .station-grid,.station-grid-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .station-card{padding:10px}
  .genre-grid,.city-grid,.taxonomy-grid{grid-template-columns:1fr}
  .hero h1{font-size:22px !important;line-height:1.22 !important}
  .hero-search{margin-top:20px}
  .section-head{align-items:center}
  .section-head a{font-size:12px}
  .hero-stations-scroll{grid-template-columns:1fr;max-height:230px;gap:7px}
  .hero-station-tile{padding:8px 10px;gap:10px}
  .hero-tile-info strong{font-size:12.5px}
  .hero-tile-info small{font-size:10.5px}
  .hero-volume-slider{width:46px}
  .hero-play-btn{padding:0 12px;height:38px;font-size:12px}
  .hero-station-logo{width:42px;height:42px;min-width:42px}
  .hero-station-info strong{font-size:14px}
  .hero-station-info span{font-size:10.5px}
}


/* Top Stations Ranked List */
.top-stations-ranked{display:flex;flex-direction:column;gap:14px}
.top-ranked-card{display:flex;align-items:center;gap:20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 24px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.top-ranked-card:hover{border-color:rgba(255,255,255,.18);transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.top-ranked-card.is-top-three{background:linear-gradient(135deg,rgba(21,31,42,.95),rgba(17,27,37,.95));border-color:rgba(255,255,255,.12)}
.top-ranked-card.rank-1{border-color:rgba(255,215,0,.35);box-shadow:0 0 25px rgba(255,215,0,.06)}
.top-ranked-card.rank-2{border-color:rgba(192,192,192,.35)}
.top-ranked-card.rank-3{border-color:rgba(205,127,50,.35)}
.top-rank-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;flex-shrink:0}
.top-rank-badge .rank-number{font-size:24px;font-weight:900;letter-spacing:-.03em;color:var(--muted)}
.rank-1 .top-rank-badge .rank-number{color:#ffd700}
.rank-2 .top-rank-badge .rank-number{color:#e0e0e0}
.rank-3 .top-rank-badge .rank-number{color:#cd7f32}
.top-rank-badge .rank-trophy{font-size:16px;line-height:1;margin-top:2px}
.top-ranked-logo{width:72px;height:72px;min-width:72px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 6px 16px rgba(0,0,0,.25);transition:transform .2s ease}
.top-ranked-logo:hover{transform:scale(1.04)}
.top-ranked-logo img{width:100%;height:100%;object-fit:contain}
.top-ranked-logo span{font-size:20px;font-weight:900;color:#111}
.top-ranked-main{flex:1;min-width:0}
.top-ranked-title-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.top-ranked-name{margin:0;font-size:19px;font-weight:750;letter-spacing:-.01em}
.top-ranked-name a:hover{color:var(--red)}
.top-ranked-genre{display:inline-block;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#c0ccd8;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px}
.top-ranked-desc{margin:0;font-size:13.5px;color:var(--muted);line-height:1.45}
.top-ranked-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.top-play-btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border:none;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease;box-shadow:0 4px 14px rgba(255,45,61,.35)}
.top-play-btn:hover{background:var(--red-2);transform:scale(1.04)}
.top-play-btn span{font-size:12px}
.top-details-link{font-size:12.5px;color:var(--muted);transition:color .15s ease;white-space:nowrap}
.top-details-link:hover{color:#fff}

@media (max-width:768px){
  .top-ranked-card{display:grid;grid-template-columns:36px 54px 1fr;grid-template-rows:auto auto;gap:12px;padding:14px 16px}
  .top-rank-badge{min-width:36px}
  .top-rank-badge .rank-number{font-size:20px}
  .top-ranked-logo{width:54px;height:54px;min-width:54px;border-radius:10px}
  .top-ranked-main{grid-column:3}
  .top-ranked-name{font-size:16px}
  .top-ranked-desc{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .top-ranked-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.06);padding-top:10px;margin-top:2px}
  .top-play-btn{padding:8px 18px;font-size:13px}
}

/* Enhanced City Cards with Photos */
.city-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;display:flex;flex-direction:column}
.city-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,0.22);box-shadow:0 12px 28px rgba(0,0,0,0.35)}
.city-art{height:120px;position:relative;overflow:hidden;background:#111b25}
.city-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.city-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,23,31,0) 30%,rgba(13,23,31,.75) 100%);pointer-events:none}
.city-card:hover .city-art img{transform:scale(1.08)}
.city-card>div:last-child{padding:12px 14px 14px;flex:1}
.city-card strong{font-size:15px;font-weight:750;letter-spacing:-0.01em;color:#fff}
.city-card small{font-size:12px;color:var(--muted);margin-top:2px}

/* City Hero with Photo Media */
.city-hero-shell{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:center}
.city-hero-media{height:190px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,0.12);box-shadow:0 14px 34px rgba(0,0,0,0.35);position:relative}
.city-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.city-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(8,16,24,0.4) 100%)}
@media (max-width:860px){
  .city-hero-shell{grid-template-columns:1fr}
  .city-hero-media{height:180px;margin-top:12px}
}

/* Official light logo variants need a dark backing in every player/card size. */
img[src*="/assets/img/logos/z-rock"],
img[src*="/assets/img/logos/jazz-fm"],
img[src*="/assets/img/logos/classic-fm"],
img[src*="/assets/img/logos/magic-fm"],
img[src*="/assets/img/logos/focus"] {
  background-color: #10212e;
  border-radius: 8px;
}

/* Nav: Категории dropdown (all genres) */
.nav-cat-menu{width:420px}
.dropdown-cats{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dropdown-cat-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:9px;font-size:13px;font-weight:600;color:#dbe3ea;transition:background .15s ease,color .15s ease}
.dropdown-cat-item:hover{background:rgba(255,255,255,.07);color:#fff}
.dropdown-cat-item small{flex-shrink:0;min-width:22px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-size:10.5px;font-weight:700;text-align:center}
.dropdown-cat-item:hover small{background:var(--red);color:#fff}

/* Source details and correction form. */
.frequency-entry{min-width:0;border:1px solid #202c37;border-radius:12px;background:#0a131b;overflow:hidden}
.frequency-entry a.frequency-target{border:0;border-radius:0;flex-wrap:wrap;gap:8px}
.frequency-evidence{padding:0 14px 13px;display:grid;gap:5px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.frequency-evidence a{display:block;padding:0;border:0;border-radius:0;color:#ff8994;background:none;font-size:12px}
.editorial-date,.frequency-summary{color:var(--muted);font-size:13px}
.feedback-form{display:grid;gap:18px;max-width:700px}.feedback-form label{display:grid;gap:8px}.feedback-form input,.feedback-form textarea{width:100%;box-sizing:border-box;background:#0a131b;border:1px solid #34414d;border-radius:8px;padding:12px;color:#fff;font:inherit}.feedback-form textarea{min-height:170px;resize:vertical}.feedback-form button{justify-self:start}.feedback-notice{border-left:3px solid #ff6b77;padding:12px}.feedback-trap{display:none}.prose p{overflow-wrap:anywhere}

/* Keep the station hero compact when track metadata is unavailable. */
@media (min-width:1001px){
  .station-hero-grid-no-track{grid-template-columns:180px minmax(0,1fr)}
}
