
:root {
  --ink: #09090b;
  --paper: #f5f3ef;
  --white: #fff;
  --red: #ef1b24;
  --red-deep: #ae0910;
  --warm: #d9d4cc;
  --muted: #77736e;
  --line: rgba(12, 12, 14, 0.14);
  --shell: min(1180px, calc(100vw - 48px));
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: 'DM Sans', system-ui, sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}
body::selection { color: white; background: var(--red); }
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
img { max-width: 100%; }
.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;
}
.skip-link {
  position: fixed; z-index: 200; left: 16px; top: -80px; padding: 12px 18px;
  background: white; color: var(--ink); border-radius: 8px; transition: top .2s;
}
.skip-link:focus { top: 16px; }
.draft-ribbon {
  position: fixed; z-index: 110; right: 18px; bottom: 18px; padding: 8px 12px;
  color: #fff; background: rgba(9,9,11,.88); border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.site-header {
  position: fixed; z-index: 100; top: 0; left: 0; width: 100%; height: 86px;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px;
  padding: 0 max(24px, calc((100vw - 1320px) / 2));
  color: white; background: rgba(9, 9, 11, .86); border-bottom: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; gap: 12px; font-family: Manrope, sans-serif; font-size: 1.08rem; font-weight: 600; }
.brand img { width: 29px; height: 45px; object-fit: contain; object-position: center; filter: brightness(0) invert(1); }
.brand b { color: var(--red); }
#main-nav { justify-self: center; display: flex; gap: clamp(20px, 3vw, 42px); }
#main-nav a { color: rgba(255,255,255,.72); font-size: .86rem; font-weight: 600; }
#main-nav a:hover, #main-nav a:focus-visible { color: white; }
.header-status {
  display: flex; align-items: center; gap: 9px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px; font-size: .82rem; font-weight: 700;
}
.header-status i, .live-pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(239,27,36,.17); }
.menu-toggle { display: none; }

