:root{--black:#000;--night:#140a26;--plum:#24103d;--line:rgba(255,255,255,.12);--yellow:#FFE01B;--orange:#FF7A1A;--red:#F2243A;--magenta:#C0177F;--violet:#7A22C9;--blue:#2E2BD9;--white:#F7F3FF;--mute:#BDB2D1;--ring:linear-gradient(90deg,var(--blue),var(--violet),var(--red),var(--orange),var(--yellow));--bars:linear-gradient(180deg,var(--magenta),var(--red) 45%,var(--orange));--f-display:"Anton",Impact,"Arial Narrow Bold",sans-serif;--f-body:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;--pad:clamp(1.25rem,4vw,3.5rem);--max:1320px;--ease:cubic-bezier(.2,.7,.1,1);--fs:1rem}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--black);color:var(--white);font-family:var(--f-body);font-size:calc(1.0625rem * var(--fs-scale,1));line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:4px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:1rem;top:-4rem;z-index:999;background:var(--yellow);color:#000;padding:.7rem 1rem;font-weight:700;border-radius:6px;transition:top .2s}.skip:focus{top:1rem}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.section{position:relative;padding-block:clamp(2.25rem,4vw,3.5rem)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.display{font-family:var(--f-display);font-weight:400;line-height:1.06;letter-spacing:.005em;word-spacing:.12em;text-transform:uppercase;margin:0}.h-xl{font-size:clamp(2.6rem,6.2vw,5.8rem)}.h-l{font-size:clamp(2.1rem,4.4vw,4rem)}.h-m{font-size:clamp(1.6rem,2.6vw,2.4rem)}.kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;color:var(--yellow);margin:0 0 1.2rem}.kicker:before{content:"";width:28px;height:2px;background:var(--ring)}.lede{font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--mute);max-width:56ch;margin:1.4rem 0 0}.prose p{max-width:64ch;color:var(--mute);margin:0 0 1.1rem}.prose strong{color:var(--white)}.outline{color:transparent;-webkit-text-stroke:1.5px rgba(247,243,255,.55)}.btn{position:relative;display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.6rem;border-radius:999px;font-weight:700;font-size:1rem;text-decoration:none;border:1.5px solid var(--line);background:transparent;transition:transform .35s var(--ease),background .3s,border-color .3s,color .3s;will-change:transform}.btn:hover{border-color:var(--white)}.btn svg{width:18px;height:18px;flex:none;transition:transform .35s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn--gold{background:var(--yellow);color:#000;border-color:var(--yellow)}.btn--gold:hover{background:#fff;border-color:#fff}.btn-live{position:relative;display:inline-flex;align-items:center;gap:1rem;padding:.55rem 1.6rem .55rem .55rem;border-radius:999px;border:0;background:var(--red);color:#fff;font-weight:800;text-decoration:none;isolation:isolate;transition:transform .35s var(--ease);will-change:transform}.btn-live:before{content:"";position:absolute;inset:-3px;border-radius:inherit;background:var(--ring);z-index:-2;opacity:.9;filter:blur(10px);animation:glow 3.2s ease-in-out infinite}.btn-live:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,var(--red),var(--magenta));z-index:-1}.btn-live__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--red);flex:none}.btn-live__icon svg{width:20px;height:20px;margin-left:3px}.btn-live__txt{display:flex;flex-direction:column;line-height:1.1;text-align:left}.btn-live__txt small{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;opacity:.95}.btn-live__txt span{font-family:var(--f-display);font-weight:400;font-size:1.25rem;letter-spacing:.03em;text-transform:uppercase}.btn-live .eq{display:none;align-items:flex-end;gap:3px;height:18px}.btn-live .eq i{width:3px;background:var(--red);border-radius:2px;animation:eq .9s ease-in-out infinite}.btn-live .eq i:nth-child(2){animation-delay:-.3s}.btn-live .eq i:nth-child(3){animation-delay:-.6s}.btn-live .eq i:nth-child(4){animation-delay:-.15s}.btn-live:hover .btn-live__icon svg,.is-playing .btn-live__icon svg{display:none}.btn-live:hover .eq,.is-playing .btn-live .eq{display:flex}.dot-live{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 #ffffffb3;animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #ffffffb3}70%{box-shadow:0 0 0 9px #fff0}to{box-shadow:0 0 #fff0}}@keyframes glow{0%,to{opacity:.55;transform:scale(.98)}50%{opacity:1;transform:scale(1.04)}}@keyframes eq{0%,to{height:30%}50%{height:100%}}.loader{position:fixed;inset:0;z-index:200;background:#000;display:grid;place-items:center;transition:opacity .5s,visibility .5s}.loader.is-done{opacity:0;visibility:hidden}.loader__stack{text-align:center;display:grid;gap:.4rem}.loader__stack>*{opacity:0;transform:translateY(14px);animation:ldr .45s var(--ease) forwards}.loader__a{font-family:var(--f-display);font-size:clamp(2.4rem,7vw,4.5rem);letter-spacing:.12em;color:var(--yellow)}.loader__b{font-family:var(--f-display);font-size:clamp(3.4rem,11vw,7rem);line-height:.9;background:var(--ring);-webkit-background-clip:text;background-clip:text;color:transparent;animation-delay:.35s!important}.loader__c{font-size:.95rem;letter-spacing:.42em;color:var(--mute);animation-delay:.7s!important}.loader svg{width:min(320px,70vw);height:40px;margin-top:1rem;opacity:1;transform:none;animation:none}.loader path{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 1.2s ease forwards}@keyframes ldr{to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}.hdr{position:fixed;inset:0 0 auto;z-index:80;transition:padding .4s var(--ease)}.hdr__in{display:flex;align-items:center;gap:1.5rem;margin:.9rem auto 0;width:calc(100% - 2*var(--pad) + 2rem);max-width:calc(var(--max) - 2*var(--pad) + 2rem);padding:.7rem .7rem .7rem 1rem;border-radius:999px;border:1px solid transparent;transition:background .4s,border-color .4s,margin .4s var(--ease),padding .4s var(--ease),box-shadow .4s}.hdr.is-scrolled .hdr__in{margin-top:.6rem;padding-block:.45rem;background:#140a269e;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-color:#ffe01b2e;box-shadow:0 0 0 1px #7a22c926,0 18px 40px -20px #f2243a59}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none}.brand img{width:72px;height:72px;transition:width .4s,height .4s}.hdr.is-scrolled .brand img{width:58px;height:58px}.nav{margin-inline:auto}.nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.nav a{position:relative;display:block;padding:.55rem .75rem;font-size:.92rem;font-weight:500;text-decoration:none;color:var(--mute);transition:color .25s}.nav a:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.3rem;height:2px;background:var(--ring);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav a:hover,.nav a[aria-current=page]{color:var(--white)}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.hdr__live{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.2rem;border-radius:999px;border:0;background:var(--red);color:#fff;font-weight:800;font-size:.92rem;text-decoration:none;flex:none;box-shadow:0 0 24px -4px #f2243ab3}.hdr__live:hover{background:#ff3a50}.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#0006;place-items:center}.burger span{display:block;width:20px;height:2px;background:#fff;position:relative;transition:transform .3s}.burger span:before,.burger span:after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff;transition:transform .3s}.burger span:before{top:-6px}.burger span:after{top:6px}.burger[aria-expanded=true] span{background:transparent}.burger[aria-expanded=true] span:before{transform:translateY(6px) rotate(45deg)}.burger[aria-expanded=true] span:after{transform:translateY(-6px) rotate(-45deg)}.mnav{position:fixed;inset:0;z-index:79;background:radial-gradient(120% 70% at 50% 0%,var(--plum),#000 70%);display:flex;flex-direction:column;padding:6.5rem var(--pad) 8rem;overflow-y:auto;clip-path:circle(0% at calc(100% - 3rem) 3rem);visibility:hidden;transition:clip-path .7s var(--ease),visibility 0s .7s}.mnav.is-open{clip-path:circle(150% at calc(100% - 3rem) 3rem);visibility:visible;transition:clip-path .7s var(--ease)}.mnav ol{list-style:none;margin:0;padding:0;counter-reset:fm}.mnav li{border-bottom:1px solid var(--line)}.mnav a{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0;font-family:var(--f-display);font-size:clamp(1.7rem,7.5vw,2.5rem);text-transform:uppercase;text-decoration:none;line-height:1.05}.mnav a small{font-family:var(--f-body);font-size:.8rem;color:var(--mute)}.mnav a[aria-current=page]{color:var(--yellow)}.mnav__foot{margin-top:2rem;display:grid;gap:.4rem;color:var(--mute)}.mnav__foot a{font-family:var(--f-body);font-size:1rem;text-transform:none;padding:0;display:inline}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:radial-gradient(90% 70% at 72% 40%,rgba(122,34,201,.35),transparent 60%),radial-gradient(60% 50% at 85% 85%,rgba(242,36,58,.25),transparent 70%),#000;isolation:isolate}.hero__stage{position:absolute;inset:0;z-index:-1}.hero__stage canvas{display:block;width:100%!important;height:100%!important}.hero__fallback{position:absolute;right:6vw;top:50%;width:min(36vw,58vh,480px);transform:translateY(-55%);opacity:.95;transition:opacity 1s}.hero__fallback img{width:100%;filter:drop-shadow(0 0 60px rgba(242,36,58,.5))}.hero.has-3d .hero__fallback{opacity:0}.hero__beam{position:absolute;top:-20%;left:30%;width:46vw;height:140%;background:linear-gradient(180deg,rgba(255,224,27,.22),rgba(255,122,26,.05) 60%,transparent);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);transform-origin:50% 0;filter:blur(18px);mix-blend-mode:screen;z-index:-1;pointer-events:none;animation:sweep 12s ease-in-out infinite}.hero__beam--2{left:58%;background:linear-gradient(180deg,rgba(192,23,127,.3),rgba(46,43,217,.06) 60%,transparent);animation-duration:15s;animation-delay:-5s}@keyframes sweep{0%,to{transform:rotate(-14deg)}50%{transform:rotate(12deg)}}.hero__scan{position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px)}.hero__shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.35) 45%,transparent 70%),linear-gradient(0deg,#000 2%,transparent 35%)}.hero__copy{position:relative;width:100%;padding-bottom:calc(72px + clamp(1.5rem,5vh,3rem));padding-top:clamp(5.5rem,13vh,7.5rem)}.hero__station{display:flex;align-items:center;gap:1rem;font-size:clamp(.85rem,1.2vw,1rem);font-weight:700;color:var(--yellow);margin:0 0 .6rem;letter-spacing:.02em}.hero__station:after{content:"";height:2px;width:70px;background:var(--ring)}.hero h1{margin:0}.hero h1 .l1{display:block;font-family:var(--f-display);font-size:clamp(1.9rem,min(3.8vw,6vh),3.8rem);line-height:.95;letter-spacing:.02em}.hero h1 .l2{display:block;font-family:var(--f-display);font-size:clamp(5rem,min(15vw,25vh),14rem);line-height:.8;letter-spacing:-.01em;background:radial-gradient(circle at var(--sx,30%) 40%,#fff 0 8%,var(--yellow) 16%,var(--orange) 34%,var(--red) 52%,var(--magenta) 70%,var(--violet) 88%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 50px rgba(242,36,58,.35))}.hero h1 .l2 sup{font-size:.28em;vertical-align:top;position:relative;top:.35em;margin-left:.06em;-webkit-text-fill-color:var(--white);color:var(--white)}.hero h1 .l3{display:block;font-family:var(--f-body);font-weight:300;font-size:clamp(.9rem,min(1.5vw,2.4vh),1.3rem);letter-spacing:.38em;text-transform:uppercase;margin-top:.7rem;color:var(--white)}.hero__lede{max-width:46ch;color:var(--mute);font-size:clamp(.92rem,1.1vw,1.05rem);margin:min(1.1rem,2vh) 0 min(1.5rem,2.8vh)}.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.dial{position:absolute;left:0;right:0;bottom:0;height:72px;border-top:1px solid var(--line);background:linear-gradient(0deg,#000000e6,#0003);overflow:hidden}.dial__scale{position:absolute;inset:0 var(--pad);display:flex;justify-content:space-between;align-items:flex-start;padding-top:14px}.dial__scale span{position:relative;width:1px;height:12px;background:#ffffff4d}.dial__scale span.major{height:22px;background:#ffffffb3}.dial__scale span.major:after{content:attr(data-f);position:absolute;top:26px;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--mute)}.dial__needle{position:absolute;top:0;bottom:0;left:var(--pad);width:2px;background:var(--red);box-shadow:0 0 14px 2px var(--red);transform:translate(var(--nx,0))}.dial__needle:before{content:"105.0";position:absolute;top:8px;left:8px;font-size:.75rem;font-weight:700;color:var(--red);white-space:nowrap}.ticker{position:relative;overflow:hidden;border-block:1px solid var(--line);background:#000;padding:1.1rem 0}.ticker__track{display:flex;width:max-content;animation:tick 48s linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}.ticker__track>span{display:flex;align-items:center;gap:1.4rem;padding-right:1.4rem;font-family:var(--f-display);font-size:clamp(1.2rem,2vw,1.7rem);text-transform:uppercase;white-space:nowrap}.ticker__track em{font-style:normal;font-family:var(--f-body);font-size:.85rem;color:var(--yellow);text-transform:none}.ticker__track i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ring)}@keyframes tick{to{transform:translate(-50%)}}.intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.bigstack{font-family:var(--f-display);text-transform:uppercase;line-height:1;font-size:clamp(2.6rem,6vw,6.8rem);margin:0}.bigstack span{display:block}.bigstack .s1{color:var(--yellow)}.bigstack .s2{color:transparent;-webkit-text-stroke:2px var(--white)}.bigstack .s3{background:var(--ring);-webkit-background-clip:text;background-clip:text;color:transparent}.intro__media{position:relative;margin-top:2.4rem;border-radius:22px;overflow:hidden;aspect-ratio:779/641;max-width:520px}.intro__media img{width:100%;height:100%;object-fit:cover}.intro__media figcaption{position:absolute;left:1rem;bottom:1rem;right:1rem;padding:.8rem 1rem;border-radius:12px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.88rem}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:2.4rem}.facts div{background:#000;padding:1.3rem 1.1rem}.facts b{display:block;font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:1;color:var(--white)}.facts span{font-size:.85rem;color:var(--mute)}.onair{background:radial-gradient(70% 60% at 50% 50%,var(--plum),#000 75%);overflow:hidden}.onair__grid{display:grid;grid-template-columns:1fr minmax(320px,560px) 1fr;gap:2rem;align-items:center}.viz{position:relative;aspect-ratio:1;width:100%}.viz canvas{position:absolute;inset:0;width:100%;height:100%}.viz__core{position:absolute;inset:27%;border-radius:50%;display:grid;place-items:center;align-content:center;gap:.2rem;background:radial-gradient(circle,#1d0d33,#000);border:1px solid rgba(255,224,27,.25);text-align:center}.viz__play{width:clamp(70px,9vw,96px);height:clamp(70px,9vw,96px);border-radius:50%;border:0;background:var(--yellow);color:#000;display:grid;place-items:center;transition:transform .3s var(--ease),background .3s;box-shadow:0 0 50px #ffe01b73}.viz__play:hover{transform:scale(1.07);background:#fff}.viz__play svg{width:34%;height:34%}.viz__play .i-pause,.is-playing .viz__play .i-play{display:none}.is-playing .viz__play .i-pause{display:block}.viz__fm{font-family:var(--f-display);font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1;margin-top:.6rem}.viz__tag{font-size:.68rem;letter-spacing:.3em;color:var(--mute);text-transform:uppercase}.onair__meta h3{margin:0 0 .3rem;font-size:1.05rem}.status{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:999px;background:#f2243a26;border:1px solid rgba(242,36,58,.5);color:#ff8a97;font-weight:700;font-size:.85rem;margin-bottom:1.2rem}.status .dot-live{background:var(--red)}.np{display:flex;gap:1rem;align-items:center;margin-top:1.4rem;padding:1rem;border-radius:16px;background:#ffffff0a;border:1px solid var(--line)}.np img{width:72px;height:72px;border-radius:12px;object-fit:cover;flex:none;background:#000}.np small{display:block;color:var(--mute);font-size:.8rem}.np strong{display:block;line-height:1.3}.sched{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}.sched li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.95rem}.sched time{color:var(--yellow);font-weight:600;font-size:.85rem}.sched li.is-now{color:var(--white)}.sched li.is-now span:after{content:" \2014  on air";color:var(--red);font-weight:700}.tunnel{position:relative;height:100svh;overflow:hidden;background:#000}.tunnel canvas{position:absolute;inset:0;width:100%;height:100%}.tunnel__num{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.tunnel__num span{font-family:var(--f-display);font-size:clamp(8rem,30vw,30rem);line-height:1;background:var(--ring);-webkit-background-clip:text;background-clip:text;color:transparent;will-change:transform,opacity}.tunnel__cap{position:absolute;left:0;right:0;bottom:12%;text-align:center;font-size:.9rem;letter-spacing:.5em;text-transform:uppercase;color:var(--mute)}.guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}.guide__list{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--line)}.guide__list li{border-bottom:1px solid var(--line)}.guide__item{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem 0;background:none;border:0;text-align:left;transition:padding .4s var(--ease),color .3s;color:var(--mute)}.guide__item b{font-family:var(--f-display);font-weight:400;font-size:clamp(1.3rem,2.1vw,1.9rem);text-transform:uppercase;line-height:1;transition:color .3s}.guide__item small{font-size:.82rem;text-align:right}.guide__item:hover,.guide__item[aria-selected=true]{padding-left:1.2rem;color:var(--white)}.guide__item[aria-selected=true] b{color:var(--yellow)}.stage{position:sticky;top:6.5rem}.stage__card{position:relative;border-radius:26px;overflow:hidden;background:var(--night);border:1px solid var(--line)}.stage__img{aspect-ratio:4/3.2;overflow:hidden;position:relative;background:#000}.stage__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .4s}.stage__card:hover .stage__img img{transform:scale(1.05)}.stage__img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--night),transparent 55%)}.stage__body{padding:0 1.6rem 1.6rem;margin-top:-3.5rem;position:relative}.chip{display:inline-block;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;background:#ffe01b24;color:var(--yellow);border:1px solid rgba(255,224,27,.35)}.stage__body h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.6rem,2.5vw,2.2rem);text-transform:uppercase;line-height:1.05;margin:.8rem 0 .4rem}.stage__when{color:var(--orange);font-weight:600;font-size:.95rem;margin:0 0 .8rem}.stage__body p{color:var(--mute);margin:0 0 1.2rem;max-width:52ch}.wave{display:flex;align-items:center;gap:3px;height:28px}.wave i{width:3px;height:30%;border-radius:2px;background:var(--bars);transition:height .3s}.stage__card:hover .wave i,.card:hover .wave i{animation:eq 1s ease-in-out infinite}.wave i:nth-child(odd){animation-delay:-.4s!important}.wave i:nth-child(3n){animation-delay:-.7s!important}.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.6rem)}.card{position:relative;grid-column:span 4;border-radius:22px;overflow:hidden;background:var(--night);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s}.card:nth-child(7n+1){grid-column:span 7}.card:nth-child(7n+2){grid-column:span 5}.card:hover{transform:translateY(-8px);border-color:#ffe01b59;box-shadow:0 30px 60px -30px #f2243a8c}.card__img{aspect-ratio:16/11;overflow:hidden;background:#000}.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.card:hover .card__img img{transform:scale(1.07)}.card__body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.card__body h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.55rem;line-height:1.05;margin:.3rem 0 0}.card__body p{color:var(--mute);margin:0;font-size:.95rem}.card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.8rem}.when{color:var(--orange);font-weight:600;font-size:.9rem}.iconbtn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#ffffff0d;transition:background .3s,transform .3s,color .3s;text-decoration:none}.iconbtn svg{width:18px;height:18px}.iconbtn:hover,.card:hover .iconbtn{background:var(--yellow);color:#000;transform:scale(1.08)}.sound{display:flex;gap:.8rem;height:min(78vh,720px);margin-top:3rem}.genre{position:relative;flex:1;min-width:0;border-radius:24px;overflow:hidden;border:1px solid var(--line);transition:flex .8s var(--ease);isolation:isolate;cursor:default;outline-offset:4px}.genre:hover,.genre:focus-within,.genre.is-open{flex:2.6}.genre img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1) contrast(1.1) brightness(.55);transform:scale(1.08);transition:filter .8s,transform 1.4s var(--ease)}.genre:hover img,.genre.is-open img,.genre:focus-within img{filter:grayscale(.1) brightness(.6);transform:scale(1)}.genre:before{content:"";position:absolute;inset:0;z-index:-1;mix-blend-mode:color;opacity:.85;transition:opacity .6s}.genre:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000 5%,transparent 60%)}.genre--rnb:before{background:var(--magenta)}.genre--soul:before{background:var(--orange)}.genre--reggae:before{background:var(--yellow)}.genre__name{position:absolute;left:1.4rem;bottom:1.4rem;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(2.4rem,5vw,5rem);line-height:.85;margin:0;transform-origin:left bottom;transition:transform .8s var(--ease)}.genre:not(:hover):not(.is-open):not(:focus-within) .genre__name{transform:rotate(-90deg) translate(-.2em,.9em)}.genre__info{position:absolute;left:1.4rem;right:1.4rem;top:1.4rem;opacity:0;transform:translateY(-10px);transition:opacity .5s .2s,transform .6s .2s var(--ease)}.genre:hover .genre__info,.genre.is-open .genre__info,.genre:focus-within .genre__info{opacity:1;transform:none}.genre__info p{margin:.8rem 0 0;max-width:38ch;color:#e9e3f3}.genre__info .wave{height:40px}.genre__info .wave i{animation:eq 1.1s ease-in-out infinite}.genre .shows{font-size:.85rem;color:var(--yellow);margin-top:.8rem}.pods{overflow:hidden}.pods__head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}.pods__track{display:flex;gap:1.4rem;padding:3rem var(--pad) 1rem;width:max-content}.pod{width:min(78vw,380px);flex:none;border-radius:22px;overflow:hidden;background:var(--night);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .4s}.pod:hover{transform:translateY(-6px) rotate(-.4deg);border-color:#ffe01b59}.pod__art{position:relative;aspect-ratio:1;overflow:hidden;background:#000}.pod__art img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.pod:hover .pod__art img{transform:scale(1.06)}.pod__art .chip{position:absolute;left:1rem;top:1rem;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pod__body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.pod__body h3{margin:0;font-size:1.15rem;line-height:1.3}.pod__body p{margin:0;color:var(--mute);font-size:.9rem}.pod__foot{display:flex;align-items:center;gap:.8rem;margin-top:auto;padding-top:.9rem;font-size:.88rem;font-weight:600}.pods__hint{font-size:.85rem;color:var(--mute)}.story{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.2rem,3vw,3rem);align-items:center;margin-top:clamp(3rem,7vw,6rem)}.story__img{grid-column:1/span 6;border-radius:4px 60px;overflow:hidden;aspect-ratio:400/533;max-height:80vh}.story__img img{width:100%;height:100%;object-fit:cover}.story__txt{grid-column:8/span 5}.story--flip .story__img{grid-column:7/span 6;order:2;border-radius:60px 4px}.story--flip .story__txt{grid-column:1/span 5}.story h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.9rem);line-height:1.02;text-transform:uppercase;margin:0 0 1.2rem}.story blockquote{margin:1.6rem 0 0;padding-left:1.2rem;border-left:3px solid var(--orange);font-size:1.15rem;font-style:italic;color:var(--white);max-width:44ch}.clip{clip-path:inset(0 0 0 0)}.mtr{position:relative;overflow:hidden;background:#000}.mtr__band{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:3rem}.mtr__band figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;position:relative}.mtr__band figure:nth-child(2n){transform:translateY(3rem)}.mtr__band img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1)}.mtr__band figcaption{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;font-size:.8rem;padding:.5rem .7rem;border-radius:10px;background:#000000a6}.mtr__txt{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:end}.news{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);margin-top:3rem}.news__feat{position:relative;border-radius:24px;overflow:hidden;min-height:520px;display:flex;align-items:flex-end;text-decoration:none;isolation:isolate;border:1px solid var(--line)}.news__feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}.news__feat:hover img{transform:scale(1.05)}.news__feat:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000 10%,#0003 70%)}.news__feat div{padding:2rem}.news__feat h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.6rem,2.8vw,2.5rem);line-height:1.02;margin:.8rem 0}.news__feat p{color:#ddd5ea;margin:0;max-width:52ch}.news__list{display:grid;gap:0;align-content:start;border-top:1px solid var(--line)}.nitem{display:grid;grid-template-columns:120px 1fr;gap:1.2rem;padding:1.3rem 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center}.nitem img{width:120px;height:96px;object-fit:cover;border-radius:12px;transition:transform .6s var(--ease)}.nitem:hover img{transform:scale(1.05)}.nitem h3{margin:.35rem 0 .3rem;font-size:1.1rem;line-height:1.3}.nitem p{margin:0;color:var(--mute);font-size:.88rem}.cat{font-size:.78rem;font-weight:700;color:var(--orange)}.ulink{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--ease)}a:hover .ulink,.ulink:hover{background-size:100% 1.5px}.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-top:3rem}.partners figure{margin:0;background:#000;display:grid;place-items:center;padding:clamp(1.2rem,3vw,2.5rem);aspect-ratio:4/3}.partners img{max-height:100%;width:auto;object-fit:contain;filter:grayscale(1) brightness(.85);opacity:.7;transition:filter .5s,opacity .5s,transform .5s var(--ease)}.partners figure:hover img{filter:none;opacity:1;transform:scale(1.04)}.cta{position:relative;overflow:hidden;border-radius:32px;padding:clamp(3rem,7vw,6rem) clamp(1.5rem,5vw,5rem);background:radial-gradient(80% 120% at 0% 100%,rgba(242,36,58,.45),transparent 60%),radial-gradient(70% 100% at 100% 0%,rgba(46,43,217,.45),transparent 60%),var(--night);border:1px solid var(--line);isolation:isolate}.cta .hero__beam{left:55%;width:40%;opacity:.9}.cta__lines{position:absolute;inset:auto 0 0;height:45%;z-index:-1;opacity:.35;pointer-events:none}.cta__lines path{fill:none;stroke-width:1.2}.cta__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:end}.cta--warm{background:radial-gradient(90% 120% at 100% 100%,rgba(255,122,26,.4),transparent 60%),radial-gradient(60% 100% at 0% 0%,rgba(192,23,127,.35),transparent 60%),#160b12}.cta p{color:#e2d9ee}.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem)}.cinfo{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem}.cinfo a,.cinfo span{display:flex;align-items:center;gap:1rem;text-decoration:none;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600}.cinfo svg{width:22px;height:22px;color:var(--yellow);flex:none}.socials{display:flex;gap:.6rem;margin-top:2rem;flex-wrap:wrap}.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);transition:background .3s,color .3s,transform .3s}.socials a:hover{background:var(--yellow);color:#000;transform:translateY(-3px)}.socials svg{width:16px;height:16px}.apps{display:flex;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap}.apps img{height:46px;width:auto}.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:clamp(1.4rem,3vw,2.4rem);border-radius:26px;background:#ffffff08;border:1px solid var(--line)}.field{position:relative}.field--full{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;padding:1.45rem 1rem .6rem;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#00000080;color:var(--white);font:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--yellow) 50%),linear-gradient(135deg,var(--yellow) 50%,transparent 50%);background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%;background-size:6px 6px;background-repeat:no-repeat}.field textarea{min-height:150px;resize:vertical}.field label{position:absolute;left:1rem;top:1.05rem;color:var(--mute);font-size:1rem;pointer-events:none;transition:transform .25s var(--ease),font-size .25s,top .25s,color .25s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px #ffe01b33}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field select+label{top:.45rem;font-size:.74rem;color:var(--yellow)}.form .hp{position:absolute;left:-9999px}.form__msg{grid-column:1/-1;margin:0;font-weight:600;min-height:1.5em}.form__msg.ok{color:#7cf0a8}.form__msg.err{color:#ff8a97}.form .btn{justify-self:start}.phero{position:relative;padding:clamp(8rem,14vw,10.5rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden;isolation:isolate;background:radial-gradient(70% 90% at 80% 10%,rgba(122,34,201,.45),transparent 60%),radial-gradient(50% 60% at 10% 100%,rgba(242,36,58,.25),transparent 70%),#000}.phero__bg{position:absolute;right:-4vw;top:50%;transform:translateY(-45%);font-family:var(--f-display);font-size:clamp(14rem,40vw,36rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,224,27,.16);z-index:-1;pointer-events:none;user-select:none}.crumbs{font-size:.88rem;color:var(--mute);margin:0 0 1.4rem}.crumbs a{text-decoration:none;color:var(--yellow)}.ftr{position:relative;overflow:hidden;background:#000;border-top:1px solid var(--line);padding-top:clamp(2.25rem,4vw,3.5rem);padding-bottom:4.5rem;isolation:isolate}.ftr__glow{position:absolute;left:50%;top:30%;width:70vw;height:70vw;max-width:1000px;max-height:1000px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(242,36,58,.22),rgba(122,34,201,.12) 40%,transparent 65%);z-index:-1;animation:breathe 9s ease-in-out infinite}@keyframes breathe{50%{transform:translate(-50%,-50%) scale(1.15);opacity:.7}}.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem}.ftr h2{font-size:1rem;margin:0 0 1rem;color:var(--yellow);font-weight:700}.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.ftr ul a{text-decoration:none;color:var(--mute);transition:color .25s}.ftr ul a:hover{color:#fff}.ftr__brand img{width:115px;height:115px}.ftr__brand p{color:var(--mute);max-width:34ch}.ftr__top,.ftr__legal{position:relative;z-index:2}.ftr__giant,.ftr__wave,.ftr__glow{pointer-events:none}.ftr__giant{position:relative;margin-top:clamp(1.5rem,3.5vw,3rem);font-family:var(--f-display);font-size:clamp(9rem,36vw,34rem);line-height:.75;text-align:center;letter-spacing:-.02em;background:linear-gradient(180deg,#fffffff2,#ffffff0d 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}.ftr__giant small{display:block;font-family:var(--f-body);font-weight:600;font-size:clamp(.75rem,1.3vw,1.05rem);letter-spacing:.45em;text-transform:uppercase;line-height:1.4;margin-top:1.2rem;background:var(--ring);-webkit-background-clip:text;background-clip:text}.ftr__wave{display:block;width:100%;height:80px;margin-top:-2rem}.ftr__wave path{fill:none;stroke-width:2}.ftr__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2rem;font-size:.85rem;color:var(--mute)}.player{position:fixed;right:1.2rem;bottom:1.2rem;z-index:85;width:min(420px,calc(100vw - 2.4rem));border-radius:22px;background:#140a26c7;-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,224,27,.2);box-shadow:0 30px 60px -20px #000c,0 0 40px -10px #f2243a66;padding:.8rem;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;transform:translateY(0);transition:transform .5s var(--ease),opacity .4s,width .5s var(--ease)}.player[data-state=hidden]{transform:translateY(160%);opacity:0;pointer-events:none}.player__art{position:relative;width:58px;height:58px;border-radius:14px;overflow:hidden;background:#000}.player__art img{width:100%;height:100%;object-fit:cover}.player__meta{min-width:0}.player__meta .ttl{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:.95rem}.player__live{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;padding:.15rem .45rem;border-radius:6px;background:var(--red);color:#fff}.player__live .dot-live{width:6px;height:6px}.player__now{font-size:.82rem;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player__wave{grid-column:1/-1;width:100%;height:34px;display:block}.player__ctrl{display:flex;align-items:center;gap:.35rem}.pbtn{width:40px;height:40px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;color:var(--white);transition:background .25s}.pbtn:hover{background:#ffffff1a}.pbtn svg{width:18px;height:18px}.pbtn--main{width:50px;height:50px;background:var(--yellow);color:#000}.pbtn--main:hover{background:#fff}.pbtn--main .i-pause,.is-playing .pbtn--main .i-play{display:none}.is-playing .pbtn--main .i-pause{display:block}.player__vol{grid-column:1/-1;display:flex;align-items:center;gap:.7rem;font-size:.8rem;color:var(--mute)}.player__vol input{flex:1;accent-color:var(--yellow)}.player[data-state=mini]{width:auto;grid-template-columns:auto auto;padding:.5rem}.player[data-state=mini] .player__meta,.player[data-state=mini] .player__wave,.player[data-state=mini] .player__vol,.player[data-state=mini] .pbtn:not(.pbtn--main):not([data-act=restore]){display:none}.player [data-act=restore]{display:none}.player[data-state=mini] [data-act=restore]{display:grid}.player[data-state=mini] .player__art{width:50px;height:50px}.xplayer{position:fixed;inset:0;z-index:150;background:radial-gradient(70% 60% at 50% 40%,var(--plum),#000 75%);display:grid;place-items:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}.xplayer.is-open{opacity:1;visibility:visible;transition:opacity .4s}.xplayer__in{width:min(560px,100%);text-align:center}.xplayer .viz{max-width:420px;margin:0 auto}.xplayer__close{position:absolute;right:1.5rem;top:1.5rem}.xplayer h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,4vw,2.4rem);text-transform:uppercase;margin:1.4rem 0 .2rem}.xplayer p{color:var(--mute);margin:0}.ada-btn{position:fixed;left:1.2rem;bottom:1.2rem;z-index:86;width:56px;height:56px;border-radius:50%;border:2px solid var(--yellow);background:#000;color:var(--yellow);display:grid;place-items:center;box-shadow:0 10px 30px -10px #000000e6}.ada-btn svg{width:28px;height:28px}.ada{position:fixed;left:0;top:0;bottom:0;z-index:160;width:min(380px,92vw);background:#0d0618;border-right:1px solid rgba(255,224,27,.3);padding:1.5rem;overflow-y:auto;transform:translate(-105%);transition:transform .45s var(--ease);visibility:hidden}.ada.is-open{transform:none;visibility:visible}.ada__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}.ada__head h2{margin:0;font-size:1.25rem}.ada__grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ada__grid button{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1rem;border-radius:14px;border:1.5px solid var(--line);background:#ffffff0a;text-align:left;font-size:.9rem;font-weight:600;min-height:88px}.ada__grid button svg{width:22px;height:22px;color:var(--yellow)}.ada__grid button[aria-pressed=true]{border-color:var(--yellow);background:#ffe01b1f}.ada__size{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.8rem 1rem;border-radius:14px;border:1.5px solid var(--line)}.ada__size div{display:flex;gap:.4rem}.ada__size button{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:#ffffff0f;font-weight:800}.ada__reset{margin-top:1rem;width:100%;justify-content:center}.ada__note{font-size:.8rem;color:var(--mute);margin-top:1rem}.scrim{position:fixed;inset:0;z-index:155;background:#0000008c;opacity:0;visibility:hidden;transition:opacity .3s}.scrim.is-on{opacity:1;visibility:visible}html.a-contrast{--mute:#fff;--line:rgba(255,255,255,.6)}html.a-contrast body{background:#000}html.a-contrast .hero__shade{background:#000c}html.a-contrast img{filter:none!important}html.a-gray body>*:not(.ada):not(.ada-btn){filter:grayscale(1)}html.a-links a{text-decoration:underline!important;text-decoration-color:var(--yellow)!important;text-decoration-thickness:2px!important}html.a-font body,html.a-font button,html.a-font input,html.a-font textarea{font-family:Verdana,Arial,sans-serif!important;letter-spacing:.02em}html.a-spacing body{line-height:2!important;word-spacing:.12em}html.a-spacing p{letter-spacing:.03em}html.a-cursor,html.a-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M4 2l14 34 5-14 14-5z' fill='%23FFE01B' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") 4 2,auto!important}html.a-still *,html.a-still *:before,html.a-still *:after{animation:none!important;transition:none!important}.js .rv{opacity:0;transform:translateY(30px)}.split .w{display:inline-block;overflow:hidden;vertical-align:top}.split .w>span{display:inline-block}@media(max-width:1180px){.nav{display:none}.burger{display:grid}.hdr__in{justify-content:space-between}.hdr__live{margin-left:auto}.onair__grid{grid-template-columns:1fr 1fr}.onair__grid .viz-wrap{grid-column:1/-1;order:-1;max-width:520px;margin:0 auto;width:100%}.ftr__top{grid-template-columns:1fr 1fr}}@media(max-width:900px){.intro,.guide,.mtr__txt,.cta__grid,.contact,.news{grid-template-columns:minmax(0,1fr)}.stage{position:relative;top:0}.guide__list{margin-top:1.4rem}.card,.card:nth-child(7n+1),.card:nth-child(7n+2){grid-column:span 6}.story,.story--flip{grid-template-columns:1fr}.story__img,.story--flip .story__img,.story__txt,.story--flip .story__txt{grid-column:1;order:0}.story__img{max-height:none;aspect-ratio:4/4.4}.mtr__band{grid-template-columns:1fr 1fr}.mtr__band figure:nth-child(2n){transform:translateY(1.5rem)}.sound{flex-direction:column;height:auto}.genre{min-height:200px;flex:none}.genre:hover,.genre:focus-within,.genre.is-open{flex:none;min-height:380px}.genre:not(:hover):not(.is-open):not(:focus-within) .genre__name{transform:none}.news__feat{min-height:420px}.partners{grid-template-columns:1fr 1fr}}@media(max-width:640px){.hdr__live span{display:none}.hdr__live{padding:.75rem}.hero{align-items:flex-end}.hero__fallback{width:62vw;right:-8vw;top:24%;opacity:.3}.hero h1 .l2{font-size:clamp(5rem,min(30vw,20vh),9rem)}.hero h1 .l1{font-size:clamp(1.7rem,8vw,2.4rem)}.hero__copy{padding-bottom:calc(60px + 1.4rem)}.hero__cta{gap:.7rem}.hero__cta .btn{padding-block:.8rem}.hero__shade{background:linear-gradient(0deg,#000 30%,#0000008c 65%,#0003)}.hero h1 .l3{letter-spacing:.22em}.hero__cta .btn{width:100%;justify-content:center}.facts{grid-template-columns:1fr 1fr 1fr}.facts div{padding:1rem .7rem}.card,.card:nth-child(7n+1),.card:nth-child(7n+2){grid-column:1/-1}.onair__grid,.form{grid-template-columns:1fr}.nitem{grid-template-columns:88px 1fr}.nitem img{width:88px;height:80px}.ftr__top{grid-template-columns:1fr}.player{left:4.3rem;right:.6rem;bottom:.6rem;width:auto;grid-template-columns:auto 1fr auto}.player__vol{display:none}.player[data-state=mini]{left:auto}.ada-btn{bottom:.9rem;left:.6rem;width:50px;height:50px}.ftr{padding-bottom:9rem}.dial{height:60px}.dial__scale span:not(.major){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}.pods__scroller{overflow-x:auto;scroll-padding-inline:var(--pad);scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--yellow) transparent}.pods__scroller .pod{scroll-snap-align:start}.pods__scroller.is-pinned{overflow:visible}.is-leaving #main{opacity:.4;transition:opacity .2s}#main{transition:opacity .3s}.archive{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;margin-top:3rem}.archive .pod{width:auto}.tribute{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,5vw,4rem);align-items:center;padding:clamp(1.5rem,4vw,3rem);border-radius:28px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,224,27,.06),transparent 50%),var(--night)}.tribute img{border-radius:20px}.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.pkg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:24px;overflow:hidden;border:1px solid var(--line);margin-top:3rem}.pkg div{background:#000;padding:2rem 1.6rem}.pkg b{display:block;font-family:var(--f-display);font-weight:400;font-size:clamp(2rem,3vw,2.8rem);line-height:1;color:var(--yellow)}.pkg span{color:var(--mute)}.map{border-radius:24px;overflow:hidden;border:1px solid var(--line);margin-top:3rem;aspect-ratio:21/8;min-height:280px}.map iframe{width:100%;height:100%;border:0;filter:invert(.92) hue-rotate(200deg) saturate(.6)}.audio-intro{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:2rem;padding:1rem 1.2rem;border-radius:18px;border:1px solid var(--line);background:#ffffff08;width:fit-content}@media(max-width:900px){.tribute,.split2,.pkg{grid-template-columns:1fr}}.story__img,.mtr__band figure,.news__feat,.nitem img,.card__img,.pod__art,.stage__img,.intro__media,.partners figure{background:radial-gradient(circle at 50% 40%,rgba(122,34,201,.35),transparent 70%),var(--night)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:95;pointer-events:none}.progress span{display:block;height:100%;width:100%;background:var(--ring);transform-origin:0 50%;transform:scaleX(var(--p,0));box-shadow:0 0 12px #f2243a99}.card__img:has(img[src*="assets/img/"]){aspect-ratio:4/5}.card__img img[src*="assets/img/"],.stage__img img[src*="assets/img/"]{object-fit:contain}.stage__img:has(img[src*="assets/img/"]){aspect-ratio:1/1}.promo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;max-width:760px}.promo-row img{width:100%;height:auto;border-radius:16px;display:block}@media(max-width:560px){.promo-row{grid-template-columns:1fr}}

/* ---- About page: tighter layout, no empty black gaps ---- */
main[data-page="about"] .section{padding-block:clamp(2.75rem,5.5vw,4.75rem)}
main[data-page="about"] .story{margin-top:clamp(1.75rem,3.5vw,3rem);align-items:center}
main[data-page="about"] .story__img{grid-column:1/span 5;aspect-ratio:4/3;max-height:460px}
main[data-page="about"] .story__txt{grid-column:7/span 6}
main[data-page="about"] .story--flip .story__img{grid-column:8/span 5}
main[data-page="about"] .story--flip .story__txt{grid-column:1/span 6}
main[data-page="about"] .story--host .story__img{aspect-ratio:719/728;max-height:560px}
main[data-page="about"] .story--host .story__img img{object-position:50% 40%}
main[data-page="about"] .split2 figure{max-height:560px}
.story__role{margin:-.6rem 0 1rem;color:var(--yellow);font-weight:700;font-size:.95rem}
@media(max-width:900px){
  main[data-page="about"] .story__img,main[data-page="about"] .story--flip .story__img,
  main[data-page="about"] .story__txt,main[data-page="about"] .story--flip .story__txt{grid-column:1}
  main[data-page="about"] .story__img{max-height:none}
}

/* privacy note under the contact form */
.form-wrap{display:flex;flex-direction:column;gap:.9rem;min-width:0}
.form__privacy{margin:0;padding-inline:.4rem;font-size:.9rem;color:var(--mute)}
.form__privacy a{color:var(--yellow);font-weight:700}
.privacy{max-width:72ch}
.privacy h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.05;margin:2.4rem 0 .8rem}
.privacy ul{padding-left:1.2rem}
.privacy li{margin:.3rem 0}
.privacy a{color:var(--yellow)}

