@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#080808;--surface:#151515;--ink:#f2eee9;--muted:#a5a09d;--red:#e03939;--line:#30302f;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:5px}a:hover{color:var(--red)}header{min-height:94px;padding:0 4%;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;letter-spacing:-.6px}.brand img{border-radius:0}nav{display:flex;gap:27px;margin:auto;font-size:13px}nav a{padding:34px 0;position:relative}nav a[aria-current]{color:var(--red)}nav a[aria-current]:after{content:'';position:absolute;bottom:21px;left:0;width:100%;height:2px;background:var(--red)}.header-socials,.footer-socials{display:flex;gap:16px;align-items:center}.social{display:inline-flex;width:21px;height:24px;align-items:center}.social svg{width:100%;height:100%}.menu-toggle{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--red);color:#080808;padding:10px}.skip:focus{top:10px}main{max-width:1600px;margin:auto}section{padding:80px 5%}.hero{padding-top:40px;padding-bottom:40px}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:12px}.coordinates{font:10px monospace;letter-spacing:1px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;text-transform:uppercase;line-height:.94;letter-spacing:-.025em}h1{font-size:clamp(70px,13vw,200px);margin:38px 0 24px;font-weight:800}.hero h1{font-size:clamp(72px,17vw,265px);white-space:nowrap;letter-spacing:-.038em}.hero h1 span{color:var(--red)}.hero h1 sup{font:16px Inter;vertical-align:top;display:inline-block;margin-top:22px;margin-left:8px}h2{font-size:clamp(38px,5vw,70px);margin:15px 0 0}h3{font-size:22px;line-height:1.2;font-weight:600;margin:10px 0 20px}.hero-bottom p{font-size:13px;margin:0}.muted{color:var(--muted);font-size:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:16px 24px;background:var(--red);color:var(--bg);font-size:12px;font-weight:700;border:0;cursor:pointer}.button:hover{background:#f56565;color:var(--bg)}.button:disabled{opacity:.5;cursor:wait}.button span{font-size:20px}.hero-art{height:330px;margin-top:38px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 85%,#772220 0,#29110f 36%,#131111 65%);border:1px solid #2f2020}.hero-art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#0003 4px);pointer-events:none}.bloom{position:absolute;width:430px;height:430px;left:50%;top:55%;transform:translate(-50%,-50%) rotate(-24deg);border-radius:50%;background:repeating-conic-gradient(from 20deg,#eb4b3d 0deg,#7b1614 9deg,#120707 18deg,#e34236 28deg);box-shadow:0 0 80px #c82a2550,inset 0 0 70px 50px #180908;filter:contrast(1.4)}.bloom:before{content:'';position:absolute;inset:26%;border-radius:50%;background:radial-gradient(circle,#080808 0,#120706 45%,#af2c20 68%,#090808 72%);box-shadow:0 0 18px #f95736}.hero-art>span{position:absolute;bottom:22px;left:24px;z-index:1;font:10px monospace;letter-spacing:2px}.hero-art .art-index{left:auto;right:24px}.crosshair{position:absolute;top:20px;left:24px;font:24px monospace;color:var(--red)}.ticker{padding:22px 5%;border-block:1px solid var(--line);display:flex;justify-content:space-between;word-spacing:22px;font:600 clamp(13px,2vw,25px) 'Barlow Condensed',sans-serif;letter-spacing:2px;overflow:hidden;white-space:nowrap}.ticker b{color:var(--red)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:35px}.text-link{font-size:12px;padding-bottom:5px;border-bottom:1px solid var(--red);display:inline-block}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.music-card{position:relative;min-width:0}.music-card>img,.music-card>.placeholder{width:100%;aspect-ratio:1;object-fit:cover}.placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,#322120,#171211);display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:1}.placeholder .orbit{position:absolute;width:70%;height:70%;border:1px solid #dd50434d;border-radius:50%;box-shadow:0 0 0 20px #d8443510,0 0 0 40px #d8443510,0 0 0 70px #d8443510;transform:rotate(-30deg) scaleY(.55)}.placeholder b{font:800 100px 'Barlow Condensed',Impact,sans-serif;color:#e0393938;letter-spacing:-6px}.placeholder small{position:absolute;bottom:18px;left:18px;right:18px;text-transform:uppercase;letter-spacing:2px;font-size:9px;color:#c6aaa4}.tone-1{background:linear-gradient(145deg,#23272b,#101314)}.tone-1 .orbit{border-color:#647c8870;box-shadow:0 0 0 20px #7590a010,0 0 0 40px #7590a010,0 0 0 70px #7590a010}.tone-2{background:linear-gradient(145deg,#312b22,#171512)}.card-content{padding:24px 0;border-bottom:1px solid var(--line)}.platforms{display:flex;flex-wrap:wrap;gap:8px}.platform{font-size:11px;border:1px solid #49413d;padding:6px 10px}.music-card:hover .placeholder,.music-card:focus-within .placeholder{filter:brightness(1.25)}.music-card:hover h3{color:var(--red)}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4%;border-block:1px solid var(--line)}.about img{width:100%;aspect-ratio:1;object-fit:cover}.portrait{aspect-ratio:4/5}.about p{color:#b3adaa;font-size:14px}.about .intro{font-size:24px;color:var(--ink);line-height:1.4}.venue-list{margin-top:25px}.venue-list p{font-size:12px}.about .section-heading{margin-bottom:30px}.about details{border-top:1px solid var(--line);margin:24px 0}.about summary{cursor:pointer;font-size:13px;padding:15px 0;color:var(--ink)}summary span{float:right;color:var(--red)}details[open] summary{margin-bottom:10px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{margin:0;position:relative}.gallery img,.gallery video,.gallery .placeholder{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}.gallery figcaption{position:absolute;bottom:0;padding:18px;font-size:11px;width:100%;background:linear-gradient(transparent,#000b)}.gallery .placeholder small{bottom:55px}.gallery figure:nth-child(even){margin-top:32px}.page-intro{padding-bottom:40px}.page-intro h1{font-size:clamp(80px,11vw,160px);margin-bottom:30px}.page-intro p{color:var(--muted);max-width:550px}em{font-style:normal;color:var(--red)}iframe{width:100%;height:352px;border:0;background:#151515;margin-bottom:60px;border-radius:6px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.video-grid iframe{aspect-ratio:16/9;height:auto}.empty{padding:45px 30px;border:1px solid var(--line);color:var(--muted)}.events{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.events .empty{grid-column:1/-1}.event-card img{width:100%;aspect-ratio:3/4;object-fit:cover}.event-card>div{padding:20px 0}.event-detail{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.event-detail img{width:100%}.event-detail h1{font-size:clamp(50px,7vw,100px)}.event-detail .eyebrow{margin-top:30px}.event-detail .text-link{margin-left:12px}dl{margin:30px 0}dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:2px}dd{margin:0 0 20px}.schedule>div{display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px;align-items:center;border-top:1px solid var(--line);padding:25px 0}.schedule h3{margin:0}.tag{border:1px solid var(--line);padding:5px 12px;font-size:11px;justify-self:end}.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-top:35px}.contact h2{margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:12px;margin-bottom:24px;color:var(--muted)}input,textarea{display:block;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:0;padding:15px;color:var(--ink);margin-top:8px}textarea{resize:vertical}.honeypot{position:absolute;left:-10000px}footer{max-width:1600px;margin:auto;border-top:1px solid var(--line);padding:40px 5%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;font-size:11px;color:var(--muted)}footer .brand{color:var(--ink);margin-bottom:8px}.footer-socials{justify-content:center}.footer-location{text-align:right}footer small{display:block;font-size:10px;margin-top:10px}
@media(min-width:1600px){.hero h1{font-size:265px}}@media(max-width:1100px){.cards,.events{grid-template-columns:repeat(3,minmax(0,1fr))}header{gap:22px}.header-socials{gap:11px}nav{gap:20px}.brand span{display:none}.hero-art{height:290px}.cards{gap:18px}.gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){header{min-height:76px;padding:0 6%;flex-wrap:wrap;gap:0}.brand span{display:block}.menu-toggle{display:block;margin-left:auto;background:none;color:var(--ink);border:1px solid var(--line);padding:7px 12px;font-size:12px}.menu-toggle span{margin-left:15px;color:var(--red)}nav{display:none;order:3;flex-basis:100%;margin:0;flex-direction:column;gap:0;padding:20px 0}.menu-open nav{display:flex}nav a{padding:10px 0}nav a[aria-current]:after{display:none}.header-socials{display:none;order:4;flex-basis:100%;padding:0 0 20px;gap:20px}.menu-open .header-socials{display:flex}section{padding:50px 6%}.hero{padding-top:25px}.hero h1{font-size:17vw;margin:32px 0 20px}.hero h1 sup{font-size:9px;margin-top:5px;margin-left:3px}.coordinates{display:none}.hero-top .eyebrow{font-size:9px;letter-spacing:1.6px}.hero-bottom{align-items:flex-start}.hero-bottom p{font-size:10px}.button{padding:12px 15px;gap:20px;font-size:11px}.hero-art{height:240px;margin-top:28px}.bloom{width:300px;height:300px}.hero-art>span{font-size:8px;left:15px;letter-spacing:1px}.hero-art .art-index{right:15px}.ticker{font-size:15px;word-spacing:10px;padding:17px 6%}.section-heading{gap:15px;align-items:end}.section-heading .text-link{font-size:10px;white-space:nowrap}.eyebrow{font-size:9px;letter-spacing:1.4px}h2{font-size:42px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.music-card h3{font-size:18px}.card-content{padding:17px 0}.placeholder b{font-size:70px}.placeholder small{font-size:7px;letter-spacing:1px;left:12px;bottom:12px}.platform{font-size:10px}.about{grid-template-columns:1fr;gap:35px}.portrait{aspect-ratio:4/3}.about img{aspect-ratio:4/3}.about .intro{font-size:22px}.gallery{gap:12px}.gallery figcaption{padding:12px}.gallery .placeholder small{bottom:42px}.contact,.event-detail{grid-template-columns:1fr;gap:40px}.events{grid-template-columns:repeat(2,1fr)}.schedule>div{grid-template-columns:1fr 1.4fr}.schedule .tag{grid-column:2;justify-self:start}.video-grid{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center;gap:26px;padding:35px 6%}footer .brand{justify-content:center}.footer-location{text-align:center}.footer-socials{gap:22px}.social{width:24px}iframe{height:352px;margin-bottom:35px}}@media(max-width:420px){.hero-bottom{flex-direction:column;gap:18px}.hero-bottom p{font-size:12px}.cards,.events{grid-template-columns:1fr}.cards .placeholder{aspect-ratio:1.12}.form-row{grid-template-columns:1fr;gap:0}.page-intro h1{font-size:76px}.gallery .placeholder b{font-size:55px}.section-heading{align-items:start}.section-heading h2{font-size:36px}.section-heading .text-link{margin-top:29px}}@media(prefers-reduced-motion:no-preference){a,button,.placeholder{transition:color .2s,background .2s,filter .3s}.bloom{animation:breathe 12s ease-in-out infinite alternate}@keyframes breathe{to{transform:translate(-50%,-50%) rotate(-10deg) scale(1.08)}}}

.social img{width:100%;height:auto;object-fit:contain}

[hidden]{display:none!important}.load-more{display:block;margin:35px auto 0}.event-card{min-width:0}.event-card h3{font-size:18px}.event-card p{font-size:12px}.event-card h3,.event-card p{overflow-wrap:anywhere}

.hero h1.hero-wordmark{font-size:inherit;line-height:0;margin:38px 0 24px;white-space:normal}.hero-wordmark img{display:block;width:100%;height:auto}@media(max-width:760px){.hero h1.hero-wordmark{margin:32px 0 20px}}

.hero{padding-top:0}.hero h1.hero-wordmark{margin-top:0}

.hero:has(+ .about){padding-bottom:0}.hero-followup{padding-top:40px}

/* Keep the home wordmark close to the artist introduction. */
.hero:has(+ .about){padding-top:0;padding-bottom:0}
.hero:has(+ .about) .hero-wordmark{margin:0}
.hero + .about{border-top:0;padding-top:4px}

/* Hide the PNG's transparent vertical margins without changing the asset. */
.hero:has(+ .about) .hero-wordmark{position:relative;aspect-ratio:2172 / 468;overflow:hidden}
.hero:has(+ .about) .hero-wordmark img{position:absolute;top:-4.91453%;left:0;width:100%;height:auto}
.hero + .about{padding-top:20px}

.hero:has(+ .about) .hero-wordmark{margin-top:-32px}

.about > div:first-child > img{border-radius:16px}

.bio-socials{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 24px}.bio-socials .social{width:21px;height:24px}.bio-socials .social img{width:100%;height:auto}.bio-socials .social svg{width:100%;height:100%}@media(max-width:1100px){.bio-socials{gap:11px}}

/* A single divider between each pair of page sections. */
main > section{border-top:0;border-bottom:0}
main > section + section{border-top:1px solid var(--line)}

/* Subtle card lift through scale, respecting reduced-motion preferences. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .music-card,.event-card,.gallery figure{transition:transform .2s ease;transform-origin:center}
 .music-card:hover,.event-card:hover,.gallery figure:hover{transform:scale(1.05);position:relative;z-index:1}
}

.platform-icon{border:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;padding:0}.platform-icon img,.platform-icon svg{width:24px;height:24px;object-fit:contain}

iframe[src^="https://w.soundcloud.com/player/"]{height:650px}



.youtube-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px}.youtube-card{min-width:0}.youtube-card h3{font-size:15px;line-height:1.5;margin:12px 0;overflow-wrap:anywhere}.youtube-preview{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;background:#151515;padding:0;overflow:hidden;cursor:pointer}.youtube-preview img{width:100%;height:100%;object-fit:cover}.youtube-preview>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--red);color:#080808;padding:8px 16px;border-radius:8px}.youtube-card .youtube-embed{display:block;aspect-ratio:16/9;width:100%;height:auto;margin:0;border-radius:0}.youtube-card .text-link{font-size:10px}@media(max-width:1100px){.youtube-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.youtube-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.youtube-grid{grid-template-columns:1fr}}@media(hover:hover) and (prefers-reduced-motion:no-preference){.youtube-card{transition:transform .2s ease}.youtube-card:hover{transform:scale(1.05);position:relative;z-index:1}}



.youtube-dialog{width:min(960px,94vw);max-height:92vh;overflow:auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:24px}.youtube-dialog::backdrop{background:#000c}.youtube-dialog iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;min-height:200px;margin:16px 0}.youtube-dialog h3{font-size:18px;padding-right:80px}.youtube-close{float:right;background:transparent;color:var(--ink);border:1px solid var(--line);padding:6px 12px;cursor:pointer}@media(max-width:600px){.youtube-dialog{padding:14px}}

.youtube-card h3{font-size:11px;line-height:1.5;margin:9px 0}.youtube-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.youtube-toolbar button{background:#222;color:var(--ink);border:1px solid var(--line);padding:8px 12px;font-size:12px;cursor:pointer}.youtube-toolbar button:hover{border-color:var(--red)}.youtube-toolbar button:disabled{opacity:.4;cursor:default}.youtube-toolbar button:last-child{margin-left:auto}@media(max-width:600px){.youtube-toolbar button:last-child{margin-left:0}}

.listen-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.listen-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:12px 0;font-size:14px;cursor:pointer}.listen-tabs button[aria-selected=true]{border-bottom-color:var(--red);color:var(--ink)}

.upcoming-empty{position:relative;isolation:isolate;overflow:hidden;padding:32px;background:radial-gradient(ellipse at 15% 100%,#e0393914,transparent 65%),#101010;border-color:#e0393930;box-shadow:0 0 24px #e0393908}.upcoming-empty:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 120'%3E%3Cpath d='M0 60H35l8-10 8 20 8-10h25l8-25 8 50 8-25h25l8-40 8 80 8-40h25l8-15 8 30 8-15h25l8-50 8 100 8-50h25l8-32 8 64 8-32h25l8-18 8 36 8-18h25l8-42 8 84 8-42h25l8-25 8 50 8-25H600' fill='none' stroke='%23e03939' stroke-width='2'/%3E%3C/svg%3E");background-position:right center;background-size:auto 100%;background-repeat:no-repeat}.upcoming-empty p{color:var(--ink);margin-bottom:16px}.instagram-announcement{display:inline-flex;align-items:center;gap:10px;font-size:12px}.instagram-announcement span{border-bottom:1px solid var(--red);padding-bottom:3px}@media(max-width:600px){.upcoming-empty{padding:24px}}

.event-card{background:#121212;border:1px solid #292929;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.event-card>img{display:block}.event-card>div{padding:18px;display:flex;flex-direction:column;flex:1}.event-card h3{margin-bottom:12px}.event-card p{margin-bottom:18px;color:var(--muted)}.event-card .text-link{align-self:flex-start;margin-top:auto}.event-card:hover,.event-card:focus-within{border-color:#e0393960}@media(hover:hover) and (prefers-reduced-motion:no-preference){.event-card{transition:transform .2s ease,border-color .2s ease}}

.music-card{background:#121212;border:1px solid #292929;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.music-card>img{display:block}.music-card .card-content{padding:18px;border-bottom:0;display:flex;flex-direction:column;flex:1}.music-card h3{margin-bottom:12px}.music-card .platforms{margin-top:auto;padding-top:6px}.music-card:hover,.music-card:focus-within{border-color:#e0393960}@media(hover:hover) and (prefers-reduced-motion:no-preference){.music-card{transition:transform .2s ease,border-color .2s ease}}

[data-detail-card]{cursor:pointer}.card-detail-trigger{font:inherit;line-height:inherit;text-align:left;background:none;border:0;padding:0;color:inherit;cursor:pointer}.card-dialog{width:min(900px,94vw);max-height:90vh;overflow:auto;background:#121212;color:var(--ink);border:1px solid #39302f;border-radius:12px;padding:28px}.card-dialog::backdrop{background:#000c}.detail-close{display:block;margin:0 0 24px auto;background:none;color:var(--ink);border:1px solid var(--line);padding:8px 12px;cursor:pointer}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:30px}.detail-layout img,.detail-layout .placeholder{width:100%;height:auto;border-radius:8px}.detail-layout h2{font-size:clamp(32px,5vw,55px);overflow-wrap:anywhere;margin:14px 0 20px}.detail-layout p{color:var(--muted)}.listen-on-label{font-size:12px;letter-spacing:2px;margin:28px 0 16px}.detail-platforms{display:flex;flex-wrap:wrap;gap:16px}.detail-platforms .platform-icon{width:44px;height:44px}.detail-platforms .platform-icon img{width:30px;height:30px}.detail-layout .text-link{margin-top:18px}.modal-lineup{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.modal-lineup p{font-size:13px}@media(max-width:600px){.card-dialog{padding:20px}.detail-layout{grid-template-columns:1fr;gap:24px}.detail-layout>div:first-child{max-width:300px;margin:auto;width:100%}}

.card-detail-trigger:focus:not(:focus-visible),.detail-close:focus:not(:focus-visible){outline:none}
body.pointer-card-focus .card-detail-trigger:focus,body.pointer-card-focus .detail-close:focus{outline:none}

.schedule .tag{border:0;border-radius:999px;background:#252020;color:#c9b9b4;padding:4px 10px;font-size:10px;line-height:1.5;letter-spacing:.4px;cursor:default}

.button.load-more{border-radius:999px;padding:14px 28px}

.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.detail-toolbar .detail-close{margin:0}.detail-toolbar .full-event-link{margin-left:auto;border-radius:999px;padding:10px 16px;font-size:11px}

.youtube-close,.detail-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:1px solid var(--line);border-radius:50%;padding:0;background:transparent;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}.youtube-close:hover,.detail-close:hover{background:var(--red);border-color:var(--red);color:#080808}@media(prefers-reduced-motion:no-preference){.youtube-close,.detail-close{transition:background .2s,border-color .2s,color .2s}}

.detail-toolbar .full-event-link{margin-left:0;margin-right:auto}.detail-toolbar .detail-close{margin-left:auto}

.event-detail dd .text-link{margin-left:0}

.contact{display:block;padding-top:60px}.contact form{max-width:760px;margin:0 auto}

nav{font-size:15px}

/* Equal side columns keep the menu centered regardless of logo/icon widths. */
@media(min-width:761px){
 body>header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 body>header>.brand{justify-self:start}
 body>header nav{margin:0}
 body>header .header-socials{justify-self:end}
}
@media(min-width:761px) and (max-width:900px){
 body>header{gap:16px}
 body>header nav{gap:14px;font-size:14px}
 body>header .header-socials{gap:6px}
 body>header .header-socials .social{width:18px}
 body>header .header-socials .social img{width:18px;height:18px}
}

.menu-toggle{width:44px;height:44px;padding:10px;border:0}.menu-toggle svg{display:block;width:24px;height:24px}

@media(max-width:760px){
 .menu-open nav{text-align:center;align-items:center}
 .menu-open nav a{width:100%}
 .menu-open .header-socials{justify-content:center}
}

/* Restrained motion for overlays, navigation and interactive accents. */
@media(prefers-reduced-motion:no-preference){
 .card-dialog[open],.youtube-dialog[open]{animation:popup-enter 220ms cubic-bezier(.2,.8,.2,1)}
 .card-dialog[open]::backdrop,.youtube-dialog[open]::backdrop{animation:backdrop-enter 220ms ease-out}

 .social,.platform-icon{transition:transform 180ms ease,color 180ms ease}
 .button{transition:transform 180ms ease,background 180ms ease,color 180ms ease}
 @keyframes popup-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
 @keyframes backdrop-enter{from{background-color:transparent}to{background-color:#000c}}
 @keyframes content-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
 @media(max-width:760px){.menu-open nav,.menu-open .header-socials{animation:content-enter 180ms ease-out}}
 @media(hover:hover){.social:hover,.platform-icon:hover{transform:translateY(-2px)}.button:hover{transform:translateY(-2px)}}
}

/* Native transitions between pages, with a lightweight fallback entrance. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){
 header{view-transition-name:site-header}
 footer{view-transition-name:site-footer}
 ::view-transition-old(root){animation:page-exit 120ms ease-out both}
 ::view-transition-new(root){animation:page-enter 220ms ease-out both}
 ::view-transition-group(site-header),::view-transition-group(site-footer){animation-duration:220ms}
 nav a{transition:color 180ms ease}
 nav a::after{transition:transform 180ms ease,opacity 180ms ease}
 .listen-tabs button{transition:color 180ms ease,border-color 180ms ease,background 180ms ease}
 .listen-tabs button:hover{color:var(--ink)}
 #listen-panel.is-switching{animation:content-enter 220ms ease-out}
 @keyframes page-exit{to{opacity:0}}
 @keyframes page-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

}
@media(prefers-reduced-motion:reduce){
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

@media(prefers-reduced-motion:no-preference){
 .card-dialog[open].is-closing,.youtube-dialog[open].is-closing{animation:popup-exit 160ms ease-in both;pointer-events:none}
 .card-dialog[open].is-closing::backdrop,.youtube-dialog[open].is-closing::backdrop{animation:backdrop-exit 160ms ease-in both}
 @keyframes popup-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}
 @keyframes backdrop-exit{from{background-color:#000c}to{background-color:transparent}}
}



.music-card>img,.event-card>img,.gallery img{background:#151515}.detail-layout img{height:auto}

.music-card>img,.event-card>img{height:auto}

/* Keep an underline on every link so each hover can transition consistently. */
nav a::after{content:'';position:absolute;bottom:21px;left:0;width:100%;height:2px;background:var(--red);opacity:0;transform:scaleX(0);transform-origin:center;pointer-events:none}
nav a[aria-current]::after,nav a:focus-visible::after{opacity:1;transform:scaleX(1)}
@media(hover:hover){nav a:hover::after{opacity:1;transform:scaleX(1)}}
@media(max-width:760px){nav a::after,nav a[aria-current]::after{display:block;bottom:5px;left:50%;width:32px;margin-left:-16px}}

.event-map-section{border-top:1px solid var(--line)}
.event-map{display:block;height:400px;margin:0 0 18px;border:1px solid var(--line);border-radius:12px}
@media(max-width:760px){.event-map{height:300px}}

/* Approximate a dark palette for the cross-origin Google Maps iframe. */
.event-map{filter:invert(.9) hue-rotate(180deg) saturate(.65) brightness(.9)}

.event-set-time>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px}

.event-set-time .set-artist{color:var(--red);font-size:13px;letter-spacing:.5px}
.event-set-time .tag{display:inline-flex;align-items:center;border:0;border-radius:999px;background:#252020;color:#c9b9b4;padding:4px 10px;font-size:10px;line-height:1.5;letter-spacing:.4px;cursor:default}

.event-detail{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4%}
@media(max-width:760px){.event-detail{grid-template-columns:1fr;gap:40px}}

.event-back{padding:32px 5% 0}
.event-back+.event-detail{padding-top:32px}
@media(max-width:760px){.event-back{padding:24px 6% 0}.event-back+.event-detail{padding-top:24px}}

.event-detail .eyebrow{font-size:clamp(20px,2.4vw,30px);line-height:1.3;letter-spacing:1px;margin:0 0 18px;color:var(--ink)}

.sample-event-card>.placeholder{aspect-ratio:3/4;border-radius:6px;background:radial-gradient(ellipse at 50% 35%,#6b2028 0,#261016 45%,#100d10 80%)}
.sample-event-card>.placeholder b{color:#f2eee9;z-index:1;font-size:64px;letter-spacing:-3px}
.sample-event-card>.placeholder .orbit{border-color:#e0393980;transform:rotate(-25deg) scaleY(.7)}
.sample-event-card>.placeholder small{font-size:8px;letter-spacing:1px}
.sample-event-label{display:table;margin:8px 0 12px;padding:3px 9px;border-radius:999px;background:#e0393918;color:#edaaa6;font-size:10px;letter-spacing:.6px;text-transform:uppercase;line-height:1.6}

.event-booking{border-radius:999px;gap:8px}
.event-card .event-booking{display:flex;width:fit-content;margin-top:16px;padding:9px 14px;font-size:11px}

.event-card .event-booking{margin:0 0 16px}
.card-dialog .detail-layout .event-booking{margin:18px 0 0}

.detail-toolbar .full-event-link{background:#202020;color:var(--ink);border:1px solid #383838;justify-content:center;gap:8px}
.detail-toolbar .full-event-link .arrow-icon{width:14px;height:14px}
.detail-toolbar .full-event-link:hover{background:#303030;color:var(--ink);border-color:#555}

.detail-toolbar .full-event-link:focus-visible{outline:2px solid #aaa;outline-offset:4px}
body.pointer-card-focus .detail-toolbar .full-event-link:focus{outline:none}
.detail-toolbar .full-event-link:active{background:#303030;color:var(--ink);border-color:#555}

.event-card>div:not(.card-artwork){padding-bottom:12px;flex:1}
.event-card p{margin-bottom:8px}
.event-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto}
.event-card .event-card-actions .event-booking{display:inline-flex;width:auto;margin:0;padding:5px 9px;font-size:12px;line-height:1.7;gap:4px}
.event-card-actions .text-link{padding-bottom:2px}

/* Justified gallery rows preserve each item's proportions. */
.gallery{display:flex;flex-wrap:wrap;gap:3px;align-items:flex-start}
.gallery figure,.gallery figure:nth-child(even){margin:0;flex:none;width:calc(var(--ratio)*220px);max-width:100%;overflow:hidden;background:#111}
.gallery img,.gallery video{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.gallery figure{width:calc(var(--ratio)*160px)}}

.gallery img,.gallery video{object-fit:cover;background:#080808}

.gallery figure{cursor:pointer}
.gallery figure:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.gallery-dialog{width:min(1100px,94vw)}
.gallery-viewer-stage{display:flex;align-items:center;justify-content:center;background:#080808;min-height:180px;margin:18px 0}
.gallery-viewer-stage img,.gallery-viewer-stage video{display:block;width:100%;height:65vh;object-fit:contain}
@media(max-width:760px){.gallery-viewer-stage img,.gallery-viewer-stage video{height:55vh}}

.gallery-viewer-header{display:flex;justify-content:flex-end;min-height:36px;margin-bottom:20px}
.gallery-viewer-header .youtube-close{float:none}
.gallery-dialog .gallery-viewer-stage{margin-top:0}

.contact-submit,.contact-retry{border-radius:999px;padding:12px 28px;justify-content:center}
.contact-retry[hidden]{display:none}
#form-status[data-state="success"]{color:#98cfaa}
#form-status[data-state="error"]{color:#efaaa6}

.contact-submit[hidden]{display:none}

/* Interaction polish: restrained spotlight, framed zoom and tactile buttons. */
.music-card,.event-card,.youtube-card{position:relative;isolation:isolate}
.music-card::after,.event-card::after,.youtube-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(180px circle at var(--spot-x,50%) var(--spot-y,50%),#e039391a,transparent 75%)}
.card-artwork{overflow:hidden;padding:0!important;border-radius:6px;aspect-ratio:1}
.event-card>.card-artwork{aspect-ratio:1;flex:none;display:block}
.event-card>.card-artwork img{aspect-ratio:1;height:100%;object-fit:cover}
.card-artwork img{display:block;width:100%;height:100%;object-fit:cover}
.card-dialog::backdrop,.youtube-dialog::backdrop{background:#000c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.gallery-video::after{content:'';position:absolute;right:10px;bottom:10px;width:12px;height:14px;background:#ffffff70;clip-path:polygon(0 0,100% 50%,0 100%);pointer-events:none;filter:drop-shadow(0 1px 2px #000)}
@media(prefers-reduced-motion:no-preference){
 .music-card::after,.event-card::after,.youtube-card::after{transition:opacity 180ms ease}
 .card-artwork img,.youtube-preview img{transition:transform 450ms cubic-bezier(.2,.7,.2,1)}
 .button,.youtube-toolbar button,.listen-tabs button{transition:transform 160ms ease,background 180ms ease,color 180ms ease}
 @media(hover:hover){
  .music-card:hover,.event-card:hover,.music-card:focus-within,.event-card:focus-within{transform:none}
  .music-card:hover::after,.event-card:hover::after,.youtube-card:hover::after{opacity:1}
  .music-card:hover .card-artwork img,.event-card:hover .card-artwork img,.youtube-preview:hover img{transform:scale(1.04)}
  .button:hover:not(:disabled),.youtube-toolbar button:hover:not(:disabled),.listen-tabs button:hover{transform:translateY(-2px)}
 }
 .button:active:not(:disabled),.youtube-toolbar button:active:not(:disabled),.listen-tabs button:active{transform:scale(.97)}
}

@media(hover:hover){.gallery-video:hover::after{opacity:0}}
@media(prefers-reduced-motion:no-preference){.gallery-video::after{transition:opacity 180ms ease}}

.youtube-dialog .youtube-toolbar button{border-radius:999px}

.youtube-card{display:flex;flex-direction:column;min-width:0;background:#121212;border:1px solid #292929;border-radius:10px;overflow:hidden}
.youtube-card .youtube-preview{display:block;width:100%;aspect-ratio:16/9;border-radius:0;overflow:hidden;flex:none}
.youtube-card h3{margin:14px 18px;font-size:11px;line-height:1.5}
.youtube-card>.text-link{align-self:flex-start;margin:auto 18px 18px;font-size:11px}
.youtube-card:hover,.youtube-card:focus-within{border-color:#e0393960}
@media(prefers-reduced-motion:no-preference){.youtube-card{transition:border-color 180ms ease}}

@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .music-card,.event-card,.youtube-card{transition:transform 200ms ease,border-color 180ms ease}
 .music-card:hover,.event-card:hover,.youtube-card:hover{transform:scale(1.05);z-index:3}
}

.youtube-card{cursor:pointer}

.youtube-dialog .youtube-close:focus-visible{outline:2px solid #aaa;outline-offset:4px}
body.pointer-card-focus .youtube-dialog .youtube-close:focus{outline:none}

.youtube-close svg,.detail-close svg{display:block;width:18px;height:18px;flex:none}

.newsletter{max-width:1600px;margin:auto;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 5%}
.newsletter h2{font-size:36px;margin:0 0 12px}.newsletter p{margin-bottom:0;color:var(--muted)}
.newsletter-input{display:flex;gap:12px}.newsletter-input input{margin:0;min-width:0;border-radius:8px}.newsletter .button{border-radius:999px;white-space:nowrap;gap:8px}
.popup-share{border:1px solid #383838;background:#202020;color:var(--ink);padding:10px 16px;border-radius:999px;font-size:11px;cursor:pointer}.popup-share:hover{background:#303030}
@media(max-width:760px){.newsletter{grid-template-columns:1fr;gap:20px;padding:32px 6%}.newsletter-input .button{padding:10px 18px}}

.popup-share{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:90px}
.popup-share svg{display:block;width:17px;height:17px;flex:none}

.popup-share.is-copied svg{color:#83d6a0}
@media(prefers-reduced-motion:no-preference){
 .popup-share.is-copied svg{animation:copied-check 300ms cubic-bezier(.2,.8,.2,1) both}
 .popup-share.is-copied span{animation:copied-label 240ms ease-out both}
 @keyframes copied-check{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}
 @keyframes copied-label{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
}

.detail-toolbar .full-event-link{margin-left:0;margin-right:0}

.card-dialog>.full-event-link{display:inline-flex;margin-top:24px;border-radius:999px;padding:10px 16px;gap:8px;font-size:11px;background:#202020;color:var(--ink);border:1px solid #383838}
.card-dialog>.full-event-link:hover,.card-dialog>.full-event-link:active{background:#303030;color:var(--ink);border-color:#555}
.card-dialog>.full-event-link:focus-visible{outline:2px solid #aaa;outline-offset:4px}

.event-back{display:flex;align-items:center;justify-content:space-between;gap:16px}
.youtube-card>.youtube-card-share{align-self:flex-start;margin:0 18px 18px}

.event-dialog .detail-layout>div:first-child img{display:block;width:100%;height:auto;max-height:min(60vh,540px);object-fit:contain;background:transparent}
.event-detail>div:first-child img{display:block;width:100%;height:auto;max-height:min(75vh,640px);object-fit:contain;background:transparent}
.event-detail>div:first-child{align-self:start}
@media(max-width:760px){.event-dialog .detail-layout>div:first-child img,.event-detail>div:first-child img{max-height:45vh}}

.event-primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.card-dialog .event-primary-actions .event-booking{margin:0}
.calendar-button{display:inline-flex;border:1px solid #383838;background:#202020;color:var(--ink);border-radius:999px;padding:10px 16px;font-size:11px}
.calendar-button:hover{background:#303030;color:var(--ink)}

.calendar-dropdown{position:relative;margin:0;border:0}
.calendar-dropdown>summary{display:inline-flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
.calendar-dropdown>summary::-webkit-details-marker{display:none}
.calendar-dropdown>summary span{float:none;color:inherit}
.calendar-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:5;min-width:240px;max-width:80vw;padding:6px;border:1px solid #383838;border-radius:12px;background:#1b1b1b;box-shadow:0 12px 30px #0008}
.calendar-menu a{display:block;padding:10px 12px;border-radius:7px;font-size:12px}
.calendar-menu a:hover,.calendar-menu a:focus-visible{background:#303030;color:var(--ink)}

/* Event artwork built from brand assets and editable event details. */
.event-poster{position:relative;isolation:isolate;overflow:hidden;display:flex!important;flex-direction:column!important;justify-content:space-between;aspect-ratio:3/4;width:100%;padding:22px!important;flex:none!important;background:radial-gradient(ellipse at 65% 35%,#60141f 0,#230d16 40%,#100a10 80%);color:var(--ink)}
.event-poster::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 3px 4px);z-index:-1}
.poster-rings{position:absolute;left:10%;top:10%;width:100%;aspect-ratio:1;border-radius:50%;border:1px solid #ef656540;box-shadow:0 0 0 18px #e0393910,0 0 0 40px #e0393910,0 0 0 65px #e039390d,inset 0 0 50px #e0393920;transform:rotate(-30deg) scaleY(.6);z-index:-1}
.poster-date{font:600 10px/1.4 Inter,Arial,sans-serif;letter-spacing:2px;color:#e5b9bd}
.event-poster .poster-logo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent;max-height:none;margin:10px 0}
.poster-info{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.poster-info strong{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(22px,2.4vw,38px);line-height:1.05;text-transform:uppercase;overflow-wrap:anywhere}
.poster-info span{font-size:10px;color:#cfb7bd;letter-spacing:.5px}
.poster-caption{margin-top:22px;border-top:1px solid #e0393930;padding-top:10px;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#ae828a}
.event-dialog .event-poster,.event-detail .event-poster{max-width:360px;margin-inline:auto}
@media(max-width:760px){.event-dialog .event-poster,.event-detail .event-poster{max-width:240px}}

.coming-soon-poster{background:radial-gradient(ellipse at 70% 20%,#641824 0,transparent 48%),linear-gradient(150deg,#190b15,#08080b 70%);padding:22px!important;justify-content:space-between}
.coming-soon-poster .poster-rings{left:-25%;top:12%;width:150%;transform:rotate(-35deg) scaleY(.55);border-color:#f2727040;box-shadow:0 0 0 14px #ea3b4318,0 0 0 36px #ea3b4312,0 0 0 64px #ea3b4310,0 0 0 100px #ea3b4308}
.poster-orb{position:absolute;z-index:-1;top:18%;left:18%;width:65%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fb7263,#a32640 35%,#260d24 64%,#09070c 80%);box-shadow:0 0 50px #cc29432b;transform:rotate(-25deg) scaleY(.85)}
.coming-soon-type{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(42px,5vw,76px);font-weight:800;line-height:.85;letter-spacing:-.04em;text-transform:uppercase;margin-top:auto;position:relative}
.coming-soon-type>span{color:transparent;-webkit-text-stroke:1px #f2eee9}
.coming-soon-poster>.poster-caption:first-of-type{margin-top:0;border:0;padding-top:0;color:#d8a2ad}
.coming-soon-poster>.poster-caption:last-child{font-size:8px;line-height:1.5}

/* Flat, distressed ink washes for upcoming artwork. */
.coming-soon-poster{background:#160b0e;isolation:isolate}
.coming-soon-poster::before{content:'';position:absolute;inset:-15%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 15% 30%,#a8293e85,transparent 52%),radial-gradient(ellipse at 85% 60%,#76152490,transparent 55%),radial-gradient(ellipse at 40% 100%,#310f1880,transparent 50%);opacity:.9}
.coming-soon-poster::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.65;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='650'%3E%3Cfilter id='ink'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.009 .016' numOctaves='5' seed='12'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.24'/%3E%3CfeFuncG type='linear' slope='.08'/%3E%3CfeFuncB type='linear' slope='.11'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ink)'/%3E%3C/svg%3E");background-size:cover;mix-blend-mode:screen}
.coming-soon-poster .coming-soon-type{font-weight:700;letter-spacing:-.02em;text-shadow:none}
.coming-soon-poster .coming-soon-type>span{color:#e1b3ba;-webkit-text-stroke:0}

/* Live-stage atmosphere rather than abstract placeholder graphics. */
.coming-soon-poster::after{background:linear-gradient(120deg,#24000835,transparent);opacity:1;mix-blend-mode:normal}
.coming-soon-poster .coming-soon-type{color:#fff;font-weight:800;font-size:clamp(42px,5vw,76px);letter-spacing:-.025em;line-height:.9;text-shadow:0 2px 20px #0008}
.coming-soon-poster .coming-soon-type>span{color:#fff}
.coming-soon-poster>.poster-caption{color:#e1cece;letter-spacing:1.4px}

/* Minimal red spotlight, without photographic or generated imagery. */
.coming-soon-poster{background:#09090b}
.coming-soon-poster::before{inset:0;background:radial-gradient(ellipse at 50% -10%,#df33485c 0,#a51f3130 30%,transparent 68%);filter:none;opacity:1}
.coming-soon-poster::after{background:linear-gradient(180deg,transparent 35%,#09090b80);opacity:1;mix-blend-mode:normal}
.coming-soon-poster .coming-soon-type{font-weight:700;text-shadow:none;font-size:clamp(38px,4.5vw,68px)}
.coming-soon-poster>.poster-caption{color:#a68e93;letter-spacing:1.5px}

.event-info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:30px}
.event-info-grid dl{margin:0;min-width:0}
.event-info-grid dl+dl{border-left:1px solid var(--line);padding-left:28px}
.event-info-grid dt{margin-bottom:7px}
.event-info-grid dd{line-height:1.6;margin-bottom:24px;overflow-wrap:anywhere}
.event-info-grid dd:last-child{margin-bottom:0}
.event-info-grid .text-link{font-size:13px}
.event-info-grid .event-set-time>div{gap:8px}
@media(max-width:760px){.event-info-grid{grid-template-columns:1fr;gap:24px}.event-info-grid dl+dl{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}}

/* Compact signup within the footer area. */
.newsletter{display:block;padding:24px 5%;text-align:center}
.newsletter>div,.newsletter form{max-width:420px;margin-inline:auto}
.newsletter .newsletter-label{font-size:12px;color:var(--ink);margin:0 0 10px;font-weight:500}
.newsletter-input{gap:8px}
.newsletter-input input{padding:9px 12px;font-size:12px}
.newsletter-input .button{padding:9px 18px;font-size:11px}
.newsletter form>.muted{font-size:9px;margin-top:7px;line-height:1.5}
.newsletter-status{font-size:11px;line-height:1.5}
.newsletter-status:empty{display:none}
@media(max-width:760px){.newsletter{padding:22px 6%}}

.newsletter-trigger{display:block;margin:0 0 12px;padding:0;border:0;background:none;color:var(--muted);font-size:11px;cursor:pointer}
.newsletter-trigger:hover{color:var(--ink)}
.newsletter-dialog{width:min(460px,94vw)}
.newsletter-dialog .newsletter{padding:0 0 12px;border:0}
.newsletter-dialog .newsletter-label{font-size:18px;margin-bottom:18px}
@media(max-width:760px){.newsletter-trigger{margin-inline:auto}}

.newsletter-popup-title{margin:0;font-family:Inter,Arial,sans-serif;font-size:18px;line-height:1.3;font-weight:600;text-transform:none;letter-spacing:0;text-align:left}
.newsletter-dialog .detail-toolbar{align-items:center;gap:16px}

.form-success{display:flex;align-items:flex-start;gap:9px;text-align:left}
.form-success svg{width:22px;height:22px;flex:none;color:#83d6a0;margin-top:2px}
.newsletter .button[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){.form-success svg{animation:copied-check 300ms cubic-bezier(.2,.8,.2,1) both}.form-success span{animation:copied-label 240ms ease-out both}}

footer{grid-template-columns:auto auto auto;justify-content:space-between}
.footer-actions{display:flex;align-items:center;gap:10px}
.footer-actions .newsletter-trigger,.footer-actions .footer-email{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:8px 12px;border:1px solid #383838;border-radius:999px;background:#171717;color:var(--ink);font-size:11px;line-height:1.5;white-space:nowrap}
.footer-actions .newsletter-trigger:hover,.footer-actions .footer-email:hover{background:#252525;border-color:#555;color:var(--ink)}
.footer-location{display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}
footer .footer-location small{display:inline;margin:0}
@media(max-width:1100px){footer{grid-template-columns:1fr}.footer-actions,.footer-socials,.footer-location{justify-content:center}}
@media(max-width:420px){.footer-actions{gap:6px}.footer-actions .newsletter-trigger,.footer-actions .footer-email{padding:7px 9px;font-size:10px}.footer-location{font-size:10px;gap:8px}}

@media(min-width:1101px){footer{position:relative;grid-template-columns:1fr 1fr}.footer-socials{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.footer-location{grid-column:2}}

/* Slim announcement strip for the soonest upcoming show. */
.show-banner{border-bottom:1px solid #e0393930;background:linear-gradient(100deg,#241012,#100b0c 55%,#171011)}
.show-banner-inner{max-width:1600px;margin:auto;min-height:44px;padding:8px 4%;display:flex;align-items:center;gap:22px;font-size:11px;line-height:1.4}
.show-banner-label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#f08c8c}
.show-banner-dot{width:5px;height:5px;background:var(--red);border-radius:50%;box-shadow:0 0 9px #e0393970}
.show-banner-event{display:flex;align-items:center;gap:16px;min-width:0;color:var(--ink);flex:1}
.show-banner-event strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.show-banner-date{white-space:nowrap;color:#e1b8b8;font-variant-numeric:tabular-nums}
.show-banner-venue{color:var(--muted);white-space:nowrap;font-size:10px}
.show-banner-arrow{color:#edaaaa}
.show-banner-all{white-space:nowrap;font-size:10px;color:#d1b7b7;border-left:1px solid #ffffff20;padding-left:20px}
.show-banner-event:hover,.show-banner-all:hover{color:#fff}
@media(max-width:1100px){.show-banner-venue{display:none}}
@media(max-width:760px){.show-banner-inner{padding:9px 6%;gap:12px}.show-banner-label{font-size:8px;letter-spacing:1px}.show-banner-event{gap:7px;flex-wrap:wrap}.show-banner-date{font-size:9px}.show-banner-event strong{font-size:10px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-basis:100%}.show-banner-arrow{display:none}.show-banner-all{font-size:9px;padding-left:10px}}

.show-banner{position:relative;z-index:9}
.show-banner+main .hero:has(+ .about) .hero-wordmark{margin-top:0}

.show-banner-details{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;color:#f1c4c4;border-bottom:1px solid #e0393960;padding-bottom:1px;margin-left:auto}
@media(max-width:760px){.show-banner-details{margin-left:0;font-size:9px}}

.show-banner-event:hover strong,.show-banner-event:focus-visible strong{color:#ffb0b0}
.show-banner-event:hover .show-banner-details,.show-banner-event:focus-visible .show-banner-details{color:#fff;border-color:var(--red);background:#e0393926}
.show-banner-details{padding:3px 7px;border-radius:4px}
.show-banner-all:hover,.show-banner-all:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
@media(prefers-reduced-motion:no-preference){
 .show-banner-event strong,.show-banner-details,.show-banner-all{transition:color 180ms ease,background 180ms ease,border-color 180ms ease,transform 180ms ease}
 @media(hover:hover){.show-banner-event:hover .show-banner-details{transform:translateX(2px)}.show-banner-all:hover span{display:inline-block;transform:translateX(2px)}}
}

/* Consistent feedback for text-style navigation and external links. */
.text-link:not(.footer-email),.instagram-announcement>span{border-radius:4px;display:inline-block}
.text-link:not(.footer-email):is(:hover,:focus-visible,:active),.instagram-announcement:is(:hover,:focus-visible,:active)>span{color:var(--ink);background:#e0393920;border-bottom-color:var(--red);box-shadow:0 0 0 4px #e0393920}
@media(prefers-reduced-motion:no-preference){
 .text-link:not(.footer-email),.instagram-announcement>span{transition:color 180ms ease,background 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
 @media(hover:hover){.text-link:not(.footer-email):hover,.instagram-announcement:hover>span{transform:translateX(2px)}}
 .text-link:not(.footer-email):active,.instagram-announcement:active>span{transform:scale(.97)}
}

.show-banner-all{border-radius:4px}
.show-banner-all:hover,.show-banner-all:focus-visible{color:var(--ink);background:#e0393920;box-shadow:0 0 0 4px #e0393920;text-decoration:none}
@media(prefers-reduced-motion:no-preference){
 .show-banner-all{transition:color 180ms ease,background 180ms ease,box-shadow 180ms ease,transform 180ms ease}
 @media(hover:hover){.show-banner-all:hover{transform:translateX(2px)}.show-banner-all:hover span{transform:none}}
}

.show-banner-all{border-left:0;padding-left:0}

.text-link:not(.footer-email):is(:hover,:focus-visible,:active),
.instagram-announcement:is(:hover,:focus-visible,:active)>span,
.show-banner-all:hover,.show-banner-all:focus-visible,
.show-banner-event:hover .show-banner-details,.show-banner-event:focus-visible .show-banner-details,
.show-banner-event:hover strong,.show-banner-event:focus-visible strong{color:var(--red)}

.youtube-toolbar .youtube-watch{display:inline-flex;align-items:center;margin-left:auto;padding:8px 12px;font-size:12px;line-height:1.7;border:1px solid var(--line);border-radius:999px;background:#222;color:var(--ink)}
.youtube-toolbar .youtube-watch:hover{color:var(--red);border-color:var(--red)}
.youtube-toolbar .youtube-watch+button:last-child{margin-left:0}
.youtube-dialog>p[role="status"]:empty{display:none}
@media(max-width:600px){.youtube-toolbar .youtube-watch{margin-left:0}}

.card-dialog,.youtube-dialog{border-radius:16px}

.youtube-expand{display:none}
.youtube-dialog.is-mini{position:fixed;inset:auto 20px 20px auto;margin:0;width:360px;max-width:calc(100vw - 24px);max-height:none;padding:12px;z-index:100;box-shadow:0 12px 50px #000a;overflow:hidden}
.youtube-dialog.is-mini h3,.youtube-dialog.is-mini .youtube-toolbar,.youtube-dialog.is-mini>p{display:none}
.youtube-dialog.is-mini iframe{margin:12px 0 0;min-height:0}
.youtube-dialog.is-mini .youtube-expand{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#222;color:var(--ink);font-size:11px;padding:7px 12px;cursor:pointer}
.youtube-dialog.is-mini .youtube-expand:hover{background:#303030}
@media(max-width:600px){.youtube-dialog.is-mini{right:12px;bottom:12px;width:300px}}

.youtube-window-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:16px}
.youtube-window-controls .youtube-close{float:none}
.youtube-window-controls .player-window-control{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.player-window-control svg{width:18px;height:18px;display:block}
.youtube-window-controls .player-window-control:hover{background:#303030;border-color:#555}
.youtube-window-controls .youtube-expand{display:none}
.youtube-dialog.is-mini .youtube-window-controls{margin-bottom:0}
.youtube-dialog.is-mini .youtube-window-controls .youtube-minimize{display:none}
.youtube-dialog.is-mini .youtube-window-controls .youtube-expand{display:inline-flex;width:36px;height:36px;padding:0;border-radius:50%}
.youtube-window-controls .player-window-control:focus-visible{outline:2px solid #aaa;outline-offset:4px}

.youtube-player-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.youtube-player-header h3{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0;font-size:16px}
.youtube-player-header .youtube-window-controls{flex:none;margin:0}
.youtube-dialog.is-mini .youtube-player-header{justify-content:flex-end}

.youtube-dialog.is-mini{padding:0;border-radius:12px}
.youtube-dialog.is-mini iframe{margin:0;border-radius:11px}
.youtube-dialog.is-mini .youtube-player-header{position:absolute;top:8px;right:8px;z-index:2}
.youtube-dialog.is-mini .youtube-window-controls{gap:6px}
.youtube-dialog.is-mini .youtube-window-controls .youtube-expand,
.youtube-dialog.is-mini .youtube-window-controls .youtube-close{width:28px;height:28px;min-width:28px;background:#080808cc;border:1px solid #ffffff30;box-shadow:0 2px 8px #0005}
.youtube-dialog.is-mini .youtube-window-controls svg{width:15px;height:15px}
.youtube-dialog.is-mini .youtube-window-controls .youtube-expand:hover{background:#303030}
.youtube-dialog.is-mini .youtube-window-controls .youtube-close:hover{background:var(--red);border-color:var(--red)}

#listen-panel>iframe[hidden],#listen-youtube-content[hidden]{display:none}
#listen-youtube-content{margin-bottom:60px}

.instagram-profile-embed{max-width:540px;margin:0 auto}
.instagram-profile-embed .instagram-media{width:100%!important;min-width:0!important;margin:0!important}
.instagram-profile-embed iframe{margin-bottom:0;background:#fff;max-width:100%}

.instagram-hub{border:1px solid #ffffff18;border-radius:20px;overflow:hidden;background:#111}
.instagram-header{display:flex;align-items:center;gap:24px;padding:28px;border-bottom:1px solid #ffffff12}
.instagram-header>img{width:88px;height:88px;border-radius:50%;object-fit:cover}
.instagram-header h3{margin:0 0 6px;font-size:24px}
.instagram-header p{margin:4px 0;color:var(--muted);font-size:14px}
.instagram-follow{margin-left:auto;flex-shrink:0;border-radius:999px}
.instagram-feed-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:12px}
.instagram-feed-toolbar [role=group]{display:flex;gap:8px;flex-wrap:wrap}
.instagram-feed-toolbar button{border:1px solid #ffffff18;border-radius:999px;padding:8px 16px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s}
.instagram-feed-toolbar button:hover{border-color:var(--red)}
.instagram-feed-toolbar button[aria-pressed=true]{background:#ffffff12;border-color:#ffffff50}
.instagram-scroll{max-height:720px;min-height:340px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#444 #111;padding:0 24px 24px}
.instagram-feed-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.instagram-post{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:#181818}
.instagram-post img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.instagram-post:hover img{transform:scale(1.05)}
.instagram-post-caption{position:absolute;bottom:0;left:0;right:0;padding:28px 14px 14px;background:linear-gradient(transparent,#000c);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.instagram-post-badge{position:absolute;top:12px;right:12px;background:#0008;border-radius:50%;padding:8px;font-size:12px}
.instagram-feed-empty{text-align:center;padding:72px 16px;color:var(--muted)}
.instagram-feed-empty[hidden]{display:none}
.instagram-feed-status{color:var(--ink);font-size:20px}
@media(max-width:650px){.instagram-header{flex-wrap:wrap;padding:20px;gap:16px}.instagram-header>img{width:64px;height:64px}.instagram-header>div{flex:1}.instagram-follow{margin-left:0}.instagram-feed-toolbar{padding:16px}.instagram-feed-toolbar>.muted{display:none}.instagram-scroll{padding:0 12px 12px;max-height:600px}.instagram-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.instagram-header p{font-size:12px}}

/* Keep Instagram scrolling in the page rather than a nested viewport. */
.instagram-scroll{max-height:none;overflow:visible;overscroll-behavior:auto}

@media(min-width:651px) and (max-width:1000px){.instagram-feed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Match existing page motion when the remote Social feed arrives. */
@media(prefers-reduced-motion:no-preference){
 .social-page .instagram-hub{animation:content-enter 220ms ease-out both}
 .instagram-post-enter{animation:content-enter 300ms cubic-bezier(.2,.8,.2,1) var(--entrance-delay,0ms) both}
}
.recording-page-link{display:inline-block;align-self:flex-start;max-width:100%;font-size:11px;margin-top:14px}
.recording-detail h1{font-size:clamp(32px,5vw,64px);line-height:1.1;margin:12px 0 20px}
.recording-detail{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.recording-detail>div:first-child{max-width:420px}
@media(max-width:760px){.recording-detail{grid-template-columns:1fr}}

.upcoming-empty-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.portrait-trigger{display:block;width:100%;padding:0;border:0;background:none;border-radius:inherit;cursor:zoom-in}
.portrait-trigger img{display:block}
.portrait-trigger:focus-visible{outline:2px solid var(--red);outline-offset:5px}

.upcoming-empty-actions .instagram-announcement,.footer-actions .instagram-announcement,.upcoming-empty-actions .email-announcement,.footer-actions .email-announcement{display:inline-flex;align-items:center;gap:10px;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--muted);font:inherit;font-size:12px;line-height:1.5}
.upcoming-empty-actions .email-announcement span,.footer-actions .email-announcement span{border-bottom:1px solid var(--red);padding-bottom:3px}
.upcoming-empty-actions .email-announcement svg,.footer-actions .email-announcement svg{flex-shrink:0}
.upcoming-empty-actions .instagram-announcement:hover,.upcoming-empty-actions .email-announcement:hover{color:var(--red)}

.footer-actions{flex-wrap:wrap;gap:16px 20px}
.footer-actions .instagram-announcement:hover,.footer-actions .email-announcement:hover{color:var(--red);background:none}
@media(min-width:1101px){footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:24px}.footer-socials{position:static;transform:none;justify-self:center}.footer-location{grid-column:3}.footer-actions{justify-self:start}}
@media(max-width:1100px){.footer-actions{justify-content:center}}

/* Match the framed gallery preview in the admin workspace. */
.gallery-frame{padding:20px;border:1px solid var(--line);border-radius:16px;background:#080808}
.gallery-frame .gallery{display:flex;flex-wrap:wrap;gap:3px;align-items:flex-start}
.gallery-frame .gallery figure{border:0;border-radius:0;padding:0;background:#080808;transform-origin:center}
.gallery-frame .gallery img,.gallery-frame .gallery video{object-fit:cover;background:#080808}
@media(max-width:600px){.gallery-frame{padding:12px}}

/* Draw interface symbols explicitly so iOS cannot substitute emoji glyphs. */
.inline-icon{display:inline-block;width:1em;height:1em;vertical-align:-.14em;flex-shrink:0;pointer-events:none}
.youtube-preview>span{display:flex;align-items:center;justify-content:center}
.youtube-preview .play-icon{width:18px;height:18px}
.instagram-post-badge .play-icon{width:14px;height:14px}

/* Compact mobile disclosure; desktop keeps its page-centered navigation. */
.mobile-menu{display:contents}
@media(max-width:760px){
 body>header .mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;padding:8px 6% 16px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 14px 24px #0007}
 body>header.menu-open .mobile-menu{display:block}
 body>header .mobile-menu nav{display:flex;flex-direction:column;align-items:stretch;text-align:left;margin:0;padding:0;gap:0}
 body>header .mobile-menu nav a{display:flex;align-items:center;min-height:48px;width:100%;padding:10px 12px;border-radius:6px;font-size:16px;line-height:1.5}
 body>header .mobile-menu nav a::after{display:none}
 body>header .mobile-menu nav a[aria-current]{background:#e0393914;color:var(--red)}
 body>header .mobile-menu nav a:is(:hover,:focus-visible,:active){background:#e0393920;color:var(--red)}
 body>header .mobile-menu .header-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:8px;padding:12px 0 0;border-top:1px solid var(--line)}
 body>header .mobile-menu .social{width:44px;height:44px;justify-content:center}
 body>header .mobile-menu .social img,body>header .mobile-menu .social svg{width:24px;height:24px}
 .menu-toggle{position:relative}
 .menu-toggle svg{visibility:hidden}
 .menu-toggle::before,.menu-toggle::after{content:'';position:absolute;left:10px;width:24px;height:2px;background:currentColor;border-radius:2px}
 .menu-toggle::before{top:14px;box-shadow:0 7px 0 currentColor}
 .menu-toggle::after{top:28px}
 .menu-open .menu-toggle::before{top:21px;transform:rotate(45deg);box-shadow:none}
 .menu-open .menu-toggle::after{top:21px;transform:rotate(-45deg)}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .menu-toggle::before,.menu-toggle::after{transition:transform 160ms ease,top 160ms ease}
 .menu-open .mobile-menu{animation:content-enter 160ms ease-out}
}

/* Group the expanded artist biography without adding nested disclosures. */
.about .bio-section{padding:20px 0;border-bottom:1px solid var(--line)}
.about .bio-section:first-of-type{padding-top:4px}
.about .bio-section h2{font:600 16px/1.4 Inter,Arial,sans-serif;letter-spacing:0;text-transform:none;margin:0 0 16px}
.about .bio-section p:last-child{margin-bottom:0}
.about .bio-section .venue-list{margin-top:24px}
.about .venue-list h3{font-weight:500;margin:0 0 8px}
.about .bio-closing{padding-top:20px}
.contact-card-link{max-width:760px;margin:0 auto 32px}

/* Artist profile panel: restrained framing and a comfortable reading measure. */
.bio-panel{min-width:0;align-self:start;padding:clamp(22px,3vw,40px);border:1px solid var(--line);border-radius:16px;background:#101010}
.about .bio-panel .intro{margin:0 0 18px;font-size:clamp(22px,2.2vw,30px);line-height:1.3;max-width:none}
.about .bio-identity{margin:0 0 18px;line-height:1.6}
.bio-panel .bio-socials{margin:0 0 26px;gap:18px}
.about .bio-panel p{max-width:none}
.about .bio-overview,.about .bio-section>p,.about .bio-closing>p{font-size:16px;line-height:1.8}
.about .bio-overview{margin:0;line-height:1.85}
.about .full-bio{margin:26px 0 0;border-top:1px solid var(--line)}
.about .full-bio summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;min-height:56px;padding:16px 0;border-radius:4px;transition:color .2s}
.about .full-bio summary::-webkit-details-marker{display:none}
.about .full-bio summary::marker{content:''}
.about .full-bio summary:hover{color:var(--red)}
.about .full-bio[open] summary{margin-bottom:8px}
.bio-toggle-icon{position:relative;flex:0 0 16px;width:16px;height:16px;float:none}
.bio-toggle-icon::before,.bio-toggle-icon::after{content:'';position:absolute;background:var(--red);border-radius:1px}
.bio-toggle-icon::before{width:12px;height:2px;left:2px;top:7px}
.bio-toggle-icon::after{width:2px;height:12px;left:7px;top:2px}
.full-bio[open] .bio-toggle-icon::after{display:none}
.bio-panel-footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}
.about .bio-closing{padding-bottom:8px}
@media(max-width:760px){.bio-panel{padding:24px 20px;border-radius:12px}.bio-panel .bio-socials{gap:20px}.about .bio-panel .intro{font-size:24px}}
@media(prefers-reduced-motion:reduce){.about .full-bio summary{transition:none}}

/* Shared portrait and biography card. */
.about{display:block}
.artist-profile-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(22px,3vw,40px);border:1px solid var(--line);border-radius:16px;background:#101010}
.artist-profile-card .bio-panel{padding:0;border:0;border-radius:0;background:transparent}
.bio-portrait{min-width:0;border-radius:10px}
.bio-portrait .portrait-trigger,.bio-portrait .portrait{border-radius:10px}
.about .bio-portrait .portrait{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(max-width:760px){.artist-profile-card{grid-template-columns:minmax(0,1fr);gap:26px;padding:20px;border-radius:12px}.about .bio-portrait .portrait{aspect-ratio:4/3}.artist-profile-card .bio-panel{padding:0}}

@media(max-width:760px){.about .bio-overview,.about .bio-section>p,.about .bio-closing>p{font-size:15px}}
