:root{--bg:#141414;--panel:#1d1d1b;--text:#f1eee4;--muted:#b5b2a8;--accent:#ffc15c;--line:#393a33}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,a,input,summary,textarea{outline-offset:5px}.wrap{max-width:1180px;margin:auto;padding-left:40px;padding-right:40px}.nav{max-width:1360px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:19px;font-weight:900;letter-spacing:-.8px;line-height:1.2}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:8px;color:var(--muted)}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav form{margin:0}.hero{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:70px;padding-bottom:80px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:var(--accent);margin:0 0 22px}h1{font-size:clamp(60px,8.5vw,116px);font-weight:900;line-height:.88;letter-spacing:-6px;margin:0 0 30px}h1 em{font-style:normal;color:var(--accent)}.intro{max-width:340px;color:var(--muted);font-size:16px;margin-bottom:30px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--accent);color:#141414;padding:14px 22px;border:0;font-weight:bold;font-size:14px;cursor:pointer}.hero-art{position:relative;transform:rotate(2deg)}.hero-art>img{width:100%;height:540px;object-fit:cover;filter:grayscale(1)}.photo-placeholder{height:540px;background:radial-gradient(ellipse at 25% 15%,#67644a,transparent 55%),linear-gradient(145deg,#33332e,#10100f);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.record{height:330px;width:330px;border-radius:50%;background:repeating-radial-gradient(circle,#171715 0px,#171715 3px,#30302a 4px,#171715 5px);box-shadow:0 30px 50px #0008;position:relative}.record:before{content:'';position:absolute;inset:35%;border-radius:50%;background:var(--accent)}.record:after{content:'';position:absolute;inset:49%;border-radius:50%;background:#141414}.photo-caption{position:absolute;bottom:25px;left:25px;font-size:10px;letter-spacing:2px;color:#ceccbe}.art-label{position:absolute;right:-10px;bottom:30px;background:var(--accent);color:#111;padding:10px 18px;font-weight:900;font-size:12px;transform:rotate(-6deg)}.ticker{padding:16px 0;background:var(--accent);color:#151515;text-align:center;font-weight:900;font-size:19px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.section{padding-top:80px;padding-bottom:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}h2{font-size:44px;line-height:1.05;letter-spacing:-2px;margin:0 0 15px}h2 span{color:var(--accent)}.small{font-size:12px;color:var(--muted)}.gig{display:grid;grid-template-columns:140px 1fr auto;gap:25px;align-items:center;border-top:1px solid var(--line);padding:25px 0}.gig time{color:var(--accent);font-weight:bold}.gig h3,.gig p{margin:0}.gig p{color:var(--muted);font-size:14px}.outline{border:1px solid var(--line);padding:10px 16px;background:transparent;color:var(--text);font-size:12px}.empty{background:var(--panel);padding:30px;width:100%;border:1px solid var(--line)}.empty h3{margin:0 0 8px}.empty p{color:var(--muted);margin:0}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.video-grid>.empty{grid-column:1/-1}iframe{width:100%;aspect-ratio:16/9;border:0;background:#000}.video-grid h3{font-size:16px}.contact{padding-top:100px;padding-bottom:85px}.contact h2{font-size:clamp(44px,6vw,76px);margin-bottom:28px}footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:24px;display:flex;justify-content:space-between;font-size:12px;font-weight:bold}footer span{color:var(--muted);font-weight:normal}.logo{max-width:100%;max-height:340px;object-fit:contain}.login{max-width:480px;padding:70px 25px;margin:auto}.login h1{font-size:36px;letter-spacing:-1px;line-height:1.1;margin-top:60px}.login p,.admin>p{color:var(--muted)}label{display:block;font-size:14px;margin-bottom:18px}input,textarea{display:block;width:100%;padding:12px;border:1px solid #55564c;background:#20211d;color:var(--text);font:inherit;margin-top:6px}.login button{width:100%;margin-bottom:28px}.admin{padding-top:50px;padding-bottom:80px;max-width:900px}.admin h1{font-size:42px;letter-spacing:-2px;line-height:1.1}.admin section{margin-top:48px}.admin h2{font-size:30px}.editor{margin:24px 0;max-width:640px}.notice{border:1px solid var(--accent);padding:16px;color:var(--text)!important}details{border:1px solid var(--line);margin:12px 0;padding:18px}summary{cursor:pointer;font-weight:bold}.danger{background:#542b27;color:#ffe3d9}.confirm{display:flex;gap:8px;align-items:center}.confirm input{width:auto;margin:0}@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}.nav{padding:22px;flex-wrap:wrap}nav{gap:20px}.hero{grid-template-columns:1fr;padding-top:45px;gap:35px}.hero h1{font-size:86px;letter-spacing:-5px}.hero-art{margin:0 8px}.photo-placeholder,.hero-art>img{height:360px}.record{height:260px;width:260px}.section{padding-top:55px}h2{font-size:34px}.section-heading{align-items:start;flex-direction:column;gap:8px}.gig{grid-template-columns:1fr;gap:8px}.gig .outline{justify-self:start;margin-top:8px}.video-grid{grid-template-columns:1fr}.contact{padding-top:70px}.admin h1{font-size:34px}footer{gap:12px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Band artwork: preserve the entire composition at every screen size. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero{grid-template-columns:1.05fr 1fr;gap:38px 60px;padding-top:45px;padding-bottom:55px}
.logo-panel{background:#f1eee4;border-radius:3px;padding:12px;overflow:hidden}
.logo-panel .logo{display:block;width:100%;height:auto;max-height:none}
.hero-welcome h2{font-size:clamp(34px,4.5vw,58px);letter-spacing:-2px;line-height:1.06;margin-bottom:22px}
.hero-welcome h2 em{font-style:normal;color:var(--accent)}
.hero-welcome .intro{max-width:390px}
.hero-art{grid-column:1/-1;transform:none;margin:0}
.hero-art>img{display:block;width:100%;height:auto;object-fit:contain;filter:none;border:1px solid var(--line)}
.art-label{right:15px;bottom:18px;transform:rotate(-3deg);box-shadow:0 4px 20px #0006}
@media(max-width:700px){.hero{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:35px}.logo-panel{max-width:480px}.hero-art{margin:0}.hero-art>img{height:auto}.hero-welcome h2{font-size:42px}.art-label{font-size:9px;padding:6px 10px;right:8px;bottom:10px}}

.band-intro{max-width:740px;color:var(--muted);font-size:18px;margin:0 0 32px}.band-lineup{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.band-lineup li{padding:24px 0;border-top:1px solid var(--line)}.band-lineup h3{font-size:20px;margin:0 0 4px}.band-lineup p{color:var(--accent);font-size:13px;margin:0}@media(max-width:700px){.band-lineup{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.band-lineup h3{font-size:17px}.nav nav{flex-wrap:wrap;gap:16px}}@media(max-width:360px){.band-lineup{grid-template-columns:1fr}}

.contact-email{color:var(--accent);overflow-wrap:anywhere}

.video-card{min-width:0}.short-video iframe{aspect-ratio:9/16;max-width:315px;display:block;margin:0 auto}.short-video{background:var(--panel);padding:20px}.video-grid{align-items:start}
.private-space{padding-top:45px;padding-bottom:80px}.private-space>h1{font-size:clamp(32px,5vw,52px);line-height:1.08;letter-spacing:-2px}.private-space>p{max-width:850px}.muted{color:var(--muted)}.private-panel{margin:30px 0;padding:28px;border:1px solid var(--line);background:var(--panel)}.private-panel h2{font-size:28px;letter-spacing:-1px}.calendar-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:40px 0 10px}.calendar-heading h2{font-size:30px;margin:0}.calendar-scroll{overflow-x:auto}.month-calendar{border-collapse:collapse;width:100%;table-layout:fixed;min-width:650px}.month-calendar th{font-size:12px;color:var(--muted);padding:10px;text-align:left}.month-calendar td{border:1px solid var(--line);height:125px;vertical-align:top;padding:8px}.other-month{background:#1b1b19;color:#87877c}.selected-day{background:#353024}.month-calendar .today .day-link{border-color:var(--accent)}.day-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:50%;font-weight:bold}.calendar-event{display:block;font-size:11px;padding:3px 5px;margin-top:5px;overflow-wrap:anywhere;border-left:3px solid var(--accent);background:#373122}.calendar-event.gig{border-left-color:#80b8ff;background:#1f2c3e}.calendar-conflict{display:block;font-size:10px;color:#ffb6a2;margin-top:4px}.availability-list{list-style:none;margin:25px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.availability-list li{padding:15px;border:1px solid var(--line)}.availability-list strong{display:block;margin-bottom:8px}.availability-list p{font-size:13px;margin-bottom:0;white-space:pre-wrap;overflow-wrap:anywhere}.status{display:inline-block;padding:4px 9px;font-size:12px;border:1px solid var(--line);border-radius:4px}.status.available{background:#233d2d;color:#b9efc8}.status.unavailable{background:#4b2725;color:#ffb6a2}.status.maybe{background:#453b23;color:#ffda88}.status.unknown{background:#292a28;color:#cccac0}.response-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}.rehearsal-card{padding:22px 0;border-top:1px solid var(--line);margin-top:20px}.rehearsal-card h3{margin-top:0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}select{display:block;width:100%;padding:12px;background:#20211d;color:var(--text);font:inherit;border:1px solid #55564c;margin-top:6px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.account-grid .private-panel{margin:0}.account-grid h2{font-size:24px}.account-toggle{margin-top:14px}.private-space .notice{overflow-wrap:anywhere}.nav nav{flex-wrap:wrap}@media(max-width:700px){.private-panel{padding:18px}.availability-list,.account-grid{grid-template-columns:1fr}.calendar-heading{gap:8px}.calendar-heading h2{font-size:22px;letter-spacing:-1px}.calendar-heading .outline{padding:8px;font-size:11px}.private-space{padding-top:30px}}

.song-tabs{margin:25px 0}.song-search{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:25px 0}.song-search label{flex:1;min-width:200px;margin:0}.song-section{padding-top:40px}.song-section h2{font-size:34px}.song-card{padding:24px;border:1px solid var(--line);background:var(--panel);margin-bottom:16px;overflow-wrap:anywhere}.song-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.song-heading h3{font-size:23px;line-height:1.3;margin:0}.song-heading p{margin:6px 0}.song-meta{display:flex;gap:35px;flex-wrap:wrap}.song-meta dt{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.song-meta dd{margin:0}@media(max-width:700px){.song-heading{flex-direction:column}.song-card{padding:18px}}

.setlist-set{margin:35px 0}.setlist-set h2{font-size:30px}.setlist-songs{padding-left:28px}.setlist-songs>li::marker{color:var(--accent);font-weight:bold}.setlist-songs .song-card h3{margin:0;font-size:23px}.song-picker{border:1px solid var(--line);max-height:350px;overflow:auto;padding:16px;margin:20px 0}.song-picker .confirm{padding:8px 0}.song-picker input{flex-shrink:0}.song-details{font-size:14px}@media print{body{background:white;color:black;font-size:12pt}.nav,.no-print,.private-space>.eyebrow,.notice{display:none!important}.wrap{max-width:none;padding:0}.private-space{padding:0}.private-space>h1{font-size:26pt}.setlist-set h2{font-size:18pt;break-after:avoid}.song-card{background:transparent;border:0;border-bottom:1px solid #ccc;padding:8px;margin:0;break-inside:avoid}.setlist-songs .song-card h3{font-size:14pt}.setlist-songs>li::marker,.muted,.small{color:#333}.setlist-songs p{margin:3px 0}.setlist-set{margin:20px 0}}