/* ---- Shows page: even card grid, full artwork, no empty slots ---- */
.shows-sec{padding-bottom:clamp(2.5rem,5vw,4rem)}
.showgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,2vw,1.6rem);margin-top:2rem}
.showgrid .show{flex:0 0 calc((100% - 2*clamp(1rem,2vw,1.6rem))/3);min-width:0}
.show__art{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--night);isolation:isolate}
.show__art:before{content:"";position:absolute;inset:-20px;background:var(--art) center/cover;filter:blur(22px) brightness(.55) saturate(1.2);z-index:-1}
.show__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform 1.1s var(--ease),opacity 1s}
.card:hover .show__art img{transform:scale(1.04)}
.show__art--duo .show__alt{opacity:0;animation:duo 10s ease-in-out infinite}
@keyframes duo{0%,40%{opacity:0}50%,90%{opacity:1}100%{opacity:0}}
.show__art--logo{display:grid;place-items:center;background:radial-gradient(70% 60% at 50% 40%,rgba(192,23,127,.45),transparent 70%),radial-gradient(60% 50% at 50% 100%,rgba(46,43,217,.35),transparent 70%),var(--night)}
.show__art--logo img{position:static;width:46%;height:auto;margin-top:-8%}
.show__logo-t{position:absolute;left:1rem;right:1rem;bottom:12%;text-align:center;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1;color:var(--yellow)}
.show .card__body{gap:.45rem}
.show__host{color:var(--white)!important;font-weight:700}
.show__host span{color:var(--yellow);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-right:.35rem}
@media(max-width:1000px){.showgrid .show{flex-basis:calc((100% - clamp(1rem,2vw,1.6rem))/2)}}
@media(max-width:600px){.showgrid .show{flex-basis:100%}}
@media(max-width:600px){.show .card__foot .wave{display:none}}

