:root{--ink:#050714;--ink-2:#090d20;--panel:#0d1228;--white:#f7f9ff;--muted:#9aa6c3;--cyan:#35f4ff;--blue:#3687ff;--violet:#9a4dff;--line:rgba(151,174,230,.17);--gradient:linear-gradient(120deg,var(--cyan),var(--blue) 52%,var(--violet));--shadow:0 24px 80px rgba(0,0,0,.35);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:Inter,system-ui,sans-serif;line-height:1.6;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 15% 15%,rgba(54,135,255,.08),transparent 28%),radial-gradient(circle at 88% 40%,rgba(154,77,255,.07),transparent 28%),var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip-link:focus{top:12px}.site-header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid transparent;transition:.3s}.site-header.scrolled{background:rgba(5,7,20,.83);backdrop-filter:blur(18px);border-color:var(--line)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:43px;height:34px;overflow:visible}.brand-mark path{fill:none;stroke:url(#nova-gradient),var(--cyan);stroke:var(--cyan);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.brand-mark .mark-glow{stroke:var(--violet);opacity:.35;filter:blur(3px)}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font:700 16px/1 Space Grotesk,sans-serif;letter-spacing:.12em}.brand small{font-size:8px;letter-spacing:.5em;color:var(--muted);margin-top:5px}.site-nav{display:flex;align-items:center;gap:31px}.site-nav a{font-size:13px;color:#cbd3e8;transition:.2s}.site-nav a:hover,.site-nav a:focus{color:var(--cyan)}.menu-button{display:none;background:none;border:0;color:white;padding:8px}.menu-button span{display:block;width:25px;height:2px;background:currentColor;margin:5px}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;padding:120px 0 90px;background:radial-gradient(ellipse at 50% 62%,rgba(38,76,178,.16),transparent 45%)}.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:25%;background:linear-gradient(transparent,var(--ink));pointer-events:none}.aurora{position:absolute;width:630px;height:630px;border-radius:50%;filter:blur(100px);opacity:.13}.aurora-one{background:var(--blue);left:-280px;top:-200px}.aurora-two{background:var(--violet);right:-320px;bottom:-250px}.wave-grid{position:absolute;left:-10%;right:-10%;bottom:-12%;height:45%;perspective:400px;transform:rotateX(61deg);background-image:linear-gradient(rgba(53,244,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(54,135,255,.12) 1px,transparent 1px);background-size:52px 30px;mask-image:linear-gradient(transparent,#000 35%);animation:gridMove 8s linear infinite}@keyframes gridMove{to{background-position:0 60px,52px 0}}.hero-content{position:relative;z-index:2;text-align:center;display:flex;align-items:center;flex-direction:column}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.28em;color:var(--cyan)}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:5px}.eyebrow span{width:24px;height:1px;background:var(--cyan)}.hero-mark{width:160px;max-height:120px;margin:4px 0 8px}.hero h1{font:700 clamp(3.3rem,9vw,7.4rem)/.8 Space Grotesk,sans-serif;letter-spacing:-.06em;margin:0}.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(215,231,255,.75)}.hero-subtitle{font:600 clamp(.8rem,1.8vw,1.08rem)/1 Space Grotesk,sans-serif;letter-spacing:.53em;margin:26px 0 19px;color:#d9e0ef}.hero-copy{max-width:620px;margin:0;color:#aeb8cf;font-size:clamp(.96rem,2vw,1.1rem)}.hero-actions,.inline-actions{display:flex;gap:13px;align-items:center;margin-top:34px;flex-wrap:wrap;justify-content:center}.button{min-height:50px;padding:0 25px;border:1px solid transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.14em;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;background:none;color:#fff}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gradient);box-shadow:0 10px 35px rgba(54,135,255,.24)}.button-primary:hover{box-shadow:0 14px 44px rgba(54,135,255,.38)}.button-ghost{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.02)}.button-ghost:hover{border-color:var(--cyan)}.play-icon{font-size:.82em}.live-proof{display:flex;align-items:center;gap:8px;margin-top:27px;font-size:10px;color:#8490aa;letter-spacing:.06em}.live-proof strong{color:#ff637d;letter-spacing:.18em}.live-dot{display:inline-block;width:7px;height:7px;background:#ff4668;border-radius:50%;box-shadow:0 0 12px #ff4668;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 3px #ff4668}}.scroll-cue{position:absolute;z-index:3;bottom:25px;width:26px;height:42px;border:1px solid rgba(255,255,255,.23);border-radius:15px}.scroll-cue span{width:3px;height:7px;border-radius:3px;background:var(--cyan);position:absolute;top:8px;left:10px;animation:scroll 1.8s infinite}@keyframes scroll{to{transform:translateY(15px);opacity:0}}.section{padding:110px 0;position:relative}.section-heading{max-width:660px;margin-bottom:46px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2,.artist-copy h2,.roku-copy h2,.contact-layout h2,.manifesto h2{font:700 clamp(2rem,5vw,3.65rem)/1.05 Space Grotesk,sans-serif;letter-spacing:-.045em;margin:13px 0}.section-heading p,.artist-copy>p,.roku-copy p,.contact-layout>div>p,.manifesto span{color:var(--muted);margin:0}.player-section{background:linear-gradient(180deg,var(--ink),#070a19)}.radio-player{max-width:900px;margin:auto;display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:center;background:linear-gradient(135deg,rgba(18,27,57,.92),rgba(9,13,31,.92));border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.radio-player::before{content:"";position:absolute;width:380px;height:250px;background:var(--blue);filter:blur(140px);opacity:.12;right:-100px}.cover{width:150px;aspect-ratio:1;border-radius:18px;background:radial-gradient(circle at 50% 58%,rgba(53,244,255,.25),transparent 25%),linear-gradient(145deg,#111b3b,#080b1a);position:relative;display:grid;place-items:center;border:1px solid rgba(125,173,255,.2);overflow:hidden}.cover::after{content:"";position:absolute;width:180%;height:35px;background:linear-gradient(90deg,transparent,var(--cyan),var(--violet),transparent);filter:blur(13px);transform:rotate(-9deg);opacity:.28}.cover svg,.manifesto svg,.tv-screen svg{width:65%;position:relative;z-index:2;overflow:visible}.cover svg path,.manifesto svg path,.tv-screen svg path{fill:none;stroke:url(#nova-gradient),var(--cyan);stroke:var(--cyan);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px var(--blue))}.cover-orbit{position:absolute;width:90%;height:55%;border:1px solid rgba(53,244,255,.18);border-radius:50%;transform:rotate(-15deg)}.live-label{color:#ff6681;font-size:9px;font-weight:800;letter-spacing:.2em}.track-info h3{font:700 1.45rem Space Grotesk;margin:7px 0 2px}.track-info p{color:var(--muted);margin:0}.equalizer{height:28px;display:flex;gap:4px;align-items:end;margin-top:18px}.equalizer i{width:3px;height:20%;background:var(--gradient);border-radius:3px}.is-playing .equalizer i{animation:eq .8s ease-in-out infinite alternate}.equalizer i:nth-child(2n){animation-delay:-.4s}.equalizer i:nth-child(3n){animation-delay:-.65s}@keyframes eq{to{height:95%}}.player-controls{position:relative;z-index:2;display:flex;align-items:center;gap:17px}.round-button{width:62px;height:62px;border:0;border-radius:50%;background:var(--gradient);color:#fff;cursor:pointer;box-shadow:0 10px 30px rgba(54,135,255,.3);font-size:18px}.volume-control{display:flex;align-items:center;gap:8px;color:var(--muted)}.volume-control input{width:85px;accent-color:var(--cyan)}.player-status{grid-column:2/4;margin:-13px 0 0;color:#71809e;font-size:11px}.channels-section{background:#070a19}.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.channel-card{min-height:370px;border-radius:var(--radius);padding:30px;position:relative;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;background:#0b1022;transition:transform .3s,border-color .3s}.channel-card:hover{transform:translateY(-7px);border-color:rgba(53,244,255,.45)}.channel-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(5,7,20,.9) 78%),radial-gradient(circle at 50% 20%,var(--card-color),transparent 52%);opacity:.8}.channel-card.latino{--card-color:rgba(255,63,154,.34)}.channel-card.rock{--card-color:rgba(54,135,255,.37)}.channel-card.originals{--card-color:rgba(154,77,255,.38)}.card-wave{position:absolute;inset:0;opacity:.28;background:repeating-radial-gradient(ellipse at 50% 26%,transparent 0 19px,rgba(255,255,255,.16) 20px 21px,transparent 22px 40px);mask-image:linear-gradient(#000,transparent 80%)}.card-number{position:absolute;right:25px;top:18px;font:700 4rem Space Grotesk;color:rgba(255,255,255,.045)}.channel-icon,.channel-card h3,.channel-card p,.coming-soon{position:relative}.channel-icon{font-size:34px;color:var(--cyan);margin-bottom:auto}.channel-card h3{font:500 1.55rem Space Grotesk;margin:0}.channel-card h3 strong{display:block}.channel-card p{color:#9aa6c3;margin:10px 0 20px;font-size:14px}.coming-soon{font-size:8px;letter-spacing:.22em;font-weight:800;color:#7e8ba8}.artist-section{overflow:hidden}.artist-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.artist-art{aspect-ratio:1;border-radius:34% 66% 60% 40%/40% 35% 65% 60%;position:relative;overflow:hidden;background:linear-gradient(170deg,#203969,#111b36 45%,#070a19 75%);box-shadow:0 30px 100px rgba(54,135,255,.15)}.artist-art::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(0,0,0,.75))}.sun{position:absolute;width:45%;aspect-ratio:1;border-radius:50%;background:linear-gradient(#ffbd7d,#9a4dff);top:14%;right:16%;box-shadow:0 0 60px rgba(255,127,159,.28)}.mountain{position:absolute;width:80%;height:45%;bottom:14%;background:#0d1427;clip-path:polygon(0 100%,22% 34%,35% 66%,58% 5%,100% 100%)}.mountain-one{left:-8%}.mountain-two{right:-25%;opacity:.7;transform:scale(.8)}.artist-art span{position:absolute;z-index:2;bottom:8%;left:9%;font:700 clamp(2rem,5vw,4.4rem)/.82 Space Grotesk;letter-spacing:-.07em}.artist-lead{font:600 1.2rem Space Grotesk;color:#eaf0ff!important}.artist-copy blockquote{margin:28px 0 0;padding-left:20px;border-left:2px solid var(--cyan);color:#ccd5eb;font-style:italic}.inline-actions{justify-content:flex-start}.text-link{font-size:11px;letter-spacing:.14em;font-weight:800;color:#d8e1f4}.text-link span{color:var(--cyan);font-size:18px;margin-left:6px}.roku-section{background:#070a19;overflow:hidden}.roku-glow{position:absolute;width:700px;height:500px;right:-300px;top:0;background:var(--violet);opacity:.08;filter:blur(150px)}.roku-layout{display:grid;grid-template-columns:.85fr 1.2fr;align-items:center;gap:80px}.tv{position:relative;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}.tv-screen{aspect-ratio:16/9;background:radial-gradient(ellipse at 50% 90%,rgba(54,135,255,.35),transparent 45%),#050714;border:7px solid #1b2132;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.tv-screen svg{width:19%;margin-bottom:5px}.tv-screen strong{font:700 clamp(1.1rem,3vw,2rem)/1 Space Grotesk;letter-spacing:.12em}.tv-screen small{font-size:7px;letter-spacing:.55em;color:#9aa6c3;margin-top:6px}.tv-screen em{font-style:normal;font-size:6px;letter-spacing:.33em;color:#c8d1e5;margin-top:15px}.tv-wave{position:absolute;left:-20%;right:-20%;bottom:-48%;height:75%;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 18px,rgba(53,244,255,.16) 20px 21px,transparent 23px 37px);transform:perspective(300px) rotateX(40deg)}.tv-stand{width:27%;height:28px;margin:auto;background:linear-gradient(90deg,#131725,#343a4c,#131725);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%)}.manifesto-section{text-align:center;background:radial-gradient(circle at 50% 50%,rgba(54,135,255,.1),transparent 35%)}.manifesto{max-width:800px}.manifesto svg{width:70px}.manifesto p{font-size:10px;letter-spacing:.3em;color:var(--cyan)}.manifesto h2{font-size:clamp(2.3rem,6vw,4.8rem);margin:20px auto}.manifesto span{display:block;max-width:640px;margin:auto}.contact-section{background:linear-gradient(180deg,#070a19,#050714)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-email{display:inline-block;margin-top:28px;color:var(--cyan);font-weight:600}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:rgba(13,18,40,.65);border:1px solid var(--line);padding:30px;border-radius:var(--radius)}.contact-form label{display:grid;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8d9ab7}.contact-form label:nth-child(n+3),.contact-form .button,.form-note{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#070b1b;border:1px solid var(--line);border-radius:10px;color:#fff;padding:12px;outline:none;text-transform:none;letter-spacing:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(53,244,255,.08)}.contact-form select option{background:#070b1b}.form-note{font-size:10px;color:#6f7c98;margin:0}.site-footer{padding:60px 0 25px;border-top:1px solid var(--line);background:#03050e}.footer-main{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px}.footer-main p{grid-column:1;color:#7f8ba5;font-size:13px;margin:0}.footer-main nav{grid-row:1/3;grid-column:2;display:flex;gap:22px;font-size:12px;color:#9ba7c1}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;color:#59657e;font-size:10px}.floating-player{display:none;position:fixed;right:18px;bottom:18px;z-index:40;background:rgba(13,18,40,.9);backdrop-filter:blur(14px);color:#fff;border:1px solid rgba(53,244,255,.28);border-radius:99px;padding:12px 16px;gap:9px;align-items:center;box-shadow:var(--shadow);font-size:10px;letter-spacing:.15em}.floating-player.visible{display:flex}.floating-player .play-icon{width:24px;height:24px;display:grid;place-items:center;background:var(--gradient);border-radius:50%}
@media(max-width:850px){.site-nav{position:absolute;top:68px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;padding:20px;background:rgba(9,13,32,.97);border:1px solid var(--line);border-radius:15px}.site-nav.open{display:flex}.menu-button{display:block}.radio-player{grid-template-columns:110px 1fr}.cover{width:110px}.player-controls{grid-column:1/-1;justify-content:center}.player-status{grid-column:1/-1;text-align:center;margin:0}.channel-grid{grid-template-columns:1fr}.channel-card{min-height:310px}.artist-layout,.roku-layout,.contact-layout{grid-template-columns:1fr;gap:50px}.artist-art{max-width:560px;width:100%;margin:auto}.roku-copy{text-align:center}.roku-copy .button{margin-top:15px}.contact-layout{gap:40px}.footer-main{grid-template-columns:1fr}.footer-main nav{grid-row:auto;grid-column:auto;flex-wrap:wrap}.footer-main p{grid-column:auto}.floating-player.visible{display:flex}}
@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.section{padding:80px 0}.hero-mark{width:125px}.hero h1{font-size:3.3rem}.hero-actions{width:100%}.hero-actions .button{width:100%}.hero-subtitle{letter-spacing:.29em}.radio-player{grid-template-columns:1fr;text-align:center;padding:22px}.cover{width:150px;margin:auto}.track-info{display:flex;align-items:center;flex-direction:column}.player-controls{grid-column:auto;flex-direction:column}.player-status{grid-column:auto}.artist-layout{gap:45px}.artist-copy{text-align:center}.artist-copy blockquote{text-align:left}.inline-actions{justify-content:center}.contact-form{grid-template-columns:1fr;padding:22px}.contact-form label{grid-column:1}.footer-bottom{flex-direction:column;gap:8px}.footer-main nav{gap:13px}.floating-player{right:10px;bottom:10px}.floating-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Identidad visual oficial usada también en Roku */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero{padding-top:98px;background:#02030a}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,3,10,.04) 58%,#050714 100%),url("assets/nova-wave-roku-brand.jpg") center/cover no-repeat;opacity:.42;filter:saturate(1.2)}
.hero .aurora,.hero .wave-grid{opacity:.08}
.hero-brand-art{display:block;width:min(1020px,94vw);height:auto;max-height:64vh;object-fit:contain;border-radius:18px;box-shadow:0 30px 120px rgba(21,74,255,.18)}
.hero-copy{margin-top:18px;text-shadow:0 2px 14px #000}
.tv-screen{background-image:linear-gradient(rgba(5,7,20,.08),rgba(5,7,20,.08)),url("assets/nova-wave-roku-brand.jpg");background-size:cover;background-position:center}
.tv-screen>*{visibility:hidden}
@media(max-width:560px){.hero{min-height:100svh;padding-top:105px}.hero::before{background-size:auto 100%;background-position:center top}.hero-brand-art{width:100%;border-radius:12px}.hero-copy{font-size:.92rem}}

/* Símbolo oficial Nova Wave: usado de forma consistente en cuatro ubicaciones */
img.brand-mark{width:52px;height:38px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(37,139,255,.45))}
.cover .official-mark{width:88%;height:auto;position:relative;z-index:2;image-rendering:auto;filter:none}
.cover .player-cover-logo{width:100%;height:100%;object-fit:cover;border-radius:17px}

/* Historial local construido con la metadata en vivo de Zeno. */
.recently-played{max-width:900px;margin:24px auto 0;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:rgba(9,13,31,.72)}.recent-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.recent-heading h3{font:700 clamp(1.25rem,3vw,1.75rem) Space Grotesk,sans-serif;margin:5px 0 0}.recent-note{color:#75829d;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.recent-tracks{list-style:none;margin:0;padding:0}.recent-track{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 2px;border-bottom:1px solid rgba(139,159,200,.1)}.recent-track:last-child{border-bottom:0}.recent-index{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(53,244,255,.07);color:var(--cyan);font:700 10px Space Grotesk}.recent-track strong,.recent-track span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-track strong{font:600 14px Space Grotesk}.recent-track .recent-artist{color:#8e9bb7;font-size:12px;margin-top:2px}.recent-time{color:#65718b;font-size:10px}.recent-empty{padding:22px 2px 4px;color:#7f8ca7;font-size:13px}@media(max-width:560px){.recently-played{padding:20px}.recent-heading{align-items:flex-start;flex-direction:column}.recent-track{grid-template-columns:28px minmax(0,1fr)}.recent-time{display:none}}
.manifesto .manifesto-mark{display:block;width:105px;height:auto;margin:0 auto 8px;filter:drop-shadow(0 0 12px rgba(54,135,255,.32))}

/* Pie de página corporativo */
.footer-main{grid-template-columns:1.1fr 1fr .85fr;align-items:start;gap:65px}
.footer-column{min-width:0}.footer-title{font:700 13px/1.2 Space Grotesk,sans-serif;letter-spacing:.18em;margin:24px 0 15px;color:#e9efff}.footer-company .footer-title{color:var(--cyan)}
.footer-column p{grid-column:auto;margin:0 0 19px;color:#7f8ba5;font-size:12px}.footer-column nav{grid-row:auto;grid-column:auto;display:flex;flex-direction:column;gap:10px}.footer-column nav a{font-size:12px;color:#9ba7c1}.footer-column nav a:hover{color:var(--cyan)}
.store-links{display:flex;flex-direction:column;gap:12px}.store-badge{display:flex;align-items:center;gap:12px;width:min(100%,210px);min-height:58px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:#080b17;transition:.2s}.store-badge:hover{border-color:var(--cyan);transform:translateY(-2px)}.store-badge>span:last-child{display:flex;flex-direction:column;font-size:14px;font-weight:700;line-height:1.1;letter-spacing:.06em}.store-badge small{font-size:7px;color:#8e9ab5;letter-spacing:.13em;margin-bottom:4px}.roku-wordmark{font:800 23px/1 Space Grotesk;color:#9a4dff}.store-badge svg{width:29px;height:29px;fill:#79d45a}
.zeno-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#46b9ea,#187cb8);color:#fff;font:800 19px/1 Space Grotesk,sans-serif;box-shadow:0 0 18px rgba(70,185,234,.22)}.zeno-badge:hover{border-color:#46b9ea}
.alexa-badge{position:relative;cursor:default;border-color:rgba(49,208,255,.24);background:linear-gradient(135deg,rgba(8,19,38,.98),rgba(9,12,27,.98))}.alexa-badge:hover{transform:none;border-color:rgba(49,208,255,.45)}.alexa-mark{width:31px!important;height:31px!important;flex:0 0 auto;fill:url(#alexa-gradient)!important;filter:drop-shadow(0 0 8px rgba(49,208,255,.3))}.coming-pill{position:absolute;right:8px;top:6px;padding:3px 5px;border-radius:99px;background:rgba(49,208,255,.1);color:#5de4ff;font-size:5px;line-height:1;letter-spacing:.1em}

/* Nova Wave Descubre */
.editorial-section{background:linear-gradient(180deg,#050714,#080c1d)}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.editorial-card{min-height:355px;display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,rgba(16,24,52,.92),rgba(8,11,27,.96));position:relative;overflow:hidden;transition:.25s}.editorial-card::before{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-90px;background:var(--blue);filter:blur(75px);opacity:.14}.editorial-card:hover{transform:translateY(-5px);border-color:rgba(53,244,255,.46);box-shadow:0 22px 55px rgba(0,0,0,.24)}.editorial-card:hover .editorial-thumb{transform:scale(1.045)}.editorial-card.featured{grid-column:span 2;background:linear-gradient(135deg,rgba(20,45,91,.92),rgba(18,12,50,.94))}.editorial-thumb{position:relative;z-index:1;width:calc(100% + 52px);height:120px;object-fit:cover;object-position:center;margin:-26px -26px 22px;border-bottom:1px solid rgba(53,244,255,.14);filter:saturate(.94) contrast(1.04);transition:transform .55s ease}.editorial-card.featured .editorial-thumb{height:138px}.editorial-card>span{position:relative;color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.2em}.editorial-card h3{position:relative;font:700 1.35rem/1.15 Space Grotesk;margin:18px 0 9px}.editorial-card p{position:relative;color:#929fba;font-size:13px;margin:0 0 22px}.editorial-card b{position:relative;margin-top:auto;color:#d8e2f6;font-size:9px;letter-spacing:.14em}.editorial-hub{grid-column:span 2;position:relative;isolation:isolate;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;align-content:center;gap:18px 24px;min-height:355px;padding:30px 34px;border:1px solid rgba(53,244,255,.2);border-radius:19px;overflow:hidden;background:linear-gradient(110deg,rgba(12,31,66,.96),rgba(16,12,50,.96) 60%,rgba(32,10,64,.94));box-shadow:0 24px 70px rgba(0,0,0,.25)}.editorial-hub::before{content:"";position:absolute;z-index:-1;inset:auto -5% -45% 20%;height:220px;background:radial-gradient(ellipse,rgba(53,244,255,.2),transparent 67%);filter:blur(8px)}.editorial-hub::after{content:"";position:absolute;z-index:-1;width:300px;height:300px;right:-100px;top:-125px;border:1px solid rgba(183,64,255,.22);border-radius:50%;box-shadow:0 0 0 38px rgba(54,135,255,.035),0 0 0 76px rgba(183,64,255,.025)}.editorial-hub>img{grid-row:span 2;width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(53,244,255,.28))}.editorial-hub-copy span{display:block;color:var(--cyan);font-size:8px;font-weight:800;letter-spacing:.2em}.editorial-hub-copy h3{font:700 clamp(1.25rem,2.4vw,1.7rem)/1.1 Space Grotesk;margin:8px 0}.editorial-hub-copy p{max-width:650px;margin:0;color:#9aa8c4;font-size:12px;line-height:1.65}.editorial-hub .button{grid-column:2;position:relative;z-index:2;justify-self:start;white-space:nowrap}.editorial-hub .button b{font-size:14px;margin-left:4px}@media(max-width:850px){.editorial-grid{grid-template-columns:1fr 1fr}.editorial-card.featured{grid-column:span 2}.editorial-hub{grid-column:span 1;display:flex;flex-direction:column;align-items:flex-start;min-height:355px;padding:26px}.editorial-hub>img{width:66px;height:66px}.editorial-hub .button{margin-top:auto;white-space:normal}}@media(max-width:560px){.editorial-grid{grid-template-columns:1fr}.editorial-card.featured{grid-column:auto}.editorial-card{min-height:325px}.editorial-card.featured .editorial-thumb{height:120px}.editorial-hub{min-height:325px;padding:25px}.editorial-hub>img{width:62px;height:62px}.editorial-hub .button{width:100%;text-align:center;justify-content:center}}
.social-links{display:flex;flex-direction:column;gap:11px}.social-links a{display:flex;align-items:center;gap:10px;color:#9ba7c1;font-size:12px}.social-links a:hover{color:var(--cyan)}.social-links svg{width:31px;height:31px;padding:7px;border:1px solid var(--line);border-radius:50%;fill:currentColor}.social-links rect,.social-links circle{fill:none;stroke:currentColor;stroke-width:2}.social-links .fill-dot{fill:currentColor;stroke:none}
@media(max-width:850px){.footer-main{grid-template-columns:1fr 1fr;gap:45px}.footer-social{grid-column:1/-1}.social-links{flex-direction:row;flex-wrap:wrap}}
@media(max-width:560px){.footer-main{grid-template-columns:1fr}.footer-social{grid-column:auto}.social-links{flex-direction:column}.store-badge{width:100%}}

/* Instalación guiada de la aplicación web en iPhone. */
.store-badge.iphone-badge{appearance:none;color:#fff;text-align:left;cursor:pointer;font-family:inherit}.iphone-badge{border-color:rgba(125,173,255,.34);background:linear-gradient(135deg,rgba(16,26,56,.98),rgba(9,12,27,.98))}.iphone-badge:hover,.iphone-badge:focus-visible{border-color:#7dadff;outline:none;box-shadow:0 0 0 3px rgba(125,173,255,.1)}.iphone-mark{flex:0 0 auto;fill:none!important;stroke:#dce7ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(84,139,255,.35))}.install-guide-open{overflow:hidden}.install-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(1,3,10,.86);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.install-modal.open{opacity:1;visibility:visible}.install-dialog{position:relative;width:min(500px,100%);max-height:calc(100svh - 36px);overflow:auto;padding:38px;border:1px solid rgba(92,157,255,.32);border-radius:25px;background:radial-gradient(circle at 85% 8%,rgba(154,77,255,.18),transparent 32%),linear-gradient(145deg,#111a38,#070a18);box-shadow:0 30px 100px rgba(0,0,0,.65)}.install-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(5,7,20,.55);color:#aab7d1;cursor:pointer}.install-close:hover,.install-close:focus-visible{color:#fff;border-color:var(--cyan);outline:none}.install-device{width:76px;height:76px;margin-bottom:22px;padding:8px;border-radius:20px;background:linear-gradient(145deg,rgba(53,244,255,.13),rgba(154,77,255,.16));border:1px solid rgba(125,173,255,.26)}.install-device img{display:block;width:100%;height:100%;border-radius:14px}.install-dialog h2{font:700 clamp(2rem,7vw,3rem)/1 Space Grotesk,sans-serif;letter-spacing:-.045em;margin:10px 0 13px}.install-dialog>p{color:var(--muted);font-size:15px;margin:0}.install-steps{list-style:none;padding:0;margin:27px 0 20px;display:grid;gap:12px}.install-steps li{display:flex;align-items:center;gap:13px;min-height:58px;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(5,8,22,.7);color:#cbd5ea;font-size:14px}.install-step-number{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--gradient);color:#fff;font-weight:800}.share-symbol{display:inline-block;margin-left:3px;color:var(--cyan);font-weight:800}.install-note{min-height:24px;color:#75dff2!important;font-size:12px!important}.install-done{width:100%;margin-top:17px}@media(max-width:560px){.install-dialog{padding:31px 22px 24px}.install-device{width:66px;height:66px}.install-steps li{align-items:flex-start}.install-close{right:12px;top:12px}}

/* Mini reproductor persistente y páginas internas superpuestas */
.floating-player{right:18px;bottom:18px;z-index:90;border-radius:18px;padding:10px 11px 10px 14px;gap:11px;min-width:285px;font-size:inherit;letter-spacing:normal;background:rgba(9,13,31,.95)}
.floating-track{display:flex;flex-direction:column;min-width:0;max-width:190px;line-height:1.2}.floating-track small{font-size:7px;color:#ff6681;font-weight:800;letter-spacing:.18em;margin-bottom:3px}.floating-track strong,.floating-track span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-track strong{font:700 12px Space Grotesk}.floating-track span{font-size:9px;color:#8592ad;margin-top:3px}.floating-play{width:39px;height:39px;margin-left:auto;border:0;border-radius:50%;display:grid;place-items:center;background:var(--gradient);color:#fff;cursor:pointer;box-shadow:0 7px 20px rgba(54,135,255,.3)}.floating-player .floating-play .play-icon{width:auto;height:auto;background:none;border-radius:0}
.page-overlay{position:fixed;inset:0;z-index:70;display:grid;grid-template-rows:64px 1fr;background:#050714;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .25s,transform .25s,visibility .25s}.page-overlay.open{opacity:1;visibility:visible;transform:none}.overlay-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 330px 0 22px;border-bottom:1px solid var(--line);background:rgba(5,7,20,.97)}.overlay-title{font:700 12px Space Grotesk;letter-spacing:.15em;color:#cbd5ea}.overlay-close{border:1px solid var(--line);border-radius:999px;background:#0b1022;color:#fff;padding:9px 14px;font-size:9px;font-weight:800;letter-spacing:.12em;cursor:pointer}.overlay-close:hover{border-color:var(--cyan);color:var(--cyan)}#content-frame{width:100%;height:100%;border:0;background:#050714}body.overlay-open{overflow:hidden}
@media(max-width:700px){.overlay-toolbar{padding:0 14px}.overlay-title{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-player{left:10px;right:10px;bottom:10px;min-width:0}.floating-track{max-width:calc(100vw - 115px)}.page-overlay{grid-template-rows:58px 1fr;padding-bottom:72px}}

/* Registro, sesión y perfil */
.account-button{border:1px solid rgba(53,244,255,.35);border-radius:999px;background:rgba(53,244,255,.04);color:var(--cyan);padding:9px 14px;font-size:9px;font-weight:800;letter-spacing:.12em;cursor:pointer}.account-button.pending{color:#9aa6c3;border-color:var(--line)}.account-modal{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px;background:rgba(1,3,10,.82);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:.25s}.account-modal.open{opacity:1;visibility:visible}.account-dialog{position:relative;width:min(460px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:38px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(145deg,#101730,#070a18);box-shadow:0 30px 100px rgba(0,0,0,.55)}.account-close{position:absolute;right:16px;top:16px;border:0;background:none;color:#91a0be;cursor:pointer}.account-logo{width:92px;height:auto;margin-bottom:14px}.account-dialog h2{font:700 2rem Space Grotesk;margin:8px 0}.account-dialog p{color:var(--muted);font-size:13px}.auth-form{display:grid;gap:15px;margin-top:25px}.auth-form label{display:grid;gap:6px;font-size:9px;letter-spacing:.1em;color:#9aa6c3}.auth-form input{padding:13px;border:1px solid var(--line);border-radius:10px;background:#050714;color:#fff;outline:none}.auth-form input:focus{border-color:var(--cyan)}.auth-message{min-height:20px;color:var(--cyan)!important}.auth-message.error{color:#ff7188!important}.auth-links{display:flex;justify-content:space-between;gap:14px}.auth-links button,.profile-actions button{border:0;background:none;color:#aeb9d1;font-size:10px;cursor:pointer}.auth-links button:hover{color:var(--cyan)}.profile-actions{display:flex;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.profile-actions .danger{color:#ff7188}.account-dialog #admin-access{margin-top:20px}.site-nav .account-button{align-self:center}@media(max-width:850px){.site-nav .account-button{align-self:stretch}.account-dialog{padding:30px 23px}}

/* Accesos de apoyo y donaciones */
.donate-menu-link{color:#ffcf62!important}.donate-menu-link:hover{color:#fff2bd!important}.footer-support{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.footer-support>span{width:100%;font-size:8px;font-weight:800;letter-spacing:.2em;color:#77849f}.support-provider{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#090d1c;color:#fff;font-size:10px;font-weight:700;transition:.2s}.support-provider:hover{transform:translateY(-2px);border-color:var(--cyan)}.paypal-mini b{color:#36a7ff}.coffee-mini{color:#ffcf62}

/* Selector internacional de idioma */
.language-picker{position:relative;align-self:center}.language-picker>button{border:1px solid var(--line);border-radius:999px;background:#090d1c;color:#dce5f7;padding:8px 11px;font-size:9px;font-weight:800;letter-spacing:.12em;cursor:pointer}.language-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:165px;padding:8px;border:1px solid var(--line);border-radius:13px;background:rgba(8,12,29,.98);box-shadow:0 18px 55px rgba(0,0,0,.45);display:none}.language-menu.open{display:grid}.language-menu button{border:0;border-radius:8px;background:none;color:#b7c3da;padding:10px;text-align:left;cursor:pointer;font-size:11px}.language-menu button:hover,.language-menu button.active{background:rgba(53,244,255,.08);color:var(--cyan)}@media(max-width:850px){.language-picker{align-self:stretch}.language-picker>button{width:100%}.language-menu{left:0;right:0;width:100%;position:relative;top:6px}}

/* Fotografías editoriales originales para el universo musical de Nova Wave. */
.channels-section{isolation:isolate;overflow:hidden}
.channels-section::before{content:"";position:absolute;inset:0 0 auto;height:390px;z-index:-1;background:linear-gradient(90deg,rgba(7,10,25,.82),rgba(7,10,25,.38),rgba(7,10,25,.82)),linear-gradient(180deg,rgba(7,10,25,.28),#070a19 96%),url("assets/universo-de-sonidos.webp") center 52%/cover no-repeat;opacity:.78}
.channels-heading{min-height:210px;display:flex;flex-direction:column;justify-content:center;margin-bottom:36px;text-shadow:0 2px 24px rgba(0,0,0,.9)}
.channel-card{background-position:center;background-size:cover;background-repeat:no-repeat}
.channel-card.latino{background-image:url("assets/nova-wave-salsa.webp")}
.channel-card.rock{background-image:url("assets/nova-wave-jazz-latino.webp")}
.channel-card.originals{background-image:url("assets/nova-wave-caribe.webp")}

/* Estados honestos para servicios que todavía no tienen URL pública. */
.is-disabled{cursor:default!important;opacity:.58;pointer-events:none}.store-badge.is-disabled:hover{transform:none;border-color:var(--line)}
.social-links small{display:block;margin-top:2px;color:#66728b;font-size:7px;letter-spacing:.1em}.available-pill{background:rgba(42,211,151,.14);color:#52e5ad}.alexa-badge.is-available{border-color:rgba(49,208,255,.42)}
.channel-card::before{background:linear-gradient(180deg,rgba(5,7,20,.12) 5%,rgba(5,7,20,.52) 48%,rgba(5,7,20,.97) 88%),radial-gradient(circle at 50% 20%,var(--card-color),transparent 58%);opacity:1}
.channel-card h3,.channel-card p,.coming-soon,.channel-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.85))}
@media(max-width:850px){.channels-section::before{height:330px}.channels-heading{min-height:175px}.channel-card{background-position:center}}

/* Galería turística dinámica de Cabo Rojo. */
.cabo-rojo-section{overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(154,77,255,.12),transparent 32%),linear-gradient(180deg,#050714,#080c1c)}.tourism-heading{display:grid;grid-template-columns:minmax(0,720px) auto;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}.tourism-heading h2{font:700 clamp(2.2rem,5vw,4rem)/1 Space Grotesk,sans-serif;letter-spacing:-.05em;margin:12px 0}.tourism-heading p{color:var(--muted);margin:0}.tourism-controls{display:flex;align-items:center;gap:12px}.tourism-controls button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(53,244,255,.25);background:#0b1127;color:#fff;cursor:pointer;font-size:20px;transition:.2s}.tourism-controls button:hover,.tourism-controls button:focus-visible{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}.tourism-controls span{min-width:48px;text-align:center;color:#8e9bb7;font-size:11px;letter-spacing:.12em}.tourism-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(820px,85vw);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 3px 20px;scrollbar-width:thin;scrollbar-color:rgba(53,244,255,.4) transparent}.tourism-card{scroll-snap-align:start;min-height:500px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#0a0e20;box-shadow:0 24px 70px rgba(0,0,0,.32)}.tourism-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.tourism-card:hover>img{transform:scale(1.035)}.tourism-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,14,.96) 0,rgba(3,5,14,.78) 45%,rgba(3,5,14,.12) 78%),linear-gradient(0deg,rgba(3,5,14,.6),transparent 55%)}.tourism-copy{position:relative;z-index:2;width:min(470px,72%);min-height:500px;padding:48px;display:flex;flex-direction:column;justify-content:end}.tourism-copy>span{font-size:9px;font-weight:800;letter-spacing:.22em;color:var(--cyan)}.tourism-copy h3{font:700 clamp(2rem,5vw,3.5rem)/.95 Space Grotesk,sans-serif;letter-spacing:-.04em;margin:12px 0}.tourism-copy p{color:#c2cce0;margin:0 0 22px}.tourism-copy a{width:max-content;max-width:100%;font-size:9px;color:#8998b6;text-decoration:underline;text-underline-offset:3px}.tourism-copy a:hover{color:var(--cyan)}.tourism-copy .tourism-photo-credit{width:max-content;max-width:100%;font-size:9px;font-weight:400;letter-spacing:normal;color:#8998b6}.tourism-source{margin:13px 0 0;color:#65718a;font-size:10px}.tourism-card.is-current{border-color:rgba(53,244,255,.42)}@media(max-width:760px){.tourism-heading{grid-template-columns:1fr;align-items:start}.tourism-controls{justify-content:flex-start}.tourism-track{grid-auto-columns:90vw}.tourism-card,.tourism-copy{min-height:540px}.tourism-card::after{background:linear-gradient(0deg,rgba(3,5,14,.98) 0,rgba(3,5,14,.82) 48%,rgba(3,5,14,.08) 80%)}.tourism-copy{width:100%;padding:28px}.tourism-copy p{font-size:14px}}

/* Ajuste final del cierre editorial y del selector de idioma. */
.language-menu:not(.open){display:none!important}
.editorial-hub{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:28px;row-gap:24px}
.editorial-hub>img{grid-column:1;grid-row:1 / -1;align-self:center;width:88px;height:88px}
.editorial-hub-copy{grid-column:2;grid-row:1;align-self:end;min-width:0}
.editorial-hub .button{grid-column:2;grid-row:2;align-self:start;justify-self:start;width:max-content;max-width:100%;min-width:0;padding-inline:22px;white-space:nowrap}
@media(max-width:850px){.editorial-hub{display:flex;gap:18px}.editorial-hub>img{width:70px;height:70px}.editorial-hub .button{width:max-content;max-width:100%;white-space:nowrap}}
@media(max-width:560px){.editorial-hub .button{width:100%;white-space:normal}}

/* Portal comunitario de Cabo Rojo */
.site-nav{gap:22px}.community-quick{padding:74px 0 82px;background:radial-gradient(circle at 8% 0,rgba(54,135,255,.13),transparent 35%),#070a19;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.community-quick-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}.community-quick-heading>div{max-width:700px}.community-quick-heading h2{font:700 clamp(2rem,5vw,3.4rem)/1 Space Grotesk,sans-serif;letter-spacing:-.045em;margin:12px 0}.community-quick-heading p{color:var(--muted);margin:0}.community-quick-heading .button{flex:none}.quick-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick-service{min-height:145px;padding:20px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(150deg,rgba(15,23,50,.95),rgba(7,10,25,.98));display:flex;flex-direction:column;justify-content:space-between;transition:.22s}.quick-service:hover,.quick-service:focus-visible{transform:translateY(-4px);border-color:rgba(53,244,255,.55);box-shadow:0 18px 45px rgba(0,0,0,.22)}.quick-service span{font-size:8px;font-weight:800;letter-spacing:.16em;color:var(--cyan)}.quick-service strong{font:700 clamp(1rem,1.6vw,1.28rem)/1.2 Space Grotesk,sans-serif;color:#f3f7ff}.quick-service small{font-size:8px;font-weight:800;letter-spacing:.18em;color:#7f8da8}.quick-service.emergency{background:linear-gradient(145deg,rgba(116,23,48,.72),rgba(30,8,19,.95));border-color:rgba(255,86,116,.38)}.quick-service.emergency span,.quick-service.emergency small{color:#ff7890}.quick-service.emergency strong{font-size:2rem}.quick-verified{margin:18px 0 0;color:#66738d;font-size:10px}.footer-company nav a[href="directorio-cabo-rojo.html"]{color:var(--cyan)}@media(max-width:980px){.quick-service-grid{grid-template-columns:repeat(2,1fr)}.quick-service.emergency{grid-column:span 2}.community-quick-heading{align-items:start;flex-direction:column}}@media(max-width:560px){.community-quick{padding:62px 0}.quick-service-grid{grid-template-columns:1fr}.quick-service.emergency{grid-column:auto}.quick-service{min-height:125px}.community-quick-heading .button{width:100%}}
