:root{--black:#090807;--brown:#21140f;--gold:#d9aa54;--cream:#f5ead6;--muted:#bfae9d}
*{box-sizing:border-box}
body.album-page{margin:0;background:var(--black);color:var(--cream);font-family:"DM Sans",sans-serif;background-image:radial-gradient(circle at 15% 8%,rgba(139,72,30,.26),transparent 28%),radial-gradient(circle at 82% 35%,rgba(121,45,26,.2),transparent 30%);min-height:100vh}
body.locked{overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-size:.74rem;font-weight:700}.access-gate{min-height:100vh;display:grid;place-items:center;padding:32px}.gate-panel{width:min(720px,100%);padding:clamp(38px,7vw,74px);text-align:center;border:1px solid rgba(217,170,84,.42);background:linear-gradient(150deg,rgba(52,28,19,.96),rgba(8,7,6,.98));box-shadow:0 40px 100px rgba(0,0,0,.6)}.gate-panel img{width:min(230px,70%);height:auto}.gate-panel h1,.album-hero h1,.track-heading h2{font-family:"Libre Caslon Display",serif;font-weight:400;line-height:.98;margin:18px 0;font-size:clamp(2.8rem,6vw,5.5rem)}.album-name{font-family:"Libre Caslon Display",serif;color:var(--gold);font-size:clamp(1.7rem,3vw,2.5rem);margin:10px 0 24px}.gate-copy{color:var(--muted);max-width:540px;margin:0 auto 32px;line-height:1.65}.gate-panel form{text-align:left;max-width:530px;margin:auto}.gate-panel label{display:block;font-weight:700;margin-bottom:9px}.code-row{display:flex;gap:10px}.code-row input{min-width:0;flex:1;border:1px solid rgba(217,170,84,.55);background:#100c09;color:var(--cream);padding:15px 17px;font:inherit;border-radius:3px}.code-row input:focus{outline:2px solid var(--gold);outline-offset:2px}.code-row button,.album-header button{border:1px solid var(--gold);background:linear-gradient(135deg,#f0d28b,#b9822d);color:#181008;padding:0 24px;font:700 .9rem "DM Sans",sans-serif;border-radius:999px;cursor:pointer}.access-error{min-height:24px;color:#f3b59e;font-size:.9rem;margin:10px 0}.back-link{color:var(--gold);text-decoration:none;font-weight:700;display:inline-block;margin-top:16px}.album-header{height:82px;padding:0 clamp(24px,6vw,90px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(217,170,84,.25);background:rgba(9,8,7,.9)}.album-brand{color:var(--cream);font-weight:700;text-decoration:none}.album-header button{background:transparent;color:var(--gold);min-height:40px}.album-hero{padding:clamp(70px,10vw,145px) clamp(24px,8vw,130px);display:grid;grid-template-columns:minmax(240px,.55fr) 1fr;align-items:center;gap:clamp(45px,9vw,130px);border-bottom:1px solid rgba(217,170,84,.22)}.record-mark{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#16100c 0 6px,#0b0908 7px 10px);border:3px solid rgba(217,170,84,.6);box-shadow:0 25px 80px rgba(0,0,0,.6)}.record-mark:before{content:"";position:absolute}.record-mark span{display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#f0d28b,#a76b20);color:#20130b;font:700 clamp(2rem,5vw,4rem) "Libre Caslon Display",serif}.album-intro{max-width:640px;color:var(--muted);line-height:1.7;font-size:1.06rem}.track-section{padding:clamp(75px,10vw,135px) clamp(24px,8vw,130px);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(45px,8vw,120px)}.track-heading h2{font-size:clamp(3rem,5vw,5rem)}.track-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(217,170,84,.36)}.track-list li{display:grid;grid-template-columns:50px 1fr auto;gap:18px;align-items:center;padding:22px 4px;border-bottom:1px solid rgba(217,170,84,.22)}.track-list span{color:var(--gold);font-size:.78rem;letter-spacing:.12em}.track-list strong{font-family:"Libre Caslon Display",serif;font-size:1.35rem;font-weight:400}.track-list em{color:var(--muted);font-style:normal;font-size:.82rem}.album-experience footer{padding:35px clamp(24px,8vw,130px);display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(217,170,84,.22);color:var(--muted)}.album-experience footer a{color:var(--gold);font-weight:700;text-decoration:none}
.album-cover{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid rgba(217,170,84,.62);box-shadow:0 30px 80px rgba(0,0,0,.62)}.gate-home{position:fixed;z-index:3;top:22px;left:24px;display:inline-flex;align-items:center;min-height:44px;padding:0 19px;border:1px solid var(--gold);border-radius:999px;background:rgba(9,8,7,.9);color:var(--cream);font-weight:700;text-decoration:none}.access-gate .gate-panel{width:min(1080px,100%);padding:26px;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);gap:clamp(28px,5vw,64px);align-items:center}.gate-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid rgba(217,170,84,.55);box-shadow:0 24px 60px rgba(0,0,0,.55)}.gate-content{text-align:center}.gate-panel .gate-logo{width:min(155px,45%);height:auto}.gate-content h1{font-size:clamp(2.5rem,4.1vw,4.4rem);margin:12px 0}.gate-content .album-name{font-size:clamp(1.5rem,2.3vw,2rem);margin:7px 0 14px}.gate-content .gate-copy{margin-bottom:20px}.gate-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:8px}.gate-links a{display:inline-flex;min-height:46px;padding:0 21px;align-items:center;justify-content:center;border-radius:999px;font-weight:700;text-decoration:none}.gate-links .home-link{background:linear-gradient(135deg,#f0d28b,#b9822d);color:#181008}.gate-links .back-link{border:1px solid var(--gold);color:var(--cream);margin-top:0}.gate-home:hover,.gate-home:focus-visible,.gate-links a:hover,.gate-links a:focus-visible{transform:translateY(-2px);box-shadow:0 10px 28px rgba(217,170,84,.18)}
@media(max-width:820px){body.locked{overflow:auto}.access-gate{padding:80px 18px 24px}.access-gate .gate-panel,.album-hero,.track-section{grid-template-columns:1fr}.gate-art{width:min(430px,100%);margin:auto}.album-cover{width:min(440px,85vw);margin:auto}.track-list li{grid-template-columns:42px 1fr}.track-list em{grid-column:2}}
@media(max-width:560px){.gate-home{top:14px;left:14px}.gate-panel{padding:24px 18px}.gate-content h1{font-size:2.55rem}.code-row{flex-direction:column}.code-row button{min-height:50px}.album-header{height:72px}.album-hero{padding-top:65px}.track-list strong{font-size:1.16rem}.album-experience footer{flex-direction:column}}
.album-nav{display:flex;align-items:center;gap:24px}.album-nav a{color:var(--cream);text-decoration:none;font-weight:600}.listening-hero{min-height:calc(100vh - 82px);padding:clamp(55px,7vw,100px) clamp(24px,7vw,110px);display:grid;grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr);gap:clamp(45px,8vw,115px);align-items:center;border-bottom:1px solid rgba(217,170,84,.24)}.cover-wrap{max-width:560px;margin:auto}.cover-wrap>span{display:block;text-align:center;margin-top:18px;color:var(--muted);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}.album-overview h1{font-family:"Libre Caslon Display",serif;font-weight:400;font-size:clamp(3.3rem,6vw,6.6rem);line-height:.9;letter-spacing:-.035em;margin:18px 0}.now-playing{margin-top:34px;padding:24px;border:1px solid rgba(217,170,84,.42);background:linear-gradient(135deg,rgba(74,39,23,.72),rgba(8,7,6,.92));box-shadow:0 20px 50px rgba(0,0,0,.38)}.now-playing>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:18px}.now-playing span{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.72rem}.now-playing strong{font-family:"Libre Caslon Display",serif;font-size:1.45rem;font-weight:400}.now-playing audio{display:block;width:100%;accent-color:var(--gold)}.now-playing p{margin:15px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}.listening-tracks{padding:clamp(75px,9vw,125px) clamp(24px,7vw,110px)}.listening-tracks .track-heading{display:grid;grid-template-columns:.45fr 1fr;gap:20px 70px;align-items:end;margin-bottom:42px}.listening-tracks .track-heading .eyebrow{grid-column:1/-1}.listening-tracks .track-heading h2{font-family:"Libre Caslon Display",serif;font-size:clamp(3rem,5.5vw,5.7rem);font-weight:400;line-height:.92;margin:0}.listening-tracks .track-heading>p:last-child{color:var(--muted);max-width:520px;line-height:1.65;margin:0}.listening-tracks .track-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;border:0}.listening-tracks .track-list li{display:block;padding:0;border:0}.track-button{width:100%;min-height:76px;display:grid;grid-template-columns:44px 1fr auto 38px;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(217,170,84,.28);border-radius:3px;background:rgba(25,17,13,.72);color:var(--cream);text-align:left;cursor:pointer;transition:.2s ease}.track-button:hover,.track-button:focus-visible,.track-button.active{border-color:var(--gold);background:linear-gradient(110deg,rgba(93,49,26,.9),rgba(21,14,11,.86));transform:translateY(-1px)}.track-button span{font-family:"Libre Caslon Display",serif;font-size:1.25rem;color:var(--gold)}.track-button strong{font-family:"Libre Caslon Display",serif;font-size:1.2rem;font-weight:400}.track-button strong small{display:block;font:inherit;font-size:.85em}.track-button em{font-style:normal;color:var(--muted);font-size:.75rem}.track-button b{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(217,170,84,.5);border-radius:50%;color:var(--gold);font-size:.72rem}.album-note{margin:0 clamp(24px,7vw,110px) clamp(80px,10vw,140px);padding:clamp(38px,6vw,72px);border:1px solid rgba(217,170,84,.34);text-align:center;background:radial-gradient(circle at 50% 0,rgba(108,57,30,.36),rgba(10,8,7,.95) 68%)}.album-note blockquote{max-width:880px;margin:20px auto 25px;font-family:"Libre Caslon Display",serif;font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.12;color:var(--gold)}.album-note>p:last-child{max-width:760px;margin:auto;color:var(--muted);line-height:1.75}.album-experience footer>div{display:flex;gap:25px}.album-experience footer>div a{color:var(--gold)}
@media(max-width:900px){.listening-hero{grid-template-columns:1fr}.cover-wrap{width:min(520px,85vw)}.listening-tracks .track-heading{grid-template-columns:1fr}.listening-tracks .track-list{grid-template-columns:1fr}}
@media(max-width:620px){.album-nav a{display:none}.album-header{padding:0 18px}.album-overview h1{font-size:3.25rem}.now-playing>div{align-items:flex-start;flex-direction:column;gap:5px}.track-button{grid-template-columns:34px 1fr 34px}.track-button em{display:none}.album-experience footer>div{flex-direction:column;gap:10px}}
.bonus-track{grid-column:1/-1}.bonus-track .track-button{border-color:rgba(217,170,84,.62);background:linear-gradient(110deg,rgba(105,57,27,.88),rgba(23,15,11,.92))}.bonus-track strong small{color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-family:"DM Sans",sans-serif;font-size:.63rem;margin-top:5px}
.unlocked-status{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;padding:8px 13px;border:1px solid rgba(217,170,84,.45);border-radius:999px;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.unlocked-status:focus{outline:none}.unlocked-status i{width:8px;height:8px;border-radius:50%;background:#e7bd64;box-shadow:0 0 16px rgba(231,189,100,.85)}
@media(min-width:1101px){.album-experience main{display:grid;grid-template-columns:minmax(350px,.72fr) minmax(590px,1.28fr);align-items:start}.listening-hero{position:sticky;top:0;min-height:calc(100vh - 82px);padding:38px clamp(28px,4vw,58px);display:block;border-right:1px solid rgba(217,170,84,.24);border-bottom:0}.cover-wrap{width:min(310px,100%);margin:0 auto 28px}.cover-wrap>span{margin-top:10px}.album-overview h1{font-size:clamp(2.75rem,3.5vw,4.4rem);line-height:.93;margin:12px 0}.album-overview .album-name{font-size:1.75rem;margin:8px 0 12px}.album-overview .album-intro{font-size:.95rem;line-height:1.55}.now-playing{margin-top:20px;padding:18px}.now-playing>div{margin-bottom:12px}.listening-tracks{padding:48px clamp(28px,4vw,58px) 80px}.listening-tracks .track-heading{display:block;margin-bottom:28px}.listening-tracks .track-heading .eyebrow{margin-top:0}.listening-tracks .track-heading h2{font-size:clamp(3rem,4vw,4.7rem);margin:10px 0 18px}.listening-tracks .track-heading>p:last-child{font-size:.94rem}.track-button{min-height:70px}.album-note{grid-column:1/-1}.album-experience footer{grid-column:1/-1}}
@media(max-width:1100px){.unlocked-status{margin-top:18px}}
.album-experience{min-height:100vh}.album-experience .album-header{height:66px}.album-experience main{border:0}
@media(min-width:1101px){.album-experience{height:100vh;overflow:hidden}.album-experience main{height:calc(100vh - 66px);grid-template-columns:minmax(330px,.68fr) minmax(620px,1.32fr);background:radial-gradient(circle at 20% 20%,rgba(96,49,25,.2),transparent 33%)}.listening-hero{position:static;min-height:0;height:100%;overflow:hidden;padding:18px clamp(24px,3vw,42px);border:0}.cover-wrap{width:min(210px,52%);margin:0 auto 12px}.cover-wrap>span{font-size:.62rem;margin-top:6px}.unlocked-status{margin:0 0 8px;padding:6px 10px;font-size:.62rem}.album-overview .eyebrow{margin:0}.album-overview h1{font-size:clamp(2.15rem,2.7vw,3.2rem);line-height:.92;margin:7px 0}.album-overview .album-name{font-size:1.35rem;margin:5px 0 7px}.album-overview .album-intro{font-size:.82rem;line-height:1.4;margin:0}.now-playing{margin-top:10px;padding:11px 13px}.now-playing>div{margin-bottom:7px}.now-playing strong{font-size:1.1rem}.now-playing audio{height:34px}.now-playing p{margin-top:7px;font-size:.72rem}.listening-tracks{height:100%;overflow:hidden;padding:20px clamp(24px,3vw,42px);border:0}.listening-tracks .track-heading{margin:0 0 14px}.listening-tracks .track-heading .eyebrow{margin:0}.listening-tracks .track-heading h2{font-size:clamp(2.3rem,3vw,3.4rem);line-height:1;margin:5px 0 6px}.listening-tracks .track-heading>p:last-child{font-size:.82rem;line-height:1.3}.listening-tracks .track-list{gap:6px 10px}.track-button{min-height:49px;padding:6px 10px;grid-template-columns:31px 1fr auto 28px;gap:8px}.track-button span{font-size:1rem}.track-button strong{font-size:.96rem;line-height:1.05}.track-button em{font-size:.66rem}.track-button b{width:26px;height:26px;font-size:.58rem}.bonus-track strong small{font-size:.54rem;margin-top:3px}.album-note,.album-experience footer{display:none}}
@media(max-width:1100px){.album-experience main{display:block}.listening-hero{position:static;border:0}.listening-tracks{border:0}.album-note,.album-experience footer{display:none}}
