/* Release-day CTA pair + email list signup (inline section and first-visit dialog).
   Shared by / and /listen/. Home keeps its own inline styles, so colours are set here explicitly. */
.release-ctas{display:flex;flex-wrap:wrap;gap:12px;width:100%;max-width:620px;margin:24px 0 10px}
.release-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:14px 18px;border-radius:14px;border:1px solid transparent;font:inherit;font-weight:900;font-size:1.02rem;line-height:1.2;text-align:center;white-space:nowrap;flex:1 1 auto;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.release-cta svg{flex:0 0 auto;width:22px;height:22px;fill:currentColor}
.release-cta.listen{color:#141106;background:linear-gradient(135deg,#ffe67a,#f6c72f 54%,#d49e10);box-shadow:0 14px 35px rgba(246,199,47,.22)}
.release-cta.watch{color:#fff;background:rgba(9,11,9,.72);border-color:rgba(255,255,255,.26)}
.release-cta.watch svg{fill:#ff3d3d}
.release-cta:hover,.release-cta:focus-visible{transform:translateY(-2px);box-shadow:0 18px 38px rgba(0,0,0,.3)}
.release-cta:focus-visible{outline:3px solid #f6c72f;outline-offset:3px}
.release-cta-note{margin:4px 0 0;color:#c9c9c0;font-size:.88rem}
@media(max-width:560px){.release-ctas{display:grid;grid-template-columns:1fr}.release-cta{white-space:normal}}
@media(prefers-reduced-motion:reduce){.release-cta{transition:none}.release-cta:hover{transform:none}}

/* Signup form (shared by the inline section and the dialog) */
.signup-form{display:grid;gap:12px;margin:0}
.signup-form label.field-label{font-weight:800;font-size:.9rem;color:#fff8df}
.signup-form input[type=email]{width:100%;min-height:52px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:#0b0f0c;color:#fff;font:inherit;font-size:1rem}
.signup-form input[type=email]:focus-visible{outline:3px solid #f6c72f;outline-offset:2px;border-color:#f6c72f}
.signup-consent{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:.88rem;line-height:1.45;color:#e7e6dd;cursor:pointer}
.signup-consent input{width:22px;height:22px;margin:1px 0 0;accent-color:#f6c72f}
.signup-submit{min-height:52px;padding:12px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#ffe67a,#f6c72f 54%,#d49e10);color:#141106;font:inherit;font-weight:900;font-size:1rem;cursor:pointer}
.signup-submit:disabled{opacity:.7;cursor:progress}
.signup-submit:focus-visible,.signup-dialog button:focus-visible,.signup-privacy a:focus-visible{outline:3px solid #f6c72f;outline-offset:3px}
.signup-privacy{margin:0;font-size:.82rem;color:#c9c9c0}
.signup-privacy a{color:#f6c72f}
.signup-status{margin:0;font-size:.92rem;font-weight:700}
.signup-status:empty{display:none}
.signup-status.is-error{color:#ffb3a8}
.signup-success{padding:16px 18px;border-radius:14px;border:1px solid rgba(47,179,74,.55);background:rgba(20,60,32,.55);color:#fff8df}
.signup-success strong{display:block;font-size:1.08rem;margin-bottom:4px}
.signup-success p{margin:0}
.signup-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}

/* Inline section */
.signup-band{margin:0 auto;padding:28px;border-radius:22px;border:1px solid rgba(246,199,47,.38);background:linear-gradient(115deg,rgba(45,31,9,.78),rgba(9,21,12,.9));color:#fff8df}
.signup-band h2{margin:0 0 8px}
.signup-band .signup-lede{margin:0 0 18px;color:#e7e6dd;max-width:560px}
.signup-band .signup-form{max-width:560px}
.signup-kicker{margin:0 0 10px;color:#f6c72f;font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}

/* Dialog */
.signup-dialog{width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid rgba(246,199,47,.5);border-radius:20px;background:#0d120e;color:#fff8df;box-shadow:0 30px 90px rgba(0,0,0,.7);overflow:auto;overscroll-behavior:contain}
.signup-dialog::backdrop{background:rgba(3,5,3,.72);backdrop-filter:blur(3px)}
.signup-dialog-inner{position:relative;padding:22px 20px 20px}
.signup-dialog h2{margin:0 44px 8px 0;font-family:Outfit,Inter,system-ui,sans-serif;font-size:1.45rem;line-height:1.15;letter-spacing:-.01em}
.signup-dialog .signup-lede{margin:0 0 16px;color:#e7e6dd;font-size:.95rem}
.signup-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.signup-close:hover{border-color:#f6c72f}
.signup-continue{width:100%;min-height:48px;margin-top:12px;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.signup-continue:hover{border-color:#f6c72f;color:#f6c72f}
@media(max-width:360px){.signup-dialog-inner{padding:18px 14px 16px}.signup-dialog h2{font-size:1.25rem}.signup-consent{font-size:.82rem}.signup-band{padding:20px 16px}}