.hero {
  position: relative; min-height: 840px; padding: 184px max(24px, calc((100vw - 1180px)/2)) 92px;
  display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 42px;
  color: white; background:
    radial-gradient(circle at 74% 43%, rgba(239,27,36,.24), transparent 25%),
    linear-gradient(135deg, #09090b 0%, #101014 58%, #08080a 100%);
  overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; inset: 0; opacity: .18; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 90%);
}
.hero-copy { position: relative; z-index: 2; max-width: 700px; }
.eyebrow { margin: 0 0 20px; color: var(--red); font-size: .76rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow span { color: white; background: var(--red); border-radius: 999px; padding: 6px 10px; margin-right: 6px; }
h1, h2 { margin: 0; font-family: Manrope, sans-serif; letter-spacing: -.055em; line-height: .96; }
h1 { font-size: clamp(3.35rem, 6.6vw, 6.4rem); font-weight: 750; }
h1 em, h2 em { color: var(--red); font-style: normal; }
.hero-lead { max-width: 590px; margin: 30px 0 0; color: rgba(255,255,255,.68); font-size: clamp(1.03rem, 1.35vw, 1.2rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.button {
  display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 52px; padding: 0 22px;
  border: 1px solid transparent; border-radius: 999px; font-weight: 700; cursor: pointer; transition: transform .18s, background .18s, color .18s;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, button:focus-visible, select:focus-visible { outline: 3px solid #ff7880; outline-offset: 3px; }
.button-primary { color: white; background: var(--red); box-shadow: 0 14px 45px rgba(239,27,36,.25); }
.button-primary:hover { background: #ff2e37; }
.button-ghost { color: white; border-color: rgba(255,255,255,.23); background: transparent; }
.button-light { color: var(--ink); background: white; }
.hero-art { position: relative; min-height: 500px; display: grid; place-items: center; }
.hero-disc {
  position: relative; z-index: 2; width: min(380px, 34vw); aspect-ratio: 1; display: grid; place-items: center;
  border-radius: 50%; background: radial-gradient(circle at 35% 28%, #ffffff, #d9d5cf 62%, #aaa6a1 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 42px 100px rgba(0,0,0,.58);
}
.hero-disc::before { content: ''; position: absolute; inset: 8%; border: 1px solid rgba(0,0,0,.08); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.018), 0 0 0 84px rgba(255,255,255,.012); }
.hero-disc img { width: 46%; height: 55%; object-fit: contain; filter: drop-shadow(0 24px 28px rgba(0,0,0,.5)); }
.signal { position: absolute; border: 1px solid rgba(239,27,36,.33); border-radius: 50%; animation: pulse 3.6s ease-out infinite; }
.signal-one { width: 420px; height: 420px; }
.signal-two { width: 540px; height: 540px; animation-delay: .9s; }
.signal-three { width: 660px; height: 660px; animation-delay: 1.8s; }
.frequency-mark { position: absolute; z-index: 3; right: 2%; bottom: 4%; color: rgba(255,255,255,.09); font: 800 clamp(6rem, 12vw, 10rem)/1 Manrope; letter-spacing: -.09em; }
.scroll-cue { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); color: rgba(255,255,255,.42); font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.scroll-cue span { margin-left: 10px; color: var(--red); }
@keyframes pulse { 0% { transform: scale(.84); opacity: 0; } 30% { opacity: .8; } 100% { transform: scale(1.08); opacity: 0; } }

.section-shell { width: var(--shell); margin-inline: auto; }
.banner-zone { padding-block: 28px; }
.banner-zone-top { width: min(1180px, calc(100vw - 48px)); margin: 0 auto; position: relative; z-index: 4; }
.banner-fallback {
  min-height: 86px; padding: 18px 26px; display: flex; align-items: center; gap: 20px;
  color: white; background: #17171a; border: 1px solid rgba(255,255,255,.08); border-radius: 18px;
}
.banner-fallback span { color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.banner-fallback strong { font: 650 1rem Manrope; }
.banner-fallback a { margin-left: auto; padding: 9px 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .78rem; font-weight: 700; }
.banner-fallback-wide { min-height: 116px; color: var(--ink); background: #e7e3dc; border-color: rgba(0,0,0,.08); }
.banner-fallback-wide div { display: grid; gap: 7px; }
.banner-fallback-wide strong { font-size: clamp(1.1rem, 2vw, 1.55rem); }
.banner-fallback-wide a { border-color: rgba(0,0,0,.18); }
.banner-creative { display: block; border-radius: 18px; overflow: hidden; }
.banner-creative img { display: block; width: 100%; height: auto; }
.client-advertising { padding-block:24px 36px; }
.advertising-label { margin:0 0 12px; color:#aaa; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.client-banner-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.client-banner-list .banner-creative { min-width:0; border-radius:10px; }

.live-section {
  position: relative; min-height: 100svh; padding: 132px 0 42px; color: white;
  background:
    radial-gradient(circle at 78% 46%, rgba(239,27,36,.24), transparent 26%),
    linear-gradient(135deg, #09090b 0%, #111115 62%, #08080a 100%);
  overflow: hidden;
}
.live-section::before {
  content: ''; position: absolute; inset: 0; opacity: .16; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.live-shell { position: relative; z-index: 1; min-height: calc(100svh - 174px); display: grid; grid-template-columns: .8fr 1.2fr; grid-template-rows: 1fr auto; gap: 34px clamp(44px, 7vw, 104px); align-items: center; }
.live-copy { align-self: center; }
.live-copy h1 { font-size: clamp(3.1rem, 6vw, 6rem); }
.live-copy .eyebrow { margin-bottom: 24px; }
.section-intro h2, .top50-heading h2, .advertise-copy h2, .contact-section h2 { font-size: clamp(2.75rem, 5.1vw, 5.2rem); }
.section-intro > p:last-child { max-width: 500px; margin-top: 28px; color: var(--muted); }
.station-card {
  position: relative; z-index: 2; width: 100%; min-height: 315px; padding: 30px 32px;
  color: white; background: linear-gradient(145deg, #17171b, #08080a); border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.14); box-shadow: 0 35px 80px rgba(0,0,0,.42); overflow: hidden;
}
.station-card::after { content: ''; position: absolute; width: 280px; height: 280px; right: -120px; top: -130px; border-radius: 50%; background: var(--red); filter: blur(80px); opacity: .22; }
.station-card-head { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; color: rgba(255,255,255,.55); font-size: .78rem; font-weight: 700; letter-spacing: .08em; }
.live-pill { display: flex; align-items: center; gap: 10px; color: white; text-transform: uppercase; }
.radio-service-player { position: relative; z-index: 1; margin-top: 38px; display: grid; grid-template-columns: 112px 1fr; grid-template-rows: auto auto auto; column-gap: 24px; align-items: center; }
.radio-service-player > strong { grid-column: 2; font: 750 clamp(1.65rem, 3vw, 2.4rem)/1 Manrope; letter-spacing: -.05em; }
.radio-service-player > button {
  grid-column: 1; grid-row: 1 / 4; width: 104px; height: 104px; padding: 0; display: grid; place-content: center; gap: 5px;
  color: white; background: var(--red); border: 0; border-radius: 50%; font-weight: 800; cursor: pointer;
  box-shadow: 0 14px 42px rgba(239,27,36,.3); transition: transform .18s, background .18s;
}
.radio-service-player > button:hover { transform: scale(1.04); background: #ff3039; }
.play-symbol { font-size: 1.45rem; line-height: 1; }
.play-caption { font-size: .58rem; letter-spacing: .09em; }
.radio-service-player > p { grid-column: 2; margin: 0; }
.radio-service-player > p:nth-of-type(1) { margin-top: 8px; color: white; font-size: 1.04rem; }
.radio-service-player > p:nth-of-type(2) { margin-top: 7px; color: rgba(255,255,255,.5); font-size: .8rem; }
.radio-service-player audio, .radio-service-player label { display: none; }
.player-volume { position: relative; z-index: 1; margin-top: 30px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 15px; }
.player-volume label { color: rgba(255,255,255,.55); font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.player-volume input { width: 100%; accent-color: var(--red); cursor: pointer; }
.live-bottom { grid-column: 1 / -1; align-self: end; display: flex; justify-content: space-between; padding-top: 22px; color: rgba(255,255,255,.5); border-top: 1px solid rgba(255,255,255,.12); font-size: .7rem; font-weight: 700; letter-spacing: .11em; }
.live-bottom a { color: white; }
.live-bottom a span { color: var(--red); margin-left: 8px; }
.mini-player {
  position: fixed; z-index: 105; left: 50%; bottom: 16px; transform: translateX(-50%); width: min(620px, calc(100vw - 28px)); min-height: 68px;
  display: grid; grid-template-columns: 48px 1fr 36px; align-items: center; gap: 13px; padding: 9px 13px;
  color: white; background: rgba(13,13,16,.96); border: 1px solid rgba(255,255,255,.15); border-radius: 15px; box-shadow: 0 18px 50px rgba(0,0,0,.42); backdrop-filter: blur(14px);
}
.mini-player[hidden] { display: none; }
.mini-player button { width: 46px; height: 46px; color: white; background: var(--red); border: 0; border-radius: 50%; cursor: pointer; }
.mini-player div { min-width: 0; display: grid; }
.mini-player b { font: 750 .72rem Manrope; letter-spacing: .05em; }
.mini-player div span { overflow: hidden; color: rgba(255,255,255,.58); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.mini-player > a { display: grid; place-items: center; font-size: 1.2rem; }

.top50-section { padding: 124px 0; color: white; background: var(--ink); }
.top50-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 52px; }
.edition-chip { flex: 0 0 auto; padding: 10px 14px; color: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; font-size: .76rem; }
.chart-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; }
.number-one {
  position: relative; min-height: 470px; padding: 34px; display: flex; align-items: flex-end;
  background: radial-gradient(circle at 80% 10%, rgba(255,255,255,.22), transparent 25%), linear-gradient(145deg, #e21a23, #84050a);
  border-radius: var(--radius); overflow: hidden;
}
.number-one::before { content: '01'; position: absolute; top: -5%; right: -2%; color: rgba(255,255,255,.11); font: 800 13rem/.8 Manrope; letter-spacing: -.12em; }
.number-one::after { content: ''; position: absolute; width: 250px; height: 250px; top: 23%; left: 50%; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 32px rgba(255,255,255,.035), 0 0 0 64px rgba(255,255,255,.02); }
.chart-crown { position: absolute; top: 32px; left: 32px; padding: 8px 12px; color: var(--red); background: white; border-radius: 999px; font-weight: 800; }
.number-one > div { position: relative; z-index: 2; }
.number-one p { margin: 0 0 10px; color: rgba(255,255,255,.65); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.number-one h3 { margin: 0; font: 700 clamp(2rem, 3vw, 3.2rem)/1 Manrope; letter-spacing: -.045em; }
.number-one div > span { display: block; margin-top: 12px; color: rgba(255,255,255,.65); }
.chart-list { margin: 0; padding: 8px 0; list-style: none; counter-reset: chart 1; }
.chart-list li { min-height: 76px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.1); counter-increment: chart; }
.chart-list li::before { content: counter(chart, decimal-leading-zero); color: var(--red); font: 700 .92rem Manrope; }
.chart-list strong { display: block; font: 650 1.03rem Manrope; }
.chart-list span { color: rgba(255,255,255,.5); font-size: .82rem; }
.chart-list small { color: rgba(255,255,255,.38); font-size: .72rem; }
.chart-list .chart-loading::before { content: '…'; }
.chart-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 34px; }

.advertise-section { padding: 140px 0; display: grid; grid-template-columns: 1fr .8fr; gap: 90px; align-items: center; }
.advertise-copy > p:not(.eyebrow, .form-note) { max-width: 610px; margin-top: 28px; color: var(--muted); font-size: 1.08rem; }
.contact-number { display: inline-grid; margin-top: 30px; color: var(--red); font: 800 clamp(2.1rem, 4vw, 4rem)/1 Manrope; letter-spacing: -.055em; }
.contact-number span { margin-bottom: 10px; color: var(--ink); font: 700 .72rem DM Sans; letter-spacing: .12em; text-transform: uppercase; }
.form-note { max-width: 540px; margin-top: 22px; padding-left: 14px; color: var(--muted); border-left: 2px solid var(--red); font-size: .79rem; }
.advertise-visual { position: relative; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--ink); border-radius: 50%; overflow: hidden; }
.advertise-visual::after { content: ''; position: absolute; inset: 10%; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.advertise-visual strong { position: relative; z-index: 2; font: 800 clamp(5rem, 9vw, 8rem)/1 Manrope; letter-spacing: -.09em; }
.advertise-visual small { position: absolute; z-index: 2; right: 23%; bottom: 30%; color: var(--red); font-weight: 800; }
.ad-label { position: absolute; z-index: 2; top: 22%; padding: 7px 10px; color: white; background: var(--red); border-radius: 999px; font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.ad-rings i { position: absolute; inset: 20%; border: 1px solid rgba(239,27,36,.28); border-radius: 50%; }
.ad-rings i:nth-child(2) { inset: 11%; }
.ad-rings i:nth-child(3) { inset: 2%; }

.contact-section { padding: 120px 0; color: white; background: #121215; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
.social-links { display: grid; }
.social-links a { min-height: 72px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.12); font: 600 1rem Manrope; }
.social-links a:hover { color: var(--red); }
.social-links b { font-size: 1.4rem; }
.site-footer { padding: 34px max(24px, calc((100vw - 1180px)/2)); display: flex; align-items: center; gap: 26px; color: rgba(255,255,255,.48); background: #09090b; border-top: 1px solid rgba(255,255,255,.08); font-size: .75rem; }
.footer-brand { display: flex; align-items: center; gap: 10px; color: white; }
.footer-brand img { width: 22px; height: 32px; object-fit: contain; filter: brightness(0) invert(1); }
.site-footer p { margin: 0; }
.legal-pending { margin-left: auto !important; }

@media (max-width: 980px) {
  :root { --shell: min(100% - 40px, 760px); }
  .site-header { grid-template-columns: auto auto 1fr; }
  .menu-toggle { justify-self: end; display: grid; gap: 4px; width: 42px; height: 42px; padding: 10px; background: transparent; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; }
  .menu-toggle span:not(.sr-only) { display: block; height: 2px; background: white; }
  #main-nav { position: absolute; top: 86px; left: 0; width: 100%; padding: 24px; display: none; flex-direction: column; gap: 20px; background: #101013; }
  #main-nav.open { display: flex; }
  .header-status { justify-self: end; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 160px; }
  .hero-copy { max-width: 760px; }
  .hero-art { min-height: 430px; }
  .hero-disc { width: min(370px, 58vw); }
  .live-section { padding-top: 124px; }
  .live-shell { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .live-copy { max-width: 650px; }
  .section-intro { max-width: 650px; }
  .chart-grid { grid-template-columns: 1fr; }
  .number-one { min-height: 390px; }
  .advertise-section { grid-template-columns: 1fr; }
  .advertise-visual { width: min(520px, 76vw); justify-self: center; }
  .contact-grid { grid-template-columns: 1fr; gap: 54px; }
}

@media (max-width: 640px) {
  :root { --shell: calc(100% - 28px); --radius: 22px; }
  .site-header { height: 74px; padding-inline: 14px; gap: 10px; }
  .brand span { display: none; }
  .brand img { width: 26px; height: 40px; }
  #main-nav { top: 74px; }
  .header-status { padding: 9px 12px; font-size: .72rem; }
  .hero { padding: 132px 18px 88px; gap: 22px; }
  h1 { font-size: clamp(3.1rem, 15vw, 4.7rem); }
  .hero-actions { display: grid; }
  .hero-art { min-height: 330px; }
  .hero-disc { width: min(280px, 72vw); }
  .signal-one { width: 300px; height: 300px; }
  .signal-two { width: 380px; height: 380px; }
  .signal-three { width: 460px; height: 460px; }
  .frequency-mark { right: 0; font-size: 6rem; }
  .banner-zone-top { width: calc(100vw - 28px); }
  .banner-fallback { align-items: flex-start; flex-direction: column; gap: 8px; }
  .banner-fallback a { margin: 7px 0 0; }
  .live-section { min-height: 100svh; padding: 100px 0 26px; }
  .live-shell { min-height: calc(100svh - 126px); gap: 18px; }
  .live-copy .eyebrow { margin-bottom: 13px; }
  .live-copy h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .station-card { min-height: 268px; padding: 20px; border-radius: 20px; }
  .station-card-head { font-size: .67rem; }
  .radio-service-player { margin-top: 27px; grid-template-columns: 82px 1fr; column-gap: 17px; }
  .radio-service-player > button { width: 78px; height: 78px; }
  .radio-service-player > strong { font-size: 1.45rem; }
  .radio-service-player > p:nth-of-type(1) { font-size: .92rem; }
  .radio-service-player > p:nth-of-type(2) { font-size: .7rem; }
  .player-volume { margin-top: 22px; }
  .live-bottom { padding-top: 12px; font-size: .58rem; }
  .live-bottom > span { display: none; }
  .live-bottom a { margin-left: auto; }
  .top50-section { padding: 90px 0; }
  .top50-heading { align-items: start; flex-direction: column; }
  .chart-list li { grid-template-columns: 40px 1fr; }
  .chart-list small { display: none; }
  .chart-actions { flex-direction: column; }
  .advertise-section { padding: 94px 0; gap: 58px; }
  .advertise-visual { width: 88vw; }
  .contact-section { padding: 88px 0; }
  .site-footer { align-items: flex-start; flex-direction: column; gap: 10px; }
  .legal-pending { margin-left: 0 !important; }
  .draft-ribbon { right: 10px; bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Digital keeps the original black, white and red identity and artwork. */
.platforms { margin:0 0 12px; color:#bbb; font-size:.72rem; line-height:1.6; letter-spacing:.04em; }
.lead-form { padding:26px; border:1px solid #383838; border-radius:14px; background:#141414; display:grid; gap:15px; }
.lead-form h3 { margin:0; font-size:1.5rem; }
.lead-form p { margin:0; color:#bbb; font-size:.85rem; }
.lead-form label { display:grid; gap:7px; font-size:.85rem; }
.lead-form input:not([type=checkbox]),.lead-form textarea { width:100%; padding:12px; font:inherit; font-size:max(16px,1rem); background:#080808; border:1px solid #555; border-radius:6px; color:#fff; }
.lead-form button { touch-action:manipulation; }
.lead-form .consent { display:flex; align-items:flex-start; gap:10px; }
.consent input { margin-top:5px; accent-color:var(--red); }
.consent button { border:0; padding:0; color:#ff7e85; text-decoration:underline; background:none; cursor:pointer; }
.lead-form .form-response { font-size:.75rem; }
body { background:#050505; color:#fff; }
.brand img { width:200px; height:58px; filter:none; object-fit:contain; }
.live-section { min-height:0; padding:110px 0 12px; background:#000; }
.live-shell { min-height:0; grid-template-columns:1fr; grid-template-rows:auto auto; gap:12px; }
.live-copy h1 { font-size:clamp(2rem,4vw,3rem); }
.live-copy .eyebrow { margin-bottom:12px; }
.station-card { min-height:0; padding:20px 24px; background:#101010; border-radius:12px; }
.radio-service-player { margin-top:16px; }
.player-volume { max-width:480px; margin-top:20px; }
.top50-section { padding:20px 0 60px; background:#080808; }
.top50-heading { margin-bottom:24px; }
.top50-heading .eyebrow { margin-bottom:10px; }
.number-one { min-height:300px; border-radius:12px; }
.chart-list a { display:block; padding:16px 0; }
.chart-list a:hover strong, .number-one a:hover { text-decoration:underline; }
.advertise-section { padding:65px 0; border-top:1px solid #303030; }
.advertise-copy > p:not(.eyebrow,.form-note) { color:#bdbdbd; }
.contact-number span { color:#ddd; }
.contact-section { padding:60px 0; }
.site-footer { padding-bottom:110px; flex-wrap:wrap; }
.footer-brand img { filter:none; }
.legal-links { display:flex; flex-wrap:wrap; gap:18px; }
.legal-links button { border:0; padding:8px 0; background:none; color:#ddd; cursor:pointer; text-decoration:underline; }
dialog { width:min(760px,calc(100% - 28px)); max-height:80vh; border:1px solid #555; border-radius:16px; background:#111; color:#eee; padding:28px; }
dialog::backdrop { background:#000b; }
.dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.dialog-head h2 { font-size:1.65rem; }
.dialog-head button { padding:9px; background:#333; color:#fff; border:1px solid #777; border-radius:7px; cursor:pointer; }
#legal-content a { color:#ff6870; text-decoration:underline; }
[hidden] { display:none !important; }
@media(max-width:640px) {
 .site-header { grid-template-columns:1fr auto; }
 .brand img { width:180px; height:55px; }
 .header-status { display:none; }
 .live-section { padding-top:94px; }
 .live-shell { gap:12px; }
 .live-copy h1 { font-size:2.1rem; }
 .live-bottom { display:block; }
 .live-bottom > span { display:block; margin-bottom:12px; font-size:.65rem; line-height:1.7; }
 .station-card { padding:16px; }
 .advertise-visual { display:none; }
 .top50-heading { margin-bottom:24px; gap:15px; }
 .top50-heading h2,.advertise-copy h2,.contact-section h2 { font-size:2.7rem; }
}

/* One continuous graphic: original logo and same-size listening channels. */
.number-one { display:grid; grid-template-columns:130px minmax(0,1fr); gap:16px 18px; align-items:center; align-self:start; min-height:0; padding:18px; background:#171719; }
.number-one::before,.number-one::after { display:none; }
.number-one-artwork { display:block; }
.number-one-artwork img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; border-radius:7px; }
.number-one > div { padding:0; min-width:0; }
.number-one h3 { font-size:23px; line-height:1.2; letter-spacing:-.025em; overflow-wrap:anywhere; }
.number-one div > span { margin-top:7px; font-size:13px; line-height:1.45; }
.number-one .chart-crown { top:16px; left:16px; z-index:3; font-size:1.5rem; line-height:1.2; padding:10px 14px; }
.number-one .number-one-label { grid-column:1 / -1; margin:0; padding:0; color:#ff3640; font-size:1.2rem; font-weight:900; line-height:1.15; letter-spacing:.015em; }
.number-one-label strong { display:block; }
.number-one-label span { display:block; margin-top:4px; font-size:.65em; letter-spacing:.04em; }
.contact-section h2 { font-size:clamp(2rem,3.5vw,3.3rem); line-height:1.12; }
.site-header { position:relative; height:auto; min-height:144px; grid-template-columns:1fr auto; gap:0 24px; padding-block:10px; background:#000; }
.brand { display:flex; justify-content:center; align-items:center; gap:16px; min-width:0; width:100%; max-width:1030px; margin-inline:auto; }
.brand img { display:block; min-width:0; height:auto; object-fit:contain; filter:none; }
.brand .brand-integrated { width:100%; height:auto; aspect-ratio:6 / 1; object-fit:cover; object-position:center 43%; }
#main-nav { grid-column:1 / -1; justify-self:center; padding:8px 0; }
.header-status { display:none; }
.live-section { padding-top:20px; }
.live-bottom { justify-content:flex-end; }
@media(max-width:980px) {
 .site-header { min-height:100px; padding:8px 14px; gap:10px; }
 #main-nav { top:100%; padding:20px; }
 .menu-toggle { grid-column:2; grid-row:1; }
}
@media(max-width:640px) {
 .site-header { min-height:88px; padding:10px 10px; gap:6px; }
 .brand { gap:3px; }
 .brand .brand-integrated { width:100%; height:auto; }
 .menu-toggle { width:28px; height:32px; padding:6px; }
 .live-section { padding-top:12px; }
}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.lead-form [type=submit]:disabled{opacity:.65;cursor:wait}

/* Each pixel fades independently: no shared row, diagonal or travel direction. */
.radio-service-player > strong, .mini-player b { font-family:Manrope,sans-serif; font-weight:800; font-style:normal; }
.radio-service-player > strong { line-height:1.08; letter-spacing:-.045em; }
.station-card-head { justify-content:flex-start; gap:16px; }
.digital-signal { display:inline-grid; grid-template-columns:repeat(3,1fr); gap:3px; width:32px; height:32px; flex-shrink:0; vertical-align:middle; }
.digital-signal i { display:block; min-width:0; border-radius:2px; background:var(--red); opacity:.35; transform:scale(.72); }
.digital-signal i:nth-child(1) { --signal-duration:2.7s; --signal-delay:-1.91s; }
.digital-signal i:nth-child(2) { --signal-duration:3.9s; --signal-delay:-.38s; }
.digital-signal i:nth-child(3) { --signal-duration:3.1s; --signal-delay:-2.66s; }
.digital-signal i:nth-child(4) { --signal-duration:4.3s; --signal-delay:-1.27s; }
.digital-signal i:nth-child(5) { --signal-duration:2.9s; --signal-delay:-.83s; }
.digital-signal i:nth-child(6) { --signal-duration:3.7s; --signal-delay:-3.12s; }
.digital-signal i:nth-child(7) { --signal-duration:4.1s; --signal-delay:-.64s; }
.digital-signal i:nth-child(8) { --signal-duration:3.3s; --signal-delay:-2.18s; }
.digital-signal i:nth-child(9) { --signal-duration:4.7s; --signal-delay:-3.93s; }
.is-audible .digital-signal i { animation:digital-pixel var(--signal-duration) ease-in-out var(--signal-delay) infinite; }
.mini-player b { display:flex; align-items:center; gap:10px; }
.mini-player div .digital-signal { display:inline-grid; overflow:visible; width:24px; height:24px; gap:2px; }
@keyframes digital-pixel {
  0%,70%,100% { opacity:.25; transform:scale(.65); box-shadow:0 0 0 transparent; }
  25%,40% { opacity:1; transform:scale(1); box-shadow:0 0 8px #ef1b2466; }
}
@media (prefers-reduced-motion:reduce) { .is-audible .digital-signal i { animation:none !important; opacity:1; transform:scale(.85); } }

/* Real footer clearance keeps the view switch above the floating player. */
.site-footer { padding-bottom:calc(140px + env(safe-area-inset-bottom, 0px)); }
.view-options { flex-basis:100%; width:100%; margin-top:12px; }
.view-options button { min-height:44px; padding:10px 12px; border:1px solid #444; border-radius:6px; background:transparent; color:#bdbdbd; font:inherit; font-size:.75rem; cursor:pointer; touch-action:manipulation; }
.view-options button:hover, .view-options button:focus-visible { color:#fff; border-color:#888; }
.mini-player { bottom:calc(16px + env(safe-area-inset-bottom, 0px)); }
html.desktop-view { min-width:1280px; --shell:1180px; }
html.desktop-view body { overflow-x:visible; }