/* ---- Podcasts page: even 3-column archive, client artwork, tighter spacing ---- */
.podsec{padding-block:clamp(2.5rem,5vw,4.25rem)}
.podsec__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.5rem 2rem}
.podsec__head .lede{margin:0;max-width:52ch}
.archive--3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:1.6rem}
.archive--3 .pod__art{aspect-ratio:4/3}
.pod__art--poster{isolation:isolate}
.pod__art--poster:before{content:"";position:absolute;inset:-20px;background:var(--art) center/cover;filter:blur(20px) brightness(.5) saturate(1.2);z-index:-1}
.pod__art--poster img{object-fit:contain}
.archive--3 .pod__body p:nth-of-type(2){min-height:0}
@media(max-width:1000px){.archive--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.archive--3{grid-template-columns:minmax(0,1fr)}}
/* fill the frame around near-square artwork with a bright blurred copy (no dark empty bands) */
.show__art:before,.pod__art--poster:before{inset:-40px;filter:blur(28px) brightness(.9) saturate(1.35);transform:scale(1.15)}
.show__art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 18%,transparent 82%,rgba(0,0,0,.35));z-index:-1;pointer-events:none}
.show__art img,.pod__art--poster img{filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}
.show__art:before,.pod__art--poster:before{content:none}
.art-bg{position:absolute;inset:-40px;background-position:center;background-size:cover;filter:blur(28px) brightness(.85) saturate(1.35);transform:scale(1.1);z-index:-1;pointer-events:none}
.pod__art--poster img{position:relative}

