:root{--ink:#102a59;--red:#ed0630;--muted:#65748d;--paper:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;padding-bottom:100px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #558af5;outline-offset:5px}.wrap{width:min(1240px,90%);margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0}.logo{display:block;position:relative;overflow:hidden;width:220px;height:70px;flex-shrink:0}.logo img{position:absolute;width:270px;max-width:none;left:-25px;top:-43px;mix-blend-mode:multiply}nav{display:flex;gap:30px;font-size:15px;font-weight:600}.red{background:var(--red);color:white;border:0;border-radius:30px;padding:14px 24px;font-weight:700}.big{padding:19px 28px;font-size:17px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;min-height:570px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.3px;line-height:1.6;color:var(--muted)}h1{font-size:clamp(40px,5.5vw,76px);letter-spacing:-3px;line-height:1.02;margin:25px 0}h1 span{color:var(--red)}.lead{font-size:19px;line-height:1.6;color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;margin-top:30px}.actions a{font-size:14px;border-bottom:1px solid #97a4ba;padding-bottom:5px}.caption{font-size:12px;color:var(--muted);margin-top:25px}.city{height:530px;overflow:hidden;position:relative;align-self:end}.city img{width:100%;position:absolute;bottom:-10%;mix-blend-mode:multiply}.live{border-radius:16px;background:var(--ink);color:white;display:flex;align-items:center;gap:35px;padding:25px 35px;margin-top:25px}.live h2{margin:0;font-size:30px}.live p{margin:5px 0;color:#ccd6e7}.live .eyebrow{font-size:10px;color:#a7bedf}.live-note{margin-left:auto;font-size:12px;letter-spacing:1.5px}.dot{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:8px}.play-circle{border:0;border-radius:50%;background:var(--red);color:white;width:55px;height:55px;font-size:22px;flex-shrink:0}.programs,.archive{padding:75px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h2{font-size:clamp(28px,3.3vw,44px);letter-spacing:-1.2px;line-height:1.1;margin:10px 0 20px}.section-intro{color:var(--muted);font-size:15px}.carousel-controls{display:flex;gap:8px}.carousel-controls button,.dots button{background:white;border:1px solid #dce1e8;color:var(--ink);border-radius:50%;width:42px;height:42px}.carousel{overflow:hidden;touch-action:pan-y}.track{display:flex;gap:24px;transition:transform .45s ease}.card{flex:0 0 calc((100% - 48px)/3);min-width:0;border:0;background:none;padding:0;text-align:left;color:var(--ink)}.card img{width:100%;display:block;border-radius:12px;aspect-ratio:3/2;object-fit:cover}.card h3{font-size:18px;margin:17px 0 7px;line-height:1.3}.card p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.card:hover img{filter:brightness(.96)}.dots{display:flex;justify-content:center;gap:9px;margin-top:28px}.dots button{width:8px;height:8px;padding:0;border:0;background:#ccd4e1}.dots button.active{background:var(--red);width:26px;border-radius:8px}.video{background:#edf1f7;border-radius:18px;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.video p{color:var(--muted);line-height:1.6}.video-placeholder{text-align:center;padding:30px;border:1px solid #d0d9e8;border-radius:12px;background:#f9fafc}.video-icon{font-size:50px;color:var(--red)}.video-placeholder h3{margin:8px 0}.video-placeholder p{font-size:13px}.archive-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.archive-item{display:flex;justify-content:space-between;gap:20px;align-items:center;text-align:left;padding:21px 0;border:0;border-bottom:1px solid #dfe4eb;background:none;font-size:16px;color:var(--ink)}.archive-item span{color:var(--red)}.footer{border-top:1px solid #dfe4eb;padding:32px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px}.footer span{color:var(--muted)}.player{position:fixed;bottom:0;left:0;right:0;z-index:5;background:#102a59f5;color:white;box-shadow:0 -3px 20px #102a5910;backdrop-filter:blur(10px)}.player-inner{display:flex;align-items:center;gap:20px;min-height:88px}.player-label{display:flex;flex-direction:column;gap:7px;max-width:430px}.player-label strong{font-size:20px}.player-label span{font-size:12px;color:#c3cee0}.volume{display:flex;gap:15px;margin-left:auto;font-size:12px;align-items:center}.volume input{width:100px;accent-color:var(--red)}.stream-link{font-size:12px;color:#c3cee0}dialog{border:0;border-radius:18px;padding:0;width:min(760px,92vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#061631bd;backdrop-filter:blur(4px)}dialog>img{display:block;width:100%;max-height:390px;object-fit:cover}.dialog-body{padding:28px}.dialog-body h2{font-size:30px}.close{position:absolute;top:12px;right:12px;background:white;border:0;border-radius:50%;width:40px;height:40px;font-size:28px;color:var(--ink)}.empty{background:#f0f3f8;padding:20px;border-radius:12px;margin:20px 0}.empty h3{margin:0 0 8px}.empty p{margin:0;font-size:14px;color:var(--muted)}@media(max-width:900px){nav{gap:15px}.logo{width:180px}.hero{min-height:470px}.city{height:420px}.actions{flex-wrap:wrap}.card{flex-basis:calc((100% - 24px)/2)}.volume{display:none}.stream-link{margin-left:auto}.video{gap:25px;padding:30px}}@media(max-width:600px){body{padding-bottom:110px}.header{flex-wrap:wrap;padding:17px 0;gap:15px}.header nav{order:3;width:100%;justify-content:space-between;font-size:14px}.header .red{font-size:13px;padding:12px 18px}.logo{height:60px}.hero{grid-template-columns:1fr;gap:0}.hero-copy{padding-top:25px}h1{font-size:54px;letter-spacing:-2px}.lead{font-size:17px}.city{height:320px;width:90%;margin:0 auto}.city img{bottom:-13%}.live{padding:22px;gap:20px}.live-note{display:none}.live .play-circle{margin-left:auto}.live p{font-size:12px}.programs,.archive{padding:50px 0}.card{flex-basis:100%}.section-heading h2{font-size:31px}.carousel-controls{gap:5px}.carousel-controls button{width:34px;height:34px}.video{grid-template-columns:1fr;padding:25px;gap:20px}.archive-list{grid-template-columns:1fr}.footer{flex-wrap:wrap;line-height:1.5}.player-inner{gap:12px;min-height:92px}.player-label{max-width:calc(100% - 65px)}.player-label span{line-height:1.4}.stream-link{display:none}.player .play-circle{width:46px;height:46px}.dialog-body{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track{transition:none}}

/* Main station slogan and directional hover feedback. */
.hero-copy{padding:25px 0 30px}.hero h1{font-size:clamp(40px,5vw,68px);margin:10px 0 24px}.hero h1 .heart-slogan{display:block;font-size:clamp(23px,2.35vw,31px);line-height:1.25;letter-spacing:-.7px;font-weight:500;color:var(--ink);margin-top:22px}.heart-slogan strong{font-weight:800;color:var(--red)}.hero .lead{font-size:clamp(15px,1.45vw,19px);line-height:1.65;max-width:480px;margin:0;padding-left:16px;border-left:3px solid var(--red)}.carousel{position:relative}.carousel[data-edge]::after{position:absolute;top:15px;pointer-events:none;background:#102a59e8;color:white;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:20px;box-shadow:0 3px 12px #0002}.carousel[data-edge="right"]::after{content:"→";right:10px}.carousel[data-edge="left"]::after{content:"←";left:10px}@media(max-width:600px){.hero h1{font-size:49px}.hero h1 .heart-slogan{font-size:25px;margin-top:18px}.hero-copy{padding-top:25px}.hero .actions{margin-top:24px}}

/* Broadcast-first hero: original vector architecture and a vintage television. */
.hero.hero-broadcast{display:block;min-height:0;padding-top:8px}.hero-broadcast .hero-copy{text-align:center;padding:14px 0 28px}.hero-broadcast h1{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;font-size:clamp(23px,2.7vw,35px);line-height:1.4;letter-spacing:-.6px;margin:4px 0 17px}.hero-broadcast h1 span{display:block;color:var(--ink)}.hero-broadcast h1 strong{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-size:.95em;letter-spacing:-1.2px;color:var(--red);font-weight:800}.hero-broadcast .lead{border:0;padding:0;max-width:none;font-size:16px;letter-spacing:.15px;margin:0 auto;color:#718096}.broadcast-stage{display:grid;grid-template-columns:36% 64%;align-items:end;gap:0;position:relative}.city.city-arranged{height:420px;align-self:end;overflow:visible;width:100%;margin:0;display:flex;align-items:end}.city-arranged img{position:static;width:100%;height:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:normal}.tv-area{padding-left:12px;position:relative;z-index:1;scroll-margin-top:30px}.television{display:flex;gap:17px;align-items:stretch;padding:20px 18px 20px 22px;border-radius:28px;background:linear-gradient(125deg,#624331,#3e2d24 55%,#74503b);box-shadow:inset 0 0 0 2px #906c50,inset 0 0 0 5px #382b24,0 17px 28px #37291b20;position:relative}.television:after{content:"";position:absolute;bottom:-10px;left:9%;right:9%;height:12px;background:linear-gradient(90deg,#302723 0 8%,transparent 8% 92%,#302723 92%);z-index:-1}.tv-screen{background:#10131a;border:9px solid #252a2d;border-radius:21px;overflow:hidden;aspect-ratio:16/10;width:100%;box-shadow:0 0 0 2px #b39a75,inset 0 0 25px #000}.tv-screen iframe{display:block;width:100%;height:100%;border:0;background:#10131a}.tv-console{display:flex;align-items:center;flex-direction:column;width:58px;flex-shrink:0;gap:18px;padding:9px 0;color:#e5d5b7}.tv-brand{font-size:10px;letter-spacing:.7px;font-weight:bold}.tv-brand span{color:#eebb8a}.dial{width:43px;height:43px;display:block;border-radius:50%;background:linear-gradient(110deg,#d7c8a5,#8a795e);border:4px solid #2c2823;box-shadow:0 2px 5px #0008;position:relative}.dial:after{content:"";position:absolute;left:15px;top:3px;width:3px;height:24px;background:#383630;transform:rotate(30deg)}.dial.small{transform:scale(.8)}.speaker{width:42px;flex:1;min-height:55px;background:repeating-linear-gradient(0deg,#2e2722 0 2px,transparent 2px 5px);border-radius:4px}.tv-light{width:6px;height:6px;background:#d9ac6c;border-radius:50%;box-shadow:0 0 6px #d9ac6c}.tv-caption{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#7d766b;padding:23px 14px 0;letter-spacing:.3px}.hero-listen{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px 0 10px}.hero-listen span{font-size:13px;color:var(--muted)}.hero-broadcast+.live{margin-top:32px}.hero-listen .big{font-size:15px;padding:15px 25px}@media(max-width:900px){.city.city-arranged{height:340px}.television{gap:12px;padding:17px}.tv-console{width:42px}.tv-brand{font-size:8px}.tv-screen{border-width:7px}.tv-console{gap:10px}.hero-broadcast h1{font-size:28px}}@media(max-width:600px){.hero-broadcast .hero-copy{padding:18px 0 22px}.hero-broadcast h1{font-size:23px;letter-spacing:-.5px;line-height:1.35}.slogan-first{margin-bottom:7px}.hero-broadcast .lead{font-size:14px;max-width:300px}.broadcast-stage{display:flex;flex-direction:column}.city.city-arranged{height:225px;width:85%;align-self:center;margin:0 0 -22px;z-index:0}.tv-area{width:100%;padding:0}.television{padding:13px;gap:10px;border-radius:21px}.tv-screen{border-width:5px;border-radius:14px}.tv-console{width:32px;gap:8px;padding:2px 0}.tv-brand{font-size:6px}.dial{width:29px;height:29px;border-width:3px}.dial:after{left:10px;top:1px;height:18px;width:2px}.speaker{width:28px;min-height:24px}.tv-caption{font-size:10px;padding-top:19px}.hero-listen{flex-direction:column;gap:10px;margin-top:22px}}


@media(min-width:901px){.header{padding:16px 0}.hero.hero-broadcast{padding-top:0}.hero-broadcast .hero-copy{padding:6px 0 22px}.hero-broadcast h1{font-size:32px;line-height:1.35;margin:0 0 14px}.broadcast-stage{grid-template-columns:39% 61%}.city.city-arranged{height:345px}.tv-screen{aspect-ratio:16/9}.tv-caption{padding-top:18px}.hero-listen{margin-top:18px}}


/* Requested cleanup: volume in main radio strip, contact information below. */
.live-status{display:block;font-size:11px;color:#c3cee0;line-height:1.5;margin-top:7px}.live .volume{display:flex;margin-left:auto}.live .live-note{margin-left:0}.site-details .player-inner{justify-content:space-between;gap:24px}.store-links{display:flex;gap:10px}.store-badge{display:inline-block;border:1px solid #6e81a3;border-radius:7px;padding:10px 15px;font-size:13px;white-space:nowrap}.facebook-group{font-size:13px}.site-details address{font-style:normal;font-size:12px;line-height:1.6;color:#d5deed}@media(max-width:900px){.site-details .player-inner{gap:14px}.store-badge{padding:8px 10px}.site-details address{font-size:11px}}@media(max-width:600px){body{padding-bottom:155px}.site-details .player-inner{flex-wrap:wrap;padding:13px 0;gap:10px 16px}.store-links{width:100%}.site-details address{font-size:10px}.facebook-group{font-size:11px}.live{flex-wrap:wrap}.live .volume{width:100%;margin-left:0;justify-content:space-between}.live .volume input{width:55%}}


/* Requested slogan ribbon and menu labels only. */
.slogan-ribbon{height:28px;background:var(--ink);color:#fff;overflow:hidden;position:relative}.ribbon-track{display:flex;width:max-content;animation:radio-ribbon 24s linear infinite;will-change:transform}.ribbon-copy{flex-shrink:0;min-width:100vw;box-sizing:border-box;padding:0 70px;font-size:22px;font-weight:500;line-height:28px;white-space:nowrap;letter-spacing:.1px}.ribbon-copy strong{color:var(--red);font-weight:800}.ribbon-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}nav a[aria-disabled="true"]{cursor:default}@keyframes radio-ribbon{to{transform:translateX(-50%)}}@media(max-width:600px){.slogan-ribbon{height:25px}.ribbon-copy{font-size:19px;line-height:25px;padding:0 45px}.header nav{gap:10px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.ribbon-track{animation-duration:60s}}


/* Ribbon-only revision: condensed caps, continuous text, 30% taller. */
.slogan-ribbon{height:36.4px}.ribbon-track{animation-duration:60s}.ribbon-copy{min-width:0;padding:0;display:flex;font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;font-stretch:condensed;font-size:24px;font-weight:700;line-height:36.4px;letter-spacing:0;text-transform:uppercase}.ribbon-phrase{display:block;flex-shrink:0;padding-right:14px}.ribbon-copy strong{font-family:inherit;font-weight:700}@media(max-width:600px){.slogan-ribbon{height:32.5px}.ribbon-copy{padding:0;font-size:22px;line-height:32.5px}}@media(prefers-reduced-motion:reduce){.ribbon-track{animation-duration:120s}}


/* Ribbon only: supplied LIVE separator and a visual upward shift. */
.slogan-ribbon{transform:translateY(-40%)}.ribbon-phrase{display:flex;align-items:center;gap:0}.ribbon-phrase strong{margin-left:.22em;margin-right:.22em}.ribbon-live{display:inline-block;position:relative;overflow:hidden;border-radius:50%;width:29px;height:29px;margin:0 3px 0 14px;flex:0 0 29px}.ribbon-live img{position:absolute;width:35px;height:35px;max-width:none;left:-3px;top:-3px}@media(max-width:600px){.ribbon-live{width:26px;height:26px;flex-basis:26px}.ribbon-live img{width:31.4px;height:31.4px;left:-2.7px;top:-2.7px}}


.header-actions{display:flex;align-items:stretch;gap:12px;flex-shrink:0}.admin-entry{display:block;width:46px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid #b69a61;box-shadow:0 0 0 3px #102a5908}.admin-entry img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.18)}.admin-entry:hover{box-shadow:0 0 0 3px #b69a6130}

.header-actions{height:48px}.admin-entry{width:48px;height:48px;flex:0 0 48px}.admin-entry img{display:block;object-position:50% 48%;transform:scale(1.35)}

.archive-episode{padding-bottom:25px;margin-bottom:20px;border-bottom:1px solid #d7deea}.archive-episode:last-child{margin-bottom:0;border-bottom:0}.archive-episode iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin:16px 0;border-radius:6px}.archive-episode h3,.archive-episode p{overflow-wrap:anywhere}.archive-episode a{font-size:12px}
/* Requested city cards, television position, and non-sticky contact footer only. */
body{padding-bottom:0}
.player.site-details{position:static;inset:auto}
.hero-broadcast .tv-area{transform:translate(18px,-18px)}
.television:after{z-index:0;bottom:-12px;height:14px}
.city-stories-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.city-story-image{width:100%;aspect-ratio:3/1;background-image:url('assets/city-stories.png');background-size:200% auto;background-repeat:no-repeat;border-radius:12px}
.city-story-events{background-position:left center}.city-story-voices{background-position:right center}
.city-story h3{font-size:18px;line-height:1.3;margin:17px 0 7px}
.city-story p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
@media(max-width:600px){.hero-broadcast .tv-area{transform:translate(6px,-14px)}.city-stories-grid{grid-template-columns:1fr;gap:24px}}
/* Requested panoramic city background and hero alignment only. */
:root{--paper:#f4efe6}
.hero.hero-broadcast{position:relative;width:100%;max-width:none;height:max(510px,calc(100svh - 210px));padding:0;isolation:isolate}
.hero-broadcast .broadcast-stage{position:relative;display:block;height:100%;width:100%}
.hero-broadcast .city.city-arranged{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.45;filter:saturate(.65);mask-image:linear-gradient(to bottom,#0005,#000b 42%,#000 78%)}
.hero-broadcast .city-arranged img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;mix-blend-mode:multiply}
.hero-broadcast .tv-area{position:absolute;right:4%;bottom:40px;width:48%;padding:0;transform:none;z-index:1}
.television:after{display:none}
.hero-broadcast+.live{margin-top:0;position:relative;z-index:2}
@media(min-width:1600px){.hero-broadcast .tv-area{width:46%;max-width:780px}}
@media(max-width:900px){.hero-broadcast .tv-area{width:60%;right:4%;bottom:42px}}
@media(max-width:600px){.hero.hero-broadcast{height:max(420px,calc(100svh - 260px))}.hero-broadcast .tv-area{width:90%;right:5%;bottom:35px;transform:none}.hero-broadcast .city-arranged img{width:180%;max-width:none;left:-40%}.hero-broadcast .city.city-arranged{opacity:.36}}
/* Only requested: hide skyline and vertically balance TV between the two strips. */
.hero-broadcast .city.city-arranged{display:none}
.hero.hero-broadcast{height:auto;min-height:0}
.hero-broadcast .broadcast-stage{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:auto;padding:22px 0 36.4px}
.hero-broadcast .tv-area{position:relative;inset:auto;margin-right:4%;transform:none}
@media(max-width:600px){.hero-broadcast .broadcast-stage{padding:23.4px 0 36.4px}.hero-broadcast .tv-area{inset:auto;margin-right:5%;transform:none}}
/* First tower only: native intact vector, faint watermark anchored to logo and radio. */
.hero-broadcast .single-spire{position:absolute;display:block;max-width:none;width:auto;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}

.hero-broadcast .gold-tower{position:absolute;display:block;max-width:none;width:auto;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}
.hero-broadcast .blue-tower{position:absolute;display:block;max-width:none;width:auto;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}
.hero-broadcast .red-city-hall{position:absolute;display:block;max-width:none;width:auto;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}
.hero-broadcast .green-building-six{position:absolute;display:block;max-width:none;width:auto;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}
.hero-broadcast .olive-tower{position:absolute;display:block;max-width:none;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}
.hero-broadcast .green-building-five{position:absolute;display:block;max-width:none;width:auto;pointer-events:none;z-index:0;opacity:.2375;filter:saturate(.55);transform:translateX(-50%)}

/* Radio and programmes form the second screen; other sections stay unchanged. */
html{scroll-snap-type:y proximity;scroll-padding-top:0}
#live{scroll-snap-align:start;scroll-margin-top:12px}
#programs{padding:24px 0 20px}
#programs .eyebrow{margin:0 0 6px}
#programs h2{margin:0 0 12px}
#programs .section-intro{margin:0 0 18px}
#programs .card img{max-height:max(140px,calc(100svh - 365px));object-fit:contain}
#programs .card h3{margin-top:10px}
#programs .dots{margin-top:16px}
@media(max-width:600px){#programs .card img{max-height:max(140px,calc(100svh - 420px))}}

/* Clear section stops and independent, uncropped media slots. */
html{scroll-snap-type:y mandatory}
.header,#live,#city,#archive{scroll-snap-align:start;scroll-snap-stop:always}
.header{scroll-margin-top:0}
#city,#archive{scroll-margin-top:20px}
#archive{min-height:calc(100svh - 20px);padding-top:24px}
#city>.section-heading{justify-content:center;text-align:center}
.media-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px;align-items:start}
.media-slot{min-width:0;overflow:hidden;border-radius:12px;background:#102a5906}
.media-slot.is-empty{min-height:180px;aspect-ratio:16/9;border:1px solid #102a5915}
.media-slot img,.media-slot video{display:block;width:100%;height:auto;object-fit:contain}
.media-slot audio{display:block;width:100%;margin:24px 0}
.media-slot iframe{display:block;width:100%;border:0}
.media-slot>a{display:block;text-align:center;padding:18px;overflow-wrap:anywhere;font-size:13px}
@media(max-width:900px){.media-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.media-slots{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:y proximity}}

/* Equal media frames; keep the original picture visible inside each frame. */
#media-slots .media-slot{position:relative;aspect-ratio:4/3;min-height:0;display:flex;align-items:center;justify-content:center;border:1px solid #102a5915;background:#e9e5dd}
#media-slots .media-slot>img,#media-slots .media-slot>video,#media-slots .media-slot>iframe{width:100%;height:100%;min-height:0;object-fit:contain}
#media-slots .media-slot>audio{width:calc(100% - 24px);margin:0}
/* Programme cards use the space freed by the removed hint and fixed footer. */
.player.site-details{position:static;inset:auto}
body{padding-bottom:0}
html{scroll-padding-bottom:0}
#programs .card img{max-height:max(140px,calc(100svh - 330px))}
@media(max-width:600px){#programs .card img{max-height:max(140px,calc(100svh - 385px))}}

#media-slots .media-frame{flex:none;overflow:hidden;max-width:100%}
#media-slots .media-frame iframe{display:block;width:100%;height:100%;border:0}

/* Approved diagonal lettering beside the television. */
.hero-motto{position:absolute;left:3%;top:calc(44% - 15px);transform:translateY(-50%);width:43%;height:auto;z-index:1;pointer-events:none}
@media(min-width:601px) and (max-width:900px){.hero-motto{left:2%;width:32%}}
@media(max-width:600px){.hero-broadcast .broadcast-stage{padding-top:calc(31.3vw + 35px)}.hero-motto{left:5%;top:10px;width:90%;transform:none}}

/* Local radio controls preview */
.social-row{display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;left:3%;bottom:36.4px;width:43%;margin:0;z-index:3}
.social-pill{display:flex;align-items:center;position:relative;flex:1 1 0;min-width:0;height:42px;border-radius:24px;color:#fff;box-shadow:0 4px 9px #102a5918;text-decoration:none;overflow:hidden}
.social-instagram{background:linear-gradient(100deg,#c83da6 0%,#ed7795 48%,#ffd758 100%)}
.social-youtube{background:linear-gradient(100deg,#f20d44 0%,#ff5468 55%,#ff9c8c 100%)}
.social-facebook{background:linear-gradient(100deg,#388add 0%,#15b9ec 58%,#00d8e5 100%)}
.social-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#ffffff15;border:2px solid #202020;box-shadow:2px 0 0 #202020}
.social-icon svg{width:28px;height:28px;display:block}
.social-name{flex:1;text-align:center;font:600 10px Arial,Helvetica,sans-serif;letter-spacing:1.4px;padding:0 6px}
a.social-pill:hover{text-decoration:none;filter:brightness(1.06)}

.live{gap:20px;flex-wrap:wrap;padding:20px 27px;margin-top:14px;box-shadow:0 14px 34px #102a5924}
.live-copy{min-width:235px;flex:1 1 245px}.live-switch{height:68px;min-width:92px;border-radius:15px;border:2px solid #ff5670;background:#ed0630;color:#fff;font-weight:900;font-size:22px;letter-spacing:1px;box-shadow:0 0 0 4px #ffffff19,0 0 8px #ed063075;transition:box-shadow .2s,background .2s,transform .2s}
.live-switch:hover{transform:translateY(-2px)}.live-switch.is-on{background:#ff1e45;box-shadow:0 0 0 4px #ffffff35,0 0 20px #ff274d,0 0 36px #ff274d88;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{50%{box-shadow:0 0 0 4px #ffffff35,0 0 10px #ff274d,0 0 20px #ff274d55}}
.signal-meter{width:220px;flex:0 1 220px;background:#081a36;border:1px solid #446185;border-radius:10px;padding:10px 12px;box-shadow:inset 0 2px 8px #0008}.meter-label{display:block;font:700 9px Arial;letter-spacing:1.4px;color:#9eb4d4;margin-bottom:7px}.meter-channels{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;height:23px;align-items:end}.meter-channels span{height:18%;border-radius:2px 2px 0 0;background:#3b5577}.signal-meter.is-on .meter-channels span{background:#53d66d;animation:meter-bounce .63s ease-in-out infinite alternate}.signal-meter.is-on .meter-channels span:nth-child(2){animation-delay:.18s}.signal-meter.is-on .meter-channels span:nth-child(3){animation-delay:.35s}.signal-meter.is-on .meter-channels span:nth-child(4){animation-delay:.1s}@keyframes meter-bounce{to{height:100%;background:#e5c241}}
.meter-spectrum{height:8px;margin-top:6px;border-radius:2px;background:linear-gradient(90deg,#27ca65 0 35%,#b7e139 35% 58%,#ffd032 58% 77%,#f47825 77% 90%,#ed2949 90%);opacity:.4}.signal-meter.is-on .meter-spectrum{opacity:1}
.live-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.live .volume{display:flex;align-items:center;gap:9px;margin:0;white-space:nowrap;font-size:12px}.live .volume input{width:90px}.output-button,.live select{border:1px solid #7e9ac5;background:#193b70;color:white;border-radius:8px;padding:10px 12px;font-size:12px;max-width:220px}.live select{max-width:180px}.live select[hidden]{display:none}
@media(max-width:800px){.live{justify-content:center}.live-copy{flex-basis:100%;text-align:center}.live-controls{justify-content:center}.signal-meter{flex-basis:220px}}
@media(min-width:601px) and (max-width:900px){.social-row{left:2%;width:32%;gap:6px}.social-pill{height:32px}.social-icon{flex-basis:28px;height:32px}.social-icon svg{width:21px;height:21px}.social-name{font-size:7px;letter-spacing:.2px;padding:0 3px}}
@media(max-width:600px){.social-row{left:5%;top:calc(31.3vw - 3px);bottom:auto;width:90%;gap:7px}.social-pill{height:34px}.social-icon{flex-basis:32px;height:34px}.social-icon svg{width:24px;height:24px}.social-name{font-size:8px;letter-spacing:.5px;padding:0 4px}.live{padding:19px 16px}.live-switch{height:56px;min-width:82px;font-size:19px}.signal-meter{flex:1 1 175px}.live .volume{width:auto;justify-content:initial}.live .volume input{width:90px}}

/* Original Freepik/Magnific vector buttons; keep approved row placement. */
.social-row .social-pill{background:none;box-shadow:none;border-radius:0;overflow:visible;align-items:flex-end}
.social-original{display:block;width:100%;height:100%;object-fit:contain;object-position:left bottom}
/* Align the complete social group with the left edge of the blue .wrap strip. */
.social-row{left:max(5%,calc((100% - 1240px)/2))}

/* Requested radio-strip layout only. */
#live{position:relative;display:block;min-height:144px;padding:20px 27px}
#live .live-copy{width:205px;min-width:0;text-align:left}
#live .live-copy .eyebrow{width:100%;margin:0 0 4px;text-align:justify;text-align-last:justify;white-space:nowrap}
#live .live-copy h2{width:100%;margin:0 0 9px;font-size:50px;letter-spacing:2px;text-align:left}
#live .live-copy .volume{display:flex;width:100%;margin:0;gap:10px;font-size:12px;justify-content:space-between}
#live .volume input{display:block;flex:1;min-width:0;width:auto;margin:0}
#live .live-status[hidden]{display:none}
#live .live-switch{position:absolute;left:var(--button-left,32%);top:50%;transform:translateY(-50%);width:80px;min-width:80px;height:80px;padding:0;border:0;border-radius:50%;overflow:hidden;background:transparent;box-shadow:none;animation:none}
#live .live-switch img{display:block;position:absolute;width:121%;height:121%;max-width:none;left:-10.5%;top:-10.5%;object-fit:cover;filter:brightness(.76);transition:filter .2s}
#live .live-switch:hover{transform:translateY(-50%)}
#live .live-switch.is-on{background:transparent;box-shadow:0 0 18px #ff274d80}
#live .live-switch.is-on img{filter:brightness(1.13)}
#live .signal-meter{position:absolute;left:var(--meter-left,48%);top:50%;transform:translateY(-50%);width:220px;height:68px;padding:10px 12px}
#live .meter-channels{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);gap:4px;width:100%;height:100%;align-items:stretch}
#live .meter-channels span{position:relative;display:block;width:100%;height:auto;border-radius:1px;background:linear-gradient(90deg,#27ca65 0 40%,#b7e139 40% 60%,#ffd032 60% 78%,#f47825 78% 90%,#ed2949 90%);animation:none;overflow:hidden}
#live .meter-channels span:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 5px,#081a36 5px 7px)}
#live .meter-channels span:after{content:"";position:absolute;inset:0;background:#081a36;opacity:.8;transform:translateX(0)}
#live .signal-meter.is-on .meter-channels span:after{opacity:.95;animation:horizontal-level .8s ease-in-out infinite alternate}
#live .signal-meter.is-on .meter-channels span:nth-child(2):after{animation-delay:-.35s;animation-duration:.63s}
#live .signal-meter.is-on .meter-channels span:nth-child(3):after{animation-delay:-.7s;animation-duration:.97s}
#live .signal-meter.is-on .meter-channels span:nth-child(4):after{animation-delay:-.2s;animation-duration:.71s}
@keyframes horizontal-level{from{transform:translateX(30%)}to{transform:translateX(96%)}}
#live .live-controls{position:absolute;right:27px;top:50%;transform:translateY(-50%);height:68px;display:flex;align-items:stretch}
#live .output-button{height:68px;width:160px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#live #audio-output{position:absolute;right:0;top:74px;z-index:5}
@media(max-width:900px){#live{min-height:136px;padding:18px}#live .live-copy{width:170px}#live .live-switch{width:64px;min-width:64px;height:64px}#live .signal-meter{width:145px;height:60px}#live .live-controls{right:18px;height:60px}#live .output-button{width:125px;height:60px;padding:8px}}
@media(max-width:600px){#live{display:grid;grid-template-columns:1fr 80px;gap:20px;min-height:0}#live .live-copy{width:100%;max-width:205px}#live .live-switch{position:relative;left:auto;top:auto;transform:none;justify-self:end;align-self:center}#live .live-switch:hover{transform:none}#live .signal-meter{position:relative;left:auto;top:auto;transform:none;width:100%;height:60px}#live .live-controls{position:relative;right:auto;top:auto;transform:none;justify-self:end}#live .output-button{width:100px;max-width:100px;font-size:11px}}
@media(prefers-reduced-motion:reduce){#live .signal-meter.is-on .meter-channels span:after{animation:none;transform:translateX(65%)}}

/* Real measured sound replaces all decorative level animations. */
#live .signal-meter .meter-channels span:after,#live .signal-meter.is-on .meter-channels span:after{animation:none;opacity:1;transform:translateX(var(--level,0%))}

/* Requested heading, measured meter and current-track layout. */
#live .live-copy{width:285px}
#live .live-copy .eyebrow{text-align:left;text-align-last:left}
#live .live-copy .signal-meter{position:relative;left:auto;top:auto;transform:none;width:100%;height:54px;margin:8px 0 10px;padding:8px 10px}
#live .now-playing{position:absolute;left:calc(var(--button-left,32%) + 105px);right:165px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:18px;min-width:0}
#track-art{width:76px;height:76px;flex:none;object-fit:cover;border-radius:8px;background:white}
#live .track-info{min-width:0;display:grid;gap:7px}
#track-artist{font-size:19px;line-height:1.2;color:white}
#track-title{font-size:15px;line-height:1.3;color:#dce6fa}
#track-artist,#track-title{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#live .output-button{width:112px;max-width:112px;height:68px;padding:0;border:0;border-radius:12px;position:relative;background:#fff;overflow:hidden}
#live .output-button img{position:absolute;width:112px;height:112px;max-width:none;left:0;top:-22px;object-fit:contain}
@media(max-width:1000px){#live .live-copy{width:245px}#live .now-playing{left:calc(var(--button-left,32%) + 82px);right:125px;gap:10px}#track-art{width:54px;height:54px}#track-artist{font-size:15px}#track-title{font-size:12px}#live .output-button{width:90px;max-width:90px}#live .output-button img{left:-11px}}
@media(max-width:700px){#live{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:18px}#live .live-copy{width:100%;max-width:285px}#live .live-copy .eyebrow{white-space:normal}#live .live-switch{position:relative;left:auto;top:auto;transform:none;justify-self:end;align-self:center}#live .now-playing{position:relative;left:auto;right:auto;top:auto;transform:none}#live .live-controls{position:relative;right:auto;top:auto;transform:none;justify-self:end}#live .output-button{width:76px;max-width:76px}#live .output-button img{left:-18px}}
/* Requested edge alignment and inverted Bluetooth palette. */
#live .live-copy .eyebrow{text-align:justify;text-align-last:justify}
#live .now-playing{left:var(--meter-left,48%)}
#live .output-button{background:#102a59}
#live .output-button img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}
@media(max-width:700px){#live .now-playing{left:auto}}
/* Center artwork and titles together in the space between both buttons. */
@media(min-width:701px){#live .now-playing{left:var(--track-left);right:var(--track-right);justify-content:center}}
