/* =========================================================================
   home.css — Studio 105 Recording homepage
   Load AFTER song-creations/css/site.css (shared design system: colours,
   fonts, header, dropdowns, mobile menu, buttons, FAQ, footer).
   Everything here is homepage-only.
   ========================================================================= */

body{overflow-x:hidden}
.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:#1B1206;padding:10px 16px;z-index:200;font-weight:600;border-radius:0 0 6px 0}
.skip-link:focus{left:0}
.i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.12em}
.i-fill{fill:currentColor;stroke:none}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px}
.eyebrow::before{content:'';width:26px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.h-display{font-size:clamp(32px,3.8vw,48px);line-height:1.08;letter-spacing:-.5px}
.h-display em{font-style:italic;font-weight:300;color:var(--gold-soft)}
.lead{color:var(--muted);font-size:17px;line-height:1.7;max-width:560px}
.s-section{padding:110px 0;border-top:1px solid var(--line);position:relative}
.s-head{max-width:720px;margin-bottom:54px}
.s-head.center{margin-left:auto;margin-right:auto;text-align:center}
.s-head.center .eyebrow::after{content:'';width:26px;height:1px;background:linear-gradient(270deg,var(--gold),transparent)}
.s-head p{color:var(--muted);font-size:16.5px;margin-top:16px}

/* shimmer pill button (same recipe as the header CTA) */
.btn-glow{position:relative;display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:9999px;border:0;cursor:pointer;
  font:700 15px/1 var(--body);color:#1B1206;white-space:nowrap;
  background:linear-gradient(90deg,var(--gold),#FF5A36,var(--rust),var(--gold)) 0 0/300% 100%;animation:cta-shimmer 5s linear infinite;
  box-shadow:0 0 26px rgba(227,161,61,.4);transition:transform .25s ease,box-shadow .25s ease;z-index:1}
.btn-glow:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 40px rgba(255,90,54,.6)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:9999px;border:1px solid var(--line-strong);background:rgba(243,236,222,.03);
  color:var(--cream);font:600 15px/1 var(--body);cursor:pointer;transition:all .25s ease}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft);box-shadow:0 0 22px rgba(227,161,61,.2)}
.btn-ghost .i{font-size:13px}

/* reveal on scroll (only when JS is running) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.1s}.js .rv.d2{transition-delay:.2s}.js .rv.d3{transition-delay:.3s}

/* =========================================================================
   HERO
   ========================================================================= */
.s-hero{position:relative;padding:90px 0 120px;overflow:hidden;
  background:radial-gradient(ellipse 900px 600px at 80% 10%,rgba(227,161,61,.16),transparent 60%),
             radial-gradient(ellipse 700px 500px at 0% 70%,rgba(192,91,59,.12),transparent 60%)}
.s-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative;z-index:1}

.on-air{display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;padding:7px 16px 7px 12px;border-radius:6px;
  font:700 12px/1 ui-monospace,monospace;letter-spacing:3px;color:rgba(255,90,70,.45);
  border:1px solid rgba(255,90,70,.25);background:rgba(60,10,6,.35);transition:all .5s ease}