/* ---- Headings: proper space between words, no overlapping lines (Anton is very condensed) ---- */

.split .w{padding-bottom:.06em;margin-bottom:-.06em}

/* ---- Persistent green "Make a Payment" button in the header ---- */
.hdr__pay{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 1.2rem;border-radius:999px;background:linear-gradient(180deg,#22c55e,#16a34a);color:#fff;font-weight:800;font-size:.92rem;text-decoration:none;flex:none;white-space:nowrap;margin-left:auto;box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 22px -2px rgba(34,197,94,.75);animation:payGlow 2.4s ease-in-out infinite;transition:transform .25s,filter .25s}
.hdr__pay svg{width:18px;height:18px;flex:none}
.hdr__pay:hover{transform:translateY(-1px);filter:brightness(1.08)}
.hdr__pay:focus-visible{outline:3px solid #86efac;outline-offset:3px}
.hdr__pay+.hdr__live{margin-left:.6rem}
@keyframes payGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 14px -4px rgba(34,197,94,.6)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 30px 2px rgba(34,197,94,.85)}}
.mnav a.mnav__pay{margin:1.6rem 0 0;display:inline-flex;justify-content:center;align-items:center;font-family:var(--f-body);font-size:1.05rem;font-weight:800;text-transform:none;line-height:1.2;padding:1rem 1.4rem;align-self:flex-start;color:#fff}
@media(max-width:1180px){.hdr__pay{padding:.7rem 1rem;font-size:.86rem}}
@media(max-width:640px){.hdr__pay{padding:.7rem .95rem;font-size:.82rem;gap:.4rem}.hdr__pay svg{display:none}}

/* ---- Sponsors page ---- */
.sp-sec{padding-block:clamp(2.75rem,5.5vw,4.5rem)}
.sp-offer{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sp-offer__copy .chip{margin-bottom:1rem}
.sp-offer__copy h2{margin-bottom:1.1rem}
.sp-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.9rem}
.sp-list li{position:relative;padding-left:2rem;color:var(--mute)}
.sp-list li:before{content:"";position:absolute;left:0;top:.45em;width:1.1rem;height:1.1rem;border-radius:50%;background:radial-gradient(circle,var(--yellow) 0 35%,transparent 40%),rgba(255,224,27,.18)}
.sp-list b{color:var(--white)}
.sp-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;align-items:center}
.sp-actions form{margin:0}
.sp-note{margin:1.2rem 0 0;color:var(--mute);font-size:.92rem}
.sp-note a{color:var(--yellow)}
.sp-offer__art{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}
.sp-card{display:block;border-radius:18px;overflow:hidden;line-height:0;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 30px 60px -25px #000}
.sp-card img{width:100%;height:auto;display:block}
.sp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.6rem 2rem}
.sp-head .lede{margin:0;max-width:52ch}
#partners .partners{margin-top:1.6rem}
@media(max-width:900px){.sp-offer{grid-template-columns:minmax(0,1fr)}.sp-offer__art{max-width:520px}}
/* make room for the payment button in the header */
.hdr__pay{margin-left:0}
.nav{margin-inline:auto}
@media(max-width:1520px){.hdr__in{gap:.9rem}.nav a{padding:.55rem .55rem;font-size:.88rem}.nav a:after{left:.55rem;right:.55rem}.hdr__pay,.hdr__live{padding:.68rem 1rem;font-size:.86rem}}
@media(max-width:1340px){.nav a{padding:.5rem .45rem}.nav a:after{left:.45rem;right:.45rem}}
@media(max-width:1180px){.hdr__pay{margin-left:auto}}
@media(max-width:640px){.hdr__live .dot-live{display:inline-block}}

/* ---- Donate page ---- */
.dn-sec{padding-block:clamp(2.75rem,5.5vw,4.5rem)}
.dn-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.dn-copy h2{margin-bottom:1.1rem}
.dn-card{margin-top:1.8rem;padding:clamp(1.3rem,3vw,1.9rem);border-radius:22px;border:1px solid rgba(255,224,27,.28);background:linear-gradient(135deg,rgba(255,224,27,.09),transparent 55%),var(--night);box-shadow:0 30px 60px -35px rgba(255,224,27,.35)}
.dn-card__t{margin:0;font-weight:800;font-size:1.15rem;color:var(--white)}
.dn-card__d{margin:.5rem 0 1.3rem;color:var(--mute)}
.dn-form{margin:0}
.btn--xl{font-size:1.05rem;padding:1.05rem 1.6rem;gap:.6rem}
.btn--xl svg{width:20px;height:20px}
.dn-card__s{display:flex;align-items:center;gap:.45rem;margin:1rem 0 0;font-size:.85rem;color:var(--mute)}
.dn-card__s svg{width:16px;height:16px;color:#22c55e}
.dn-call{margin:1.2rem 0 0;color:var(--mute)}
.dn-call a{color:var(--yellow)}
.dn-photo{position:relative;margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3.4;background:radial-gradient(circle at 50% 40%,rgba(122,34,201,.35),transparent 70%),var(--night)}
.dn-photo img{width:100%;height:100%;object-fit:cover}
.dn-photo figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.75rem 1rem;border-radius:12px;background:#000a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.88rem}
.dn-adv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:clamp(1.5rem,4vw,3rem);border-radius:28px;border:1px solid var(--line);background:radial-gradient(70% 90% at 0% 100%,rgba(192,23,127,.22),transparent 60%),radial-gradient(60% 80% at 100% 0%,rgba(46,43,217,.22),transparent 60%),var(--night)}
.dn-adv__art{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}
.dn-adv__copy .chip{margin-bottom:1rem}
.dn-adv__copy h2{margin-bottom:1rem}
.dn-adv__copy p{color:var(--mute)}
@media(max-width:900px){.dn-grid,.dn-adv{grid-template-columns:minmax(0,1fr)}.dn-adv__art{max-width:520px}}

/* ---- Contact page ---- */
.follow-top{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.6rem}
.follow-top__t{font-weight:700;color:var(--yellow);font-size:.95rem;margin-right:.2rem}
.soc-pill{display:inline-flex;align-items:center;gap:.65rem;height:56px;padding:0 1.35rem 0 1.05rem;border-radius:999px;color:#fff;font-weight:800;font-size:1rem;text-decoration:none;transition:transform .3s,box-shadow .3s}
.soc-pill svg{width:28px;height:28px;flex:none}
.soc-pill--fb{background:#1877F2}
.soc-pill--ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.soc-pill:hover{transform:translateY(-3px)}
.soc-pill--fb:hover{box-shadow:0 12px 30px -8px #1877F2}
.soc-pill--ig:hover{box-shadow:0 12px 30px -8px #d6249f}
.soc-pill:focus-visible,.socials--big a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.socials--big{gap:.7rem}
.socials--big a{width:50px;height:50px;border:0;color:#fff;background:#1d1430;box-shadow:0 0 0 1px var(--line)}
.socials--big svg{width:22px;height:22px}
.socials--big .s-fb{background:#1877F2}
.socials--big .s-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.socials--big .s-fb:hover{background:#1877F2;color:#fff;box-shadow:0 12px 30px -8px #1877F2}
.socials--big .s-ig:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff;box-shadow:0 12px 30px -8px #d6249f}
.ct-sec{padding-bottom:clamp(2.5rem,5vw,4rem)}
.ct-map .map{margin-top:0}
@media(max-width:560px){.soc-pill{height:52px;padding:0 1.1rem 0 .9rem;font-size:.95rem}.follow-top__t{width:100%}.socials--big a{width:44px;height:44px}.socials--big svg{width:19px;height:19px}.map{aspect-ratio:4/3}}
.apps--svg{gap:.8rem;align-items:center}
.apps--svg a{display:block;line-height:0;border-radius:11px;transition:transform .3s,box-shadow .3s}
.apps--svg a:hover{transform:translateY(-3px);box-shadow:0 14px 30px -10px rgba(255,224,27,.45)}
.apps--svg a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.apps--svg .badge{display:block;height:56px;width:auto}
@media(max-width:400px){.apps--svg .badge{height:50px}}
@media(max-width:560px){.map{aspect-ratio:auto;height:300px;min-height:0;width:100%}}
/* a little air between heading lines (with and without the word-split animation) */

.split .w{padding-bottom:.02em;margin-bottom:0}

/* ---- Home: tighten gap below "Our story" ---- */
main[data-page="home"] #about{padding-bottom:clamp(2rem,3.5vw,3rem)}
main[data-page="home"] #about + .onair{padding-top:clamp(2.5rem,4vw,3.5rem)}

/* ---- Spacing / heading fixes ----
   .section padding was 5-9.5rem per side (up to 300px between sections). Pinned podcasts strip keeps a taller top pad so the heading clears the fixed header while pinned. */
@media(min-width:900px){.pods{padding-top:clamp(6rem,8vw,7rem)}}
/* footer: Android / iPhone app links with icons */
.ftr__apps{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.35rem}.ftr ul a.store{display:inline-flex;align-items:center;gap:.5rem;height:42px;padding:0 .8rem 0 .65rem;background:#000;color:#fff;border:1px solid #9a9a9a;border-radius:9px;line-height:1;white-space:nowrap;transition:transform .3s,border-color .3s,box-shadow .3s}.ftr ul a.store:hover,.ftr ul a.store:focus-visible{color:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(255,224,27,.45)}.store__ic{width:24px;height:24px;flex:none}.store__t{display:flex;flex-direction:column;gap:.18rem;text-align:left}.store__t small{font-size:.6rem;letter-spacing:.02em;opacity:.9}.store--play .store__t small{text-transform:uppercase;letter-spacing:.08em}.store__t b{font-size:1rem;font-weight:600;letter-spacing:-.01em}

/* ---------- space fillers: ambient glows, EQ divider, contact waveform ---------- */

/* drifting studio-light ambience: two soft spotlight pools fixed to the viewport,
   fading smoothly to transparent so the page never reads as flat black and never shows a seam */
main#main{position:relative;isolation:isolate}
main#main::before,main#main::after{content:"";position:fixed;z-index:-1;pointer-events:none}
main#main::before{top:-22vh;right:-18vw;width:72vw;height:78vh;background:radial-gradient(closest-side,rgba(122,34,201,.17),rgba(122,34,201,.06) 55%,transparent);animation:drift1 24s ease-in-out infinite alternate}
main#main::after{bottom:-24vh;left:-18vw;width:66vw;height:72vh;background:radial-gradient(closest-side,rgba(242,36,58,.13),rgba(192,23,127,.05) 55%,transparent);animation:drift2 30s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-14vw,12vh) scale(1.18)}}
@keyframes drift2{to{transform:translate(12vw,-10vh) scale(1.12)}}

/* animated equalizer band at the top of the footer */
.ftr__eq{display:flex;justify-content:center;align-items:flex-end;gap:7px;height:52px;margin-bottom:clamp(1.8rem,3.5vw,2.8rem)}
.ftr__eq i{width:5px;height:100%;border-radius:3px;background:var(--bars);opacity:.9;transform:scaleY(.2);transform-origin:bottom;animation:eqtall 1.5s ease-in-out infinite}
.ftr__eq i:nth-child(2n){animation-delay:-.3s}
.ftr__eq i:nth-child(3n){animation-delay:-.6s;animation-duration:1.2s}
.ftr__eq i:nth-child(4n){animation-delay:-.9s}
.ftr__eq i:nth-child(5n){animation-delay:-1.1s;animation-duration:1.8s}
@keyframes eqtall{0%,100%{transform:scaleY(.18)}50%{transform:scaleY(.95)}}
html.a-still .ftr__eq i{transform:scaleY(.45)}

/* scrolling waveform card that fills the empty column beside the contact form */
.contact>div:first-child{display:flex;flex-direction:column}
.contact>div:first-child::after{content:"";display:block;flex:1 1 auto;min-height:88px;width:100%;margin-top:2.2rem;border-radius:18px;border:1px solid var(--line);opacity:.9;background:linear-gradient(135deg,rgba(122,34,201,.14),rgba(242,36,58,.09) 55%,rgba(255,122,26,.1)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='72' viewBox='0 0 320 72'%3E%3Cpath d='M0 36 Q 20 10 40 36 T 80 36 T 120 36 T 160 36 T 200 36 T 240 36 T 280 36 T 320 36' fill='none' stroke='%23FFE01B' stroke-width='2' opacity='.55'/%3E%3Cpath d='M0 36 Q 20 62 40 36 T 80 36 T 120 36 T 160 36 T 200 36 T 240 36 T 280 36 T 320 36' fill='none' stroke='%23C0177F' stroke-width='2' opacity='.55'/%3E%3C/svg%3E") repeat-x left center/320px 72px;animation:wavescroll 12s linear infinite}
@keyframes wavescroll{to{background-position:0 0,-320px center}}
@media (max-width:900px){.contact>div:first-child::after{display:none}}
@media (prefers-reduced-motion:reduce){.contact>div:first-child::after,.ftr__eq i{animation:none}}

/* wide promo banners under the On Air grid (moved out of the schedule column) */
.promo-row--wide{max-width:960px;margin:3rem auto 0}

/* full-page "frequency waves + light dust" backdrop (drawn on #bgfx by main.js) */
html{background:#000}
body{background:transparent}
#bgfx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
html.a-contrast #bgfx{display:none}

/* clip seek bar: replaces the wave visualizer while a sample/preview clip plays */
.player__seek{grid-column:1/-1;display:none;align-items:center;gap:.7rem;font-size:.78rem;color:var(--mute);font-variant-numeric:tabular-nums}
.player__seek input{flex:1;accent-color:var(--yellow)}
.player__seek span{min-width:2.6em;text-align:center}
.player[data-mode=clip] .player__wave{display:none}
.player[data-mode=clip] .player__seek{display:flex}
.player[data-state=mini] .player__seek{display:none}

/* ---- Zero-gap layout: client wants NO blank vertical space at section tops/bottoms.
   These overrides come last so they win over every earlier section-padding rule. ---- */
.section,
main[data-page="about"] .section,
.podsec,.sp-sec,.dn-sec{padding-block:12px}
.ct-sec{padding-bottom:12px}
main[data-page="home"] #about{padding-bottom:12px}
main[data-page="home"] #about + .onair{padding-top:12px}
/* pinned podcasts strip keeps a taller top pad so the heading clears the fixed header while pinned */
@media(min-width:900px){.pods{padding-top:clamp(6rem,8vw,7rem)}}
.pods__track{padding-top:1rem;padding-bottom:1rem}
/* page heroes: top pad is only what the fixed header covers; 12px below */
.phero{padding:clamp(5rem,8vw,5.75rem) 0 12px}
/* footer: bottom pad only keeps links clear of the fixed audio player */
.ftr{padding-top:12px;padding-bottom:6rem}
.ftr__eq{height:34px;margin-bottom:.8rem}
.promo-row--wide{margin-top:1rem}
.showgrid,.archive--3{margin-top:1rem}
.lede{margin-top:.75rem}
.story{margin-top:1rem}
/* ---- Equal two-column sections: the image column follows the TEXT column's height.
   The img is absolutely positioned inside its figure so its intrinsic height can never
   inflate the row â€” the text decides the height, the image crops to match (cover). ---- */
@media(min-width:901px){
.intro{align-items:stretch}
.intro>div:first-child{display:flex;flex-direction:column}
.intro__media{flex:1 1 auto;aspect-ratio:auto;max-width:none;min-height:260px}
.intro__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split2{align-items:stretch}
.split2 figure{position:relative;max-height:none;height:100%;min-height:260px;min-width:0}
.split2 figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story{align-items:stretch}
.story__img{position:relative;aspect-ratio:auto;max-height:none;height:100%;min-height:240px}
/* contain, not cover: the client wants the full photo visible, never cropped;
   the figure's dark radial backdrop fills any letterbox */
.story__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.dn-grid,.sp-offer,.dn-adv{align-items:stretch}
.dn-photo{aspect-ratio:auto;height:100%;min-height:300px}
.dn-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-offer__art,.dn-adv__art,.dn-grid>div:first-child,.sp-offer>div,.dn-adv>div{min-width:0}
}

/* ---- header radio-platform icons (replace the payment button on home/about/shows/podcasts/news) ---- */
.hdr__radios{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;flex:none}
.hdr__radios a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,224,27,.35);color:var(--yellow);background:rgba(255,255,255,.05);transition:transform .25s,border-color .25s,box-shadow .25s,color .25s}
.hdr__radios a:hover,.hdr__radios a:focus-visible{color:#fff;border-color:var(--yellow);transform:translateY(-2px);box-shadow:0 0 18px -4px rgba(255,224,27,.7)}
.hdr__radios svg{width:14px;height:14px}
@media(max-width:1180px){.hdr__radios a{width:28px;height:28px}.hdr__radios svg{width:13px;height:13px}}
@media(max-width:640px){.hdr__radios{gap:.3rem}.hdr__radios a{width:25px;height:25px}.hdr__radios svg{width:12px;height:12px}}
.mnav__radios{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.mnav__radios a{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:999px;border:1px solid rgba(255,224,27,.35);color:var(--yellow);background:rgba(255,255,255,.05);font-weight:700;font-size:.95rem;text-decoration:none}
.mnav__radios svg{width:20px;height:20px}

/* info-mercial sample commercials */
.samples-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.8rem}
.samples-grid .audio-intro{width:100%;margin-top:0;flex-wrap:nowrap}
.samples-grid .audio-intro>div{min-width:0;flex:1}
.samples-grid .audio-intro .wave{margin-left:auto;flex:none}
@media (max-width:980px){.samples-grid{grid-template-columns:1fr}}

/* footer: spinning vinyl + floating notes flanking the giant 105 */
.ftr__fx{position:absolute;top:34%;transform:translateY(-50%);width:clamp(90px,13vw,230px);height:auto;opacity:.9}
.ftr__fx--l{left:clamp(.5rem,4vw,5rem)}
.ftr__fx--r{right:clamp(.5rem,4vw,5rem)}
.fx-spin{transform-box:fill-box;transform-origin:center;animation:fxspin 9s linear infinite}
@keyframes fxspin{to{transform:rotate(360deg)}}
.fx-note{opacity:0;transform-box:fill-box;animation:fxfloat 4.2s ease-in-out infinite}
.fx-n2{animation-delay:1.1s}
.fx-n3{animation-delay:2.2s}
.fx-n4{animation-delay:3.2s}
@keyframes fxfloat{0%{transform:translateY(14px);opacity:0}22%{opacity:1}60%{opacity:.85}100%{transform:translateY(-30px);opacity:0}}
html.a-still .fx-spin{animation:none}
html.a-still .fx-note{animation:none;opacity:.55;transform:none}
@media (prefers-reduced-motion:reduce){.fx-spin{animation:none}.fx-note{animation:none;opacity:.55;transform:none}}
@media (max-width:900px){.ftr__fx{display:none}}

/* shows grid: animated SVG filler cards flanking the centered Gospel Vibration card */
.fx-card{display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(70% 70% at 50% 32%,rgba(122,34,201,.3),transparent 72%),var(--night)}
.fx-card svg{width:min(72%,220px);height:auto}
.fx-ring{stroke:#FFE01B;opacity:0;transform-box:fill-box;transform-origin:center;animation:fxping 3.2s ease-out infinite}
.fx-ring.fx-r2{stroke:#F2243A;animation-delay:.55s}
.fx-ring.fx-r3{stroke:#7A22C9;animation-delay:1.1s}
@keyframes fxping{0%{opacity:.95;transform:scale(.3)}70%,100%{opacity:0;transform:scale(1.08)}}
.fx-bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(.25);animation:fxbar 1.5s ease-in-out infinite}
.fx-bar:nth-of-type(2){animation-delay:-.3s}
.fx-bar:nth-of-type(3){animation-delay:-.6s;animation-duration:1.2s}
.fx-bar:nth-of-type(4){animation-delay:-.9s}
.fx-bar:nth-of-type(5){animation-delay:-1.15s;animation-duration:1.8s}
.fx-bar:nth-of-type(6){animation-delay:-.45s;animation-duration:1.35s}
.fx-bar:nth-of-type(7){animation-delay:-.75s}
@keyframes fxbar{0%,100%{transform:scaleY(.22)}50%{transform:scaleY(1)}}
html.a-still .fx-ring{animation:none;opacity:.35;transform:scale(1)}
html.a-still .fx-bar{animation:none;transform:scaleY(.55)}
@media (prefers-reduced-motion:reduce){.fx-ring{animation:none;opacity:.35;transform:scale(1)}.fx-bar{animation:none;transform:scaleY(.55)}}
@media (max-width:900px){.fx-card{display:none}}

/* ---- Full photos, never cropped: podcast cards + news thumbnails.
   Same rule as the story images â€” contain, with the dark radial backdrop filling any letterbox. ---- */
.pod__art{aspect-ratio:4/3}
.pod__art img,.nitem img{object-fit:contain}
.pod__art img{filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}

.news__primary{display:grid;align-content:start;gap:1.25rem;min-width:0}
.news__showcase{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,2.5rem);width:100%;min-width:0}
.news__poster{width:min(100%,380px);justify-self:center;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--night);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.news__poster img{display:block;width:100%;height:auto}
.news__list{display:flex;flex-direction:column;align-content:stretch}
.news__list .nitem{flex:0 0 auto}
.news__sidefx{position:relative;display:grid;place-items:center;flex:1 1 auto;min-height:180px;margin-top:.75rem;overflow:hidden;border-top:1px solid var(--line);isolation:isolate}
.news__signal{position:relative;display:grid;place-items:center;width:58px;aspect-ratio:1;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:radial-gradient(circle,rgba(242,36,58,.28),rgba(46,43,217,.12) 58%,transparent 72%);box-shadow:0 0 42px rgba(192,23,127,.2)}
.news__signal:before,.news__signal:after{position:absolute;inset:-22px;border:1px solid rgba(242,36,58,.5);border-radius:50%;content:"";animation:news-signal 2.8s ease-out infinite}
.news__signal:after{inset:-44px;border-color:rgba(46,43,217,.4);animation-delay:1.4s}
.news__signal i{position:absolute;inset:-10px;border:1px solid rgba(255,224,27,.34);border-radius:50%;animation:news-signal 2.8s ease-out infinite .7s}
.news__signal b{width:11px;aspect-ratio:1;border-radius:50%;background:#ffe01b;box-shadow:0 0 16px #ffe01b}
.news__note{position:absolute;color:#ffcf24;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1;text-shadow:0 0 18px currentColor;animation:news-note 4.8s ease-in-out infinite}
.news__note--one{left:17%;top:22%;color:#ffcf24}
.news__note--two{left:76%;top:20%;color:#e33591;animation-delay:-1.6s}
.news__note--three{left:68%;top:68%;color:#4b61ff;animation-delay:-3.2s}
@keyframes news-signal{0%{transform:scale(.6);opacity:.85}100%{transform:scale(1.45);opacity:0}}
@keyframes news-note{0%,100%{transform:translateY(8px) rotate(-8deg);opacity:.55}50%{transform:translateY(-13px) rotate(8deg);opacity:1}}
.news__eq{position:relative;display:flex;align-items:center;justify-content:space-between;gap:clamp(2px,.3vw,5px);min-width:0;height:260px;overflow:hidden;isolation:isolate}
.news__eq:before{content:"";position:absolute;inset:15%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(194,18,101,.2),rgba(46,43,217,.12) 42%,transparent 72%);filter:blur(16px)}
.news__eq i{flex:0 0 clamp(3px,.32vw,6px);height:45%;border-radius:99px;background:#c0177f;transform:scaleY(.16);transform-origin:center;animation:news-eq 1.25s ease-in-out infinite;animation-delay:var(--bar-delay,0s)}
.news__eq i:nth-child(6n+1){background:#2e2bd9;height:38%}
.news__eq i:nth-child(6n+2){background:#7a22c9;height:66%}
.news__eq i:nth-child(6n+3){background:#c0177f;height:48%}
.news__eq i:nth-child(6n+4){background:#f2243a;height:84%}
.news__eq i:nth-child(6n+5){background:#ff7a1a;height:57%}
.news__eq i:nth-child(6n){background:#ffe01b;height:73%}
.news__eq i:nth-child(3n){animation-duration:1.55s}
.news__eq i:nth-child(3n+1){animation-duration:1.05s}
@keyframes news-eq{0%,100%{transform:scaleY(.16);opacity:.58}50%{transform:scaleY(1);opacity:1}}
@media(max-width:560px){.news__showcase{grid-template-columns:minmax(0,1fr) minmax(70px,.48fr);gap:.5rem}.news__eq{height:160px;gap:3px}.news__eq i:nth-child(n+17){display:none}.news__sidefx{min-height:110px}}
@media(prefers-reduced-motion:reduce){.news__eq i{animation:none;transform:scaleY(.55)}.news__signal:before,.news__signal:after,.news__signal i,.news__note{animation:none}}

/* ---- About page: footer-style spinning vinyl + floating notes fill the empty
   column space under the poster (right of the "Rebirth of radio" copy) ---- */
.about-art{display:flex;flex-direction:column;gap:1.2rem;min-width:0}
.about-fx{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,5vw,4rem);min-height:170px;border-radius:28px;border:1px solid var(--line);background:radial-gradient(70% 70% at 50% 32%,rgba(122,34,201,.3),transparent 72%),var(--night)}
.about-fx svg{width:clamp(110px,13vw,170px);height:auto}
@media(min-width:901px){.about-art figure{flex:none;height:auto;aspect-ratio:4/3;max-height:560px}}
@media(max-width:900px){.about-fx{display:none}}

/* advertising: stacked sample commercials beside the Ad-Venture copy */
.ad-samples{display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%}
.ad-samples h3{margin:0 0 .2rem;font-weight:800;font-size:1.1rem;color:var(--white)}
.ad-samples .audio-intro{width:100%;margin-top:0;flex-wrap:nowrap}
.ad-samples .audio-intro>div{min-width:0;flex:1}
.ad-samples .audio-intro .wave{margin-left:auto;flex:none}

/* ---- Header swap without a page refresh: radio-platform links on content pages,
   the green payment button everywhere else. Both are always in the DOM; body[data-page]
   (set by PHP on load and by main.js on every PJAX navigation) decides which one shows. ---- */
.hdr__radios,.mnav__radios{display:none}
body[data-page=home] .hdr__radios,body[data-page=about] .hdr__radios,body[data-page=shows] .hdr__radios,body[data-page=podcasts] .hdr__radios,body[data-page=news] .hdr__radios,body[data-page=contact] .hdr__radios{display:inline-flex}
body[data-page=home] .mnav__radios,body[data-page=about] .mnav__radios,body[data-page=shows] .mnav__radios,body[data-page=podcasts] .mnav__radios,body[data-page=news] .mnav__radios,body[data-page=contact] .mnav__radios{display:flex}
body[data-page=home] .hdr__pay,body[data-page=about] .hdr__pay,body[data-page=shows] .hdr__pay,body[data-page=podcasts] .hdr__pay,body[data-page=news] .hdr__pay,body[data-page=contact] .hdr__pay{display:none}

/* ---- Advertising: animated ON AIR panel fills the empty space beside the two promo posters ---- */
.promo-row--fx{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}
.promo-fx{display:flex;align-items:center;justify-content:center;border-radius:16px;border:1px solid var(--line);background:radial-gradient(70% 70% at 50% 32%,rgba(122,34,201,.3),transparent 72%),var(--night)}
.promo-fx svg{width:min(58%,220px);height:auto}
@media(max-width:900px){.promo-row--fx{grid-template-columns:1fr;max-width:760px}.promo-fx{display:none}}

/* ---- Home app banners: static cards, no tilt/animation/hover ---- */
.promo-tilt{position:relative;display:block;border-radius:16px;overflow:hidden;line-height:0;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 30px 60px -28px #000}

/* ---- Space tightening around the tunnel + podcasts strip ----
   The tunnel is no longer pinned (its pin injected ~60vh of blank scroll space on both
   sides); it animates while scrolling through at a tighter height. The podcasts strip
   keeps only enough top pad for its heading to clear the fixed header while pinned. ---- */
.tunnel{height:min(72svh,640px)}
.tunnel__num span{font-size:clamp(7rem,24vw,22rem)}
.tunnel__cap{bottom:9%}
/* podcasts strip is not pinned any more, so it needs no header-clearing pad */
@media(min-width:900px){.pods{padding-top:12px}}

/* ---- Platform / social icons in their original brand colors (header, mobile menu, footer) ---- */
.hdr__radios a.s-fb,.mnav__radios a.s-fb,.socials a.s-fb{background:#1877F2;border-color:#1877F2;color:#fff}
.hdr__radios a.s-ig,.mnav__radios a.s-ig,.socials a.s-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:transparent;color:#fff}
.hdr__radios a.s-simple,.mnav__radios a.s-simple,.socials a.s-simple{background:#1A9FE0;border-color:#1A9FE0;color:#fff}
.hdr__radios a.s-usradio,.mnav__radios a.s-usradio,.socials a.s-usradio{background:#B31942;border-color:#B31942;color:#fff}
.hdr__radios a.s-stream,.mnav__radios a.s-stream,.socials a.s-stream{background:#C0177F;border-color:#C0177F;color:#fff}
.socials a.s-mail{background:#EA4335;border-color:#EA4335;color:#fff}
.hdr__radios a.s-fb:hover,.hdr__radios a.s-fb:focus-visible{box-shadow:0 0 18px -4px #1877F2}
.hdr__radios a.s-ig:hover,.hdr__radios a.s-ig:focus-visible{box-shadow:0 0 18px -4px #d6249f}
.hdr__radios a.s-simple:hover,.hdr__radios a.s-simple:focus-visible{box-shadow:0 0 18px -4px #1A9FE0}
.hdr__radios a.s-usradio:hover,.hdr__radios a.s-usradio:focus-visible{box-shadow:0 0 18px -4px #B31942}
.hdr__radios a.s-stream:hover,.hdr__radios a.s-stream:focus-visible{box-shadow:0 0 18px -4px #C0177F}
.socials a.s-fb:hover{background:#1877F2;color:#fff}
.socials a.s-ig:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff}
.socials a.s-simple:hover{background:#1A9FE0;color:#fff}
.socials a.s-usradio:hover{background:#B31942;color:#fff}
.socials a.s-stream:hover{background:#C0177F;color:#fff}
.socials a.s-mail:hover{background:#EA4335;color:#fff}

/* ---- About page: musical hero â€” an equalizer wall filling the blank right side + a gentle word bounce ---- */
.phero__eqwall{position:absolute;inset:auto 3vw 0 70%;height:68%;display:flex;align-items:flex-end;gap:clamp(3px,.55vw,9px);z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%);mask-image:linear-gradient(90deg,transparent,#000 14%)}
.phero__eqwall i{flex:1;height:100%;border-radius:99px 99px 0 0;transform-origin:bottom;opacity:.75;animation:eqtall 1.1s ease-in-out infinite}
.phero__eqwall i:nth-child(6n+1){background:#2E2BD9}
.phero__eqwall i:nth-child(6n+2){background:#7A22C9}
.phero__eqwall i:nth-child(6n+3){background:#C0177F}
.phero__eqwall i:nth-child(6n+4){background:#F2243A}
.phero__eqwall i:nth-child(6n+5){background:#FF7A1A}
.phero__eqwall i:nth-child(6n){background:#FFE01B}
.phero__eqwall i:nth-child(2n){animation-duration:.85s;animation-delay:.12s}
.phero__eqwall i:nth-child(3n){animation-duration:1.3s;animation-delay:.3s}
.phero__eqwall i:nth-child(4n+1){animation-duration:.95s;animation-delay:.22s}
.phero__eqwall i:nth-child(5n+2){animation-duration:1.45s;animation-delay:.05s}
.phero__eqwall i:nth-child(7n+3){animation-duration:.78s;animation-delay:.4s}
@media(max-width:760px){.phero__eqwall{left:62%;right:3vw;height:46%;opacity:.45}}
html.a-still .phero__eqwall i{animation:none;transform:scaleY(.35)}
body[data-page=about] .phero h1 .w{animation:hBob 2.6s ease-in-out infinite;animation-delay:1.2s}
body[data-page=about] .phero h1 .w:nth-child(2){animation-delay:1.45s}
body[data-page=about] .phero h1 .w:nth-child(3){animation-delay:1.7s}
@keyframes hBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-.07em)}}
html.a-still body[data-page=about] .phero h1 .w{animation:none}
@media(prefers-reduced-motion:reduce){.phero__eqwall i{animation:none;transform:scaleY(.35)}body[data-page=about] .phero h1 .w{animation:none}}

/* ---- Inner page heroes: a unique music animation in the blank right side of each page ---- */
.phero__fx{position:absolute;top:54%;right:6vw;transform:translateY(-50%);width:min(26vw,320px);z-index:-1;pointer-events:none;display:flex;align-items:center;justify-content:center}
@media(max-width:760px){.phero__fx{right:3vw;width:36vw;opacity:.5}}

/* shows: spinning vinyl record */
.phero__fx--vinyl svg{width:min(230px,82%);filter:drop-shadow(0 18px 40px rgba(192,23,127,.35))}

/* podcasts: center-mirrored waveform */
.phero__fx--wave{height:120px;gap:clamp(3px,.4vw,7px)}
.phero__fx--wave i{flex:1;height:100%;border-radius:99px;transform-origin:center;animation:podWave 1.15s ease-in-out infinite;opacity:.85}
.phero__fx--wave i:nth-child(4n+1){background:#7A22C9}
.phero__fx--wave i:nth-child(4n+2){background:#C0177F;animation-duration:.9s;animation-delay:.15s}
.phero__fx--wave i:nth-child(4n+3){background:#F2243A;animation-duration:1.35s;animation-delay:.3s}
.phero__fx--wave i:nth-child(4n){background:#FFE01B;animation-duration:1s;animation-delay:.08s}
.phero__fx--wave i:nth-child(3n){animation-duration:.8s;animation-delay:.22s}
@keyframes podWave{0%,100%{transform:scaleY(.14)}50%{transform:scaleY(.95)}}

/* news: broadcast mast with expanding radio ripples */
.phero__fx--signal{height:230px}
.phero__fx--signal .sig-mast{position:absolute;bottom:6%;left:50%;width:3px;height:46%;transform:translateX(-50%);background:linear-gradient(180deg,#FFE01B,#ffffff30)}
.phero__fx--signal .sig-dot{position:absolute;top:28%;left:50%;width:12px;height:12px;border-radius:50%;background:#FFE01B;transform:translate(-50%,-50%);box-shadow:0 0 16px #FFE01B;animation:sigBlink 1.6s ease-in-out infinite}
.phero__fx--signal i{position:absolute;top:28%;left:50%;width:46px;height:46px;border-radius:50%;border:2px solid #C0177F;transform:translate(-50%,-50%) scale(.3);opacity:0;animation:sigRipple 2.8s ease-out infinite}
.phero__fx--signal i:nth-child(4){border-color:#F2243A;animation-delay:.9s}
.phero__fx--signal i:nth-child(5){border-color:#FFE01B;animation-delay:1.8s}
@keyframes sigRipple{0%{transform:translate(-50%,-50%) scale(.3);opacity:.9}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}
@keyframes sigBlink{0%,100%{opacity:1}50%{opacity:.35}}

/* sponsors: floating music notes */
.phero__fx--notes svg{width:min(230px,82%)}

/* advertising: FM tuning dial with a sweeping needle */
.phero__fx--dial{height:90px}
.phero__fx--dial .dial-scale{position:absolute;inset:50% 0 auto 0;height:40px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#ffffff38 0 2px,transparent 2px 16px);border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}
.phero__fx--dial .dial-needle{position:absolute;top:50%;left:2%;width:4px;height:66px;transform:translateY(-50%);border-radius:2px;background:#F2243A;box-shadow:0 0 14px #F2243A;animation:dialSweep 4.5s ease-in-out infinite alternate}
@keyframes dialSweep{0%{left:2%}100%{left:96%}}

/* donate: heartbeat pulse line */
.phero__fx--pulse{height:110px}
.phero__fx--pulse svg{width:100%;height:100%;overflow:visible}
.phero__fx--pulse .pulse-line{stroke-dasharray:560;stroke-dashoffset:560;animation:pulseDraw 2.6s linear infinite;filter:drop-shadow(0 0 8px rgba(242,36,58,.8))}
@keyframes pulseDraw{0%{stroke-dashoffset:560}60%{stroke-dashoffset:0}100%{stroke-dashoffset:-560}}
.phero__fx--pulse .pulse-heart{position:absolute;top:-38px;right:6%;font-size:42px;line-height:1;color:#F2243A;text-shadow:0 0 18px rgba(242,36,58,.8);animation:heartBeat 1.3s ease-in-out infinite}
@keyframes heartBeat{0%,100%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.18)}56%{transform:scale(1)}}

/* contact: signal arcs reaching out from the studio */
.phero__fx--calls{height:200px}
.phero__fx--calls .call-dot{position:absolute;top:50%;left:22%;width:14px;height:14px;border-radius:50%;background:#FFE01B;transform:translate(-50%,-50%);box-shadow:0 0 16px #FFE01B}
.phero__fx--calls i{position:absolute;top:50%;left:22%;border-radius:50%;border:3px solid transparent;border-right-color:#C0177F;transform:translate(-50%,-50%);animation:arcPulse 2.2s ease-out infinite}
.phero__fx--calls i:nth-child(2){width:70px;height:70px}
.phero__fx--calls i:nth-child(3){width:130px;height:130px;border-right-color:#F2243A;animation-delay:.35s}
.phero__fx--calls i:nth-child(4){width:190px;height:190px;border-right-color:#FFE01B;animation-delay:.7s}
@keyframes arcPulse{0%,100%{opacity:.15}40%{opacity:1}}

/* privacy: ticking metronome */
.phero__fx--metro{height:220px}
.phero__fx--metro .metro-body{position:absolute;bottom:8%;left:50%;width:150px;height:170px;transform:translateX(-50%);background:linear-gradient(180deg,#1d1430,#0b0b12);clip-path:polygon(32% 0,68% 0,100% 100%,0 100%);box-shadow:0 0 0 1px #ffffff1f}
.phero__fx--metro .metro-rod{position:absolute;bottom:12%;left:50%;width:4px;height:150px;margin-left:-2px;border-radius:2px;background:#FFE01B;transform-origin:50% 100%;animation:metroTick 1.1s ease-in-out infinite alternate;box-shadow:0 0 10px rgba(255,224,27,.6)}
.phero__fx--metro .metro-rod::after{content:"";position:absolute;top:18px;left:50%;width:18px;height:26px;transform:translateX(-50%);border-radius:6px;background:#C0177F}
@keyframes metroTick{0%{transform:rotate(-24deg)}100%{transform:rotate(24deg)}}

/* stop-animations + reduced motion */
html.a-still .phero__fx *,html.a-still .phero__fx *::after{animation:none!important}
@media(prefers-reduced-motion:reduce){.phero__fx *,.phero__fx *::after{animation:none!important}}

/* ---- "Listen to the intro" cards: keep the EQ bars dancing (they were static until hover) ---- */
.audio-intro .wave i{animation:eq 1s ease-in-out infinite}
.audio-intro .wave i:nth-child(4n+1){background:#C0177F}
.audio-intro .wave i:nth-child(4n+3){background:#FF7A1A}

/* ---- Sponsors: equalizer strip filling the space under the flyer cards ---- */
.sp-eq{grid-column:1/-1;display:flex;align-items:flex-end;gap:clamp(3px,.5vw,8px);height:70px;margin-top:.4rem}
.sp-eq i{flex:1;height:100%;border-radius:99px 99px 0 0;transform-origin:bottom;opacity:.8;animation:eqtall 1.1s ease-in-out infinite}
.sp-eq i:nth-child(6n+1){background:#2E2BD9}
.sp-eq i:nth-child(6n+2){background:#7A22C9}
.sp-eq i:nth-child(6n+3){background:#C0177F}
.sp-eq i:nth-child(6n+4){background:#F2243A}
.sp-eq i:nth-child(6n+5){background:#FF7A1A}
.sp-eq i:nth-child(6n){background:#FFE01B}
.sp-eq i:nth-child(2n){animation-duration:.85s;animation-delay:.12s}
.sp-eq i:nth-child(3n){animation-duration:1.3s;animation-delay:.3s}
.sp-eq i:nth-child(5n+2){animation-duration:1.45s;animation-delay:.05s}
.sp-eq i:nth-child(7n+3){animation-duration:.78s;animation-delay:.4s}

/* ---- Advertising: equalizer bars filling the space above the booking button ---- */
.adv-eq{display:flex;align-items:flex-end;gap:5px;height:58px;margin-bottom:1.3rem;max-width:340px}
.adv-eq i{flex:1;max-width:14px;height:100%;border-radius:99px 99px 0 0;transform-origin:bottom;opacity:.85;animation:eqtall 1s ease-in-out infinite}
.adv-eq i:nth-child(6n+1){background:#2E2BD9}
.adv-eq i:nth-child(6n+2){background:#7A22C9}
.adv-eq i:nth-child(6n+3){background:#C0177F}
.adv-eq i:nth-child(6n+4){background:#F2243A}
.adv-eq i:nth-child(6n+5){background:#FF7A1A}
.adv-eq i:nth-child(6n){background:#FFE01B}
.adv-eq i:nth-child(2n){animation-duration:.82s;animation-delay:.12s}
.adv-eq i:nth-child(3n){animation-duration:1.25s;animation-delay:.3s}
.adv-eq i:nth-child(5n+2){animation-duration:1.4s;animation-delay:.05s}

/* ---- Mobile responsive pass: tight sections stack; the header keeps its platform icons ---- */
@media(max-width:900px){
.archive--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
.hdr__pay{display:none}
/* sponsors / advertising / donate: the green payment button replaces Listen live in the header,
   slightly larger and centered between the logo and the burger */
body[data-page=sponsors] .hdr__in .hdr__pay,body[data-page=advertising] .hdr__in .hdr__pay,body[data-page=donate] .hdr__in .hdr__pay{display:inline-flex;margin-inline:auto;padding:.85rem 1.4rem;font-size:.98rem}
body[data-page=sponsors] .hdr__live,body[data-page=advertising] .hdr__live,body[data-page=donate] .hdr__live{display:none}
}
@media(max-width:640px){
.brand img{width:60px;height:60px}
.hdr.is-scrolled .brand img{width:52px;height:52px}
.hdr__in{gap:.6rem;padding:.5rem .6rem .5rem .85rem}
.sp-offer__art{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
.sp-eq{height:52px}
.cinfo a,.ftr a{word-break:break-word}
.ftr__apps{display:flex;flex-wrap:wrap;gap:.6rem}
}
@media(max-width:560px){
.phero__fx{opacity:.32}
.phero__eqwall{opacity:.35}
.promo-row--wide{max-width:430px;margin-inline:auto}
.archive--3{grid-template-columns:minmax(0,1fr)}
}

/* ---- Mobile menu polish: listen button keeps its text; sidebar platform icons become clean brand circles ---- */
@media(max-width:640px){
.hdr__live span{display:inline}
.hdr__live{padding:.68rem 1rem}
}
.mnav__radios{gap:.8rem}
.mnav__radios a{width:52px;height:52px;padding:0;justify-content:center;gap:0;font-size:0;border-radius:50%}
.mnav__radios svg{width:22px;height:22px}

/* ---- Kill sideways panning on mobile: clip beats hidden (touch can still pan a "hidden" overflow) ---- */
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* ---- Stories on mobile: the absolute/stretch image setup collapses in 1-column layout and crops
   the photo â€” let the image flow at its natural height instead, never cut ---- */
@media(max-width:900px){
.story{align-items:start}
.story__img{position:relative;height:auto;min-height:0;max-height:none;aspect-ratio:auto}
.story__img img{position:static;width:100%;height:auto;object-fit:contain}
}

/* ---- Mobile image audit: no photo may be cropped on small screens.
   Backdrops behind text (genre tiles, featured-news card) stay cover by design. ---- */
@media(max-width:900px){
.card__img{aspect-ratio:auto}
.card__img img{height:auto;object-fit:contain}
.stage__img img{object-fit:contain}
.mtr__band{align-items:start}
.mtr__band figure{aspect-ratio:auto}
.mtr__band img{height:auto;object-fit:unset}
.mtr__band figure:nth-child(2n){transform:none}
.split2 figure{max-height:none}
.dn-photo{aspect-ratio:auto;min-height:0}
.dn-photo img{position:static;height:auto;object-fit:contain}
}

/* ---- Home photo band: on phones the remote 4th photo is swapped for a local one ---- */
.mtr__band .m-only{display:none}
@media(max-width:900px){
.mtr__band .m-only{display:block}
.mtr__band .m-hide{display:none}
}

/* ---- Partners wall: on phones the 2-column grid leaves a 4th cell empty â€” fill it ---- */
.partners .m-only{display:none}
@media(max-width:900px){
.partners .m-only{display:grid}
.partners .m-only img{filter:none;opacity:1}
}
/* 4th partner (Logo Design) shows on every screen: 4 columns on desktop, 2x2 on phones */
/* minmax(0,1fr) stops wide images from stretching a column past the box (that clipped the right column) */
.partners{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:901px){.partners{grid-template-columns:repeat(4,minmax(0,1fr))}}
.partners figure{min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:clamp(.6rem,.9vw,.9rem);border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(139,83,180,.08));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 18px 32px -24px rgba(0,0,0,.8)}
.partners figure img{width:100%;height:100%;max-width:100%;object-fit:contain;display:block;filter:none;opacity:1}
.partners .partner-logo img{filter:none;opacity:1}

/* ---- Mobile header: platform/social icons sit left of the Listen live button on
   home/about/shows/podcasts/news/contact; both slightly smaller so the row fits ---- */
@media(max-width:640px){
.hdr__radios{gap:.25rem}
.hdr__radios a{width:24px;height:24px}
.hdr__radios svg{width:12px;height:12px}
.hdr__live{padding:.6rem .85rem;font-size:.84rem;gap:.45rem}
}
@media(max-width:420px){
.hdr__in{gap:.45rem;padding:.45rem .5rem .45rem .6rem}
.brand img{width:53px;height:53px}
.hdr__radios a{width:26px;height:26px}
.hdr__radios svg{width:14px;height:14px}
.hdr__live{padding:.5rem .6rem;font-size:.7rem;gap:.3rem}
.burger{width:42px;height:42px}
}
/* mobile header tweak: smaller Listen live, platform/social icons a touch bigger with more breathing room */
@media(max-width:640px){
.hdr__radios{gap:.45rem}
.hdr__radios a{width:30px;height:30px}
.hdr__radios svg{width:16px;height:16px}
.hdr__live{padding:.45rem .65rem;font-size:.7rem;gap:.3rem}
}
@media(max-width:420px){
.hdr__radios{gap:.4rem}
.hdr__radios a{width:29px;height:29px}
.hdr__radios svg{width:15px;height:15px}
.hdr__live{padding:.38rem .48rem;font-size:.6rem;gap:.25rem}
}
@media(max-width:375px){
.hdr__radios{gap:.28rem}
.hdr__radios a{width:27px;height:27px}
.hdr__radios svg{width:14px;height:14px}
}

/* ---- Home hero: the Listen Live button is gone; the mini player sits in the page
   at that exact spot (absolute, not fixed) and scrolls away with the hero like normal content ---- */
/* anchored in the page, it must slide UNDER the fixed header (z 80) while scrolling */
body[data-page=home] .player{z-index:70}
@media(min-width:641px){
body[data-page=home] .hero__cta .btn-live{display:none}
body[data-page=home] .player{position:absolute;right:auto;bottom:auto;left:max(calc((100vw - var(--max))/2 + var(--pad)),var(--pad));top:calc(100svh - 72px - clamp(1.5rem,5vh,3rem) + 7px);transform:translateY(-100%)}
body[data-page=home] .hero__cta{padding-left:200px;min-height:66px}
}
/* mobile: buttons stack, so the player takes the Listen Live slot above "Explore shows" */
@media(max-width:640px){
body[data-page=home] .hero__cta .btn-live{display:none}
body[data-page=home] .player{position:absolute;right:auto;bottom:auto;width:auto;left:var(--pad);top:calc(100svh - 60px - 1.4rem - 66px);transform:translateY(-100%)}
body[data-page=home] .hero__cta{padding-top:78px}
}
/* mobile: hero copy sits right under the header (small fixed gap) instead of at the bottom of the screen;
   the player follows the Explore-shows slot via --cta-y (set in index.php) */
@media(max-width:640px){
.hero{align-items:flex-start}
.hero__copy{padding-top:112px}
body[data-page=home] .player{top:var(--cta-y,calc(100svh - 60px - 1.4rem - 66px))}
}
@media(max-width:420px){
.hero__copy{padding-top:100px}
}
/* the player never shows on top of the open burger menu */
.mnav.is-open~.player{opacity:0;visibility:hidden;pointer-events:none}

/* ---- Laptop / desktop: hero text sits a fixed small gap below the header logo
   (logo bottom ~98px + ~21px gap), instead of sinking to the bottom on tall screens ---- */
@media(min-width:641px){
.hero{align-items:flex-start}
.hero__copy{padding-top:119px}
body[data-page=home] .player{top:var(--cta-y,calc(100svh - 72px - clamp(1.5rem,5vh,3rem) + 7px))}
}

/* ---- On Air: footer-style floating music notes above "Live status" (uses .fx-note / fxfloat) ---- */
.onair__fx{max-width:420px;margin:0 0 1rem;pointer-events:none}
.onair__fx svg{display:block;width:100%;height:auto;overflow:visible}
.onair__fx .fx-n5{animation-delay:.55s}
.onair__fx .fx-n6{animation-delay:2.7s}
@media(max-width:900px){.onair__fx{max-width:320px;margin:0 auto .8rem}}

/* ---- Podcasts: music tile (cassette deck + mixing desk) fills the empty slots after the
   last Interviews & features card ---- */
.pod-fx{display:none;position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);flex-direction:column;gap:clamp(1rem,2vw,1.6rem);padding:clamp(1.3rem,2.6vw,2.2rem);min-height:320px;
  background:radial-gradient(55% 70% at 22% 55%,rgba(192,23,127,.3),transparent 70%),radial-gradient(60% 80% at 82% 35%,rgba(122,34,201,.4),transparent 70%),var(--night)}
.pod-fx:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,224,27,.08) 50%,transparent 65%);transform:translateX(-100%);animation:podSweep 6s ease-in-out infinite;pointer-events:none}
@keyframes podSweep{60%,100%{transform:translateX(100%)}}
.pod-fx__top{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pod-fx__onair{display:inline-flex;align-items:center;gap:.55rem;color:#ff5a6e}
.pod-fx__onair i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red);animation:podBlink 1.2s ease-in-out infinite}
@keyframes podBlink{50%{opacity:.25}}
.pod-fx__main{flex:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);align-items:center}
.pod-fx__tape{width:100%;height:auto;filter:drop-shadow(0 18px 36px rgba(0,0,0,.55)) drop-shadow(0 0 26px rgba(192,23,127,.3))}
.pod-fx__reel{transform-box:fill-box;transform-origin:center;animation:fxspin 2.4s linear infinite}
.pod-fx__reel--r{animation-duration:1.7s}
.pod-fx__band{animation:podBand .5s linear infinite}
@keyframes podBand{50%{opacity:.55}}
.pod-fx__desk{height:100%;min-height:220px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(4px,.7vw,10px);padding:clamp(.8rem,1.5vw,1.2rem);border-radius:16px;background:linear-gradient(180deg,#1d1430,#0b0b12);box-shadow:inset 0 0 0 1px #ffffff1a,0 18px 40px -18px #000}
.pod-fx__ch{display:grid;grid-template-rows:1fr 1.25fr auto;gap:8px;justify-items:center;min-width:0}
.pod-fx__ch small{font-size:.68rem;font-weight:700;color:var(--mute)}
.pod-fx__meter{position:relative;width:8px;height:100%;border-radius:3px;background:#ffffff12;overflow:hidden}
.pod-fx__meter b{position:absolute;inset:0;transform-origin:bottom;
  background:linear-gradient(0deg,#22c55e 0 55%,var(--yellow) 55% 78%,var(--red) 78%);
  -webkit-mask:repeating-linear-gradient(0deg,#000 0 4px,transparent 4px 6px);mask:repeating-linear-gradient(0deg,#000 0 4px,transparent 4px 6px);
  animation:podMeter .8s ease-in-out calc(var(--c) * -.23s) infinite alternate}
.pod-fx__ch:nth-child(even) .pod-fx__meter b{animation-duration:.6s;animation-name:podMeter2}
.pod-fx__ch:nth-child(3n) .pod-fx__meter b{animation-duration:1.05s}
@keyframes podMeter{0%{transform:scaleY(.2)}45%{transform:scaleY(.85)}70%{transform:scaleY(.5)}100%{transform:scaleY(.95)}}
@keyframes podMeter2{0%{transform:scaleY(.6)}40%{transform:scaleY(.25)}100%{transform:scaleY(1)}}
.pod-fx__slot{position:relative;width:4px;height:100%;border-radius:2px;background:#ffffff26}
.pod-fx__slot b{position:absolute;left:50%;top:0;width:clamp(16px,1.8vw,24px);height:12px;margin-left:calc(clamp(16px,1.8vw,24px) / -2);border-radius:3px;
  background:linear-gradient(180deg,#f4f0ff,#9c94b8);box-shadow:0 2px 6px #000a,inset 0 -2px 0 #0004;
  animation:podFader 3.2s ease-in-out calc(var(--c) * -.55s) infinite alternate}
.pod-fx__ch:nth-child(odd) .pod-fx__slot b{animation-duration:4.1s}
.pod-fx__ch:nth-child(1) .pod-fx__slot b,.pod-fx__ch:nth-child(5) .pod-fx__slot b{background:linear-gradient(180deg,var(--yellow),#c9a800)}
.pod-fx__ch:nth-child(8) .pod-fx__slot b{background:linear-gradient(180deg,#ff5a6e,var(--red))}
@keyframes podFader{0%{top:8%}50%{top:60%}100%{top:calc(100% - 12px)}}
.pod-fx__tag{position:relative;margin:0;color:var(--mute);font-weight:600;font-size:.95rem}
.pod-fx__foot{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem}
/* tied to the live radio: the deck idles until the stream plays (body.is-playing is set by main.js) */
.pod-fx__reel,.pod-fx__band,.pod-fx__meter b,.pod-fx__slot b{animation-play-state:paused}
.pod-fx__meter b{opacity:.45}
.pod-fx__onair{color:var(--mute)}
.pod-fx__onair i{background:#6b6480;box-shadow:none;animation:none}
body.is-playing .pod-fx__reel,body.is-playing .pod-fx__band,body.is-playing .pod-fx__meter b,body.is-playing .pod-fx__slot b{animation-play-state:running}
body.is-playing .pod-fx__meter b{opacity:1}
body.is-playing .pod-fx__onair{color:#ff5a6e}
body.is-playing .pod-fx__onair i{background:var(--red);box-shadow:0 0 12px var(--red);animation:podBlink 1.2s ease-in-out infinite}
body.is-playing .pod-fx{border-color:rgba(255,224,27,.35);box-shadow:0 0 50px -12px rgba(192,23,127,.55)}
@media(min-width:1001px){
.pod-fx[data-s3="1"],.pod-fx[data-s3="2"]{display:flex}
.pod-fx[data-s3="2"]{grid-column:span 2}
.pod-fx[data-s3="1"] .pod-fx__main{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:601px) and (max-width:1000px){
.pod-fx[data-s2="1"]{display:flex}
.pod-fx[data-s2="1"] .pod-fx__main{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.pod-fx *,.pod-fx:before{animation:none!important}}
html.a-still .pod-fx *,html.a-still .pod-fx:before{animation:none!important}
