/* Independently masked illustrations with live HTML controls. */
.listening-room{--coral:#fc676b;--navy:#2c4b3c;--muted:#48614b;position:relative;min-height:640px;height:min(66.6667vw,1000px);background:#9dc8a0 url('/scene-paper.webp') center/cover no-repeat;isolation:isolate}
.listening-room:before{content:none}
.scene-artboard{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.scene-illustration{position:absolute;inset:0;width:100%;height:100%;display:block}
.butterfly-illustration{position:absolute;right:0;top:clamp(42px,6vw,88px);width:min(19.271vw,300px);height:auto;aspect-ratio:222/380;display:block;pointer-events:none}
.listening-room .site-header{position:relative;z-index:4;display:flex;justify-content:center;align-items:center;padding:clamp(24px,4vw,62px) 0 0;width:100%;margin:0}
.listening-room .site-header nav{display:flex;align-items:center;justify-content:center;gap:0;background:none;width:auto;padding:0;font-size:clamp(12px,1.35vw,17px);font-weight:550;letter-spacing:.3px}
.listening-room .site-header nav a{padding:3px 0 8px;margin-inline:clamp(16px,3.3vw,48px);border-bottom:2px solid transparent;position:relative;color:#34563e}
.listening-room .site-header nav a+a:before{content:'';position:absolute;left:clamp(-49px,-3.3vw,-17px);top:5px;height:20px;width:1px;background:#5d85614d}
.listening-room .site-header nav a.active,.listening-room .site-header nav a:hover{border-color:var(--coral)}
.listening-room .hero{position:absolute;z-index:2;inset:23.5% auto auto 17.5%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;width:44%;min-height:0;padding:0;margin:0}
.hero-wordmark{width:100%;margin:0;line-height:0;text-align:center}
.hero-wordmark img{display:block;width:100%;height:auto}
.hero-wordmark a{text-decoration:none;display:block;color:var(--coral)}
.room-tagline{font-size:clamp(8px,1.02vw,14px);letter-spacing:.16em;font-weight:650;text-transform:uppercase;text-align:center;margin:clamp(18px,2vw,30px) -5% 0;color:#3e674a}
.listening-room .hero .player{display:grid;grid-template-columns:54px minmax(0,1fr) 44px;grid-template-areas:'play track wave' 'play volume air';column-gap:17px;row-gap:3px;align-items:center;width:82%;max-width:510px;min-height:106px;margin:30px 0 0;padding:15px 20px 15px 16px;border:1px solid #fff7e3aa;border-radius:56px;background:#fff5e7f5;backdrop-filter:none;box-shadow:none;text-align:left}
.listening-room .round{grid-area:play;width:54px;height:54px;font-size:21px;box-shadow:none;background:var(--coral)}
.listening-room .round{appearance:none;-webkit-appearance:none;display:grid;place-items:center;padding:0;border:0;color:#fff7dc}
.listening-room .round svg{width:26px;height:26px;display:block;fill:currentColor}
.pause-icon,.is-playing .play-icon{display:none}
.is-playing .pause-icon{display:block}
.listening-room .round:hover{background:#ea555c}
.listening-room .track{grid-area:track;min-height:0;align-self:end;padding-top:1px}
.listening-room .track h2{font:650 clamp(14px,1.3vw,19px)/1.25 var(--sans);letter-spacing:0;margin:0 0 2px;color:#3c4c3a;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.listening-room .track p{font-size:clamp(12px,1.1vw,15px);line-height:1.25;margin:0;color:#797861;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.listening-room .volume{grid-area:volume;display:flex;align-items:center;gap:6px;width:100%;height:20px;line-height:1}
.listening-room .volume svg{flex:0 0 12px;width:12px;height:12px;fill:none;stroke:#a79c86;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.listening-room .volume input{--volume-progress:80%;appearance:none;-webkit-appearance:none;display:block;width:100%;height:26px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;min-width:0;cursor:pointer}
.listening-room .volume input::-webkit-slider-runnable-track{height:4px;border:0;border-radius:4px;background:linear-gradient(to right,var(--coral) var(--volume-progress),#cecbbd var(--volume-progress))}
.listening-room .volume input::-moz-range-track{height:4px;border:0;border-radius:4px;background:linear-gradient(to right,var(--coral) var(--volume-progress),#cecbbd var(--volume-progress))}
.listening-room .volume input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid #fff7dc;border-radius:50%;background:var(--coral);box-shadow:0 0 0 1px #c0b9a6}
.listening-room .volume input::-moz-range-thumb{width:10px;height:10px;border:2px solid #fff7dc;border-radius:50%;background:var(--coral);box-shadow:0 0 0 1px #c0b9a6}
.listening-room .volume input:focus-visible{outline:2px solid #34563e;outline-offset:3px;border-radius:5px}
.listening-room .volume input:disabled{opacity:.4;cursor:default}
.volume-note{font-size:11px;margin:38px 0 0;text-align:center}
.listening-room .wave{grid-area:wave;margin:0;gap:2px;height:33px;width:40px;opacity:.78;color:var(--coral)}
.listening-room .wave:before,.listening-room .wave:after{content:none}
.listening-room .wave span{flex:0 0 2px;width:2px;height:7px;border-radius:1px}
.listening-room .wave span:nth-child(3n){height:15px}.listening-room .wave span:nth-child(4n){height:23px}.listening-room .wave span:nth-child(5n){height:29px}
.listening-room .on-air{grid-area:air;gap:4px;font-size:7px;letter-spacing:.3px;line-height:1.15;margin:0;text-align:center;justify-content:center;color:#7c7d67}
.listening-room .on-air .dot{width:4px;height:4px;background:#739879}
.listening-room .player-status{position:absolute;left:6%;right:6%;top:100%;margin:12px 0 0;color:#35573f;font-size:10px;text-align:center;line-height:1.45}
.reference-butterfly-window{pointer-events:none}
.butterfly-trail{fill:none;stroke:#f5f6d5;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:5 7;opacity:.65}
.listening-room .animation-toggle{z-index:5;pointer-events:auto;right:22px;bottom:18px;display:flex;align-items:center;gap:7px;width:auto;height:30px;padding:0 11px;border:1px solid #60896736;border-radius:16px;font-size:10px;background:#fbf8e6c7;color:#4c6749;opacity:.85;box-shadow:none}
.listening-room .animation-toggle:hover{opacity:1;background:#fff5e7}
.radio-page .recent{position:relative;border-top:1px solid #f0ead9}
@media(min-width:1500px){.listening-room .hero{top:21%;left:17%;width:44%}}
@media(min-width:2000px){.scene-illustration{inset:auto 0 0 auto;width:1920px;height:1280px;mask-image:linear-gradient(to right,transparent 440px,#000 750px);-webkit-mask-image:linear-gradient(to right,transparent 440px,#000 750px)}}
@media(min-width:721px) and (max-width:1000px){.listening-room{height:70vw;min-height:570px}.listening-room .hero{top:22%;left:12%;width:52%}.listening-room .hero .player{width:88%;column-gap:12px;margin-top:25px}.room-tagline{font-size:9px}}
@media(max-width:720px){
  .listening-room{height:880px;min-height:0;background-position:center top;background-size:auto 100%}
  .listening-room .site-header{padding-top:25px;width:100%}
  .listening-room .site-header nav{font-size:11px;letter-spacing:0;flex-wrap:nowrap;order:0}
  .listening-room .site-header nav a{margin-inline:17px;white-space:nowrap}
  .listening-room .site-header nav a+a:before{left:-18px;top:5px;height:15px}
  .listening-room .hero{inset:125px 0 auto;width:100%;padding:0 19px}
  .room-tagline{margin-top:26px;font-size:8px;letter-spacing:.13em}
  .listening-room .hero .player{width:min(355px,100%);max-width:none;min-height:104px;margin-top:29px;padding:14px 17px 14px 15px;column-gap:13px;grid-template-columns:52px minmax(0,1fr) 39px}
  .listening-room .round{width:52px;height:52px}
  .listening-room .track h2{font-size:15px}.listening-room .track p{font-size:12px}
  .listening-room .player-status{font-size:10px;max-width:290px;margin-inline:auto}
  .scene-illustration{inset:auto 0 0 auto;width:770px;height:513.333px;max-width:none;mask-image:linear-gradient(to bottom,transparent,#000 110px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 110px)}
  .butterfly-illustration{top:auto;bottom:220px;right:0;width:148px}
  .listening-room .animation-toggle{bottom:13px;right:13px;height:28px;font-size:9px}
}
@media(max-width:360px){.listening-room .site-header nav a{margin-inline:13px}.listening-room .site-header nav a+a:before{left:-14px}.listening-room .hero{padding-inline:13px}.room-tagline{font-size:7px}}
@media(prefers-reduced-motion:reduce){.listening-room .animation-toggle{display:none}.butterfly-trail{opacity:.4}}
