@font-face{font-family:Anton;src:url(anton.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#eee8db;--ink:#171714;--red:#ad291e;--line:#b8b1a4;--muted:#5b584f;--display:Anton,Impact,sans-serif;--body:Arial,Helvetica,sans-serif;--mono:'SFMono-Regular',Consolas,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}
a,button{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:400}
::selection{background:var(--red);color:var(--paper)}
.skip{position:fixed;top:-100px;left:15px;padding:12px;background:var(--ink);color:var(--paper);z-index:10}
.skip:focus{top:12px}
.brand{font:26px/1.2 var(--display);min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.brand>span{color:var(--red)}
.eyebrow{font:12px/1.6 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.link-arrow{font-weight:400;font-size:21px;line-height:1;flex-shrink:0}
.platform-logo{width:24px;height:24px;display:block;flex:0 0 24px;color:var(--ink)}
.button,.service-action{display:flex;align-items:center;gap:12px;min-height:52px;padding:13px 16px;border:1px solid var(--ink);font-size:15px;font-weight:600;line-height:1.5}
.button>.link-arrow,.service-action>.link-arrow{margin-left:auto}
.button-primary,.service-action{background:var(--ink);color:var(--paper)}
.button-primary:hover,.service-action:hover{background:var(--red);border-color:var(--red)}
.service-action .platform-logo{color:#fff}
.button-outline{background:transparent;color:var(--ink)}
.button-outline:hover{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}
.social-link{display:flex;align-items:center;gap:11px;min-height:52px;border:1px solid var(--line);padding:12px 14px;font-size:14px;line-height:1.4}
.social-link:hover{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}
.social-link span{min-width:0}
.platform-inline{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.platform-inline .platform-logo{width:22px;height:22px;flex-basis:22px}
.platform-actions{display:flex;flex-direction:column;gap:12px}
/* Artist homepage: identity + one performance, releases, bio, contact, platform links. */
.shell{max-width:1200px;margin:auto;padding:0 40px}
.header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--ink)}
.header nav{display:flex;gap:25px;margin-left:auto}
.header nav a{display:flex;align-items:center;min-height:44px;min-width:44px;font-size:14px}
.header nav a:hover{color:var(--red)}
.all-links{display:flex;align-items:center;gap:15px;min-height:44px;padding:8px 14px;background:var(--ink);color:var(--paper);font-size:13px}
.all-links:hover{background:var(--red)}
.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;padding:52px 0}
.intro h1{font:clamp(60px,6.4vw,94px)/1.05 var(--display);letter-spacing:-.02em;margin:0 0 22px}
.intro .eyebrow{margin-bottom:18px}
.intro-text{font-size:21px;line-height:1.5;margin:0 0 8px;max-width:440px}
.intro-detail{font-size:16px;line-height:1.6;max-width:400px;color:var(--muted);margin:0}
.intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.intro-actions .button{font-size:14px}
.session-player{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden;min-width:0}
.play-session{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none}
.play-session img{width:100%;height:100%;object-fit:contain}
.play-disc{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;font-size:23px;padding-left:3px;background:var(--paper);color:var(--red);border:1px solid var(--paper)}
.play-session:hover .play-disc{background:var(--red);color:var(--paper);border-color:var(--red)}
.session-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.section{padding:46px 0;border-top:1px solid var(--ink)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.section h2{font:37px/1.2 var(--display);letter-spacing:-.015em;margin:0}
.section-heading>a{display:flex;align-items:center;gap:16px;min-height:44px;font-size:13px}
.section-heading>a:hover{color:var(--red)}
.records{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.record{min-width:0;display:flex;flex-direction:column}
.record-art{display:block;width:100%;margin-bottom:22px}
.record-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.record-art:hover{outline:2px solid var(--red);outline-offset:5px}
.record-copy{flex:1;display:flex;flex-direction:column}
.record-meta{display:flex;justify-content:space-between;gap:12px;font:11px/1.6 var(--mono);color:var(--muted);margin:0 0 12px}
.record-meta>span{color:var(--red)}
.record h3{font:32px/1.2 var(--display);letter-spacing:-.01em;margin:0 0 9px}
.record h3 a:hover{color:var(--red)}
.record-format{font:12px/1.5 var(--mono);color:var(--muted);margin:0 0 13px}
.record-description{font-size:16px;line-height:1.6;margin:0;max-width:480px}
.record .platform-actions{margin-top:auto;padding-top:21px}
.about-section{display:grid;grid-template-columns:.65fr 1fr;gap:65px;padding-bottom:46px}
.about-copy{min-width:0}
.about-copy>p{font-size:18px;line-height:1.7;margin:0 0 20px}
.about-copy em{font-style:normal;font-weight:600}
.contact-row{display:flex;flex-direction:column;align-items:flex-start;gap:13px;border-top:1px solid var(--line);padding-top:23px;margin-top:27px}
.contact-row>span{font:12px/1.5 var(--mono);color:var(--muted)}
.contact-row .button{min-width:270px;max-width:100%;font-size:14px}
.footer{border-top:1px solid var(--ink);padding:24px 0 30px}
.footer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.footer-heading>span{font:14px/1.5 var(--mono)}
.footer-heading>small{font-size:12px;color:var(--muted)}
.socials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
/* Individual release pages. */
.campaign-shell{max-width:1020px;padding:0 40px;margin:auto}
.campaign-header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;border-bottom:1px solid var(--ink)}
.campaign-header>a:last-child:not(.brand){font-size:12px;display:flex;align-items:center;gap:12px;min-height:44px}
.campaign-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:55px 0 45px;align-items:start}
.campaign-art img{width:100%;aspect-ratio:1;object-fit:contain}
.campaign-content{min-width:0}
.campaign-content h1{font:46px/1.16 var(--display);letter-spacing:-.015em;margin:0 0 18px}
.campaign-date{font-size:17px;margin:0 0 7px}
.campaign-format{font-size:14px;color:var(--muted);margin:0 0 28px}
.track-list{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.track-list h2{font-size:15px;font-weight:600;margin:0 0 11px}
.track-list ol{padding:0;margin:0;list-style:none;counter-reset:tracks}
.track-list li{counter-increment:tracks;display:flex;gap:12px;align-items:baseline;font-size:14px;line-height:1.5;padding:6px 0}
.track-list li::before{content:counter(tracks,decimal-leading-zero);font:11px var(--mono);color:var(--muted)}
.campaign-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px 25px;border-top:1px solid var(--ink);padding:18px 0;font-size:13px;color:var(--muted)}
.campaign-footer>a{display:flex;align-items:center;gap:12px;min-height:44px}
.campaign-footer>a:hover{color:var(--red)}
/* Listener link hub: current release actions, one performance, platform buttons. */
.hub-shell{max-width:650px;margin:auto;padding:0 24px}
.hub-header{padding:27px 0 25px;border-bottom:1px solid var(--ink);margin-bottom:27px}
.hub-title{margin:0;font:inherit}
.hub-header .brand{font-size:37px;line-height:1.15;min-height:44px}
.hub-header p{font-size:15px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.listener-hub main section>h2{font:14px/1.5 var(--mono);font-weight:400;margin:0 0 15px}
.hub-release{border:1px solid var(--line);padding:20px;margin-bottom:18px}
.hub-release:first-of-type{border-top:3px solid var(--red);padding-top:18px}
.hub-record-heading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:center}
.hub-cover-link img{width:88px;height:88px;object-fit:contain}
.hub-cover-link:focus-visible{outline-offset:3px}
.hub-release-status{font:10px/1.5 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}
.hub-release h3{font:26px/1.25 var(--display);letter-spacing:-.01em;margin:0 0 7px}
.hub-date{font-size:14px;line-height:1.5;margin:0 0 4px}
.hub-version{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
.hub-service-actions{margin-top:15px;display:flex;flex-direction:column;gap:10px}
.hub-service-actions .service-action{font-size:15px;min-height:52px;padding:12px 15px}
.hub-live,.hub-follow,.hub-social-section{padding-top:25px;border-top:1px solid var(--line);margin-top:27px}
.hub-profile{display:flex;align-items:center;gap:18px;min-height:80px;border:1px solid var(--line);padding:15px 19px}
.hub-profile+.hub-profile{margin-top:10px}
.hub-profile>.platform-logo{width:32px;height:32px;flex-basis:32px}
.hub-profile>.link-copy{min-width:0}
.hub-profile>.link-arrow{margin-left:auto;color:var(--red)}
.hub-profile strong{display:block;font-size:18px;font-weight:500;line-height:1.4}
.hub-profile small{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:var(--muted)}
.hub-profile:hover{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}
.hub-socials{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hub-socials .social-link{min-height:56px}
.hub-footer{border-top:1px solid var(--ink);padding:18px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);margin-top:28px}
.hub-footer>a{display:flex;align-items:center;gap:15px;min-height:44px;color:var(--ink)}
.hub-footer>a:hover{color:var(--red)}
.hub-footer>span{white-space:nowrap}
@media(max-width:1050px){.intro{gap:30px}.intro-text{font-size:19px}.intro-detail{font-size:15px}.intro-actions{gap:10px;margin-top:23px}.intro-actions .button{font-size:13px;padding:12px}.records{gap:32px}.about-section{gap:40px}.campaign-layout{gap:35px}.campaign-content h1{font-size:39px}}
@media(max-width:760px){.shell,.campaign-shell{padding:0 24px}.header{flex-wrap:wrap;gap:10px 20px;padding:14px 0 0}.header nav{order:3;width:100%;margin:0;border-top:1px solid var(--line);justify-content:flex-start;gap:30px}.header nav a{font-size:13px}.all-links{margin-left:auto}.intro{grid-template-columns:1fr;gap:28px;padding:33px 0}.intro h1{font-size:72px;margin-bottom:18px}.intro-text{font-size:20px}.intro-detail{font-size:16px;max-width:none}.intro-actions .button{font-size:14px;padding:13px 16px}.section{padding:35px 0}.section h2{font-size:33px}.section-heading{margin-bottom:24px}.section-heading>a{font-size:12px}.records{gap:25px}.record-meta{display:block;font-size:10px}.record-meta>span{display:block;margin-bottom:4px}.record h3{font-size:28px}.record-description{font-size:15px}.record .service-action{font-size:14px;padding:12px;gap:10px}.about-section{grid-template-columns:1fr;gap:23px}.about-copy>p{font-size:17px}.socials{grid-template-columns:1fr 1fr}.campaign-shell{max-width:560px}.campaign-header{min-height:76px}.campaign-layout{grid-template-columns:1fr;gap:24px;padding:28px 0 32px}.campaign-art img{width:240px;margin:auto}.campaign-content{text-align:center}.campaign-content h1{font-size:38px}.campaign-date{font-size:16px}.campaign-format{margin-bottom:22px}.service-action{text-align:left}.track-list{text-align:left}.campaign-footer{gap:4px 16px;font-size:12px}.campaign-footer>span{width:100%;padding-top:5px}}
@media(max-width:540px){.intro-actions{display:grid;grid-template-columns:1fr}.intro-actions .button{justify-content:center}.intro-actions .button .link-arrow{margin-left:8px}.records{grid-template-columns:1fr;gap:35px}.record-art{max-width:340px}.record-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px}.record-meta>span{margin:0}.record h3{font-size:31px}.record-description{font-size:16px}.record-format{font-size:12px}.record .service-action{font-size:15px;padding:13px 16px}.record+.record{border-top:1px solid var(--line);padding-top:30px}.campaign-art img{width:210px}.campaign-content h1{font-size:35px}}
@media(max-width:450px){.hub-shell{padding:0 20px}.hub-header{padding:22px 0;margin-bottom:23px}.hub-header .brand{font-size:32px}.hub-header p{font-size:14px}.hub-release{padding:17px}.hub-release:first-of-type{padding-top:15px}.hub-record-heading{grid-template-columns:70px minmax(0,1fr);gap:16px}.hub-cover-link img{width:70px;height:70px}.hub-release h3{font-size:23px}.hub-release-status{font-size:9px}.hub-date{font-size:13px}.hub-version{font-size:11px}.hub-service-actions .service-action{font-size:14px}.hub-profile{gap:16px;padding:14px 16px}.hub-profile strong{font-size:17px}.hub-footer{font-size:11px;gap:12px}}
@media(max-width:390px){.shell,.campaign-shell{padding:0 20px}.intro h1{font-size:62px}.intro-text{font-size:19px}.intro-detail{font-size:15px}.play-disc{width:48px;height:48px;right:14px;bottom:14px;font-size:19px}.section-heading{gap:12px}.section-heading>a{font-size:11px;gap:8px}.section h2{font-size:30px}.social-link{font-size:13px;padding:12px;gap:10px}.footer-heading>span{font-size:13px}.footer-heading>small{font-size:11px}.campaign-header>a:last-child:not(.brand){font-size:10px;gap:8px}.campaign-art img{width:180px}.campaign-content h1{font-size:30px}.campaign-date{font-size:15px}.campaign-format{font-size:13px}.service-action{font-size:14px;padding:13px 15px;gap:11px}.contact-row .button{min-width:0;width:100%;font-size:13px}}
@media(max-width:360px){.hub-shell{padding:0 16px}.hub-header .brand{font-size:29px}.hub-header p{font-size:13px}.hub-release{padding:14px}.hub-release:first-of-type{padding-top:12px}.hub-record-heading{grid-template-columns:62px minmax(0,1fr);gap:13px}.hub-cover-link img{width:62px;height:62px}.hub-release h3{font-size:21px}.hub-service-actions .service-action{font-size:13px;padding:12px;gap:10px}.hub-footer{font-size:10px;gap:10px}.hub-profile{padding:14px;gap:14px}.hub-socials .social-link{padding:11px;gap:9px}.campaign-header{gap:12px}.campaign-header .brand{font-size:23px}.campaign-art img{width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
