.radio-page {
    min-height: 70vh;
    background: #f3f7fb;
    padding-bottom: 5rem;
}

.radio-hero {
    min-height: 310px;
    display: flex;
    align-items: end;
    padding: clamp(2rem, 7vw, 5rem) max(1.25rem, calc((100vw - 1180px) / 2));
    color: #fff;
    background: radial-gradient(circle at 80% 15%, #2487ca 0, transparent 32%), linear-gradient(120deg, #071d35, #075da5 65%, #07294b);
}

.radio-hero-copy {
    max-width: 760px;
}

.radio-hero .eyebrow,
.radio-section .eyebrow,
.radio-program-highlight .eyebrow {
    color: #85c8ff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.radio-hero h1 {
    margin: .3rem 0 .5rem;
    font-size: clamp(2.5rem, 7vw, 5rem);
    letter-spacing: -.05em;
}

.radio-hero-copy > p:last-child {
    max-width: 560px;
    margin: 0;
    color: #d8e9f8;
    font-size: 1.08rem;
}

.radio-content {
    width: min(1180px, calc(100% - 2.5rem));
    margin: -2.5rem auto 0;
    position: relative;
}

.radio-player {
    --radio-accent: #075da5;
    display: grid;
    grid-template-columns: minmax(180px, 270px) 1fr;
    gap: clamp(1.25rem, 4vw, 3rem);
    align-items: center;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid #dce7f0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 20px 55px #082b4a1c;
}

.radio-player-art {
    aspect-ratio: 1;
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(145deg, var(--radio-accent), #071d35);
}

.radio-player-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.radio-player-info {
    min-width: 0;
}

.radio-live-row,
.radio-player-controls {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
}

.radio-live-indicator {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.radio-station-name {
    margin: 1rem 0 .35rem;
    color: #597087;
    font-size: .86rem;
    font-weight: 700;
}

.radio-player-info h2 {
    margin: 0;
    color: #10273d;
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    line-height: 1.1;
    overflow-wrap: anywhere;
}

.radio-artist {
    min-height: 1.5rem;
    color: #5b7186;
}

.radio-player-controls {
    margin-top: 1.25rem;
}

.radio-play-button {
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: var(--radio-accent);
    font-size: 1.2rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 20px color-mix(in srgb, var(--radio-accent), transparent 70%);
}

.radio-play-button:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.radio-volume {
    display: grid;
    gap: .2rem;
    color: #597087;
    font-size: .75rem;
    font-weight: 700;
}

.radio-volume input {
    accent-color: var(--radio-accent);
}

.radio-now-playing,
.radio-listeners {
    color: #60778d;
    font-size: .8rem;
}

.radio-equalizer {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: flex;
    gap: 4px;
    align-items: end;
    height: 22px;
    opacity: 0;
}

.radio-equalizer.is-playing {
    opacity: 1;
}

.radio-equalizer i {
    display: block;
    width: 4px;
    height: 40%;
    border-radius: 5px;
    background: #fff;
    animation: radio-wave .8s ease-in-out infinite alternate;
}

.radio-equalizer i:nth-child(2) { animation-delay: .2s; height: 85%; }
.radio-equalizer i:nth-child(3) { animation-delay: .4s; height: 60%; }
.radio-equalizer i:nth-child(4) { animation-delay: .1s; height: 95%; }

@keyframes radio-wave {
    to { height: 20%; }
}

.radio-program-highlight {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.radio-program-highlight article {
    min-height: 170px;
    padding: 1.5rem;
    border-radius: 18px;
    color: #fff;
    background: #102b45;
}

.radio-program-highlight article + article {
    background: #075da5;
}

.radio-program-highlight h2 {
    margin: .45rem 0;
    font-size: 1.5rem;
}

.radio-program-highlight p:not(.eyebrow) {
    margin: .25rem 0;
    color: #d7e7f6;
}

.radio-section {
    margin-top: 3.5rem;
}

.radio-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 2rem;
    margin-bottom: 1.25rem;
}

.radio-section-heading h2 {
    margin: .25rem 0 0;
    color: #10273d;
    font-size: clamp(1.7rem, 4vw, 2.5rem);
}

.radio-section-heading > p {
    max-width: 500px;
    margin: 0;
    color: #64788b;
    font-size: .9rem;
}

.radio-week-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.radio-day-card {
    min-height: 130px;
    padding: 1.1rem;
    border: 1px solid #e0e9f1;
    border-radius: 16px;
    background: #fff;
}

.radio-day-card h3 {
    margin: 0 0 .8rem;
    color: #075da5;
    font-size: 1rem;
}

.radio-day-program {
    display: grid;
    gap: .15rem;
    padding: .75rem 0;
    border-top: 1px solid #edf1f5;
}

.radio-day-program time,
.radio-day-program small {
    color: #60778d;
    font-size: .75rem;
}

.radio-day-program strong {
    color: #10273d;
}

.radio-day-program span {
    color: #60778d;
    font-size: .83rem;
}

.radio-day-program img,
.radio-special-image {
    width: 100%;
    max-height: 150px;
    margin-bottom: .5rem;
    border-radius: 10px;
    object-fit: cover;
}

.radio-day-program p {
    margin: .25rem 0 0;
    color: #60778d;
    font-size: .84rem;
}

.radio-special-image {
    max-height: 190px;
}

.radio-empty-day {
    color: #8192a3;
    font-size: .85rem;
}

.radio-history-list {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.radio-history-list li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
    border: 1px solid #e0e9f1;
    border-radius: 12px;
    background: #fff;
}

.radio-history-list li span,
.radio-history-empty {
    color: #718397;
}

.radio-notice {
    width: min(800px, calc(100% - 2.5rem));
    margin: 3rem auto;
    padding: 2rem;
    border: 1px solid #dce7f0;
    border-radius: 18px;
    background: #fff;
}

@media (max-width: 760px) {
    .radio-player {
        grid-template-columns: 140px minmax(0, 1fr);
        gap: 1.2rem;
    }

    .radio-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .radio-content {
        width: min(100% - 1.25rem, 1180px);
    }

    .radio-player {
        grid-template-columns: 1fr;
    }

    .radio-player-art {
        width: min(100%, 230px);
        margin: 0 auto;
    }

    .radio-program-highlight,
    .radio-week-grid {
        grid-template-columns: 1fr;
    }

    .radio-section-heading {
        display: block;
    }

    .radio-section-heading > p {
        margin-top: .75rem;
    }

    .radio-history-list li {
        display: grid;
    }
}

.radio-page {
    --radio-ink: #0a1726;
    --radio-ink-soft: #13263b;
    --radio-blue: #0877d1;
    --radio-lime: #c7f36b;
    overflow: hidden;
    padding-bottom: 6rem;
    color: var(--radio-ink);
    background:
        radial-gradient(ellipse at 15% 46%, #e8f2fc 0, transparent 34rem),
        #f5f7fa;
}

.radio-hero {
    min-height: clamp(470px, 57vw, 670px);
    position: relative;
    isolation: isolate;
    align-items: center;
    overflow: hidden;
    padding: clamp(3rem, 7vw, 6rem) max(1.25rem, calc((100vw - 1180px) / 2));
    background:
        linear-gradient(90deg, #07111ef7 0%, #07111ee8 37%, #07111e70 68%, #07111e3b 100%),
        linear-gradient(0deg, #07111e8c, transparent 42%),
        url("../img/hero-futsal.png") center 56% / cover no-repeat,
        #07111e;
}

.radio-hero::before,
.radio-hero::after {
    position: absolute;
    z-index: -1;
    pointer-events: none;
    content: "";
}

.radio-hero::before {
    width: 470px;
    height: 470px;
    top: -190px;
    right: -90px;
    border: 1px solid #ffffff26;
    border-radius: 50%;
    box-shadow: 0 0 0 42px #ffffff0b, 0 0 0 92px #ffffff08;
    animation: radio-orbit 28s linear infinite;
}

.radio-hero::after {
    width: 38%;
    height: 2px;
    right: -2%;
    bottom: 23%;
    background: linear-gradient(90deg, transparent, var(--radio-lime), transparent);
    opacity: .8;
    transform: rotate(-29deg);
    animation: radio-sweep 7s ease-in-out infinite alternate;
}

.radio-hero-texture {
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(#ffffff50 .7px, transparent .7px);
    background-size: 5px 5px;
    opacity: .12;
    mask-image: linear-gradient(90deg, transparent, #000 65%);
}

.radio-hero-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    gap: 2rem;
    align-items: center;
}

.radio-hero-copy {
    max-width: 760px;
}

.radio-kicker {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1.15rem;
    color: #e6edf5;
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.radio-kicker > span:not(.radio-kicker-mark) {
    color: var(--radio-lime);
}

.radio-kicker-mark {
    width: 9px;
    height: 9px;
    border: 2px solid var(--radio-lime);
    border-radius: 50%;
    box-shadow: 0 0 16px #c7f36b99;
}

.radio-hero h1 {
    max-width: 850px;
    margin: 0;
    color: #fff;
    font-size: clamp(3rem, 7.1vw, 6.7rem);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -.065em;
    text-wrap: balance;
}

.radio-hero h1 span {
    color: var(--radio-lime);
}

.radio-hero-copy > p:not(.radio-kicker) {
    max-width: 520px;
    margin: 1.4rem 0 0;
    color: #d0d9e4;
    font-size: clamp(1rem, 1.7vw, 1.2rem);
    line-height: 1.65;
}

.radio-hero-actions {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.radio-hero-cta,
.radio-hero-link {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    text-decoration: none;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .04em;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.radio-hero-cta {
    padding: 0 1.35rem;
    border-radius: 7px;
    color: #0b1723;
    background: var(--radio-lime);
    box-shadow: 0 10px 30px #c7f36b2e;
}

.radio-hero-cta:hover {
    transform: translateY(-3px);
    background: #dbffa0;
}

.radio-hero-cta span {
    font-size: 1.2rem;
}

.radio-hero-link {
    color: #f5f7fa;
}

.radio-hero-link:hover {
    color: var(--radio-lime);
    transform: translateX(4px);
}

.radio-hero-score {
    position: relative;
    overflow: hidden;
    padding: 1.5rem;
    border: 1px solid #ffffff35;
    border-radius: 13px;
    background: linear-gradient(145deg, #ffffff1c, #081625a6);
    box-shadow: 0 25px 70px #0005;
    backdrop-filter: blur(12px);
    transform: rotate(2deg);
    transition: transform .35s ease;
}

.radio-hero-score:hover {
    transform: rotate(0) translateY(-5px);
}

.radio-score-label,
.radio-score-caption {
    position: relative;
    z-index: 1;
    display: block;
    color: #d3deeb;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .15em;
}

.radio-score-main {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 1.25rem 0;
}

.radio-score-emblem {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid #ffffff45;
    border-radius: 50%;
    background: #07111e7a;
}

.radio-score-emblem img {
    width: 43px;
    height: 43px;
    object-fit: contain;
}

.radio-score-main strong {
    color: #fff;
    font-size: 2.25rem;
    font-weight: 950;
    letter-spacing: -.06em;
}

.radio-score-divider {
    position: relative;
    z-index: 1;
    display: block;
    height: 3px;
    margin-bottom: 1rem;
    background: linear-gradient(90deg, var(--radio-lime) 0 27%, #ffffff35 27%);
}

.radio-score-caption {
    font-size: .8rem;
    line-height: 1.6;
    letter-spacing: .04em;
}

.radio-score-watermark {
    position: absolute;
    right: -8px;
    bottom: -46px;
    color: #ffffff08;
    font-size: 9rem;
    font-weight: 950;
    letter-spacing: -.12em;
}

.radio-hero-bottom {
    position: absolute;
    right: max(1.25rem, calc((100vw - 1180px) / 2));
    bottom: 1.15rem;
    left: max(1.25rem, calc((100vw - 1180px) / 2));
    display: flex;
    gap: .8rem;
    align-items: center;
    color: #d1dbe6a3;
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .2em;
}

.radio-hero-bottom span:nth-child(even) {
    color: var(--radio-lime);
}

.radio-content {
    width: min(1180px, calc(100% - 2.5rem));
    margin: -2.1rem auto 0;
    position: relative;
    z-index: 2;
}

.radio-player {
    --radio-accent: #0877d1;
    position: relative;
    overflow: hidden;
    grid-template-columns: minmax(220px, 310px) 1fr;
    gap: clamp(1.6rem, 5vw, 4rem);
    padding: clamp(1.2rem, 4vw, 2.5rem);
    border: 1px solid #ffffff12;
    border-radius: 14px;
    color: #fff;
    background:
        radial-gradient(ellipse at 100% 0, color-mix(in srgb, var(--radio-accent), transparent 72%), transparent 42%),
        linear-gradient(135deg, #0c1c2e, #07111e 68%);
    box-shadow: 0 26px 70px #0b203320;
    transition: box-shadow .3s ease, transform .3s ease;
}

.radio-player::before {
    position: absolute;
    top: 0;
    right: 8%;
    left: 8%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--radio-accent), var(--radio-lime), transparent);
    content: "";
}

.radio-player:hover {
    box-shadow: 0 30px 85px #0b203333;
    transform: translateY(-3px);
}

.radio-player-art {
    isolation: isolate;
    z-index: 1;
    border-radius: 10px;
    box-shadow: 0 18px 40px #0006;
}

.radio-player-art::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(145deg, #07111e05 30%, #07111e44);
    content: "";
    pointer-events: none;
}

.radio-player-art img {
    transition: transform .7s cubic-bezier(.2, .8, .2, 1), filter .4s ease;
}

.radio-player:hover .radio-player-art img {
    filter: saturate(1.15);
    transform: scale(1.055);
}

.radio-player-art .radio-station-logo {
    position: relative;
    z-index: 1;
    padding: 1.35rem;
    background: radial-gradient(ellipse at center, #17304b 0%, #091827 72%);
    opacity: 1;
    object-fit: contain;
}

.radio-player-art .radio-station-logo,
.radio-player:hover .radio-player-art .radio-station-logo {
    filter: none;
    mix-blend-mode: normal;
    transform: none;
}

.radio-art-frame {
    animation: radio-art-border-glow 2.8s ease-in-out infinite;
}

.radio-art-frame > svg {
    position: absolute;
    inset: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    overflow: visible;
    filter: drop-shadow(0 0 4px #8fe1ff99);
    pointer-events: none;
}

.radio-art-frame rect {
    fill: none;
    stroke: url("#radio-art-border-gradient");
    stroke-width: 1.25;
    stroke-dasharray: 20 80;
    stroke-dashoffset: 0;
    vector-effect: non-scaling-stroke;
    animation: radio-art-border-sweep 4s linear infinite;
}

@keyframes radio-art-border-glow {
    0%, 100% { border-color: #ffffff55; box-shadow: 0 0 0 #51b8ff00; }
    50% { border-color: #9adfff; box-shadow: 0 0 14px #51b8ff55, inset 0 0 12px #51b8ff1c; }
}

@keyframes radio-art-border-sweep {
    to { stroke-dashoffset: -100; }
}

.radio-player:hover .radio-player-art .radio-station-logo {
    filter: none;
    transform: none;
}

.radio-art-frame {
    position: absolute;
    z-index: 1;
    inset: 12px;
    border: 1px solid #ffffff5c;
    border-radius: 6px;
    pointer-events: none;
}

.radio-art-label {
    position: absolute;
    z-index: 2;
    right: 1.25rem;
    bottom: 1.2rem;
    left: 1.25rem;
    color: #fff;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .2em;
}

.radio-art-label b {
    color: var(--radio-lime);
}

.radio-player-info {
    position: relative;
    z-index: 1;
}

.radio-live-row {
    gap: .8rem;
}

.radio-live-indicator {
    gap: .5rem;
    padding: .45rem .7rem;
    border: 1px solid #ffffff22;
    border-radius: 4px;
    color: #fff;
    background: #ffffff0a;
    font-size: .65rem;
    letter-spacing: .13em;
}

.radio-status-dot,
.radio-mini-live {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    background: #a5b1be;
}

.radio-live-indicator.is-online .radio-status-dot,
.radio-mini-live {
    background: #c7f36b;
    box-shadow: 0 0 12px #c7f36b99;
}

.radio-live-indicator.is-online .radio-status-dot {
    animation: radio-live-pulse 1.6s ease-out infinite;
}

.radio-live-indicator.is-offline .radio-status-dot {
    background: #ff5c62;
}

.radio-listeners {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .42rem .65rem;
    border: 1px solid #ffffff1c;
    border-radius: 4px;
    color: #d3deeb;
    background: #ffffff08;
}

.radio-listeners span {
    color: var(--radio-lime);
}

.radio-listeners[hidden] {
    display: none !important;
}

.radio-player-tag {
    margin-left: auto;
    color: #a8b6c6;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.radio-station-name {
    margin: 1.35rem 0 .45rem;
    color: var(--radio-lime);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.radio-player-info h2 {
    color: #fff;
    font-size: clamp(1.7rem, 3.5vw, 3rem);
    letter-spacing: -.04em;
}

.radio-artist {
    min-height: 1.5rem;
    margin: .6rem 0 0;
    color: #aebdcd;
}

.radio-player-controls {
    gap: 1.1rem;
    margin-top: 1.8rem;
}

.radio-play-button {
    width: 64px;
    height: 64px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 5px solid #ffffff20;
    color: #0b1723;
    background: var(--radio-lime);
    font-size: 1rem;
    box-shadow: 0 0 0 1px #c7f36b80, 0 8px 25px #c7f36b35;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.radio-play-button:hover {
    background: #ddffa0;
    box-shadow: 0 0 0 7px #c7f36b24, 0 10px 28px #c7f36b4a;
    transform: scale(1.06);
}

.radio-play-icon {
    transform: translateX(2px);
}

.radio-volume {
    gap: .55rem;
    color: #aebdcd;
    font-size: .65rem;
    letter-spacing: .12em;
}

.radio-volume-label {
    display: flex;
    align-items: center;
    gap: .42rem;
}

.radio-volume-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.radio-volume input {
    width: 120px;
    height: 4px;
    accent-color: var(--radio-lime);
    cursor: pointer;
}

.radio-now-playing {
    margin-left: auto;
    color: #becbd9;
    font-size: .75rem;
}

.radio-equalizer {
    right: 25px;
    bottom: 25px;
    z-index: 2;
    gap: 5px;
    height: 32px;
}

.radio-equalizer i {
    width: 5px;
    background: var(--radio-lime);
    box-shadow: 0 0 10px #c7f36b85;
    animation-duration: .55s;
}

.radio-equalizer i:nth-child(2) { animation-delay: .18s; }
.radio-equalizer i:nth-child(3) { animation-delay: .36s; }
.radio-equalizer i:nth-child(4) { animation-delay: .12s; }
.radio-equalizer i:nth-child(5) { animation-delay: .28s; }
.radio-equalizer i:nth-child(6) { animation-delay: .42s; }

.radio-program-highlight {
    gap: 1rem;
    margin-top: 1rem;
}

.radio-program-card {
    position: relative;
    overflow: hidden;
    min-height: 205px !important;
    padding: clamp(1.4rem, 3vw, 2rem) !important;
    border: 1px solid #ffffff14;
    border-radius: 12px !important;
    background:
        linear-gradient(115deg, #102942, #091827 80%) !important;
    box-shadow: 0 12px 35px #09182712;
    transition: transform .25s ease, box-shadow .25s ease;
}

.radio-program-card:hover {
    box-shadow: 0 18px 42px #09182724;
    transform: translateY(-4px);
}

.radio-program-next {
    background:
        radial-gradient(ellipse at 100% 100%, #0877d13d, transparent 60%),
        linear-gradient(115deg, #0c477b, #08233e 85%) !important;
}

.radio-program-card .eyebrow {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1.2rem;
    color: #d3e1ee;
    font-size: .66rem;
    letter-spacing: .12em;
}

.radio-program-disclaimer {
    color: #98aabc;
    font-size: .6rem;
    letter-spacing: .06em;
    text-transform: none;
}

.radio-program-card h2 {
    position: relative;
    z-index: 1;
    max-width: 85%;
    margin: 0 0 .6rem;
    color: #fff;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    font-weight: 850;
    letter-spacing: -.035em;
}

.radio-program-meta,
.radio-program-time {
    position: relative;
    z-index: 1;
    color: #c0cfdd !important;
    font-size: .83rem;
}

.radio-program-time {
    display: inline-flex;
    margin-top: .65rem !important;
    padding: .35rem .6rem;
    border: 1px solid #ffffff2c;
    border-radius: 4px;
    color: var(--radio-lime) !important;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.radio-program-watermark {
    position: absolute;
    right: 13px;
    bottom: -37px;
    color: #ffffff09;
    font-size: 10rem;
    font-weight: 950;
    line-height: 1;
}

.radio-section {
    margin-top: clamp(3.2rem, 7vw, 5rem);
}

.radio-section-heading {
    align-items: end;
    margin-bottom: 1.5rem;
}

.radio-section .eyebrow {
    margin: 0 0 .55rem;
    color: #0877d1;
    font-size: .67rem;
    letter-spacing: .16em;
}

.radio-section-heading h2 {
    margin: 0;
    color: #0b1b2d;
    font-size: clamp(2rem, 4.8vw, 3.2rem);
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.055em;
}

.radio-section-heading h2 span {
    color: #7f8fa0;
}

.radio-section-heading > p {
    max-width: 430px;
    color: #63758a;
    font-size: .82rem;
    line-height: 1.65;
}

.radio-week-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.radio-day-card {
    position: relative;
    min-height: 155px;
    overflow: hidden;
    padding: 1.1rem;
    border: 1px solid #dde5ed;
    border-radius: 9px;
    background: linear-gradient(145deg, #fff, #f9fbfd);
    box-shadow: 0 7px 20px #10243b08;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.radio-day-card::before {
    position: absolute;
    top: 0;
    left: 1.1rem;
    width: 32px;
    height: 3px;
    background: var(--radio-blue);
    content: "";
    transition: width .25s ease;
}

.radio-day-card:hover {
    border-color: #b8d7ef;
    box-shadow: 0 14px 35px #10243b12;
    transform: translateY(-4px);
}

.radio-day-card:hover::before {
    width: calc(100% - 2.2rem);
}

.radio-day-card h3 {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: .2rem 0 .85rem;
    color: #152a3f;
    font-size: .9rem;
    font-weight: 850;
}

.radio-day-number {
    color: #95a5b6;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.radio-day-program {
    position: relative;
    gap: .28rem;
    padding: .8rem 0 .2rem;
    border-top: 1px solid #e8edf2;
}

.radio-day-program time {
    color: #0877d1;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.radio-day-program strong {
    color: #12273d;
    font-size: .9rem;
}

.radio-day-program span,
.radio-day-program p {
    color: #708195;
    font-size: .77rem;
}

.radio-day-program img,
.radio-special-image {
    max-height: 125px;
    border-radius: 6px;
    transition: transform .4s ease;
}

.radio-day-card:hover img {
    transform: scale(1.025);
}

.radio-special-card {
    min-height: 260px;
}

.radio-special-card time {
    display: inline-block;
    margin: .2rem 0 .4rem;
    color: #0877d1;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .07em;
}

.radio-special-card h3 {
    display: block;
    margin: .3rem 0;
    font-size: 1.05rem;
}

.radio-history-section {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 2.6rem);
    border: 1px solid #ffffff1c;
    border-radius: 14px;
    background:
        radial-gradient(ellipse at 100% 0, #123553 0, transparent 42%),
        linear-gradient(145deg, #0b1b2d, #071321);
    box-shadow: 0 24px 60px #07132124;
}

.radio-history-section .radio-section-heading {
    position: relative;
    z-index: 1;
}

.radio-history-section .radio-section-heading h2 {
    color: #fff;
}

.radio-history-section .radio-section-heading h2 span {
    color: var(--radio-lime);
}

.radio-history-section .radio-section-heading > p {
    color: #aebdcd;
}

.radio-history-list {
    position: relative;
    z-index: 1;
    gap: .6rem;
}

.radio-history-list li {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .7rem .85rem;
    border: 1px solid #ffffff18;
    border-radius: 9px;
    background: linear-gradient(100deg, #ffffff0d, #ffffff07);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.radio-history-list li:hover {
    border-color: #c7f36b55;
    background: linear-gradient(100deg, #ffffff16, #ffffff0a);
    transform: translateY(-2px);
}

.radio-history-list li strong {
    color: #fff;
    font-size: .9rem;
}

.radio-history-list li span {
    color: #b5c2d0;
    font-size: .76rem;
}

.radio-history-artwork {
    width: 62px;
    height: 62px;
    border: 1px solid #ffffff20;
    border-radius: 7px;
    box-shadow: 0 5px 16px #0003;
}

.radio-history-copy {
    gap: .2rem;
}

.radio-history-copy time {
    color: #91a2b4;
    font-size: .68rem;
}

.radio-history-actions {
    align-items: center;
    gap: .45rem;
}

.radio-history-actions .radio-history-platform {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    justify-content: center;
    padding: 0;
    border: 1px solid #ffffff20;
    border-radius: 50%;
    background: #07132180;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.radio-history-actions .radio-history-platform:hover {
    border-color: #ffffff70;
    background: #ffffff16;
    transform: translateY(-2px) scale(1.05);
}

.radio-history-platform svg {
    width: 22px;
    height: 22px;
    display: block;
}

.radio-history-empty {
    display: block !important;
    padding: 1.25rem !important;
    border: 1px dashed #ffffff35 !important;
    color: #b5c2d0 !important;
    background: #ffffff08 !important;
    text-align: center;
}

.radio-engagement {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem 1.5rem;
    margin-top: 1.15rem;
    padding-top: 1rem;
    border-top: 1px solid #ffffff20;
}

.radio-listening-now {
    display: grid;
    gap: .65rem;
    min-width: 0;
}

.radio-listening-now[hidden] {
    display: none !important;
}

.radio-listening-heading {
    display: flex;
    align-items: center;
    gap: .6rem;
}

.radio-listening-heading > div {
    display: grid;
    gap: .12rem;
}

.radio-listening-heading strong {
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
}

.radio-listening-heading > div > span {
    color: #aebdcd;
    font-size: .68rem;
}

.radio-listening-pulse {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #0877d1;
    box-shadow: 0 0 0 4px #0877d11c;
    animation: radio-listener-pulse 1.8s ease-out infinite;
}

@keyframes radio-listener-pulse {
    50% { box-shadow: 0 0 0 8px #0877d100; }
}

.radio-listener-avatars {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.radio-listener-profile {
    width: 54px;
    display: grid;
    justify-items: center;
    gap: .25rem;
    color: #cad5e0;
    font-size: .58rem;
    font-weight: 750;
    text-align: center;
}

.radio-listener-link {
    color: inherit;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}

.radio-listener-link:hover,
.radio-listener-link:focus-visible {
    color: #fff;
    outline: none;
    transform: translateY(-2px);
}

.radio-listener-link:focus-visible > img,
.radio-listener-link:focus-visible > .radio-listener-initials {
    box-shadow: 0 0 0 3px #c7f36b, 0 0 16px #54b8ff88;
}

.radio-listener-profile > img,
.radio-listener-initials {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 2px solid #0b1b2d;
    border-radius: 50%;
    background: linear-gradient(145deg, #0877d1, #0b1b2d);
    box-shadow: 0 0 0 1px #54b8ff80, 0 4px 12px #0004;
    color: #fff;
    font-size: .7rem;
    font-weight: 900;
    object-fit: cover;
}

.radio-listener-profile > span:last-child {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radio-engagement-actions,
.radio-reaction-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.radio-engagement:not(.has-listening-athletes) .radio-engagement-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
}

.radio-reaction-button,
.radio-share-button {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    padding: .5rem .72rem;
    border: 1px solid #ffffff2c;
    border-radius: 8px;
    color: #e5edf5;
    background: #ffffff0c;
    font-size: .72rem;
    font-weight: 850;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
}

.radio-reaction-button:hover:not(:disabled),
.radio-share-button:hover {
    border-color: #ffffff65;
    background: #ffffff18;
    transform: translateY(-2px);
}

.radio-reaction-button:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.radio-reaction-button svg,
.radio-share-button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.radio-like-button {
    border-color: #178de655;
    color: #55b7ff;
    background: #0877d155;
}

.radio-like-button svg {
    fill: #0877d112;
}

.radio-like-button[aria-pressed="true"] svg {
    fill: #55b7ff;
}

.radio-dislike-button {
    border-color: #ff647255;
    color: #ff7a86;
    background: #d83d4d52;
}

.radio-dislike-button svg {
    fill: #d83d4d12;
}

.radio-dislike-button[aria-pressed="true"] svg {
    fill: #ff7a86;
}

.radio-reaction-button strong {
    min-width: 1.2em;
    padding: .1rem .3rem;
    border-radius: 999px;
    background: #ffffff18;
    font-size: .67rem;
    text-align: center;
}

.radio-share-button {
    border-color: #54b8ff50;
    color: #75c8ff;
    background: #0877d148;
}

.radio-engagement-feedback {
    grid-column: 1 / -1;
    min-height: 0;
    margin: -.35rem 0 0;
    color: #b9c8d8;
    font-size: .7rem;
}

.radio-engagement-feedback:empty {
    display: none;
}

.radio-vote-status {
    grid-column: 1 / -1;
    margin: -.35rem 0 0;
    color: #b9c8d8;
    font-size: .68rem;
    line-height: 1.45;
}

.radio-vote-status:empty {
    display: none;
}

.radio-programming-section .radio-day-card {
    background: linear-gradient(145deg, #fff 0%, #f4f8fb 100%);
}

.radio-programming-section .radio-day-card h3 {
    padding-bottom: .65rem;
    border-bottom: 1px solid #e4ebf1;
}

.radio-programming-section .radio-day-number {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 7px;
    color: #0877d1;
    background: #e8f4fd;
}

.radio-programming-section .radio-day-program {
    margin-top: .55rem;
    padding: .65rem .7rem;
    border: 1px solid #e4ebf1;
    border-left: 3px solid var(--radio-blue);
    border-radius: 6px;
    background: #fff;
}

.radio-programming-section .radio-empty-day {
    margin: .85rem 0 0;
    padding: .65rem;
    border: 1px dashed #d6e0e8;
    border-radius: 6px;
    color: #8493a2;
    font-size: .76rem;
    text-align: center;
}

.radio-notice {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-top: -2.1rem;
    position: relative;
    border: 1px solid #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 50px #10243b1c;
}

.radio-notice .eyebrow {
    margin: 0 0 .45rem;
    color: #0877d1;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.radio-notice h2 {
    margin: 0 0 .45rem;
    color: #10273d;
}

.radio-notice p:last-child {
    margin: 0;
    color: #64788b;
}

.radio-notice-icon {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: #0b1b2d;
    background: var(--radio-lime);
    font-size: 1.5rem;
}

html.radio-reveal-ready [data-reveal] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .65s ease, transform .65s cubic-bezier(.2, .75, .25, 1);
}

html.radio-reveal-ready [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.radio-day-card:nth-child(2) { transition-delay: 60ms; }
.radio-day-card:nth-child(3) { transition-delay: 120ms; }
.radio-day-card:nth-child(4) { transition-delay: 180ms; }
.radio-day-card:nth-child(5) { transition-delay: 60ms; }
.radio-day-card:nth-child(6) { transition-delay: 120ms; }
.radio-day-card:nth-child(7) { transition-delay: 180ms; }

@keyframes radio-live-pulse {
    0% { box-shadow: 0 0 0 0 #c7f36b9c; }
    70% { box-shadow: 0 0 0 7px #c7f36b00; }
    100% { box-shadow: 0 0 0 0 #c7f36b00; }
}

@keyframes radio-orbit {
    to { transform: rotate(360deg); }
}

@keyframes radio-sweep {
    from { opacity: .25; transform: translateX(-10%) rotate(-29deg); }
    to { opacity: .8; transform: translateX(10%) rotate(-29deg); }
}

@media (max-width: 900px) {
    .radio-hero-inner {
        grid-template-columns: minmax(0, 1fr) 235px;
        gap: 1.25rem;
    }

    .radio-hero-score {
        padding: 1.15rem;
    }

    .radio-week-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .radio-hero {
        min-height: 610px;
        align-items: center;
        padding-top: 3rem;
        padding-bottom: 5rem;
        background-position: 61% center;
    }

    .radio-hero-inner {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .radio-hero-score {
        width: min(100%, 290px);
        padding: 1rem 1.2rem;
        transform: rotate(0);
    }

    .radio-score-main {
        margin: .7rem 0;
    }

    .radio-score-emblem {
        width: 45px;
        height: 45px;
    }

    .radio-score-emblem img {
        width: 34px;
        height: 34px;
    }

    .radio-score-main strong {
        font-size: 1.8rem;
    }

    .radio-score-caption br {
        display: none;
    }

    .radio-score-divider {
        margin-bottom: .65rem;
    }

    .radio-hero-bottom {
        gap: .45rem;
        font-size: .48rem;
        letter-spacing: .12em;
    }

    .radio-player {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 1.2rem;
    }

    .radio-player-tag {
        display: none;
    }

    .radio-now-playing {
        width: 100%;
        margin-left: 0;
    }

    .radio-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .radio-hero {
        min-height: 650px;
    }

    .radio-hero h1 {
        font-size: clamp(2.65rem, 14vw, 4.2rem);
    }

    .radio-kicker {
        gap: .45rem;
        font-size: .62rem;
        letter-spacing: .08em;
    }

    .radio-hero-actions {
        gap: .8rem;
    }

    .radio-hero-cta,
    .radio-hero-link {
        min-height: 46px;
        font-size: .73rem;
    }

    .radio-player {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        padding: 1rem;
    }

    .radio-player-art {
        width: min(100%, 205px);
        margin: 0 auto;
    }

    .radio-player-info h2 {
        font-size: 1.8rem;
    }

    .radio-player-controls {
        gap: .8rem;
    }

    .radio-play-button {
        width: 56px;
        height: 56px;
    }

    .radio-volume input {
        width: min(31vw, 120px);
    }

    .radio-program-highlight,
    .radio-week-grid {
        grid-template-columns: 1fr;
    }

    .radio-section-heading {
        display: block;
    }

    .radio-section-heading > p {
        margin-top: .8rem;
    }

    .radio-history-section {
        padding: 1rem;
    }

    .radio-history-list li {
        display: grid;
    }

    .radio-hero-bottom span:nth-child(3),
    .radio-hero-bottom span:nth-child(4) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .radio-page *,
    .radio-page *::before,
    .radio-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    html.radio-reveal-ready [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

.radio-request-open,
.radio-request-submit,
.radio-request-reset,
.radio-request-close {
    min-height: 44px;
    border: 1px solid #ffffff30;
    border-radius: 7px;
    color: #f5f8fc;
    background: #ffffff0d;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.radio-request-open {
    padding: 0 .9rem;
}

.radio-request-open span {
    margin-right: .35rem;
    color: var(--radio-lime);
}

.radio-request-open:hover:not(:disabled),
.radio-request-close:hover {
    border-color: var(--radio-lime);
    background: #ffffff18;
    transform: translateY(-1px);
}

.radio-request-open:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.radio-request-dialog {
    width: min(100% - 2rem, 540px);
    max-width: 540px;
    max-height: min(90vh, 780px);
    padding: 0;
    overflow: auto;
    border: 1px solid #ffffff26;
    border-radius: 16px;
    color: #edf4fc;
    background: linear-gradient(145deg, #0b2035, #071321 75%);
    box-shadow: 0 28px 90px #0009;
}

.radio-request-dialog::backdrop {
    background: #020812bd;
    backdrop-filter: blur(5px);
}

.radio-request-dialog[open] {
    animation: radio-dialog-in .2s ease-out both;
}

.radio-request-dialog[hidden],
.radio-request-dialog [hidden] {
    display: none !important;
}

.radio-request-dialog-inner {
    padding: clamp(1.15rem, 4vw, 2rem);
}

.radio-request-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.radio-request-heading .eyebrow {
    margin: 0 0 .45rem;
    color: var(--radio-lime);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.radio-request-heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.4rem, 5vw, 2rem);
    line-height: 1.1;
}

.radio-request-close {
    min-width: 42px;
    min-height: 42px;
    padding: 0 .7rem;
    font-size: 1.35rem;
}

.radio-request-price {
    margin: 1.2rem 0 .35rem;
    color: #c5d1df;
}

.radio-request-price strong {
    color: var(--radio-lime);
    font-size: 1.1rem;
}

.radio-request-explanation {
    margin: 0 0 1.2rem;
    color: #aebdcd;
    font-size: .84rem;
    line-height: 1.55;
}

.radio-request-unavailable {
    margin: 0 0 1rem;
    padding: .75rem;
    border: 1px solid #ffca7a55;
    border-radius: 7px;
    color: #ffd28c;
    background: #ffca7a0d;
    font-size: .82rem;
    line-height: 1.45;
}

.radio-request-form,
.radio-request-form label,
.radio-request-payment label {
    display: grid;
    gap: .5rem;
}

.radio-request-form {
    gap: 1rem;
}

.radio-request-form [data-radio-request-fields] {
    display: grid;
    gap: 1rem;
}

.radio-request-form label,
.radio-request-payment label {
    color: #dce6f1;
    font-size: .8rem;
    font-weight: 750;
}

.radio-request-form input,
.radio-request-form select,
.radio-request-form textarea,
.radio-request-payment textarea {
    width: 100%;
    min-height: 44px;
    padding: .7rem .8rem;
    border: 1px solid #ffffff28;
    border-radius: 7px;
    color: #f4f7fb;
    background: #ffffff0b;
    font: inherit;
    font-size: .9rem;
}

.radio-request-form select option {
    color: #10273d;
    background: #fff;
}

.radio-request-form textarea,
.radio-request-payment textarea {
    min-height: 96px;
    resize: vertical;
}

.radio-request-form input:focus,
.radio-request-form select:focus,
.radio-request-form textarea:focus,
.radio-request-payment textarea:focus {
    outline: 2px solid #c7f36b;
    outline-offset: 2px;
}

.radio-request-submit {
    width: 100%;
    padding: .75rem 1rem;
    border-color: var(--radio-lime);
    color: #0b1723;
    background: var(--radio-lime);
}

.radio-request-submit:hover:not(:disabled) {
    background: #ddffa0;
    transform: translateY(-1px);
}

.radio-request-submit:disabled {
    opacity: .65;
    cursor: wait;
}

.radio-request-error {
    margin: 0;
    color: #ff9a9e;
    font-size: .85rem;
}

.radio-request-payment {
    display: grid;
    gap: 1rem;
}

.radio-request-payment-status {
    margin: 0;
    color: #dce6f1;
    font-size: .92rem;
    line-height: 1.5;
}

.radio-request-payment-status.is-paid {
    color: var(--radio-lime);
    font-weight: 850;
}

.radio-request-payment img {
    width: min(100%, 260px);
    aspect-ratio: 1;
    justify-self: center;
    padding: .6rem;
    border-radius: 10px;
    background: #fff;
}

.radio-request-payment textarea {
    color: #dce6f1;
    font-size: .78rem;
}

.radio-request-reset {
    padding: .65rem 1rem;
}

@keyframes radio-dialog-in {
    from { opacity: 0; transform: translateY(12px) scale(.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 680px) {
    .radio-request-open {
        min-height: 46px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .radio-request-dialog[open] {
        animation: none;
    }
}

.radio-player {
    isolation: isolate;
}

.radio-player-backdrop {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .16;
    filter: blur(1px) saturate(.65);
    pointer-events: none;
}

.radio-player::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(100deg, #071321ed 0%, #071321d9 48%, #071321a8 100%);
    content: "";
    pointer-events: none;
}

.radio-track-strip {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: .8rem;
    margin-top: .85rem;
}

.radio-track-card {
    position: relative;
    min-height: 135px;
    display: flex;
    align-items: end;
    overflow: hidden;
    padding: 1.25rem 1.4rem;
    border: 1px solid #dce5ed;
    border-radius: 10px;
    background: linear-gradient(120deg, #10263b, #081522);
    box-shadow: 0 12px 30px #0b1b2d10;
}

.radio-track-current {
    background: #0b1b2d;
}

.radio-track-background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .27;
    filter: blur(2px) saturate(.65);
}

.radio-track-card::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #071321ed 0%, #071321b8 66%, #07132165 100%);
    content: "";
}

.radio-track-content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: .38rem;
    min-width: 0;
}

.radio-track-label {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: #c7f36b;
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.radio-track-card strong {
    overflow: hidden;
    color: #fff;
    font-size: clamp(1.05rem, 2.2vw, 1.45rem);
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radio-track-card .radio-track-content > span:last-child {
    color: #b6c5d4;
    font-size: .78rem;
}

.radio-program-card {
    isolation: isolate;
    min-height: 300px !important;
    display: flex;
    align-items: end;
    padding: 1.6rem !important;
    background: linear-gradient(120deg, #0d2338, #071523) !important;
}

.radio-program-next {
    background: linear-gradient(120deg, #0d3b63, #071a2b) !important;
}

.radio-program-backdrop {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .4;
    filter: saturate(.7);
}

.radio-program-card::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, #071321ed 0%, #071321d1 52%, #0713217a 100%);
    content: "";
}

.radio-program-next::before {
    background: linear-gradient(90deg, #071a2bed 0%, #071a2bd1 52%, #071a2b78 100%);
}

.radio-program-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.radio-program-card .eyebrow {
    margin-bottom: .85rem;
}

.radio-program-card h2 {
    max-width: 100%;
    margin-bottom: .4rem;
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.radio-program-description {
    max-width: 580px;
    color: #d2dce7 !important;
    font-size: .8rem;
    line-height: 1.5;
}

.radio-host-profile {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-top: 1rem;
}

.radio-host-profile > img {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 2px solid #ffffff80;
    border-radius: 50%;
    object-fit: cover;
}

.radio-host-profile > span {
    display: grid;
    gap: .15rem;
}

.radio-host-profile small {
    color: #aebdcd;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .12em;
}

.radio-host-profile strong {
    color: #fff;
    font-size: .91rem;
}

.radio-host-socials {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .65rem;
}

.radio-host-socials:empty {
    display: none;
}

.radio-host-socials a,
.radio-history-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .35rem .55rem;
    border: 1px solid #ffffff35;
    border-radius: 4px;
    color: #e7eff7;
    background: #ffffff0c;
    font-size: .63rem;
    font-weight: 850;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease;
}

.radio-host-socials a:hover,
.radio-history-actions a:hover {
    border-color: #c7f36b;
    color: #c7f36b;
    background: #ffffff15;
}

.radio-program-time {
    margin-top: .7rem !important;
}

.radio-history-list {
    gap: .55rem;
}

.radio-history-list li {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: .9rem;
    padding: .65rem .8rem;
    border: 1px solid #ffffffcc;
    border-radius: 8px;
    background: #fff;
}

.radio-history-artwork {
    width: 58px;
    height: 58px;
    border-radius: 5px;
    object-fit: cover;
    background: #dce5ed;
}

.radio-history-copy {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.radio-history-copy strong {
    overflow: hidden;
    color: #142b42;
    font-size: .88rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radio-history-copy span,
.radio-history-copy time {
    color: #718397;
    font-size: .72rem;
}

.radio-history-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.radio-history-actions a {
    border-color: #d8e1e9;
    color: #294158;
    background: #f6f8fa;
}

@media (max-width: 760px) {
    .radio-program-card {
        min-height: 270px !important;
    }
}

@media (max-width: 540px) {
    .radio-track-strip {
        grid-template-columns: 1fr;
    }

    .radio-track-card {
        min-height: 112px;
        padding: 1rem;
    }

    .radio-program-card {
        min-height: 280px !important;
        padding: 1.15rem !important;
    }

    .radio-history-list li {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: .65rem;
        padding: .65rem;
    }

    .radio-history-artwork {
        width: 48px;
        height: 48px;
    }

    .radio-history-actions {
        grid-column: 2;
    }

    .radio-history-actions .radio-history-platform {
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
    }

    .radio-engagement {
        grid-template-columns: 1fr;
        padding: .85rem;
    }

    .radio-engagement-actions {
        justify-content: space-between;
    }

    .radio-reaction-buttons {
        flex: 1 1 100%;
    }

    .radio-reaction-button {
        flex: 1 1 0;
        padding: .48rem;
        font-size: .67rem;
    }

    .radio-share-button {
        width: 100%;
    }

    .radio-listener-avatars {
        gap: .35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .radio-art-frame,
    .radio-art-frame rect,
    .radio-listening-pulse {
        animation: none;
    }
}

.radio-history-section {
    padding: clamp(1.25rem, 4vw, 2.75rem);
    border-color: #ffffff20;
    border-radius: 24px;
    background:
        radial-gradient(ellipse at 0 0, #0877d126, transparent 38%),
        radial-gradient(ellipse at 100% 100%, #c7f36b12, transparent 34%),
        linear-gradient(145deg, #0b1b2d, #071321 72%);
    box-shadow: 0 28px 75px #07132130, inset 0 1px #ffffff0d;
}

.radio-history-section .radio-section-heading {
    align-items: center;
    margin-bottom: 1.75rem;
}

.radio-history-title .eyebrow {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .75rem;
}

.radio-history-equalizer {
    display: inline-flex;
    height: 18px;
    align-items: center;
    gap: 3px;
}

.radio-history-equalizer i {
    display: block;
    width: 3px;
    height: 8px;
    border-radius: 3px;
    background: var(--radio-lime);
}

.radio-history-equalizer i:nth-child(2) { height: 15px; }
.radio-history-equalizer i:nth-child(3) { height: 11px; }
.radio-history-equalizer i:nth-child(4) { height: 6px; }

.radio-history-title .radio-history-intro {
    margin: .8rem 0 0;
    color: #aebdcd;
    font-size: .88rem;
}

.radio-history-summary {
    min-width: 205px;
    padding: .9rem 1.1rem;
    border: 1px solid #ffffff18;
    border-radius: 15px;
    background: linear-gradient(135deg, #ffffff10, #ffffff06);
}

.radio-history-summary-label {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: #b7c7d7;
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .13em;
}

.radio-history-summary-label > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--radio-lime);
    box-shadow: 0 0 12px #c7f36b9c;
}

.radio-history-summary > strong {
    display: block;
    margin-top: .45rem;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.1;
}

.radio-history-summary > strong small {
    color: #b7c7d7;
    font-size: .75rem;
    font-weight: 650;
}

.radio-history-summary > p {
    margin: .3rem 0 0;
    color: #8fa2b6;
    font-size: .68rem;
}

.radio-history-list {
    counter-reset: radio-history;
    gap: .7rem;
}

.radio-history-section .radio-history-list li.radio-history-track {
    display: grid;
    grid-template-columns: 30px 68px minmax(0, 1fr) auto;
    gap: .9rem;
    min-width: 0;
    padding: .75rem 1rem;
    border: 1px solid #ffffff12;
    border-radius: 15px;
    background: linear-gradient(105deg, #ffffff0c, #ffffff05);
    box-shadow: inset 0 1px #ffffff08;
}

.radio-history-section .radio-history-list li.radio-history-track::before {
    counter-increment: radio-history;
    content: counter(radio-history, decimal-leading-zero);
    color: #8296aa;
    font-size: .65rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.radio-history-section .radio-history-list li.radio-history-track.is-latest {
    border-color: #c7f36b40;
    background: linear-gradient(100deg, #c7f36b14, #ffffff08 55%);
}

.radio-history-section .radio-history-artwork {
    width: 68px;
    height: 68px;
    border-radius: 11px;
    object-fit: cover;
}

.radio-history-section .radio-history-copy {
    gap: .18rem;
}

.radio-history-section .radio-history-copy .radio-history-track-label {
    width: fit-content;
    margin-bottom: .1rem;
    padding: .17rem .4rem;
    border: 1px solid #ffffff16;
    border-radius: 999px;
    color: #aebdcd;
    background: #ffffff09;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.radio-history-section .is-latest .radio-history-track-label {
    border-color: #c7f36b35;
    color: var(--radio-lime);
    background: #c7f36b12;
}

.radio-history-section .radio-history-copy strong {
    font-size: .95rem;
}

.radio-history-section .radio-history-copy span:not(.radio-history-track-label) {
    color: #bdcad8;
    font-size: .76rem;
}

.radio-history-section .radio-history-copy time {
    margin-top: .15rem;
    color: #8296aa;
    font-size: .66rem;
}

.radio-history-section .radio-history-actions {
    align-items: center;
    gap: .45rem;
}

.radio-history-section .radio-history-actions .radio-history-platform {
    display: inline-flex;
    width: auto;
    min-width: 0;
    height: 36px;
    min-height: 36px;
    gap: .4rem;
    padding: 0 .65rem;
    border: 1px solid #ffffff17;
    border-radius: 999px;
    color: #dce7f2;
    background: #07132185;
    font-size: .65rem;
    font-weight: 800;
    text-decoration: none;
}

.radio-history-section .radio-history-actions .radio-history-platform:hover {
    border-color: #ffffff50;
    color: #fff;
    background: #ffffff13;
}

.radio-history-section .radio-history-platform svg {
    width: 18px;
    height: 18px;
}

.radio-history-section .radio-history-empty {
    padding: 1.5rem !important;
    border-radius: 14px;
    line-height: 1.6;
}

@media (max-width: 680px) {
    .radio-history-section .radio-section-heading {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .radio-history-summary {
        width: 100%;
        min-width: 0;
        padding: .75rem .9rem;
    }

    .radio-history-summary > strong {
        display: inline-block;
        margin: .35rem .35rem 0 0;
    }

    .radio-history-summary > p {
        display: inline-block;
    }
}

@media (max-width: 480px) {
    .radio-history-section .radio-history-list li.radio-history-track {
        grid-template-columns: 22px 54px minmax(0, 1fr);
        gap: .55rem;
        padding: .65rem;
    }

    .radio-history-section .radio-history-artwork {
        width: 54px;
        height: 54px;
    }

    .radio-history-section .radio-history-copy strong {
        font-size: .82rem;
    }

    .radio-history-section .radio-history-actions {
        grid-column: 3;
        margin-top: -.15rem;
    }

    .radio-history-section .radio-history-actions .radio-history-platform {
        height: 32px;
        min-height: 32px;
        padding: 0 .55rem;
        font-size: .61rem;
    }
}
