:root{--ink:#090806;--coal:#11100e;--charcoal:#191713;--paper:#f0e9dc;--muted:#aaa094;--gold:#c89a50;--gold-bright:#e6bb70;--gold-soft:rgba(230,187,112,.14);--line:rgba(240,233,220,.14);--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;color:var(--paper);background:radial-gradient(circle at 82% 8%,rgba(198,154,82,.12),transparent 28rem),radial-gradient(circle at 10% 78%,rgba(124,69,39,.12),transparent 32rem),var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:var(--gold-bright);font-size:.76rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.eyebrow:before{content:"";width:2rem;height:1px;background:var(--gold)}.eyebrow.center{justify-content:center}h1,h2,h3{margin:0;font-family:"Libre Caslon Display",Georgia,serif;font-weight:400}h2{font-size:clamp(3rem,6vw,6rem);line-height:.94;letter-spacing:-.045em}
header{position:fixed;z-index:70;inset:0 0 auto;background:linear-gradient(to bottom,rgba(9,8,6,.97),rgba(9,8,6,.72),transparent);backdrop-filter:blur(12px)}nav{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{font:1.12rem/1 "Libre Caslon Display",Georgia,serif;letter-spacing:.22em;white-space:nowrap}.nav-right,.nav-links,.social-icons{display:flex;align-items:center}.nav-right{gap:1.15rem}.nav-links{gap:1.55rem}.nav-links>a:not(.button){color:#d2c8b9;font-size:.86rem}.nav-links>a:not(.button):hover{color:var(--paper)}.social-icons{gap:.45rem}.icon-link{width:2.25rem;height:2.25rem;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#d7cfc1;transition:.2s}.icon-link:hover{color:var(--gold-bright);border-color:var(--gold);background:var(--gold-soft);transform:translateY(-2px)}.icon-link svg,.follow-popover svg{width:1rem;height:1rem;fill:currentColor}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.78rem 1.15rem;border:1px solid var(--gold);color:var(--ink);background:var(--gold-bright);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);background:#efc985}.button.ghost{color:var(--paper);background:transparent;border-color:var(--line)}.button.ghost:hover{border-color:var(--gold);background:var(--gold-soft)}.follow-menu{position:relative}.follow-menu summary{list-style:none}.follow-menu summary::-webkit-details-marker{display:none}.follow-popover{position:absolute;top:calc(100% + .65rem);right:0;width:15rem;padding:.6rem;border:1px solid var(--line);background:rgba(18,16,13,.98);box-shadow:0 22px 60px rgba(0,0,0,.48)}.follow-popover a{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--line);color:#d7cfc1;font-size:.78rem}.follow-popover a:last-child{border-bottom:0}.follow-popover a:hover{color:var(--gold-bright);background:var(--gold-soft)}
.hero{min-height:100svh;position:relative;display:grid;align-items:end;padding:9rem 0 5rem;isolation:isolate}.hero:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(9,8,6,.97) 0%,rgba(9,8,6,.74) 44%,rgba(9,8,6,.08) 72%),linear-gradient(to top,var(--ink) 0,transparent 42%),url("assets/nolan-hale-portrait.png") right 22% center/auto 112% no-repeat,#16110d}.hero:after{content:"NH";position:absolute;z-index:-1;top:6rem;right:-1vw;color:transparent;-webkit-text-stroke:1px rgba(198,154,82,.17);font:32vw/.8 "Libre Caslon Display",Georgia,serif;letter-spacing:-.12em;pointer-events:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 22rem;align-items:end;gap:4rem}h1{max-width:8ch;font-size:clamp(5.2rem,12vw,10.7rem);line-height:.78;letter-spacing:-.055em}h1 span{display:block;margin-left:.7em;color:var(--gold-bright)}.hero-copy{margin-top:2.25rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.hero-copy p{max-width:31rem;margin:0;color:#c1b8ab;font-size:1.04rem}.hero-note{padding:1.5rem 0 0 1.5rem;border-left:1px solid var(--gold);border-top:1px solid var(--line)}.hero-note strong{display:block;margin-bottom:.35rem;font:1.4rem/1.3 "Libre Caslon Display",Georgia,serif}.hero-note span{color:var(--muted);font-size:.86rem}.ticker{overflow:hidden;border-block:1px solid var(--line);background:#0e0d0b}.ticker-track{display:flex;width:max-content;padding:.75rem 0;animation:ticker 42s linear infinite}.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}.ticker-song{appearance:none;display:flex;align-items:center;gap:2.1rem;margin-right:2.1rem;padding:.35rem .75rem;border:0;border-radius:999px;color:#bdb2a4;background:transparent;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.2s}.ticker-song:after{content:"✦";color:var(--gold)}.ticker-song:hover,.ticker-song:focus-visible{color:#17110a;background:var(--gold-bright)}@keyframes ticker{to{transform:translateX(-50%)}}
section{padding:8rem 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:3.5rem}.section-head>p{max-width:31rem;margin:0 0 .45rem auto;color:var(--muted)}.release-shell{display:grid;grid-template-columns:minmax(18rem,.82fr) 1.18fr;min-height:34rem;border:1px solid var(--line);background:linear-gradient(145deg,#191611,#100f0d);box-shadow:0 28px 80px rgba(0,0,0,.34)}.release-art{aspect-ratio:1;overflow:hidden;background:#0d0c0a}.release-art img{width:100%;height:100%;display:block;object-fit:cover}.release-info{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5.4rem)}.release-info .meta{margin:0 0 1.25rem;color:var(--gold-bright);font-size:.74rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.release-info h3{max-width:9ch;font-size:clamp(3rem,5vw,5.8rem);line-height:.95;letter-spacing:-.045em}.release-info>p:not(.meta){max-width:35rem;margin:1.6rem 0 2rem;color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:.7rem}.service-icon{width:1rem;height:1rem;fill:currentColor}.apple-icon{width:1rem;height:1rem;display:inline-grid;place-items:center;border-radius:.28rem;color:#fff;background:linear-gradient(145deg,#fb5b74,#bb56ef 55%,#4287f5);font-size:.75rem}
.listen-section{border-block:1px solid var(--line);background:linear-gradient(180deg,#0e0d0b,#090806)}.listen-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:end;margin-bottom:3rem}.listen-intro h2{max-width:8ch}.listen-intro>p{max-width:36rem;margin:0 0 .5rem auto;color:var(--muted)}.player-shell{position:relative;overflow:hidden;border:1px solid rgba(230,187,112,.24);background:radial-gradient(circle at 0 0,rgba(230,187,112,.13),transparent 32rem),linear-gradient(135deg,#1b1813,#0c0b09);box-shadow:0 35px 100px rgba(0,0,0,.42)}.player-top{display:grid;grid-template-columns:minmax(14rem,26rem) 1fr;min-height:30rem}.player-art{position:relative;overflow:hidden;background:#12100d}.player-art img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}.player-shell.is-previewing .player-art img{transform:scale(1.025);filter:saturate(1.08)}.player-art:after{content:"";position:absolute;inset:0;box-shadow:inset -60px 0 80px rgba(9,8,6,.28);pointer-events:none}.player-main{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.5rem)}.now-label{color:var(--gold-bright);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.now-title{margin-top:.9rem;max-width:12ch;font-size:clamp(2.7rem,5vw,5rem);line-height:.96;letter-spacing:-.04em}.now-meta{margin:1rem 0 1.7rem;color:var(--muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.transport{display:grid;grid-template-columns:4rem 1fr auto;align-items:center;gap:1rem}.play-button{width:4rem;height:4rem;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--ink);background:var(--gold-bright);cursor:pointer;transition:.2s}.play-button:hover{transform:scale(1.04);background:#f0c87f}.play-button svg{width:1.1rem;height:1.1rem;fill:currentColor}.progress-wrap{min-width:0}.progress{width:100%;accent-color:var(--gold-bright);cursor:pointer}.time-row{display:flex;justify-content:space-between;margin-top:.2rem;color:#8e8579;font-size:.7rem}.preview-status{margin:1.2rem 0 0;color:#a99f92;font-size:.78rem}.provider-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}.provider-link{display:inline-flex;align-items:center;padding:.65rem .8rem;border:1px solid var(--line);color:#dcd4c8;background:rgba(255,255,255,.02);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.provider-link:hover{border-color:var(--gold);color:var(--gold-bright)}.official-embed{border-top:1px solid var(--line);background:#11100e}.provider-tabs{display:flex;gap:.35rem;padding:1rem 1rem 0}.provider-tab{padding:.65rem .85rem;border:1px solid var(--line);color:#a99f92;background:transparent;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.provider-tab.active{color:var(--ink);border-color:var(--gold);background:var(--gold-bright)}.official-frame{width:100%;height:180px;display:block;border:0;background:#171512}.library-note{margin:0;padding:.9rem 1rem 1.1rem;color:#7f776d;font-size:.72rem}.track-library{margin-top:1rem;border:1px solid var(--line);background:#0c0b09}.track-library summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem;cursor:pointer;color:var(--paper);font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.track-library summary::-webkit-details-marker{display:none}.track-library summary:after{content:"+";color:var(--gold-bright);font-size:1.2rem}.track-library[open] summary:after{content:"−"}.track-options{max-height:28rem;overflow:auto;border-top:1px solid var(--line)}.track-option{width:100%;display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:4.7rem;padding:.75rem 1.25rem;border:0;border-bottom:1px solid var(--line);color:var(--paper);background:transparent;text-align:left;cursor:pointer;transition:.2s}.track-option:hover,.track-option.active{color:#17110a;background:var(--gold-bright);padding-left:1.5rem}.track-number{color:var(--gold);font-size:.7rem}.track-option:hover .track-number,.track-option.active .track-number{color:#5b3a0c}.track-name{overflow:hidden;font:1.1rem/1.3 "Libre Caslon Display",Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.track-date{color:#81796f;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.track-option:hover .track-date,.track-option.active .track-date{color:#4c3311}
.story{background:#0e0d0b}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.story-title{position:sticky;top:7rem}.story-copy{max-width:38rem}.story-copy .lead{margin-top:0;color:var(--paper);font:clamp(1.8rem,3vw,2.8rem)/1.25 "Libre Caslon Display",Georgia,serif}.story-copy p:not(.lead){color:var(--muted)}.quote{margin:3rem 0 0;padding:2rem 0 0;border-top:1px solid var(--gold);color:#d8cfc1;font:1.45rem/1.5 "Libre Caslon Display",Georgia,serif}.social-stage{padding-block:9rem;overflow:hidden}.social-card{display:grid;grid-template-columns:minmax(18rem,.86fr) 1.14fr;border:1px solid var(--line);background:linear-gradient(140deg,#f0e9dc 0 47%,#181511 47.1% 100%);box-shadow:0 30px 90px rgba(0,0,0,.35)}.pencil-wrap{min-height:36rem;padding:1.2rem}.pencil-wrap img{width:100%;height:100%;display:block;object-fit:cover;filter:sepia(.07) contrast(1.02)}.social-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.2rem,6vw,5.5rem)}.social-copy h2{max-width:8ch}.social-copy>p{max-width:34rem;color:var(--muted)}.social-grid{display:grid;gap:.75rem;margin-top:1.7rem}.social-card-link{display:grid;grid-template-columns:2.8rem 1fr auto;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:.2s}.social-card-link:hover{transform:translateX(5px);border-color:var(--gold);background:var(--gold-soft)}.social-card-link .icon-link{pointer-events:none}.social-card-link strong{font:1.18rem/1.2 "Libre Caslon Display",Georgia,serif}.social-card-link small{display:block;color:#8f867a;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.social-arrow{color:var(--gold-bright)}.contact{text-align:center;padding:10rem 0;border-top:1px solid var(--line)}.contact h2{max-width:10ch;margin-inline:auto}.contact p{max-width:36rem;margin:1.5rem auto 2rem;color:var(--muted)}.email-link{display:inline-block;padding-bottom:.15rem;border-bottom:1px solid var(--gold);color:var(--gold-bright);font-size:clamp(1rem,2.2vw,1.5rem);word-break:break-word}footer{padding:2.2rem 0;border-top:1px solid var(--line);color:#827a70;font-size:.76rem}.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem}.footer-services{display:flex;align-items:center;justify-content:center;gap:.65rem;color:#bbb1a4}.footer-services a:hover{color:var(--gold-bright)}.footer-socials{justify-self:end}
/* Refined, text-led interactions */
.text-action{position:relative;display:inline-flex;align-items:center;gap:.48rem;width:max-content;padding:.35rem 0;color:var(--paper);font-size:.77rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;transform-origin:left center;transition:color .22s ease,transform .22s ease}.text-action:after{content:"";position:absolute;right:0;bottom:.12rem;left:0;height:1px;background:var(--gold);transform:scaleX(.26);transform-origin:left;transition:transform .22s ease}.text-action:hover{color:var(--gold-bright);transform:scale(1.045)}.text-action:hover:after{transform:scaleX(1)}.text-action .service-icon{width:1rem;height:1rem}.hero-action{color:var(--gold-bright)}
.hero-socials{min-height:6.5rem;display:flex;align-items:center;justify-content:center;gap:2.1rem;border-top:1px solid var(--line);background:#0b0a08}.hero-socials a{display:grid;place-items:center;color:#c89a50;transition:color .22s ease,transform .22s ease}.hero-socials a:hover{color:var(--gold-bright);transform:scale(1.18)}.hero-socials svg{width:1.35rem;height:1.35rem;fill:currentColor}.nav-links a{position:relative;transition:color .2s ease,transform .2s ease}.nav-links a:hover{transform:scale(1.07)}
/* Complete square artwork with a neutral per-song loading state. */
.player-top{grid-template-columns:minmax(16rem,22rem) 1fr;align-items:center;min-height:28rem;padding:1.5rem}.player-art{width:100%;aspect-ratio:1;align-self:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#1c1812,#0d0b09);box-shadow:0 18px 45px rgba(0,0,0,.34)}.player-art img{position:absolute;inset:0;width:100%;height:100%;padding:1rem;object-fit:contain;opacity:0;transition:opacity .35s ease,transform .5s ease}.player-art img.has-artwork{opacity:1}.player-art:after{box-shadow:inset 0 0 55px rgba(9,8,6,.17)}.art-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#b98a45;background:radial-gradient(circle at center,rgba(200,154,80,.15),transparent 60%)}.art-placeholder span{font:clamp(4rem,8vw,7rem)/1 "Libre Caslon Display",Georgia,serif;letter-spacing:-.09em}.art-placeholder small{max-width:18ch;margin-top:1rem;color:#9b7a49;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.player-main{padding:clamp(2rem,5vw,4.2rem)}.play-button:disabled{color:#71675a;border-color:#544a3c;background:#211e19;cursor:not-allowed;transform:none}.provider-actions{gap:1.35rem}.provider-link{padding:.35rem 0;border:0;background:transparent}.provider-link:hover{border:0;background:transparent}.button-row{gap:1.5rem}
/* Paper portrait, dark copy panel, and unboxed social icons. */
.social-card{background:#171410}.pencil-wrap{background:#f0e9dc}.social-copy{background:#171410}.social-copy .eyebrow,.social-copy h2{color:#c89a50}.social-copy>p{color:#b49769}.social-grid{display:flex;align-items:center;gap:2.15rem;margin-top:2rem}.social-card-link{display:grid;grid-template-columns:1fr;place-items:center;width:auto;height:auto;padding:0;border:0;color:#c89a50;background:transparent}.social-card-link svg{width:2rem;height:2rem;fill:currentColor;transition:color .22s ease,transform .22s ease}.social-card-link:hover{border:0;background:transparent;transform:none}.social-card-link:hover svg{color:var(--gold-bright);transform:scale(1.2)}.contact h2{max-width:12ch}.contact-link{display:inline-block;color:#c89a50;transition:color .22s ease,transform .22s ease}.contact-link:hover{color:var(--gold-bright);transform:scale(1.035)}
@media(max-width:980px){.listen-intro,.player-top,.social-card{grid-template-columns:1fr}.listen-intro>p{margin-left:0}.player-top{padding:1.25rem}.player-art{width:min(100%,21rem);max-height:none;margin:1rem auto 0}.social-card{background:#181511}.pencil-wrap{min-height:auto;padding:0;background:var(--paper)}.pencil-wrap img{aspect-ratio:1}.social-copy{text-align:center}.social-copy .eyebrow{justify-content:center}.social-copy h2,.social-copy>p{margin-left:auto;margin-right:auto}.social-grid{justify-content:center}}
@media(max-width:840px){.wrap{width:min(calc(100% - 2rem),var(--max))}nav{min-height:4.5rem}.nav-links{gap:.55rem}.nav-links .button{min-height:2.6rem;padding:.62rem .78rem}.hero{min-height:46rem;padding-top:8rem}.hero:before{background:linear-gradient(90deg,rgba(9,8,6,.96) 0%,rgba(9,8,6,.74) 65%,rgba(9,8,6,.42) 100%),linear-gradient(to top,var(--ink) 0,transparent 48%),url("assets/nolan-hale-portrait.png") 62% center/cover no-repeat,#16110d}.hero-grid,.section-head,.release-shell,.story-grid{grid-template-columns:1fr}.hero-grid{gap:3rem}h1{font-size:clamp(5rem,25vw,8.5rem)}section{padding:5.5rem 0}.section-head>p{margin-left:0}.release-info{padding:2.5rem 1.5rem 3rem}.story-title{position:static}.player-main{padding:2rem 1.25rem 2.5rem}.transport{grid-template-columns:3.5rem 1fr}.play-button{width:3.5rem;height:3.5rem}.transport-label{display:none}.track-option{grid-template-columns:2rem minmax(0,1fr)}.track-date{grid-column:2}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-socials{justify-self:center}.contact{padding-block:7rem}}
@media(max-width:620px){.brand{font-size:.96rem}.nav-links{gap:.72rem}.nav-links a{font-size:.67rem!important}.hero-socials{min-height:5.5rem}.button-row,.provider-actions{gap:1rem}.text-action{font-size:.69rem}.player-top{padding:.75rem}.player-main{padding:2rem 1rem 2.25rem}.now-title{font-size:clamp(2.25rem,12vw,3.3rem)}.social-card{border-inline:0}.social-card-link svg{width:1.8rem;height:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*,*:before,*:after{transition-duration:.01ms!important}}

/* Vertical Canvas player */
textarea:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
.player-top{grid-template-columns:minmax(15rem,20rem) 1fr;align-items:center;min-height:38rem;padding:1.5rem 1.5rem 1.5rem 3rem}
.player-visual{width:min(100%,19rem);aspect-ratio:9/16;align-self:center;justify-self:center;position:relative;overflow:hidden;background:linear-gradient(145deg,#1c1812,#0d0b09);box-shadow:0 26px 70px rgba(0,0,0,.52);isolation:isolate}
.player-visual img,.player-visual video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.player-visual img{z-index:1;padding:1rem;object-fit:contain;opacity:0;background:#100e0b;transition:opacity .35s ease}
.player-visual img.has-artwork{opacity:1}
.player-visual video{z-index:2;opacity:0;transition:opacity .45s ease}
.player-visual.has-canvas video{opacity:1}
.player-visual:after{content:"";position:absolute;z-index:3;inset:0;box-shadow:inset 0 0 65px rgba(9,8,6,.2);pointer-events:none}
.player-visual .art-placeholder{z-index:0}
.visual-tag{position:absolute;z-index:4;left:1rem;bottom:1rem;padding:.38rem .55rem;color:#e8ddcb;background:rgba(9,8,6,.68);backdrop-filter:blur(8px);font-size:.61rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* Contact form */
.contact{text-align:left;padding:9rem 0;border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.contact-intro{position:sticky;top:7rem}
.contact h2{max-width:9ch}
.contact-intro>p:last-child{max-width:28rem;margin:1.7rem 0 0;color:var(--muted)}
.contact-form{padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(230,187,112,.2);background:linear-gradient(145deg,#171410,#0e0d0b);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.contact-form label{display:block;margin-bottom:1.65rem}
.contact-form label>span{display:block;margin-bottom:.5rem;color:#b59669;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(240,233,220,.22);border-radius:0;padding:.55rem 0 .72rem;color:var(--paper);background:transparent;font:1rem/1.5 "DM Sans",system-ui,sans-serif;transition:border-color .2s}
.contact-form textarea{min-height:8.5rem;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--gold-bright);outline:0}
.form-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.form-footer{display:block;margin-top:.5rem}
.form-submit{appearance:none;border:0;background:transparent;cursor:pointer}
.form-submit:disabled{opacity:.55;cursor:wait}
.form-status{min-height:1.4rem;margin:.7rem 0 0;color:var(--muted);font-size:.78rem;text-align:left}
.form-status.success{color:#d8b978}
.form-status.error{color:#dc8e79}

@media(max-width:980px){.player-top,.contact-grid{grid-template-columns:1fr}.player-top{padding:1.25rem}.player-visual{width:min(100%,18rem);max-height:none;margin:1rem auto 0}.contact-intro{position:static}.contact h2{max-width:12ch}}
@media(max-width:620px){.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:1.4rem}.form-footer{align-items:flex-start;flex-direction:column}.form-status{text-align:left}}

/* Release-aware catalog and instant Canvas switching */
[hidden]{display:none!important}
.player-visual video{z-index:2;opacity:1;transition:none;background:#0b0a08}
.player-visual.is-empty video{display:none}
.transport{grid-template-columns:4rem 1fr}
.track-option.locked{opacity:.48;cursor:not-allowed}
.track-option.locked:hover,.track-option.locked:focus-visible{padding-left:1.25rem;color:var(--paper);background:rgba(255,255,255,.025)}
.track-option.locked:hover .track-number,.track-option.locked:focus-visible .track-number{color:var(--gold)}
.track-option.locked:hover .track-date,.track-option.locked:focus-visible .track-date{color:#81796f}
.ticker-song.locked{opacity:.46;cursor:not-allowed}
.ticker-song.locked:hover,.ticker-song.locked:focus-visible{color:#bdb2a4;background:rgba(255,255,255,.035)}
.release-tooltip{position:fixed;z-index:120;max-width:min(18rem,calc(100vw - 2rem));padding:.55rem .72rem;border:1px solid rgba(230,187,112,.35);color:#efe5d5;background:rgba(15,13,10,.96);box-shadow:0 12px 35px rgba(0,0,0,.38);font-size:.72rem;font-weight:600;letter-spacing:.05em;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease}
.release-tooltip.visible{opacity:1;transform:translateY(0)}
@media(max-width:840px){.transport{grid-template-columns:3.5rem 1fr}}
.listen-guidance span{display:block}
