:root{--ink:#121212;--paper:#f3f0ea;--gray:#a7a7a7;--orange:#eb5425;--line:#ffffff30;--sidebar:160px;--space:clamp(24px,4vw,76px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:'Helvetica Neue',Arial,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}figure,h1,h2,p{margin:0}h1,h2,strong{font-weight:700}h1,h2{line-height:1.05;letter-spacing:-.025em}h1{font-size:clamp(42px,6vw,100px)}h2{font-size:clamp(28px,3vw,40px)}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:32px 24px;border-right:1px solid var(--line);z-index:10;background:var(--ink);overflow-y:auto}.brand{display:flex;align-items:center;justify-content:center;width:88px;height:88px;background:#000;margin-bottom:46px}.brand img{width:52px;height:54px;object-fit:contain}nav{display:flex;flex-direction:column;gap:24px}nav a{font-size:14px;font-weight:550;color:var(--gray);position:relative;padding:4px 0;line-height:1.4}nav a[aria-current],nav a:hover{color:var(--paper)}nav a[aria-current]:before{content:'';position:absolute;width:5px;height:5px;left:-12px;top:11px;background:var(--orange)}.socials{display:grid;grid-template-columns:repeat(2,36px);gap:16px;margin-top:auto;padding-top:50px}.social-link{display:flex;width:36px;height:36px;align-items:center;justify-content:center;color:var(--paper);opacity:.72}.social-link:hover{opacity:1}.social-link img{width:20px;height:20px;filter:invert(1)}.menu-toggle{display:none}main{margin-left:var(--sidebar);min-height:100svh}.page-header{display:flex;justify-content:space-between;align-items:center;padding:32px var(--space);gap:25px;border-bottom:1px solid var(--line)}.artist-name{font-size:18px;font-weight:700;letter-spacing:-.025em}.page-index{font-size:12px;color:var(--gray);letter-spacing:.04em}.section-title{padding:36px var(--space) 32px}.music-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px;padding:0 var(--space) 44px}.music-tile{display:block;min-width:0}.music-tile>img{width:100%;aspect-ratio:4/5;height:auto;object-fit:contain;background:#0b0b0b}.tile-label{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:20px 0 0;border-top:1px solid var(--line);margin-top:14px}.tile-label strong{font-size:clamp(18px,1.6vw,26px);line-height:1.16;letter-spacing:-.025em}.tile-label>span{font-size:12px;white-space:nowrap;color:var(--gray);padding-top:3px}.music-tile:hover .tile-label>span,.video-tile:hover .tile-label>span{color:var(--paper)}.platform-bar{margin:0 var(--space);padding:27px 0;display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:14px;color:var(--gray)}.platform-bar>span{font-weight:700;color:var(--paper);margin-right:auto}.platform-bar a:hover{text-decoration:underline;text-underline-offset:5px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;padding:0 var(--space) 44px}.video-tile{display:block;min-width:0}.video-tile>img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;background:#000}.video-tile .tile-label{min-height:88px}.video-tile .tile-label strong{font-size:clamp(18px,1.7vw,27px)}.text-page{padding:var(--space);min-height:70svh}.text-page p{font-size:clamp(18px,1.5vw,23px);color:var(--gray);max-width:570px;margin-top:34px;line-height:1.6}.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid currentColor;padding:14px 22px;font-size:14px;font-weight:550;letter-spacing:.02em;margin-top:34px}.outline-button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.tour-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:start}.tour-layout h1{font-size:clamp(36px,5vw,82px)}.tour-portrait img{width:100%;height:auto;max-height:740px;object-fit:contain;object-position:top}.tour-layout .outline-button{background:var(--orange);border-color:var(--orange);color:var(--ink)}.tour-layout .outline-button:hover{background:var(--paper);border-color:var(--paper)}.banner{width:100%;height:auto;display:block}.bio-banner{aspect-ratio:1824/862;object-fit:contain;background:#000}.news-banner{aspect-ratio:5504/3072;object-fit:contain}.center-copy{padding:var(--space);background:var(--paper);color:var(--ink)}.center-copy h1{padding-bottom:30px;border-bottom:1px solid #12121240}.small-label{font-size:14px;letter-spacing:.03em;color:#626262;margin-top:22px}.biography>p:not(.small-label){font-size:clamp(18px,1.6vw,25px);line-height:1.6;max-width:900px;margin:28px 0 0;text-align:left}.source{display:inline-block;font-size:12px;color:#626262;margin:30px 0 0;text-decoration:underline;text-underline-offset:5px}.news-item{display:grid;grid-template-columns:1fr 2fr;gap:20px 40px;margin-top:32px;max-width:1000px}.news-item .small-label{grid-row:1/4;margin:6px 0}.news-item h2{grid-column:2}.news-item p:not(.small-label){grid-column:2;font-size:20px;line-height:1.5;color:#555}.news-item .outline-button{grid-column:2;justify-self:start;margin-top:0;background:var(--ink);color:var(--paper);border-color:var(--ink)}.news-item .outline-button:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}.news-follow{margin:40px 0 0;font-size:16px;color:#555;border-top:1px solid #12121230;padding-top:24px}.news-follow a{text-decoration:underline}.contact-links{display:grid;grid-template-columns:1fr 1fr;max-width:750px;gap:0 40px;margin-top:60px}.contact-links a{border-top:1px solid var(--line);padding:20px 0;font-size:20px}.site-footer{display:flex;justify-content:space-between;gap:20px;margin:0 var(--space);padding:30px 0;border-top:1px solid var(--line);font-size:12px;color:var(--gray)}.site-footer span:first-child{color:var(--paper);font-weight:700}.skip{position:fixed;top:-100px;left:20px;z-index:99;padding:12px;background:var(--paper);color:var(--ink)}.skip:focus{top:10px}@media(max-width:1100px){:root{--sidebar:136px;--space:28px}.sidebar{padding:26px 20px}.brand{width:78px;height:78px}.tile-label{flex-direction:column;gap:8px}.video-tile .tile-label{min-height:100px}.tour-layout{grid-template-columns:1fr 1fr;gap:30px}.tour-layout h1{font-size:42px}.page-index{font-size:12px}}@media(max-width:700px){:root{--space:20px}.sidebar{position:sticky;inset:0 0 auto;width:100%;min-height:78px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:10px 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.brand{width:58px;height:58px;margin:0}.brand img{width:34px;height:36px}.menu-toggle{display:flex;align-items:center;gap:20px;min-height:44px;background:none;border:0;color:var(--paper);font-size:14px;font-weight:550}.menu-toggle span{font-size:23px}nav{display:none;flex-basis:100%;gap:0;padding:15px 10px}nav.open{display:flex}nav a{padding:12px 0;font-size:16px}nav a[aria-current]:before{top:21px}.socials{display:none;margin:0;padding:10px 0;flex-basis:100%;grid-template-columns:repeat(7,1fr);gap:5px}.sidebar:has(nav.open) .socials{display:grid}.social-link{width:32px;height:34px}main{margin:0}.page-header{padding:24px 20px;gap:15px}.artist-name{font-size:16px}.page-index{font-size:12px}.section-title{font-size:48px;padding:30px 20px}.music-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;padding:0 20px 32px}.tile-label{margin-top:10px;padding-top:13px;gap:8px}.tile-label strong{font-size:18px;line-height:1.2}.tile-label>span{font-size:12px}.platform-bar{gap:20px;padding:24px 0;font-size:14px}.platform-bar>span{flex-basis:100%}.video-grid{grid-template-columns:1fr;gap:30px}.video-tile .tile-label{min-height:0}.video-tile .tile-label strong{font-size:21px}.tour-layout{grid-template-columns:1fr;gap:36px}.text-page{min-height:0;padding:34px 20px}.text-page h1{font-size:42px}.tour-portrait{max-width:440px}.text-page p{font-size:19px;margin-top:24px}.banner{min-height:0}.center-copy{padding:34px 20px}.center-copy h1{font-size:44px;padding-bottom:24px}.biography>p:not(.small-label){margin:24px 0 0;font-size:18px}.source{margin:28px 0 0}.news-item{display:block;margin-top:28px}.news-item h2{font-size:30px;margin:14px 0}.news-item p:not(.small-label){font-size:18px}.news-item .outline-button{margin-top:24px}.news-follow{font-size:16px}.contact-links{gap:0 22px;margin-top:40px}.contact-links a{font-size:18px}.site-footer{padding:25px 0;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Music discovery and release pages */
.music-tile>img{filter:grayscale(1);transition:filter .45s ease}.music-tile:hover>img,.music-tile:focus-visible>img,.music-tile:active>img{filter:grayscale(0)}.release-detail{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.release-copy{padding:clamp(32px,5vw,90px) clamp(26px,4vw,70px);background:var(--paper);color:var(--ink)}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:550;color:#626262;letter-spacing:.04em}.back-link:hover{color:var(--ink)}.release-copy h1{font-size:clamp(40px,4.7vw,80px);margin:40px 0 20px;overflow-wrap:break-word}.release-meta{font-size:14px;color:#626262;font-weight:550;line-height:1.5}.release-description{font-size:clamp(18px,1.55vw,25px);line-height:1.65;margin:40px 0 0;max-width:620px}.release-listen{margin-top:60px}.release-listen a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #12121235;border-bottom:1px solid #12121235;font-size:18px;font-weight:550}.release-listen a:hover{color:#9b3011}.release-image{background:var(--ink);align-self:start;position:sticky;top:0;display:flex;align-items:center;justify-content:center;min-height:100svh}.release-image img{width:100%;height:100svh;object-fit:contain}.release-image img{filter:none}@media(max-width:1000px) and (min-width:701px){.release-detail{grid-template-columns:1.1fr 1fr}.release-copy{padding:32px 25px}.release-copy h1{font-size:40px}.release-description{font-size:18px}.release-meta{font-size:13px}}@media(max-width:700px){.release-detail{display:flex;flex-direction:column;min-height:0}.release-copy{padding:28px 22px 38px}.release-copy h1{font-size:42px;margin:26px 0 18px}.release-description{font-size:19px;margin-top:28px}.release-listen{margin-top:32px}.release-image{position:static;min-height:0;padding:0}.release-image img{height:auto;max-height:85svh;width:100%;object-fit:contain}}@media(prefers-reduced-motion:reduce){.music-tile>img{transition:none}}
/* Light primary surface */
:root{--line:#12121226}
body{background:var(--paper);color:var(--ink)}
.sidebar{background:var(--paper);border-color:var(--line)}
nav a{color:#626262}nav a[aria-current],nav a:hover{color:var(--ink)}
.menu-toggle{color:var(--ink)}
.social-link{color:var(--ink)}.social-link img{filter:none}
.page-index,.tile-label>span,.platform-bar,.site-footer{color:#626262}
.platform-bar>span,.site-footer span:first-child{color:var(--ink)}
.music-tile:hover .tile-label>span,.video-tile:hover .tile-label>span{color:var(--ink)}
.music-tile>img{background:var(--paper)}
.text-page p{color:#555}
.outline-button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tour-layout .outline-button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.release-image{background:var(--paper)}
.skip{background:var(--ink);color:var(--paper)}
/* Video covers: monochrome at rest, color and exact title on interaction. */
.page-videos .section-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.page-videos .video-grid{gap:8px;padding:8px;grid-template-columns:repeat(3,minmax(0,1fr))}
.page-videos .video-tile{position:relative;overflow:hidden;aspect-ratio:16/9;background:#121212}
.page-videos .video-tile>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .4s ease}
.page-videos .video-tile .tile-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:7%;border:0;min-height:0;text-align:center;color:#fff;background:#0006;opacity:0;transition:opacity .25s ease}
.page-videos .video-tile .tile-label strong{font-size:clamp(18px,2vw,32px);line-height:1.25;max-width:95%;text-wrap:balance}
.page-videos .video-tile:hover>img,.page-videos .video-tile:focus-visible>img,.page-videos .video-tile:active>img{filter:grayscale(0)}
.page-videos .video-tile:hover .tile-label,.page-videos .video-tile:focus-visible .tile-label,.page-videos .video-tile:active .tile-label{opacity:1}
@media(max-width:700px){.page-videos .video-grid{grid-template-columns:1fr;gap:6px;padding:6px}.page-videos .video-tile .tile-label strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.page-videos .video-tile>img,.page-videos .video-tile .tile-label{transition:none}}

/* Music gallery shares the compact, image-led video layout. */
.page-music .section-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.page-music .music-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px}
.page-music .music-tile{position:relative;overflow:hidden;aspect-ratio:4/5}
.page-music .music-tile>img{width:100%;height:100%;object-fit:cover;object-position:center}
.page-music .music-tile .tile-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:7%;border:0;min-height:0;text-align:center;color:#fff;background:#0006;opacity:0;transition:opacity .25s ease}
.page-music .music-tile .tile-label strong{font-size:clamp(18px,2vw,32px);line-height:1.25;max-width:95%;text-wrap:balance}
.page-music .music-tile:hover .tile-label,.page-music .music-tile:focus-visible .tile-label,.page-music .music-tile:active .tile-label{opacity:1}
@media(max-width:700px){.page-music .music-grid{grid-template-columns:1fr;gap:6px;padding:6px}.page-music .music-tile .tile-label strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.page-music .music-tile .tile-label{transition:none}}

/* Transparent black brand mark across all pages. */
.brand{background:transparent}.brand img{filter:brightness(0)}

/* Align the desktop logo with the adjacent page heading. */
@media(min-width:701px){.sidebar{padding-top:0}.brand{height:92px;flex-shrink:0;margin-bottom:0}.page-header{min-height:92px}}


/* One vertical row of social links in the desktop sidebar. */
@media(min-width:701px){.socials{grid-template-columns:36px;justify-content:center;gap:8px;padding-top:28px}.sidebar nav{flex-shrink:0}}

/* Compact sidebar, sized around the navigation labels. */
@media(min-width:701px){:root{--sidebar:120px}.sidebar{padding-left:12px;padding-right:12px}.brand{align-self:center}.sidebar nav a{white-space:nowrap}.sidebar nav a[aria-current]:before{left:-8px}}

/* Store opening page. */
.store-coming{min-height:calc(100svh - 92px);padding:80px var(--space);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.store-label{font-size:14px;font-weight:550;letter-spacing:.16em;color:#626262;margin-bottom:26px}
.store-coming h1{font-size:clamp(48px,10vw,150px);line-height:1.05;letter-spacing:-.045em}
.store-note{font-size:18px;color:#626262;margin-top:28px}
@media(max-width:700px){.store-coming{min-height:calc(100svh - 151px);padding:50px 20px}.store-note{font-size:16px}}

/* Fit the full biography portrait into the first screen below the header. */
.page-bio .bio-banner{width:100%;height:calc(100svh - 92px);aspect-ratio:auto;object-fit:contain;object-position:center;background:#000}
@media(max-width:700px){.page-bio .bio-banner{height:calc(100svh - 152px)}}

/* Live Bandsintown concert listing. */
.page-tour .tour-layout{grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:5%}
.page-tour .text-copy{min-width:0}.tour-events{margin-top:34px;min-height:150px;width:100%}
.tour-source{display:inline-block;margin-top:28px;font-size:14px;color:#626262;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.page-tour .tour-layout{grid-template-columns:1fr}.page-tour .tour-portrait{max-width:440px}.tour-events{margin-top:26px}}

/* Product showcase; checkout will be added separately. */
.store-product{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(24px,4vw,64px) var(--space);min-height:calc(100svh - 92px)}
.product-photo{min-width:0}.product-photo img{width:100%;height:auto;object-fit:contain}
.product-copy{min-width:0;padding:20px 0}.product-category{font-size:14px;font-weight:550;letter-spacing:.12em;color:#626262;margin-bottom:28px}
.product-copy :is(h1,h2){font-size:clamp(30px,3.4vw,58px);line-height:1.08;letter-spacing:-.035em}
.product-price{font-size:clamp(28px,2.5vw,40px);font-weight:550;margin-top:28px;line-height:1.2}
.product-tagline{font-size:18px;line-height:1.5;color:#626262;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:850px){.store-product{grid-template-columns:1fr;gap:22px;min-height:0}.product-copy{padding:0 0 24px}.product-category{margin-bottom:18px}.product-copy :is(h1,h2){font-size:36px}.product-price{margin-top:22px}.product-tagline{margin-top:24px}}

.store-product+.store-product{border-top:1px solid var(--line)}.product-shirt .product-photo img{max-height:75svh;object-fit:contain}

/* Ordering will open once checkout is connected. */
.product-order{margin-top:30px;max-width:320px}.order-soon{font-size:12px;font-weight:550;letter-spacing:.14em;color:#626262;margin-bottom:10px}
.order-button{display:block;width:100%;min-height:52px;padding:14px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14px;font-weight:550;letter-spacing:.04em;border-radius:0}
.order-button:disabled{cursor:not-allowed;opacity:.65}

/* Compact catalog with accessible native product dialogs. */
.shop-catalog{padding:32px var(--space) 48px}.shop-heading{font-size:28px;line-height:1.2;margin-bottom:28px}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}
.shop-card{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.shop-card-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;padding:16px}.shop-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .2s ease}.shop-card:hover .shop-card-image img{transform:scale(1.035)}
.shop-card-title{font-size:18px;font-weight:550;line-height:1.3;margin-top:14px}.shop-card-price{font-size:18px;margin-top:8px}.shop-card-status{font-size:12px;letter-spacing:.12em;color:#626262;margin-top:10px}
.product-dialog{width:min(1050px,calc(100% - 32px));max-height:90svh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:auto}.product-dialog::backdrop{background:#0009}.product-modal-open{overflow:hidden}
.product-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;z-index:2;width:44px;height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:30px;line-height:1;cursor:pointer}
.product-dialog .store-product{clear:both;min-height:0;padding:12px 36px 36px;gap:32px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.product-dialog .product-photo img{max-height:60svh;object-fit:contain}.product-dialog .product-copy h2{font-size:clamp(28px,3vw,44px)}
@media(max-width:900px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.shop-catalog{padding:26px 20px}.shop-grid{gap:24px 14px}.shop-card-image{padding:4px}.shop-card-title,.shop-card-price{font-size:16px}.product-dialog .store-product{grid-template-columns:1fr;padding:4px 20px 28px;gap:20px}.product-dialog .product-photo img{max-height:40svh}.product-dialog .product-copy{padding:0}.product-dialog .product-category{display:none}.product-dialog .product-copy h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.shop-card-image img{transition:none}}
.shop-card-image{position:relative;display:block;padding:0}.shop-card-image img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px)}
@media(max-width:600px){.shop-card-image img{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}}

.product-copy .product-tagline{border-top:0;padding-top:0;margin-top:20px}.product-copy .product-price{margin-top:20px}
