:root{--black:#00020c;--paper:#e7e1dc;--soft:rgba(213,202,201,.66);--accent:#8e737c;--accent-light:#b29499;--line:rgba(188,164,167,.25)}*{box-sizing:border-box}html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}body{margin:0;background:var(--black);color:var(--paper);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-weight:300;line-height:1.35}a{color:inherit}.single-screen{height:auto;min-height:100svh;max-width:1500px;margin:auto;padding:clamp(1rem,3vw,3.2rem);display:grid;grid-template-columns:minmax(340px,1fr) minmax(390px,.92fr);grid-template-rows:auto 1fr auto auto;column-gap:clamp(2rem,7vw,9rem);row-gap:clamp(.65rem,1.8vh,1.4rem);position:relative;overflow:visible}.portrait{position:absolute;z-index:0;right:0;top:0;width:100%;height:100%;background:url('assets/halou-rebmulti-tv-clear.png?v=2') right center/auto 140% no-repeat;filter:brightness(1.02)}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00020c 0%,rgba(0,2,12,.66) 31%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.76) 100%),linear-gradient(0deg,#00020c 0%,rgba(0,0,0,.14) 34%,rgba(0,0,0,.12) 100%)}.site-header,.intro,.listening,.signup,footer{position:relative;z-index:1}.site-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:.66rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--soft)}.wordmark{margin:0 0 .72rem;color:var(--paper);font-size:clamp(2.5rem,5.5vw,5.75rem);font-weight:400;letter-spacing:.18em;line-height:.8;text-decoration:none}.intro{grid-column:1;align-self:center;max-width:570px}.eyebrow{margin:0 0 .85rem;color:var(--accent-light);font-size:.64rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase}.intro h1,.listening h2,.signup h2,.player h3{font-family:Didot,'Bodoni 72',Baskerville,Georgia,serif}.intro h1{margin:0;font-size:clamp(2.65rem,5vw,5.45rem);font-weight:400;letter-spacing:-.065em;line-height:.91}.intro>p{margin:1.1rem 0 0;max-width:390px;color:var(--soft);font:400 1rem/1.35 Didot,'Bodoni 72',Baskerville,Georgia,serif}.intro .wordmark{display:block;width:clamp(9rem,23vw,16rem);height:auto;margin:0 0 .72rem;max-width:none}.intro .listen-prompt{margin-top:1rem;color:var(--paper);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.listening{grid-column:1;min-width:0;align-self:end;max-width:600px}.listening-label{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:.65rem}.listening-label .eyebrow{margin:0}.listening h2,.signup h2{margin:0;font-size:1.1rem;font-weight:400;letter-spacing:-.03em}.stations{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.station{min-height:51px;border:0;background:none;padding:.6rem .5rem .55rem 0;color:var(--soft);text-align:left;cursor:pointer;font-family:inherit}.station span{display:block;color:var(--soft);font-size:.58rem;letter-spacing:.12em;margin-bottom:.12rem}.station strong{font-family:Didot,'Bodoni 72',Baskerville,Georgia,serif;font-size:.96rem;font-weight:400;letter-spacing:-.02em}.station[aria-selected=true],.station[aria-selected=true] span{color:var(--accent-light)}.player{min-width:0;display:grid;grid-template-columns:1fr minmax(205px,.95fr);gap:1.3rem;padding-top:1rem;align-items:end}.current-number{margin:0 0 .5rem;color:var(--accent-light);font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.player h3{margin:0;font-size:clamp(2rem,3.8vw,4rem);font-weight:400;letter-spacing:-.07em;line-height:.84}.track-copy>p:not(.current-number){display:none}.player-actions{display:flex;gap:.5rem;margin-top:.9rem}.button{min-height:25px;padding:.14rem 0;border:0;border-bottom:1px solid var(--accent);background:transparent;color:var(--paper);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none}.button:hover{border-color:var(--accent-light);color:var(--accent-light)}.button-outline,.button-quiet{background:transparent;color:var(--paper)}.player-actions{gap:1.15rem}.embed-wrap{min-width:0;width:100%}.embed-wrap iframe{display:block;width:100%;max-width:100%;height:152px;border:0;opacity:.9}.signup{grid-column:1/-1;display:grid;grid-template-columns:1fr minmax(300px,.58fr);gap:2rem;align-items:center;padding-top:.8rem;border-top:1px solid var(--line)}.signup .eyebrow{margin-bottom:.25rem}.signup h2{font-size:1.35rem}.signup-row{display:flex;gap:.4rem}.signup input[type=email]{flex:1;min-width:0;min-height:35px;padding:.45rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--paper);font:400 .85rem Didot,'Bodoni 72',Baskerville,Georgia,serif}.signup input::placeholder{color:var(--soft)}.form-status{position:absolute;margin:.35rem 0;font-size:.68rem;color:var(--paper)}.form-status.error{color:#d2a1a5}.honeypot{position:absolute;left:-5000px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;color:var(--soft);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}footer nav{display:flex;gap:1rem}footer a{text-decoration:none}footer a:hover{color:var(--accent-light)}button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid var(--paper);outline-offset:3px}.skip-link{position:absolute;top:-4rem;left:1rem;background:var(--paper);color:var(--black);padding:.6rem;z-index:5}.skip-link:focus{top:1rem}@media(max-width:1400px){.single-screen{padding:1rem;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto;row-gap:.72rem;align-content:stretch}.portrait{width:100%;opacity:1;background-position:62% 0%;background-size:auto 116%;transform:translateY(20svh)}.site-header{grid-column:1}.wordmark{font-size:clamp(1.8rem,10vw,3rem);margin-bottom:.55rem}.intro{grid-column:1;align-self:end;max-width:360px;transform:translateY(clamp(.65rem,1.5svh,1.35rem))}.intro h1{font-size:clamp(2.1rem,10vw,3.4rem)}.intro>p{display:block;max-width:290px;margin:.55rem 0 0;font-size:.82rem;line-height:1.22}.intro .listen-prompt{display:block;margin-top:.65rem;font-size:.58rem}.listening{grid-column:1;align-self:end;max-width:none;transform:none}.listening-label{padding-bottom:.5rem}.listening h2{font-size:1rem}.station{min-height:47px}.station strong{font-size:.78rem;line-height:1.05}.player{grid-template-columns:1fr;gap:.65rem;padding-top:.75rem}.track-copy{min-width:0}.embed-wrap{min-width:0;width:100%}.player h3{font-size:clamp(1.8rem,9vw,3rem)}.embed-wrap iframe{height:152px}.signup{grid-column:1;grid-template-columns:1fr 1.25fr;gap:.7rem;padding-top:.65rem;transform:none}.signup .eyebrow{display:none}.signup h2{font-size:1.08rem}footer{grid-column:1;font-size:.5rem}footer nav{gap:.5rem}footer nav a{display:inline}}@media(max-height:700px){.single-screen{padding:.75rem;row-gap:.5rem}.intro h1{font-size:clamp(2.25rem,5.6vw,3.8rem)}.intro>p:not(.listen-prompt){display:none}.station{min-height:39px;padding:.35rem 0}.player h3{font-size:clamp(1.65rem,3.6vw,2.9rem)}.embed-wrap iframe{height:116px}.signup h2{font-size:1.05rem}.button,.signup input[type=email]{min-height:30px;padding:.36rem .5rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.custom-player{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem .7rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);background:rgba(1,4,13,.68);backdrop-filter:blur(8px)}.custom-player button{font:500 .58rem/1 Optima,Candara,'Trebuchet MS',sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.play-toggle{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--accent-light);border-radius:50%;background:transparent;color:var(--paper)}.play-icon{font-size:.75rem;transform:translateX(.05rem)}.custom-player[data-state=playing] .play-toggle{background:var(--paper);color:var(--black)}.audio-details{min-width:0}.audio-details p{margin:0}.audio-details p:first-child{color:var(--paper);font:400 1.1rem/1 Didot,'Bodoni 72',Baskerville,Georgia,serif}.audio-details p:last-child{margin-top:.26rem;color:var(--soft);font-size:.57rem;letter-spacing:.08em;text-transform:uppercase}.mute-toggle{padding:0;border:0;background:none;color:var(--soft)}.audio-timeline{grid-column:1/-1;display:grid;grid-template-columns:2.1rem 1fr 2.1rem;gap:.5rem;align-items:center;color:var(--soft);font-size:.55rem;font-variant-numeric:tabular-nums}.audio-timeline input{width:100%;accent-color:var(--accent-light)}@media(max-width:1400px){.custom-player{margin-top:.5rem;padding:.75rem}.audio-details p:first-child{font-size:1rem}}
.player-actions .play-toggle{margin:0;background:transparent}.player-actions .play-toggle.is-playing{background:var(--paper);color:var(--black)}
@media(max-width:1400px){.listening{margin-top:clamp(2rem,6svh,4.5rem)}}
/* Simplified direct-play song list. */
.stations{display:block;border-top:1px solid var(--line)}.station{width:100%;min-height:0;display:grid;grid-template-columns:2.15rem minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.82rem 0;border-bottom:1px solid var(--line);text-align:left}.station span{margin:0}.station strong{font-size:clamp(1.05rem,2vw,1.45rem)}.station-play{display:grid;place-items:center;width:1.85rem;height:1.85rem;border:1px solid var(--line);border-radius:50%;color:var(--soft);font-size:.52rem;font-style:normal}.station.is-active,.station.is-active span,.station.is-active .station-play{color:var(--paper)}.station.is-active strong{color:var(--accent-light)}.station.is-active .station-play{border-color:var(--accent-light);background:rgba(178,148,153,.14)}.station.audio-missing .station-play{border-color:#d2a1a5}.player{display:none}audio{display:none}footer{flex-direction:column;align-items:flex-start;gap:.65rem}footer nav{flex-direction:column;gap:.38rem;order:0}footer>span{order:1}@media(max-width:1400px){.listening{margin-top:0}.signup{align-self:end;margin-bottom:1.4rem}.signup+footer{align-self:end;margin-bottom:.15rem}.station{padding:.68rem 0}.station strong{font-size:1.08rem}footer{font-size:.58rem;letter-spacing:.12em}}
/* Centered closing stack. */
.signup{display:flex;flex-direction:column;justify-content:center;gap:.85rem;text-align:center}.signup>div{width:100%}.signup form{width:min(100%,24rem);margin:0 auto}.signup-row{flex-direction:column;align-items:stretch;gap:.7rem}.signup input[type=email]{width:100%;text-align:center}.signup .button{align-self:center;min-width:4.5rem}footer{align-items:center;text-align:center}footer nav{align-items:center}footer>span{width:100%}@media(max-width:1400px){.signup{grid-column:1;display:flex;gap:.65rem}.signup h2{font-size:1.25rem}.signup form{width:min(100%,20rem)}footer{grid-column:1;align-items:center;text-align:center}footer nav{align-items:center}}
.signup input[type=email]{border:1px solid var(--line);border-radius:0;padding:.65rem .8rem}.signup input[type=email]:focus{border-color:var(--accent-light)}
.listening-label{padding-top:clamp(1.25rem,3svh,2.25rem)}
.signup{border-top:0}
/* Keep the closing stack in normal flow on real mobile Safari.  The previous
   negative viewport transform could pull it over the final song row. */
@media(max-width:1400px){.signup,.signup+footer{transform:none}}
.station strong,.station[aria-selected=true] strong,.station.is-active strong{color:var(--paper)}
.signup .form-status{position:static;width:100%;margin:.15rem auto 0;text-align:center}
.station{transition:background-color .18s ease,padding-left .18s ease}.station:hover,.station:focus-visible{background:rgba(231,225,220,.055);padding-left:.45rem}.station:focus-visible{outline:1px solid var(--accent-light);outline-offset:-1px}
/* Center the opening narrative while retaining left-aligned song rows. */
.intro{text-align:center;justify-self:center}.intro .wordmark{width:clamp(12rem,30vw,20rem);margin-left:auto;margin-right:auto}.intro>p{margin-left:auto;margin-right:auto}.listening-label{justify-content:center;text-align:center}.listening-label .eyebrow{width:100%;text-align:center}
@media(max-width:1400px){.intro{text-align:center;justify-self:center}.intro .wordmark{width:clamp(13rem,38vw,21rem)}.listening-label{text-align:center;justify-content:center}.listening-label .eyebrow{text-align:center}}

/* Desktop-only closing stack: keep signup and navigation directly below the songs. */
@media (min-width:1401px){
  .signup{grid-column:1;grid-row:3;align-self:start;margin-top:clamp(1.5rem,3vh,2.5rem);transform:none}
  .signup+footer{grid-column:1;grid-row:4;align-self:start;margin-top:clamp(1.25rem,2.5vh,2rem);transform:none}
}

/* The full song row is the control; its circular arrow is decorative. */
.station-play{pointer-events:none}

/* Conversion hierarchy: give a cold visitor one clear first listen while
   retaining the two alternate tracks as direct, full-row controls. */
.stations{border-bottom:1px solid var(--line)}
.station-primary{grid-template-columns:2.15rem minmax(0,1fr) auto;min-height:5.25rem;padding:.92rem 0;background:rgba(231,225,220,.035)}
.station-primary strong{font-size:clamp(1.35rem,2.7vw,1.95rem)}
.station-primary .station-play{display:none}
.primary-play{display:inline-flex;align-items:center;gap:.42rem;min-height:2.25rem;padding:.5rem .75rem;border:1px solid var(--accent-light);color:var(--paper);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-size:.59rem;font-weight:500;letter-spacing:.12em;line-height:1;text-transform:uppercase;white-space:nowrap}
.primary-play i{font-style:normal;font-size:.63rem}
.station-primary:hover,.station-primary:focus-visible{background:rgba(178,148,153,.14)}
.station-primary:hover .primary-play,.station-primary:focus-visible .primary-play,.station-primary.is-playing .primary-play{border-color:var(--paper);background:rgba(231,225,220,.09)}
.station-primary.is-playing .primary-play i{font-size:0}.station-primary.is-playing .primary-play i:after{content:'❚❚';font-size:.55rem}
.secondary-label{margin:1.1rem 0 .18rem;color:var(--soft);font-size:.54rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}
.station-secondary{min-height:3.35rem;color:var(--soft)}
.station-secondary strong{font-size:clamp(.95rem,1.6vw,1.18rem)}
/* On phones, let content that exceeds a short viewport create normal document
   scrolling. This preserves the composition on taller screens while making
   the complete page reachable instead of clipping it inside one fixed screen. */
@media(max-width:1400px){html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.single-screen{height:auto;min-height:100svh;overflow:visible}}
@media(max-width:1400px){
  .station-primary{min-height:5.45rem;padding:.88rem 0;grid-template-columns:1.9rem minmax(0,1fr) auto;gap:.45rem}
  .station-primary strong{font-size:1.42rem}
  .primary-play{min-height:2.45rem;padding:.58rem .68rem;font-size:.55rem}
  .secondary-label{margin-top:1rem;margin-bottom:.12rem}
  .station-secondary{min-height:3.55rem}
  .station-secondary strong{font-size:1.03rem}
}

/* Hero-listen experiment: make the first music action part of the opening
   question while keeping the existing visual language and secondary songs. */
.hero-play-cta{width:min(100%,24rem);min-height:3.45rem;margin:1.2rem auto 0;padding:.78rem 1.05rem;display:flex;align-items:center;justify-content:center;gap:.72rem;border:1px solid var(--accent-light);background:rgba(1,4,13,.34);color:var(--paper);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.16em;line-height:1;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.hero-play-icon{font-size:.72rem;font-style:normal}.hero-play-cta:hover,.hero-play-cta:focus-visible,.hero-play-cta.is-playing{border-color:var(--paper);background:rgba(231,225,220,.09)}.hero-play-cta.audio-missing{border-color:#d2a1a5}.intro .hero-song-context{margin:.72rem auto 0;max-width:24rem;color:var(--accent-light);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-size:.68rem;line-height:1.35;letter-spacing:.035em}.intro .intro-copy{margin:.7rem auto 0}.listening .stations{border-bottom:1px solid var(--line)}
@media(max-width:1400px){.intro .wordmark{margin-bottom:.7rem}.hero-play-cta{width:min(100%,21rem);min-height:3.5rem;margin-top:1rem;padding:.82rem .9rem;font-size:.67rem}.intro .hero-song-context{max-width:20rem;margin-top:.62rem;font-size:.65rem}.intro .intro-copy{margin-top:.58rem}.listening-label{padding-top:clamp(.9rem,2svh,1.5rem)}}
@media(max-height:700px){.hero-play-cta{min-height:3rem;margin-top:.72rem;padding:.65rem .8rem}.intro .hero-song-context{margin-top:.48rem}.intro .intro-copy{display:block!important;margin-top:.45rem;font-size:.72rem}.listening-label{padding-top:.65rem}}

/* Physical iOS Safari can retain native button chrome and render the play
   character as an emoji. Normalize the controls and draw both icons in CSS. */
.hero-play-cta{-webkit-appearance:none;appearance:none;width:100%;max-width:24rem;border-radius:0;-webkit-tap-highlight-color:transparent}
.hero-play-icon,.station-play{font-size:0}
.hero-play-icon::before,.station-play::before{content:'';display:block;width:0;height:0;border-top:.28rem solid transparent;border-bottom:.28rem solid transparent;border-left:.46rem solid currentColor;transform:translateX(.04rem)}
.hero-play-cta.is-playing .hero-play-icon::before,.station.is-playing .station-play::before{width:.46rem;height:.58rem;border:0;background:linear-gradient(90deg,currentColor 0 30%,transparent 30% 70%,currentColor 70% 100%);transform:none}
@media(max-width:1400px){.hero-play-cta{width:100%;max-width:21rem}}

/* Instagram is the secondary conversion target; keep it clearly subordinate
   to the Honeythief hero action while giving it a generous mobile tap area. */
.instagram-target{gap:.7rem}
.instagram-target .eyebrow{display:block;margin:0 0 .2rem}
.instagram-follow{-webkit-appearance:none;appearance:none;width:100%;max-width:24rem;min-height:3.25rem;margin:0 auto;padding:.78rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid var(--line);border-radius:0;background:rgba(1,4,13,.28);color:var(--paper);font-family:Optima,Candara,'Trebuchet MS',sans-serif;font-size:.66rem;font-weight:500;letter-spacing:.14em;line-height:1;text-transform:uppercase;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.instagram-follow:hover,.instagram-follow:focus-visible{border-color:var(--accent-light);background:rgba(231,225,220,.07);color:var(--paper)}
@media(max-width:1400px){.instagram-target{margin-bottom:.9rem}.instagram-target h2{font-size:1.35rem}.instagram-follow{max-width:20rem;min-height:3.2rem}}
