@font-face{font-family:"Outfit";src:url(/fonts/outfit-logo.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Big Shoulders";src:url(/fonts/bigshoulders.woff2) format("woff2");font-weight:700 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
:root{
  --black:#050506;--ink:#0c0c0f;--panel:#121216;--line:#26262d;
  --text:#ece8df;--muted:#a19d95;
  --sun1:#FEE62C;--sun2:#FDCB0A;--sun3:#F6943D;--sun4:#EC513B;--sky:#00ADEF;
  --grad:linear-gradient(90deg,var(--sun1),var(--sun2) 30%,var(--sun3) 65%,var(--sun4));
  --display:"Big Shoulders","Arial Narrow",Impact,sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --wrap:min(1160px,100% - 2.5rem);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--text);font:400 1.0625rem/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--sun2);text-underline-offset:.2em}
a:hover{color:var(--sun1)}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--sun2);color:#000;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}
.wrap{width:var(--wrap);margin-inline:auto}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:.95;letter-spacing:.01em;text-transform:uppercase;margin:0 0 .5em}
h1{font-size:clamp(3.2rem,11vw,7.5rem)}
h2{font-size:clamp(2.2rem,6vw,3.8rem)}
h3{font-size:1.6rem;font-weight:700;letter-spacing:.03em}
p{margin:0 0 1.1em}
.eyebrow{font:700 .78rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--sky);margin-bottom:1rem;display:block}
.gold{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted)}
.lede{font-size:clamp(1.1rem,2.2vw,1.3rem);max-width:38em}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(5,5,6,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #16161b}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.45rem;color:var(--text);text-decoration:none;font:500 1.12rem/1 "Outfit",var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.brand .emblem{width:44px;height:44px;flex:none;margin-left:-4px}
.brand .wm b{font-weight:700}.brand .wm i{font-style:normal;font-weight:600;color:var(--sky)}.brand .wm{font-weight:600}
.brand:hover{color:#fff}
@media (max-width:420px){.brand{font-size:.98rem;letter-spacing:.11em}.brand .emblem{width:38px;height:38px}}
.foot-lockup{display:inline-block}.foot-lockup img{width:250px;max-width:100%;height:auto;margin-left:-8px}
.eclipse-accent{width:56px;height:56px;margin:0 0 .6rem -6px;opacity:.9}
.nav{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.nav a{color:var(--text);text-decoration:none;font:700 .82rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.5rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--sun3);color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--text);font:700 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.55rem .8rem;border-radius:2px}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;gap:0;background:#08080a;border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1rem}
  .nav.open{display:flex}
  .nav a{display:block;padding:.9rem 0;border-bottom:1px solid #18181d}
}

/* eclipse */
.eclipse{position:relative;aspect-ratio:1;border-radius:50%}
.eclipse::before{content:"";position:absolute;inset:-28%;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 8%,rgba(253,203,10,.55) 10%,transparent 13% 22%,rgba(246,148,61,.5) 25%,transparent 29% 40%,rgba(254,230,44,.45) 43%,transparent 47% 58%,rgba(236,81,59,.45) 61%,transparent 65% 76%,rgba(253,203,10,.5) 79%,transparent 83% 100%);
  -webkit-mask:radial-gradient(circle,transparent 34%,#000 38%,transparent 70%);mask:radial-gradient(circle,transparent 34%,#000 38%,transparent 70%);
  filter:blur(14px);animation:spin 80s linear infinite}
.eclipse::after{content:"";position:absolute;inset:-14%;border-radius:50%;
  background:radial-gradient(circle,transparent 42%,rgba(254,230,44,.95) 44.5%,rgba(253,203,10,.75) 47%,rgba(246,148,61,.45) 53%,rgba(236,81,59,.18) 61%,transparent 72%);
  filter:blur(3px)}
.eclipse .disc{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#000;z-index:2;box-shadow:0 0 0 2px rgba(254,230,44,.95),0 0 24px 6px rgba(253,203,10,.7),0 0 80px 26px rgba(246,148,61,.38),0 0 180px 70px rgba(236,81,59,.16)}
.eclipse .disc img{width:100%;height:100%;object-fit:cover}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.eclipse::before{animation:none}html{scroll-behavior:auto}}

/* hero */
.hero{position:relative;padding:clamp(2.5rem,7vw,6rem) 0 clamp(3rem,7vw,6rem);overflow:hidden;
  background:radial-gradient(ellipse 60% 50% at 75% 45%,rgba(246,148,61,.13),transparent 70%),radial-gradient(ellipse 40% 40% at 10% 100%,rgba(0,173,239,.07),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.hero h1{margin-bottom:.15em}
.hero .tag{font:italic 400 clamp(1.5rem,3.5vw,2.2rem)/1.2 var(--serif);margin:0 0 1.4rem}
.hero .eclipse{width:min(100%,500px);justify-self:center}
.hero .eclipse .disc img{object-position:50% 30%}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero .eclipse{width:min(78vw,380px);order:-1;margin:1.5rem auto 1rem}}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.3rem;font:800 .8rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:2px;border:1px solid var(--line);color:var(--text);background:transparent;cursor:pointer}
.btn:hover{border-color:var(--sun3);color:#fff}
.btn.primary{background:var(--grad);color:#120800;border:0}
.btn.primary:hover{filter:brightness(1.08);color:#000}
.page-hero{padding:clamp(3rem,8vw,6rem) 0 clamp(1.5rem,4vw,2.5rem);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-12vw;top:-18vw;width:46vw;height:46vw;border-radius:50%;background:#000;box-shadow:0 0 0 2px rgba(254,230,44,.55),0 0 50px 12px rgba(253,203,10,.28),0 0 140px 50px rgba(236,81,59,.14);pointer-events:none;z-index:-1}
.page-hero{isolation:isolate}

/* sections */
section{padding:clamp(3rem,7vw,5.5rem) 0}
.band{border-top:1px solid #16161b}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media (max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid #1d1d23;padding:1.5rem;border-radius:3px}
.cover{border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px #222}
figure{margin:0}
figcaption{font-size:.85rem;color:var(--muted);margin-top:.6rem}
.quote{padding:clamp(3.5rem,9vw,7rem) 0;text-align:center;background:radial-gradient(ellipse 50% 70% at 50% 50%,rgba(253,203,10,.08),transparent 70%)}
.quote blockquote{margin:0 auto;max-width:28em;font:italic 400 clamp(1.5rem,3.6vw,2.4rem)/1.3 var(--serif)}
.quote cite{display:block;margin-top:1.2rem;font:700 .78rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-style:normal}
.links{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.links a{display:inline-block;padding:.5rem .8rem;border:1px solid var(--line);border-radius:2px;color:var(--text);text-decoration:none;font:700 .75rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.links a:hover{border-color:var(--sky);color:#fff}
.embed{display:block;width:100%;border:0;border-radius:10px;background:#111}
.tracks{columns:2;column-gap:2rem;padding-left:1.4rem;margin:0 0 1rem}
.tracks li{break-inside:avoid;margin-bottom:.2rem}
@media (max-width:600px){.tracks{columns:1}}
.meta{font:700 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sun3)}
.release{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:760px){.release{grid-template-columns:1fr}.release .cover{max-width:320px}}
.yt{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;border-radius:4px;overflow:hidden;border:1px solid #1d1d23}
.yt button{position:absolute;inset:0;width:100%;background:linear-gradient(transparent 50%,rgba(0,0,0,.75));border:0;color:#fff;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:1rem;font:700 .95rem var(--sans);text-align:left}
.yt button::before{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--grad);box-shadow:0 0 30px rgba(253,203,10,.5)}
.yt button::after{content:"";position:absolute;left:50%;top:50%;margin:-11px 0 0 -6px;border-left:20px solid #1a0b00;border-top:11px solid transparent;border-bottom:11px solid transparent}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* timeline */
.timeline{list-style:none;margin:2rem 0 0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:7px;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(var(--sun1),var(--sun3),var(--sun4),var(--sky))}
.timeline li{position:relative;padding:0 0 2rem 2.4rem}
.timeline li::before{content:"";position:absolute;left:0;top:.35rem;width:16px;height:16px;border-radius:50%;background:#000;border:2px solid var(--sun2);box-shadow:0 0 12px rgba(253,203,10,.5)}
.timeline .when{font:900 1.15rem/1 var(--display);letter-spacing:.06em;color:var(--sun2);text-transform:uppercase;display:block;margin-bottom:.3rem}
.timeline h3{font-size:1.35rem;margin:0 0 .3rem}
.timeline p{margin:0;color:#cfcac0}
.timeline figure{margin-top:1rem;max-width:420px}
.timeline .legend::before{background:var(--sun2)}

/* shows list */
.shows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.shows li{display:grid;grid-template-columns:9.5rem 1fr auto;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.shows .d{font:900 1.1rem var(--display);letter-spacing:.06em;color:var(--sun2)}
.shows .h{font:700 1.05rem var(--sans)}
.shows .v{color:var(--muted);font-size:.95rem;text-align:right}
@media (max-width:640px){.shows li{grid-template-columns:1fr}.shows .v{text-align:left}}

/* forms */
.signup{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem;max-width:520px}
.signup input{flex:1 1 240px;background:#0d0d10;border:1px solid var(--line);color:var(--text);padding:.85rem 1rem;font:inherit;border-radius:2px}
.signup input:focus{border-color:var(--sun3);outline:none}
.form-note{font-size:.85rem;color:var(--muted);margin-top:.7rem;min-height:1.3em}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* merch */
.merch{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
@media (max-width:900px){.merch{grid-template-columns:repeat(2,1fr)}}
.item{background:var(--panel);border:1px solid #1d1d23;border-radius:3px;padding:1.2rem 1.2rem 1.4rem}
.item svg{width:100%;height:auto;display:block;margin-bottom:1rem}
.item h3{font-size:1.4rem;margin-bottom:.2rem}
.item p{margin:0;color:var(--muted);font-size:.95rem}
.soon{display:inline-block;margin-top:.8rem;font:800 .7rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sky)}

/* prose (blog) */
.prose{max-width:42rem}
.prose p{margin-bottom:1.25em}
.prose.lyrics p{font-size:1.08rem;line-height:1.75}
.prose strong{color:#fff}
.post-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.post-list li{padding:1.6rem 0;border-bottom:1px solid var(--line)}
.post-list h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:.3rem}
.post-list h2 a{color:var(--text);text-decoration:none}
.post-list h2 a:hover{color:var(--sun1)}
.note{border-left:3px solid var(--sky);padding:.8rem 1rem;background:#0b1217;color:#c9d7de;font-size:.95rem;margin:0 0 2rem;max-width:42rem}

/* photo grid */
.photos{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.photos figure{grid-column:span 4}
.photos figure.w6{grid-column:span 6}
.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}
.photos figure.w6 img{aspect-ratio:4/3}
@media (max-width:760px){.photos figure,.photos figure.w6{grid-column:span 12}}

.influences{display:flex;flex-wrap:wrap;gap:.5rem .9rem;list-style:none;padding:0;margin:0 0 1.5rem;font:700 clamp(1.3rem,3vw,1.8rem)/1.2 var(--display);text-transform:uppercase;letter-spacing:.04em}
.influences li:not(:last-child)::after{content:"·";margin-left:.9rem;color:var(--sun3)}

/* footer */
.site-foot{border-top:1px solid #16161b;padding:3rem 0 2.5rem;margin-top:2rem;background:linear-gradient(transparent,rgba(0,173,239,.04))}
.site-foot .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem}
.site-foot .social{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:0;justify-content:flex-end}
.site-foot .social a{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:2px;color:var(--text);text-decoration:none;font:700 .75rem var(--sans);letter-spacing:.1em;text-transform:uppercase}
.site-foot .social a:hover{border-color:var(--sky)}
.site-foot .social svg{width:16px;height:16px;fill:currentColor}
.site-foot small{color:var(--muted)}
@media (max-width:760px){.site-foot .wrap{grid-template-columns:1fr}.site-foot .social{justify-content:flex-start}}
/* spotify embed + fallback link (fallback always sits below, never over the player) */
.embed.sp{display:block;position:static;background:#121212;border-radius:12px}
.sp-card{display:flex;align-items:center;gap:.9rem;margin-top:.8rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--text);background:#0d0d10;position:static}
.sp-card:hover{border-color:#1DB954;color:#fff}
.sp-card img{width:56px;height:56px;border-radius:4px;flex:none}
.sp-card span{display:flex;flex-direction:column;line-height:1.3}
.sp-card small{color:var(--muted);font-size:.85rem}
.sp-card .sp-go{margin-left:auto;font-size:1.3rem;color:#1DB954}
.tracks.tracknotes{columns:1}
.tracknotes li{margin-bottom:.7rem}
.tracknotes strong{display:block}
.tracknotes span{display:block;color:var(--muted,inherit);font-size:.95rem;line-height:1.45}
.rtab-photos figure img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}

.collage{margin:1.5rem 0 0;max-width:860px}.collage-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.collage-grid>*{display:block;min-width:0}.collage-grid img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;object-position:center}.collage figcaption{margin-top:.6rem}
.shows .show-media,.shows .show-note{grid-column:1/-1}.show-media{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.4rem;width:100%;max-width:760px}.show-media.n2{grid-template-columns:1fr 1fr}.show-media.n1 img{aspect-ratio:auto}.show-media .thumb{display:block;min-width:0;border-radius:4px;overflow:hidden;border:1px solid var(--line)}.show-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .2s}.show-media .thumb:hover img{transform:scale(1.02)}.show-note{margin:.2rem 0 0;color:var(--muted);font-size:.95rem;max-width:44rem}
.lb{border:0;padding:0;background:transparent;max-width:min(92vw,900px);max-height:92vh;overflow:visible}.lb::backdrop{background:rgba(0,0,0,.88)}.lb img{display:block;max-width:min(92vw,900px);max-height:82vh;width:auto;height:auto;margin:0 auto}.lb-cap{color:#ddd;text-align:center;margin:.6rem 0 0;font-size:.95rem}.lb-x{position:absolute;top:-2.6rem;right:0;background:none;border:0;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}
.show-media.n3{grid-template-columns:1fr 1fr}.show-media.n3 .thumb:nth-child(3){grid-column:1/-1}.show-media.n3 .thumb:nth-child(3) img{aspect-ratio:auto}
.dotl-notes p{max-width:44rem}.dotl-notes .signoff{font-family:var(--serif,inherit);font-style:italic;font-size:1.15rem;margin-top:1.4rem}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.list-block{max-width:640px;margin:0 auto;text-align:center;padding:2.4rem 1.4rem;border:1px solid var(--line);border-radius:6px;background:radial-gradient(120% 140% at 50% 0%,rgba(246,148,61,.14),transparent 60%),#0d0d10}.list-block h2{margin:.3rem 0 .6rem}.list-block p{color:var(--muted);max-width:30rem;margin-left:auto;margin-right:auto}.list-block .signup{margin:1.2rem auto 0;justify-content:center}.list-block .form-note{text-align:center}.list-fine{font-size:.82rem;margin-top:.4rem}
.foot-list{grid-column:1/-1;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.foot-list p{margin:0}.foot-list .signup{margin-top:.7rem}
/* merch request */
.mr-form{display:grid;gap:.9rem}
.mr-f{display:grid;gap:.35rem;font:700 .72rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mr-f small{font-size:inherit;letter-spacing:inherit;opacity:.7}
.mr-f input,.mr-f textarea{background:#0d0d10;border:1px solid var(--line);color:var(--text);padding:.8rem 1rem;font:400 1rem/1.4 var(--sans);letter-spacing:0;text-transform:none;border-radius:2px;width:100%;box-sizing:border-box;resize:vertical}
.mr-f input:focus,.mr-f textarea:focus{border-color:var(--sun3);outline:none}
.mr-type{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.mr-type legend{font:700 .72rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;padding:0}
.mr-type label{position:relative;cursor:pointer}
.mr-type input{position:absolute;opacity:0;inset:0}
.mr-type span{display:inline-block;padding:.6rem .95rem;border:1px solid var(--line);border-radius:2px;font:800 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.mr-type input:checked+span{border-color:var(--sky);color:#fff;box-shadow:inset 0 0 0 1px var(--sky)}
.mr-type input:focus-visible+span{outline:2px solid var(--sun3);outline-offset:2px}
.mr-form .btn{justify-self:start}