.on-air i{width:9px;height:9px;border-radius:50%;background:rgba(255,70,50,.4);transition:all .5s ease}
.on-air small{font:500 10px/1 var(--body);letter-spacing:1px;color:var(--muted);text-transform:uppercase;border-left:1px solid var(--line-strong);padding-left:10px}
body.listening .on-air{color:#FF5A46;border-color:#FF5A46;background:rgba(255,40,20,.12);text-shadow:0 0 12px rgba(255,70,50,.9);box-shadow:0 0 30px rgba(255,60,40,.35),inset 0 0 18px rgba(255,60,40,.2)}
body.listening .on-air i{background:#FF3B2B;box-shadow:0 0 12px #FF3B2B;animation:blink 1.2s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}

.s-hero h1{font-size:clamp(42px,5.6vw,76px);line-height:1.02;letter-spacing:-1.5px;margin-bottom:26px}
.s-hero h1 .kw{display:block;font-size:15px;letter-spacing:3px;text-transform:uppercase;font-family:var(--body);font-weight:600;color:var(--gold-soft);margin-bottom:18px}
.s-hero h1 em{font-style:italic;font-weight:300;background:linear-gradient(90deg,var(--gold-soft),#FF8A5B,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 40px}
.hero-facts{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);padding-top:26px}
.hero-facts div{padding:0 26px;border-left:1px solid var(--line)}
.hero-facts div:first-child{padding-left:0;border-left:0}
.hero-facts strong{display:block;font:500 30px/1.1 var(--display);color:var(--cream)}
.hero-facts span{font-size:12.5px;color:var(--muted);letter-spacing:.3px}

/* photo + spinning record */
.hero-art{position:relative;max-width:470px;justify-self:end;width:100%}
.vinyl{position:absolute;top:8%;right:-32%;width:92%;aspect-ratio:1;border-radius:50%;z-index:0;
  background:
   radial-gradient(circle,#0c0a08 0 3%,transparent 3.2%),
   radial-gradient(circle,var(--gold) 0 17%,#7a3a22 17.5% 18.5%,transparent 19%),
   repeating-radial-gradient(circle,#161311 0 1px,#0d0b09 1.5px 3px),#0d0b09;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.05);
  animation:spin 3.2s linear infinite;animation-play-state:paused}
.vinyl::before{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 12%,rgba(255,255,255,.07) 16%,transparent 22% 58%,rgba(255,255,255,.05) 64%,transparent 70%)}
.vinyl::after{content:'STUDIO 105';position:absolute;left:50%;top:50%;transform:translate(-50%,-160%);font:700 9px/1 ui-monospace,monospace;letter-spacing:2px;color:#1B1206}
body.listening .vinyl{animation-play-state:running}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-photo{position:relative;z-index:1;border-radius:18px;padding:10px;background:linear-gradient(145deg,rgba(240,195,120,.5),rgba(192,91,59,.25) 40%,rgba(243,236,222,.08));
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 60px -20px rgba(227,161,61,.35);transform:rotate(-1.5deg);transition:transform .6s ease}
.hero-art:hover .hero-photo{transform:rotate(0)}
.hero-photo img{border-radius:11px;width:100%;height:auto;aspect-ratio:900/1125;object-fit:cover}
.now-card{position:absolute;z-index:2;left:-40px;bottom:36px;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border-radius:14px;cursor:pointer;
  background:rgba(18,13,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-strong);color:var(--cream);text-align:left;font:inherit;
  box-shadow:0 20px 50px -15px rgba(0,0,0,.8);transition:transform .3s ease,border-color .3s ease;animation:floaty 6s ease-in-out infinite}
.now-card:hover{border-color:var(--gold)}
@keyframes floaty{50%{transform:translateY(-8px)}}
.now-card .pb{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#1B1206;flex:none;
  background:linear-gradient(135deg,rgb(var(--m1,240,195,120)),rgb(var(--m2,192,91,59)));box-shadow:0 0 20px rgba(var(--m1,227,161,61),.55)}
.now-card .pb svg{width:16px;height:16px}
.now-card small{display:block;font:10.5px ui-monospace,monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft)}
.now-card strong{display:block;font:500 16px/1.25 var(--display)}
.now-card em{font-style:normal;font-size:12px;color:var(--muted)}
.mini-eq{display:flex;align-items:flex-end;gap:2px;height:16px;margin-left:6px}
.mini-eq i{width:3px;height:4px;border-radius:1px;background:var(--gold-soft)}
body.listening .mini-eq i{animation:eqidle .6s ease-in-out infinite}
body.listening .mini-eq i:nth-child(2){animation-delay:.15s}body.listening .mini-eq i:nth-child(3){animation-delay:.3s}body.listening .mini-eq i:nth-child(4){animation-delay:.1s}
.photo-tag{position:absolute;z-index:2;top:22px;right:-14px;padding:8px 14px;border-radius:99px;font:600 12px/1 var(--body);color:#1B1206;background:var(--gold-soft);box-shadow:0 10px 30px -8px rgba(0,0,0,.7);transform:rotate(4deg)}

/* =========================================================================
   LISTEN — tape deck
   ========================================================================= */
.s-listen{background:linear-gradient(180deg,var(--bg),#130F0B 30%,#130F0B 70%,var(--bg))}
.deck-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:stretch}
.deck{--m1:240,195,120;--m2:192,91,59;--bass:0;position:relative;border-radius:22px;padding:30px;overflow:hidden;
  background:linear-gradient(180deg,#1E1812,#15110D);border:1px solid var(--line-strong);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06),0 0 calc(var(--bass)*80px) rgba(var(--m1),calc(var(--bass)*.35));transition:box-shadow .2s}
.deck::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(var(--m1),.14),transparent 70%);transition:background .6s ease}
.deck-top{position:relative;display:flex;justify-content:space-between;align-items:center;font:11px ui-monospace,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.deck-top b{color:rgb(var(--m1));font-weight:600;transition:color .6s}
.deck-top .led{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3a2a1a;margin-right:8px;vertical-align:1px}
body.listening .deck-top .led{background:#FF3B2B;box-shadow:0 0 10px #FF3B2B}

.reels{position:relative;display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-radius:14px;
  background:linear-gradient(180deg,#0E0B08,#15100C);border:1px solid var(--line);box-shadow:inset 0 10px 30px rgba(0,0,0,.6)}
.reels svg.reel{width:36%;max-width:190px;height:auto;display:block}
.reel .spin{transform-origin:100px 100px;transform-box:view-box}
.reel .tape{fill:#2A1E14;stroke:#3a2a1c;stroke-width:1}
.reel .hub-ring{fill:none;stroke:rgba(var(--m1),.85);stroke-width:3;transition:stroke .6s}
.tape-path{position:absolute;left:18%;right:18%;bottom:22px;height:2px;background:linear-gradient(90deg,#3a2a1c,#5a3f28,#3a2a1c)}
.head-block{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:54px;height:24px;border-radius:5px 5px 2px 2px;background:linear-gradient(#2a221b,#18130f);border:1px solid var(--line-strong)}
.head-block::after{content:'';position:absolute;left:50%;top:5px;width:18px;height:6px;margin-left:-9px;border-radius:2px;background:rgb(var(--m1));opacity:.35;transition:opacity .3s}
body.listening .head-block::after{opacity:1;box-shadow:0 0 10px rgb(var(--m1))}
.vu-row{display:flex;gap:10px;align-self:center;flex-direction:column}
.vu{position:relative;width:96px;height:58px;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#F6E7C4,#E4CF9E);box-shadow:inset 0 0 0 2px #0c0a08,inset 0 4px 10px rgba(0,0,0,.35)}
.vu svg{position:absolute;inset:0;width:100%;height:100%}
.vu .needle{transform-box:view-box;transform-origin:48px 62px;transform:rotate(-48deg);transition:transform .08s linear}
.vu span{position:absolute;left:0;right:0;bottom:4px;text-align:center;font:700 8px/1 ui-monospace,monospace;letter-spacing:1px;color:#3a2a1a}
body.listening .vu{box-shadow:inset 0 0 0 2px #0c0a08,inset 0 4px 10px rgba(0,0,0,.25),0 0 18px rgba(255,190,90,.35)}

.deck-meta{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:26px 0 14px}
.deck-meta small{font:11px ui-monospace,monospace;letter-spacing:1.5px;text-transform:uppercase;color:rgb(var(--m1));transition:color .6s}
.deck-meta h3{font:400 clamp(26px,2.6vw,34px)/1.1 var(--display);margin-top:6px}
.deck-meta p{color:var(--muted);font-size:14px;margin-top:4px}
.deck-time{font:13px ui-monospace,monospace;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.deck-time b{color:var(--cream);font-weight:500}
.wave{position:relative;height:74px;cursor:pointer;touch-action:none}
.wave canvas{width:100%;height:100%;display:block}
.wave-tip{position:absolute;top:-22px;transform:translateX(-50%);font:11px ui-monospace,monospace;padding:2px 7px;border-radius:4px;background:rgb(var(--m1));color:#1B1206;opacity:0;pointer-events:none;transition:opacity .15s}
.wave:hover .wave-tip{opacity:1}
.transport{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;margin-top:20px}
.t-btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);background:rgba(243,236,222,.03);color:var(--cream);cursor:pointer;transition:all .2s}
.t-btn:hover{border-color:rgb(var(--m1));color:rgb(var(--m1))}
.t-btn svg{width:16px;height:16px}
.t-play{--h:1;position:relative;width:76px;height:76px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:#1B1206;
  background:linear-gradient(135deg,rgb(var(--m1)),rgb(var(--m2)));box-shadow:0 0 34px rgba(var(--m1),.55);
  transform:scale(calc(var(--h)*(1 + var(--bass)*.14)));transition:box-shadow .25s,background .6s}
.t-play:hover{--h:1.06;box-shadow:0 0 54px rgba(var(--m1),.85)}
.t-play svg{width:26px;height:26px}
.t-play::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgb(var(--m1));animation:sc-ping 2.6s ease-out infinite}
.is-playing .t-play::before{animation:none;opacity:0}
.t-play::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:2px solid transparent}
.is-loading .t-play::after{border-top-color:#fff;animation:sc-spin .8s linear infinite}
.ico-pause,.is-playing .ico-play{display:none}.is-playing .ico-pause{display:block}

.tracklist{border-radius:22px;border:1px solid var(--line);background:rgba(23,18,12,.6);padding:14px;display:flex;flex-direction:column}
.tl-head{display:flex;justify-content:space-between;padding:10px 12px 14px;font:11px ui-monospace,monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:8px}
.trk{--m1:240,195,120;--m2:192,91,59;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;width:100%;padding:13px 12px;border-radius:12px;border:1px solid transparent;
  background:none;color:var(--cream);font:inherit;text-align:left;cursor:pointer;transition:background .25s,border-color .25s}
.trk:hover{background:rgba(243,236,222,.04)}
.trk.active{background:linear-gradient(90deg,rgba(var(--m1),.12),transparent);border-color:rgba(var(--m1),.35)}
.trk-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:12px ui-monospace,monospace;color:var(--muted);border:1px solid var(--line-strong);position:relative}
.trk.active .trk-n{color:#1B1206;border-color:transparent;background:linear-gradient(135deg,rgb(var(--m1)),rgb(var(--m2)));box-shadow:0 0 16px rgba(var(--m1),.5)}
.trk-n .mini-eq{display:none;margin:0}
.trk-n .mini-eq i{background:#1B1206}
body.listening .trk.active .trk-n .num{display:none}
body.listening .trk.active .trk-n .mini-eq{display:flex;height:12px}
.trk strong{display:block;font:500 17px/1.25 var(--display)}
.trk small{display:block;font-size:12.5px;color:var(--muted)}
.trk .mood{font:10.5px ui-monospace,monospace;letter-spacing:1px;text-transform:uppercase;color:rgb(var(--m1))}
.trk .dur{font:12px ui-monospace,monospace;color:var(--muted);text-align:right}
.tl-foot{margin-top:auto;padding:16px 12px 6px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.tl-foot a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}

/* sticky now-playing dock */
.dock{position:fixed;left:50%;bottom:18px;z-index:90;display:flex;align-items:center;gap:14px;padding:10px 12px 10px 10px;border-radius:99px;width:min(560px,calc(100% - 32px));
  background:rgba(18,13,10,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-strong);box-shadow:0 20px 60px -10px rgba(0,0,0,.8);
  transform:translate(-50%,140%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dock.show{transform:translate(-50%,0)}
.dock .t-play{width:44px;height:44px;flex:none}
.dock .t-play::before{display:none}
.dock .t-play svg{width:16px;height:16px}
.dock-info{flex:1;min-width:0}
.dock-info strong{display:block;font:500 15px/1.2 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock-bar{height:3px;border-radius:3px;background:rgba(243,236,222,.12);margin-top:7px;overflow:hidden}
.dock-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,rgb(var(--m1,240,195,120)),rgb(var(--m2,192,91,59)))}
.dock-next{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;border:1px solid var(--line-strong);background:none;color:var(--cream);cursor:pointer}
.dock-next svg{width:13px;height:13px}
.dock-go{flex:none;font:600 12.5px/1 var(--body);padding:11px 16px;border-radius:99px;color:#1B1206;background:var(--gold-soft)}

/* =========================================================================
   SPECIALS — ticket stubs
   ========================================================================= */
.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ticket{--m1:227,161,61;--m2:192,91,59;position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;
  background:linear-gradient(160deg,#211A12,#16110C);border:1px solid rgba(var(--m1),.3);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s}
.ticket:hover{transform:translateY(-6px) rotate(-.4deg);border-color:rgba(var(--m1),.7);box-shadow:0 30px 70px -30px rgba(var(--m1),.5)}
.ticket-main{padding:30px 28px 26px;position:relative}
.ticket-main::before{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(var(--m1),.25),transparent 70%)}
.ticket-tag{font:11px ui-monospace,monospace;letter-spacing:2px;text-transform:uppercase;color:rgb(var(--m1))}
.ticket-price{font:500 64px/1 var(--display);margin:16px 0 4px;letter-spacing:-2px;background:linear-gradient(135deg,rgb(var(--m1)),rgb(var(--m2)));-webkit-background-clip:text;background-clip:text;color:transparent}
.ticket-price sup{font-size:.45em;vertical-align:.9em;letter-spacing:0}
.ticket-price small{font-size:.32em;letter-spacing:1px;margin-left:4px}
.ticket h3{font-size:21px;margin-bottom:10px}
.ticket p{color:var(--muted);font-size:14.5px;line-height:1.6}
.ticket-stub{position:relative;margin-top:auto;padding:22px 28px 26px;border-top:2px dashed rgba(243,236,222,.16);display:flex;flex-direction:column;gap:14px}
.ticket-stub::before,.ticket-stub::after{content:'';position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:1px solid rgba(var(--m1),.3)}
.ticket-stub::before{left:-13px}.ticket-stub::after{right:-13px}
.code-row{display:flex;align-items:center;gap:10px}
.code{flex:1;padding:12px 14px;border-radius:10px;border:1px dashed rgba(var(--m1),.55);background:rgba(var(--m1),.06);font:600 15px/1 ui-monospace,monospace;letter-spacing:2px;color:var(--cream)}
.code small{display:block;font:10px/1 var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.copy{padding:12px 14px;border-radius:10px;border:1px solid var(--line-strong);background:none;color:var(--cream);font:600 13px/1 var(--body);cursor:pointer;transition:all .2s;min-width:74px}
.copy:hover{border-color:rgb(var(--m1));color:rgb(var(--m1))}
.copy.done{background:rgb(var(--m1));color:#1B1206;border-color:transparent}
.ticket-go{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--body);color:rgb(var(--m1))}
.ticket-go .fa-arrow-right{transition:transform .2s}
.ticket:hover .ticket-go .fa-arrow-right{transform:translateX(4px)}
.fine{margin-top:22px;text-align:center;font-size:13px;color:var(--muted)}

/* =========================================================================
   SERVICES — channel strips
   ========================================================================= */
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ch{--m1:227,161,61;--m2:192,91,59;position:relative;display:flex;flex-direction:column;padding:26px 22px 22px;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#1B150F,#15110C);border:1px solid var(--line);transition:all .35s ease}
.ch::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,rgb(var(--m1)),rgb(var(--m2)));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ch:hover{border-color:rgba(var(--m1),.45);transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(var(--m1),.55)}
.ch:hover::after{transform:scaleX(1)}
.ch-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.ch-num{font:11px ui-monospace,monospace;letter-spacing:1.5px;color:var(--muted)}
.ch-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;color:rgb(var(--m1));background:rgba(var(--m1),.1);border:1px solid rgba(var(--m1),.25);transition:all .35s}
.ch-ico svg{width:22px;height:22px}
.ch:hover .ch-ico{color:#1B1206;background:linear-gradient(135deg,rgb(var(--m1)),rgb(var(--m2)));box-shadow:0 0 22px rgba(var(--m1),.5)}
.ch h3{font-size:19px;margin-bottom:8px}
.ch p{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:18px}
.ch-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--cream)}
.ch:hover .ch-link{color:rgb(var(--m1))}
.fader{position:absolute;right:18px;bottom:20px;width:4px;height:44px;border-radius:4px;background:rgba(243,236,222,.08)}
.fader::after{content:'';position:absolute;left:-5px;width:14px;height:8px;border-radius:2px;background:#3a3129;border:1px solid var(--line-strong);top:70%;transition:top .5s cubic-bezier(.2,.8,.2,1),background .3s}
.ch:hover .fader::after{top:10%;background:rgb(var(--m1))}
.ch.feature{grid-column:span 2;grid-row:span 2;background:radial-gradient(ellipse at 100% 0%,rgba(var(--m1),.16),transparent 60%),linear-gradient(180deg,#1E1711,#15110C);border-color:rgba(var(--m1),.3)}
.ch.feature h3{font-size:25px}
.ch.feature p{font-size:15.5px;max-width:460px}
.ch.feature h3{font-size:clamp(25px,2.4vw,32px)}
.ch-list{display:flex;flex-direction:column;gap:10px;margin:4px 0 26px}
.ch-list li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--cream)}
.ch-list li::before{content:'♪';color:rgb(var(--m1));font-size:13px}
.ch-badge{font:10.5px ui-monospace,monospace;letter-spacing:1.5px;text-transform:uppercase;color:#1B1206;background:rgb(var(--m1));padding:4px 8px;border-radius:4px}

/* =========================================================================
   VICKI LEE — scrapbook
   ========================================================================= */
.s-vicki{background:radial-gradient(ellipse 800px 600px at 20% 50%,rgba(192,91,59,.12),transparent 60%),var(--bg)}
.vicki-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.scrapbook{position:relative;aspect-ratio:1/1.08;max-width:560px}
.snap{position:absolute;margin:0;padding:10px 10px 38px;background:#F3ECDE;border-radius:3px;box-shadow:0 25px 50px -15px rgba(0,0,0,.85);transition:transform .5s cubic-bezier(.2,.8,.2,1),z-index 0s .1s}
.snap img{width:100%;height:auto;display:block;filter:sepia(.12) contrast(1.02)}
.snap figcaption{position:absolute;left:0;right:0;bottom:10px;text-align:center;font:italic 400 14px/1 var(--display);color:#3a2a1a}
.snap:hover{transform:rotate(0) scale(1.06)!important;z-index:9}
.snap-a{width:46%;left:0;top:4%;transform:rotate(-7deg);z-index:2}
.snap-b{width:42%;left:44%;top:0;transform:rotate(4deg);z-index:1}
.snap-c{width:42%;right:0;top:40%;transform:rotate(-3deg);z-index:3}
.snap-d{width:40%;left:6%;top:52%;transform:rotate(5deg);z-index:4}
.snap::before{content:'';position:absolute;top:-10px;left:50%;width:70px;height:22px;margin-left:-35px;background:rgba(240,195,120,.45);transform:rotate(-3deg);box-shadow:0 2px 4px rgba(0,0,0,.2)}
.vicki-copy .h-display{margin-bottom:22px}
.vicki-copy p{color:var(--muted);font-size:16.5px;line-height:1.75;margin-bottom:18px}
.vicki-copy p strong{color:var(--cream);font-weight:500}
.sig{font:italic 300 30px/1 var(--display);color:var(--gold-soft);margin:26px 0 30px}
.vicki-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}
.vicki-stats div{padding:16px;border-radius:12px;border:1px solid var(--line);background:rgba(23,18,12,.6)}
.vicki-stats strong{display:block;font:500 26px/1.1 var(--display);color:var(--gold-soft)}
.vicki-stats span{font-size:12.5px;color:var(--muted)}
.vicki-actions{display:flex;flex-wrap:wrap;gap:12px}

/* =========================================================================
   VOCAL LESSONS band
   ========================================================================= */
.s-lessons{padding:0;border-top:1px solid var(--line);overflow:hidden}
.lessons-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px}
.lessons-copy{padding:110px 60px 110px 0;display:flex;flex-direction:column;justify-content:center}
.lessons-copy .lead{margin:18px 0 28px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-bottom:36px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--cream)}
.checks li svg{width:20px;height:20px;flex:none;color:#1B1206;background:linear-gradient(135deg,var(--gold-soft),var(--rust));border-radius:50%;padding:4px;margin-top:1px}
.lessons-photo{position:relative;min-height:420px}
.lessons-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.lessons-photo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--bg) 0%,rgba(15,12,9,.2) 30%,transparent 60%),linear-gradient(0deg,rgba(15,12,9,.6),transparent 30%)}
.lessons-quote{position:absolute;z-index:2;right:28px;bottom:28px;left:28%;padding:20px 22px;border-radius:14px;background:rgba(15,12,9,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-strong);
  font:italic 300 17px/1.55 var(--display);color:var(--cream)}
.lessons-quote span{display:block;margin-top:10px;font:600 11px/1 var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-soft);font-style:normal}

/* =========================================================================
   HOW IT WORKS + REVIEWS
   ========================================================================= */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:st}
.step{position:relative;padding:34px 28px 30px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#1A140E,#14100B)}
.step::before{counter-increment:st;content:'0' counter(st);font:300 58px/1 var(--display);color:transparent;-webkit-text-stroke:1px rgba(240,195,120,.55);display:block;margin-bottom:18px}
.step h3{font-size:20px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--muted);line-height:1.6}
.step p a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.step:not(:last-child)::after{content:'';position:absolute;top:62px;right:-24px;width:24px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}

.review-cta{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 32px;border-radius:18px;
  border:1px solid rgba(227,161,61,.3);background:radial-gradient(ellipse at 0% 50%,rgba(227,161,61,.12),transparent 60%),#17120C}
.review-cta .stars{display:flex;gap:4px;color:var(--gold);margin-bottom:8px}
.review-cta .stars svg{width:18px;height:18px}
.review-cta h3{font-size:22px}
.review-cta p{color:var(--muted);font-size:14.5px;margin-top:4px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:10px}
.review{position:relative;margin:0;padding:34px 28px 26px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#1A140E,#14100B);display:flex;flex-direction:column}
.review .q{position:absolute;top:6px;left:22px;font:600 70px/1 var(--display);color:var(--gold);opacity:.25}
.review figcaption{margin-top:auto;font-size:14px;font-weight:600;color:var(--gold-soft)}
.review figcaption span{font-weight:400;color:var(--muted)}
.review blockquote{margin:12px 0 18px;font:italic 300 16.5px/1.6 var(--display);color:var(--cream)}
.review cite{font-style:normal;font-size:13px;color:var(--muted)}

/* =========================================================================
   SONGCREATIONS promo
   ========================================================================= */
.s-sc{padding:10px 0 110px}
.sc-promo{position:relative;border-radius:28px;padding:3px;overflow:hidden;
  background:linear-gradient(90deg,rgb(var(--mood-0-a)),rgb(var(--mood-1-a)),rgb(var(--mood-2-b)),rgb(var(--mood-3-a)),rgb(var(--mood-4-a)),rgb(var(--mood-0-a))) 0 0/300% 100%;animation:railshift 14s linear infinite}
.sc-inner{position:relative;border-radius:25px;padding:70px 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;overflow:hidden;
  background:radial-gradient(ellipse 60% 80% at 100% 0%,rgba(255,158,181,.12),transparent 60%),radial-gradient(ellipse 60% 80% at 0% 100%,rgba(201,182,255,.1),transparent 60%),#120E0A}
.sc-inner h2{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-1px;margin:6px 0 20px}
.rotator{display:inline-block;position:relative;color:rgb(var(--rc,255,158,181));font-style:italic;font-weight:300;transition:color .5s}
.rotator span{display:inline-block;transition:opacity .35s ease,transform .35s ease}
.rotator.out span{opacity:0;transform:translateY(-12px)}
.sc-inner .lead{margin-bottom:30px}
.sc-actions{display:flex;flex-wrap:wrap;gap:12px}
.occ-chips{display:flex;flex-wrap:wrap;gap:10px;align-content:center}
.occ-chips a{--c:240,195,120;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:99px;border:1px solid rgba(var(--c),.35);background:rgba(var(--c),.06);
  font-size:14px;font-weight:600;color:var(--cream);transition:all .25s}
.occ-chips a::before{content:'♪';color:rgb(var(--c))}
.occ-chips a:hover{background:rgb(var(--c));color:#1B1206;border-color:transparent;box-shadow:0 0 22px rgba(var(--c),.5);transform:translateY(-2px)}
.occ-chips a:hover::before{color:#1B1206}

/* =========================================================================
   FAQ + VISIT
   ========================================================================= */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.faq-grid .accordion{max-width:none}
.accordion-item{border-radius:12px;transition:border-color .3s}
.accordion-item.active{border-color:rgba(227,161,61,.35)}
.accordion-content a{color:var(--gold-soft);text-decoration:underline}

.s-visit{padding:0 0 110px}
.visit{display:grid;grid-template-columns:1.1fr .9fr;border-radius:26px;overflow:hidden;border:1px solid var(--line-strong);background:#15110C}
.visit-copy{padding:56px}
.visit-list{display:flex;flex-direction:column;gap:18px;margin:28px 0 34px}
.visit-list li{display:flex;gap:16px;align-items:flex-start}
.visit-list .vi{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;color:var(--gold-soft);background:rgba(227,161,61,.1);border:1px solid rgba(227,161,61,.25)}
.visit-list .vi svg{width:18px;height:18px}
.visit-list small{display:block;font:11px ui-monospace,monospace;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.visit-list a,.visit-list span{font-size:16.5px;color:var(--cream)}
.visit-list a:hover{color:var(--gold-soft)}
.visit-side{position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;padding:40px;overflow:hidden;
  background:radial-gradient(circle at 50% 40%,rgba(227,161,61,.2),transparent 60%),#0F0C09}
.visit-side .big105{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);font:600 min(220px,26vw)/1 var(--display);letter-spacing:-8px;color:transparent;-webkit-text-stroke:1.5px rgba(240,195,120,.35);pointer-events:none;user-select:none}
.visit-side p{position:relative;font:italic 300 20px/1.5 var(--display);color:var(--cream);margin-bottom:20px}

/* footer social placeholder */
.footer-col .muted-note{font-size:12.5px;color:#756A5A}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1100px){
  .channels{grid-template-columns:repeat(3,1fr)}
  .ch.feature{grid-column:span 2;grid-row:span 2}
}
@media (max-width:980px){
  .hero-wrap,.deck-grid,.vicki-grid,.faq-grid,.visit,.sc-inner,.lessons-grid{grid-template-columns:1fr}
  .hero-wrap{gap:60px}
  .hero-art{justify-self:center;max-width:420px}
  .vinyl{right:-22%}
  .tickets,.steps,.reviews{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
  .step:not(:last-child)::after{display:none}
  .channels{grid-template-columns:repeat(2,1fr)}
  .ch.feature{grid-column:span 2;grid-row:auto}
  .vicki-grid{gap:50px}
  .scrapbook{margin:0 auto;width:100%}
  .lessons-copy{padding:80px 0 40px}
  .lessons-photo{min-height:520px;margin:0 -32px}
  .lessons-photo::before{background:linear-gradient(180deg,var(--bg) 0%,transparent 25%),linear-gradient(0deg,rgba(15,12,9,.7),transparent 40%)}
  .lessons-quote{left:22px;right:22px}
  .sc-inner{padding:50px 34px}
  .faq-grid{gap:30px}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .s-section{padding:80px 0}
  .s-hero{padding:48px 0 80px}
  .s-hero h1{letter-spacing:-1px}
  .s-hero h1 .kw{font-size:12px;letter-spacing:2px}
  .hero-actions .btn-glow,.hero-actions .btn-ghost{width:100%;justify-content:center}
  .hero-facts div{padding:0 14px}
  .hero-facts strong{font-size:24px}
  .now-card{left:-6px;bottom:18px}
  .photo-tag{right:-4px}
  .vinyl{right:-12%;width:80%}
  .deck{padding:20px 16px;border-radius:18px}
  .reels{padding:14px}
  .vu{width:74px;height:46px}
  .deck-meta{flex-direction:column;align-items:flex-start;gap:6px}
  .channels{grid-template-columns:1fr}
  .ch.feature{grid-column:auto}
  .checks{grid-template-columns:1fr}
  .lessons-photo{margin:0 -16px}
  .sc-inner{padding:40px 22px}
  .visit-copy{padding:34px 22px}
  .vicki-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .vicki-stats div{padding:12px 10px}
  .vicki-stats strong{font-size:20px}
  .dock-go{display:none}
}
@media (max-width:520px){
  .nav-row{gap:10px}
  .brand .eq,.brand-text small{display:none}
  .brand-text strong{font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){
  .vinyl,.now-card,.sc-promo,.btn-glow,.on-air i,.mini-eq i{animation:none!important}
  .js .rv{opacity:1;transform:none;transition:none}
}

/* tickets without a promo code */
.ticket-word{font-style:italic;font-weight:300;letter-spacing:-1px}
.stub-note{font-size:13.5px;color:var(--muted);padding:12px 14px;border-radius:10px;border:1px dashed rgba(var(--m1),.45);background:rgba(var(--m1),.05)}

/* inside the studio */
.room-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}
.room{position:relative;margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line-strong);background:#17120C}
.room img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .6s}
.room:hover img{transform:scale(1.05)}
.room::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,12,9,.75),transparent 45%);pointer-events:none}
.room figcaption{position:absolute;left:18px;bottom:14px;z-index:1;font:11px ui-monospace,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--gold-soft)}
.room-a{grid-row:span 2}
.room-b{grid-column:span 2}
.js .s-room[data-autohide]{display:none}
.js .s-room[data-autohide].ready{display:block}

/* Vicki's albums */
.albums{margin:0 0 30px}
.albums-label{display:block;font:11px ui-monospace,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.albums-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.album{margin:0}
.sleeve{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid var(--line-strong);
  background:radial-gradient(circle at 50% 50%,#0c0a08 0 6%,var(--gold) 6.5% 16%,transparent 16.5%),repeating-radial-gradient(circle,#161311 0 1px,#0d0b09 1.5px 3px);
  box-shadow:0 14px 30px -14px rgba(0,0,0,.8);transition:transform .4s ease}
.album:hover .sleeve{transform:translateY(-4px) rotate(-1deg)}
.sleeve img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.album figcaption{margin-top:8px;font:italic 400 14px/1.3 var(--display);color:var(--cream)}

@media (max-width:980px){
  .room-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .room{aspect-ratio:4/3}
  .room-a{grid-row:auto;grid-column:span 2;aspect-ratio:16/10}
  .room-b{grid-column:auto}
}
@media (max-width:640px){
  .room-grid{grid-template-columns:1fr}
  .room-a,.room-b{grid-column:auto}
  .albums-row{gap:10px}
  .album figcaption{font-size:12.5px}
}
