@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#08070c;--surface:#15121d;--line:#3b3349;--ink:#f5f0fb;--soft:#c6bdcf;--gold:#54d9f4;--purple:#9b6cff;font-family:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 82% -10%,#142d55 0,transparent 34%),var(--bg);color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{max-width:1240px;margin:auto;padding:0 36px}.site-head{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px;border-bottom:1px solid var(--line)}.brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.35rem;letter-spacing:-.07em;white-space:nowrap}.brand span{color:var(--gold)}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{color:var(--soft);font-size:.94rem}nav a:hover,nav a[aria-current=page]{color:var(--gold)}.eyebrow{font-size:.85rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);font-weight:700}.hero{padding:108px 0 96px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-.055em;line-height:1.06;margin:0}h1{font-size:clamp(3.3rem,7vw,7.2rem)}h2{font-size:clamp(2.1rem,4vw,4.4rem)}h3{font-size:1.7rem}.hero p,.lede{font-size:1.18rem;color:var(--soft);max-width:610px;margin:26px 0 0}.accent{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:1px solid var(--gold);background:var(--gold);color:#051219;font-weight:700;border-radius:4px;margin-top:30px}.button.secondary{background:transparent;color:var(--gold)}.hero-mark{min-height:420px;border:1px solid #604675;background:radial-gradient(circle at 55% 45%,#8050ab 0,#361e4b 27%,#17101f 62%,#0d0911 100%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-mark::before,.hero-mark::after{content:'';position:absolute;border:1px solid #b381dc69;border-radius:50%;width:76%;aspect-ratio:1}.hero-mark::after{width:51%;border-color:#f4bf7399}.hero-mark strong{font:700 clamp(5rem,14vw,10rem)/1 'Space Grotesk',sans-serif;letter-spacing:-.12em;color:#f4bf73;text-shadow:0 0 55px #e19a7477;z-index:1;padding-right:.12em}.hero-mark small{position:absolute;bottom:28px;left:30px;color:#e3cee9;letter-spacing:.18em;text-transform:uppercase;font-size:.74rem}.section{padding:72px 0 100px;border-top:1px solid var(--line)}.section-header{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:35px}.section-header p{color:var(--soft);max-width:450px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{min-height:288px;padding:28px;background:linear-gradient(145deg,#1b2340,#120f19);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-5px);border-color:var(--gold)}.card .number{color:var(--gold);font-weight:700;letter-spacing:.12em;margin-bottom:auto}.card p{color:var(--soft);margin:14px 0 0}.card .go{color:var(--gold);margin-top:22px;font-weight:700}.page-hero{padding:78px 0 62px;max-width:820px}.page-hero h1{font-size:clamp(3.2rem,7vw,6.4rem)}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding:35px 0 90px}.panel{background:#1b1424;border:1px solid var(--line);padding:32px;min-height:300px}.panel p,.prose{color:var(--soft)}.panel h2{font-size:2rem}.panel .label{color:var(--gold);text-transform:uppercase;font-size:.85rem;letter-spacing:.14em}.video-frame{width:100%;background:#1a1023;aspect-ratio:16/10;object-fit:cover;border:1px solid #604675}.status{display:inline-block;color:var(--gold);border:1px solid #9f7356;padding:7px 12px;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase}.feature-list{display:grid;gap:16px;margin-top:28px}.feature-list div{border-top:1px solid var(--line);padding-top:16px;color:var(--soft)}.feature-list b{color:var(--ink)}footer{padding:32px 0 45px;border-top:1px solid var(--line);color:var(--soft);display:flex;justify-content:space-between;gap:18px;font-size:.88rem}@media(max-width:800px){.wrap{padding:0 22px}.site-head{align-items:flex-start;flex-direction:column;padding-top:22px;padding-bottom:20px;gap:16px}nav{gap:12px 18px}.hero{grid-template-columns:1fr;gap:38px;padding:74px 0}.hero-mark{min-height:330px}.cards,.split{grid-template-columns:1fr}.card{min-height:220px}.section-header{display:block}.section-header p{margin-top:18px}.split{gap:20px}.page-hero{padding:64px 0 34px}}@media(max-width:430px){nav a{font-size:.86rem}.hero-mark{min-height:270px}footer{flex-direction:column}}
.dj-photo{position:relative;align-self:stretch;min-height:590px;overflow:hidden;border:1px solid #604675;background:#19121e}.dj-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 30%}.dj-photo span{position:absolute;bottom:0;left:0;right:0;padding:28px;background:linear-gradient(transparent,#08070ce8);font-weight:700;letter-spacing:.12em;font-size:.85rem;color:var(--gold)}.dj-details{display:grid;gap:18px}.dj-details .panel{min-height:0}@media(max-width:800px){.dj-photo{min-height:0;aspect-ratio:4/5}}.duo-media{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duo-media figure{margin:0;position:relative;min-width:0;aspect-ratio:3/4;background:#1a1023;overflow:hidden;border:1px solid #604675}.duo-media img,.duo-media video{width:100%;height:100%;object-fit:cover;object-position:center 28%}.duo-media figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 14px 12px;background:linear-gradient(transparent,#08070ce8);font-weight:700;color:var(--gold)} .brand-art{background:#000;border-color:#365c82;min-height:0;aspect-ratio:1}.brand-art::before,.brand-art::after{display:none}.brand-art img{width:100%;height:100%;object-fit:contain;display:block}.dj-brand-logo{display:block;width:min(240px,60vw);height:auto;margin-top:26px;background:#000}
/* Listening room */
.music-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:20px;padding-bottom:96px}.player-panel,.queue-panel{background:#15121d;border:1px solid var(--line);min-width:0}.playlist-tabs{display:flex;border-bottom:1px solid var(--line)}.playlist-tabs button{flex:1;min-height:58px;border:0;background:none;color:var(--soft);font:700 .91rem 'DM Sans',sans-serif;cursor:pointer;padding:12px}.playlist-tabs button[aria-selected=true]{color:var(--gold);border-bottom:3px solid var(--gold)}.player-art{height:210px;background:radial-gradient(circle at 50% 50%,#314e78,#231034 58%,#0b0911);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-bottom:1px solid var(--line);font:700 1.25rem 'Space Grotesk',sans-serif}.player-symbol{font-size:5rem;color:var(--gold);line-height:1}.player-info{padding:30px}.player-info h2{font-size:clamp(1.6rem,3vw,2.45rem);margin-top:12px}.player-info p{color:var(--soft);margin:8px 0 22px}.player-info audio{width:100%;display:block;min-height:54px;accent-color:var(--gold)}.player-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.player-actions button{color:var(--gold);background:transparent;border:1px solid var(--line);padding:11px 15px;font:600 .9rem 'DM Sans',sans-serif;cursor:pointer}.player-actions button:disabled{color:#857b91;cursor:default}.queue-head{padding:28px 28px 16px;display:flex;align-items:end;justify-content:space-between;gap:10px}.queue-head h2{font-size:1.65rem;margin-top:12px}.queue-head>span{color:var(--soft);white-space:nowrap}.queue-panel ol{list-style:none;padding:0;margin:0;min-height:155px;max-height:420px;overflow:auto}.empty-queue{color:var(--soft);padding:30px;border-top:1px solid var(--line)}.track-choice{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;padding:17px 25px;text-align:left;display:grid;grid-template-columns:32px 1fr;gap:0 12px;cursor:pointer}.track-choice:hover,.track-choice[aria-current=true]{background:#2b2340}.track-number{grid-row:span 2;color:var(--gold)}.track-name{font-weight:700}.track-by{color:var(--soft);font-size:.85rem}.local-preview{border-top:1px solid var(--line);padding:22px 28px 27px}.local-preview .button{margin:0;cursor:pointer}.local-preview input{position:absolute;width:1px;height:1px;opacity:0}.local-preview input:focus-visible+ p{outline:2px solid var(--gold)}.local-preview p{color:var(--soft);font-size:.9rem;line-height:1.5;margin:16px 0 0}@media(max-width:850px){.music-layout{grid-template-columns:1fr}.player-art{height:180px}}@media(max-width:430px){.playlist-tabs button{font-size:.82rem;padding:10px 6px}}
.artists-banner{margin:0 0 48px;overflow-x:auto;border:1px solid var(--line);background:#08070c}.artists-banner img{display:block;width:100%;height:auto}.artists-banner figcaption{font-size:.88rem;color:var(--soft);padding:14px 18px;border-top:1px solid var(--line)}@media(max-width:700px){.artists-banner img{width:850px;max-width:none}}.video-playlists{padding:12px 0 100px;border-top:1px solid var(--line)}.video-playlists .section-header{padding-top:60px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.video-playlist{padding:24px;background:#15121d;border:1px solid var(--line)}.video-playlist h3{font-size:1.45rem;margin-bottom:18px}.video-embed{aspect-ratio:16/9;background:#07060a}.video-embed iframe{width:100%;height:100%;border:0;display:block}.video-playlist a{display:inline-block;margin-top:15px;color:var(--gold);font-weight:700}@media(max-width:800px){.video-grid{grid-template-columns:1fr}.video-playlist{padding:16px}}
.live-intro{padding:58px 0 42px}.live-intro h1{font-size:clamp(3.1rem,6.2vw,5.8rem)}.broadcast{margin:0 0 58px;border:1px solid #504067;background:#11101a}.broadcast-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 22px}.broadcast-badge{border:1px solid #897891;color:var(--soft);font-weight:700;font-size:.8rem;letter-spacing:.14em;padding:5px 10px}.broadcast-badge.on-air{border-color:#ed5561;background:#6e1827;color:#fff}.broadcast-screen{aspect-ratio:16/9;min-height:300px;background:radial-gradient(circle at 50% 40%,#293253,#181127 55%,#07070c);position:relative;display:grid;place-items:center}.broadcast-screen video{width:100%;height:100%;position:absolute;inset:0;background:#000;object-fit:contain}.broadcast-screen [hidden]{display:none}.broadcast-offline{text-align:center;padding:25px;max-width:600px}.broadcast-mark{display:block;font:700 clamp(2.3rem,6vw,5rem)/1 'Space Grotesk',sans-serif;color:var(--gold);margin-bottom:18px}.broadcast-offline h2{font-size:clamp(1.5rem,3.8vw,3.2rem)}.broadcast-offline p{font-size:1rem;color:var(--soft);margin:15px auto 0}.broadcast-note{margin:0;padding:13px 22px;color:var(--soft);font-size:.92rem;border-top:1px solid var(--line)}@media(max-width:650px){.broadcast-screen{min-height:330px;aspect-ratio:auto}.broadcast-head{padding:12px 16px}.broadcast-note{padding:12px 16px}.live-intro{padding:42px 0 30px}}
.audience-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:65px}.audience-intro,.chat-preview{border:1px solid var(--line);background:#15121d}.audience-intro{padding:32px;display:flex;flex-direction:column;align-items:flex-start}.audience-intro h2{font-size:clamp(2rem,3.5vw,3rem);margin-top:20px}.audience-intro p{color:var(--soft);font-size:1.05rem;margin:20px 0}.room-state{margin-top:auto;border:1px solid var(--line);color:var(--gold);padding:8px 12px;font-size:.86rem}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:19px 22px;border-bottom:1px solid var(--line)}.chat-head h3{font-size:1.3rem}.chat-head span{color:var(--soft);font-size:.86rem}.chat-messages{height:180px;display:grid;place-items:center;padding:18px;text-align:center}.chat-messages p{color:var(--soft)}.chat-compose{padding:20px 22px;border-top:1px solid var(--line)}.chat-compose label{display:block;font-weight:700;margin-bottom:10px}.chat-compose textarea{width:100%;resize:vertical;min-height:68px;border:1px solid var(--line);background:#0e0c14;color:var(--ink);font:inherit;padding:12px}.chat-compose textarea::placeholder{color:#b0a7ba}.chat-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.chat-actions button{font:700 .9rem 'DM Sans',sans-serif;padding:12px 17px;background:var(--gold);color:#051219;border:0}.chat-actions .mic-request{background:transparent;color:var(--gold);border:1px solid var(--gold)}.chat-actions button:disabled{opacity:.55;cursor:not-allowed}.chat-compose p{font-size:.86rem;color:var(--soft);margin:13px 0 0}@media(max-width:800px){.audience-panel{grid-template-columns:1fr}.audience-intro{min-height:260px}}/* Twitch live room */
.live-room{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.75fr);gap:18px;align-items:stretch;margin-bottom:24px}.live-room .broadcast{margin:0;min-width:0}.broadcast-head a,.chat-head a{color:var(--gold);font-weight:700;font-size:.9rem}.broadcast-screen{min-height:400px}.broadcast-screen iframe{width:100%;height:100%;min-height:400px;border:0;position:absolute;inset:0;background:#000}.twitch-chat{min-width:0;border:1px solid var(--line);background:#15121d;display:flex;flex-direction:column}.twitch-chat .chat-head h2{font-size:1.45rem}.twitch-chat iframe{border:0;flex:1;min-height:400px;width:100%}.twitch-chat p{padding:12px 18px;margin:0;border-top:1px solid var(--line);font-size:.85rem;color:var(--soft)}.voice-panel{border:1px solid var(--line);background:#15121d;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:55px}.voice-panel h2{font-size:1.9rem;margin:10px 0}.voice-panel p{color:var(--soft);margin:0;max-width:640px}.voice-panel .room-state{flex-shrink:0}@media(max-width:900px){.live-room{grid-template-columns:1fr}.twitch-chat iframe{height:400px;flex:auto}.voice-panel{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.broadcast-screen,.broadcast-screen iframe{min-height:300px}.voice-panel{padding:22px}}
/* Keep audience participation alongside the broadcast. */
.live-sidebar{min-width:0;display:flex;flex-direction:column;gap:16px}.live-sidebar .twitch-chat{flex:1}.live-sidebar .twitch-chat iframe{min-height:320px}.live-sidebar .voice-panel{margin:0;padding:20px;display:block}.live-sidebar .voice-panel h2{font-size:1.45rem}.live-sidebar .voice-panel p{font-size:.92rem}.live-sidebar .voice-panel .room-state{display:inline-block;margin-top:14px}.live-intro{padding:34px 0 24px}.live-intro h1{font-size:clamp(2.7rem,5vw,4.5rem)}.live-intro .lede{margin-top:12px}@media(max-width:900px){.live-sidebar .twitch-chat iframe{min-height:350px}.live-sidebar .voice-panel{display:block}}
/* Keep the video card at its natural height beside the taller audience column. */
.live-room .broadcast{align-self:start}
footer .visitor-counter{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
