
@font-face{font-family:"Bree Serif";src:url("fonts/bree-serif-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Slab";src:url("fonts/roboto-slab-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Slab";src:url("fonts/roboto-slab-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

:root {
  --navy:#192538; --midnight:#0b111b; --bone:#ead8bb; --parchment:#efe1ca;
  --brass:#b99467; --saddle:#6f4d37; --white:#f7f2e8; --muted:#a69b8a;
  --grain:url("grain.svg"); --wear:url("wear.svg");
  --font-display:"Bree Serif",Rockwell,Georgia,serif;
  --font-condensed:"Barlow Condensed","Arial Narrow",sans-serif;
  --font-body:"Roboto Slab",Georgia,serif;
  --background:var(--midnight); --foreground:var(--white); --card:var(--navy);
  --card-foreground:var(--white); --popover:var(--navy); --popover-foreground:var(--white);
  --primary:var(--bone); --primary-foreground:var(--midnight); --secondary:var(--saddle);
  --secondary-foreground:var(--white); --muted-foreground:var(--muted);
  --accent:var(--brass); --accent-foreground:var(--midnight);
  --border:rgb(234 216 187 / 24%); --input:rgb(234 216 187 / 30%); --ring:var(--brass); --radius:0;
}

@theme inline {
  --color-background:var(--background); --color-foreground:var(--foreground);
  --color-card:var(--card); --color-card-foreground:var(--card-foreground);
  --color-popover:var(--popover); --color-popover-foreground:var(--popover-foreground);
  --color-primary:var(--primary); --color-primary-foreground:var(--primary-foreground);
  --color-secondary:var(--secondary); --color-secondary-foreground:var(--secondary-foreground);
  --color-muted-foreground:var(--muted-foreground); --color-accent:var(--accent);
  --color-accent-foreground:var(--accent-foreground); --color-border:var(--border);
  --color-input:var(--input); --color-ring:var(--ring); --font-sans:var(--font-body);
  --radius-sm:0; --radius-md:0; --radius-lg:0; --radius-xl:0;
}

*{box-sizing:border-box} html{background:var(--midnight);scroll-behavior:smooth}
body{margin:0;background:var(--midnight);color:var(--white);font-family:var(--font-body);font-size:16px}
main{position:relative;isolation:isolate}main:after{position:fixed;z-index:100;inset:0;background-image:var(--grain);content:"";mix-blend-mode:soft-light;opacity:.075;pointer-events:none}
a{color:inherit;text-decoration:none} button,a{-webkit-tap-highlight-color:transparent}
.section{position:relative;overflow:hidden;padding:clamp(5rem,9vw,9rem) 5vw}
.section-inner{width:min(1240px,100%);margin:0 auto}

.hero{position:relative;display:grid;min-height:760px;height:100svh;place-items:center;overflow:hidden;background:var(--midnight)}
.hero-media,.hero-scrim{position:absolute;inset:0}
.hero-media{overflow:hidden;background:#0b111b url("placeholder-crowd.jpg") center/cover no-repeat}
.hero-media:before{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0 79px,rgb(255 255 255 / 2%) 80px);content:"";opacity:.7}
.hero-video{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100%;border:0;pointer-events:none;transform:translate(-50%,-50%) scale(1.035)}
.hero-scrim{background:var(--grain),linear-gradient(180deg,rgb(8 13 21 / 68%) 0,rgb(8 13 21 / 28%) 34%,rgb(5 8 13 / 48%) 72%,#090e16 100%),linear-gradient(90deg,rgb(6 10 17 / 56%),transparent 32%,transparent 68%,rgb(6 10 17 / 56%));background-blend-mode:soft-light,normal,normal}

.site-header{position:absolute;z-index:20;top:0;left:0;display:flex;width:100%;align-items:center;justify-content:space-between;padding:1.6rem 4vw;border-bottom:1px solid rgb(234 216 187 / 20%);font-family:var(--font-condensed);letter-spacing:.13em}
.site-header{justify-content:flex-end}
.desktop-nav{display:flex;align-items:center;gap:clamp(1.4rem,2.8vw,3rem);font-size:.82rem;font-weight:800}
.desktop-nav a:not(.nav-book){position:relative;padding:.8rem 0}
.desktop-nav a:not(.nav-book):after{position:absolute;bottom:.4rem;left:0;width:0;height:1px;background:var(--bone);content:"";transition:width .2s ease}
.desktop-nav a:hover:after{width:100%}.nav-book{padding:.8rem 1.2rem;border:1px solid var(--bone)}
.menu-toggle,.mobile-nav{display:none}

.hero-content{position:relative;z-index:5;display:flex;width:min(900px,88vw);flex-direction:column;align-items:center;padding-top:5.5rem;text-align:center}
.eyebrow,.section-number,.sample-note{font-family:var(--font-condensed);font-size:.75rem;font-weight:900;letter-spacing:.22em}
.eyebrow{margin:0 0 1.4rem;color:var(--bone)}
.hero-logo{display:block;width:min(570px,76vw);max-height:52vh;object-fit:contain;filter:drop-shadow(0 14px 28px rgb(0 0 0 / 46%))}
.hero-title{margin:1rem 0 0;color:var(--bone);font-family:var(--font-display);font-size:clamp(2rem,3.4vw,3rem);line-height:1.15;text-shadow:0 2px 14px #0b111b}
.hero-tagline{margin:.6rem 0 0;color:var(--bone);font-family:var(--font-body);font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.5}
.hero-actions{display:flex;gap:.85rem;margin-top:2rem}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:.9rem 1.45rem;border:1px solid transparent;font-family:var(--font-condensed);font-size:.88rem;font-weight:700;letter-spacing:.1em;transition:background .2s ease,color .2s ease,transform .2s ease}
.button:hover{transform:translateY(-2px)}.button-light{background:var(--bone);color:var(--midnight)}.button-light:hover{background:var(--white)}
.button-outline{border-color:var(--bone);color:var(--bone)}.button-outline:hover{background:var(--bone);color:var(--midnight)}

.band-section{border-block:3px double rgb(185 148 103 / 55%);background:var(--wear),var(--grain),radial-gradient(circle at 12% 18%,rgb(185 148 103 / 12%),transparent 32rem),linear-gradient(rgb(25 37 56 / 94%),rgb(11 17 27 / 97%)),repeating-linear-gradient(45deg,transparent 0 5px,rgb(255 255 255 / 3%) 6px);background-size:560px 560px,180px 180px,auto,auto,auto;background-blend-mode:multiply,soft-light,normal,normal,normal}
.band-section:before{position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at top left,rgb(0 0 0 / 42%),transparent 34%),radial-gradient(ellipse at bottom right,rgb(0 0 0 / 48%),transparent 36%),linear-gradient(90deg,rgb(0 0 0 / 35%),transparent 6%,transparent 94%,rgb(0 0 0 / 35%)),linear-gradient(rgb(0 0 0 / 25%),transparent 7%,transparent 93%,rgb(0 0 0 / 32%));box-shadow:inset 0 0 85px rgb(0 0 0 / 46%),inset 0 0 0 1rem rgb(185 148 103 / 7%);content:"";pointer-events:none}
.band-intro{position:relative;z-index:1;display:grid;grid-template-columns:minmax(130px,.35fr) 1.65fr;gap:2rem}
.section-number{margin:.7rem 0 0;color:var(--brass)}
.band-intro h1,.shows-heading h2,.booking-content h2{margin:0;color:var(--bone);font-family:var(--font-display);font-weight:400;line-height:1.12;letter-spacing:-.01em}
.band-intro h1{max-width:720px;font-size:clamp(2.15rem,3.7vw,3.75rem)}
.ornament{display:flex;width:min(510px,100%);align-items:center;gap:.85rem;margin:2.3rem 0;color:var(--brass)}
.ornament span{height:1px;flex:1;background:currentColor;opacity:.5}.ornament b{font-size:.85rem}
.lead-copy{max-width:740px;margin:0;color:#d8ccba;font-family:var(--font-body);font-size:clamp(1.03rem,1.45vw,1.2rem);line-height:1.75}

.format-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.3rem,3vw,3rem);margin-top:clamp(4rem,8vw,8rem);align-items:start}
.format-poster{position:relative;display:flex;overflow:hidden;aspect-ratio:4/3;flex-direction:column;align-items:center;justify-content:center;padding:clamp(2rem,5vw,4.25rem);border:1px solid rgb(234 216 187 / 42%);background:var(--wear),var(--grain),radial-gradient(circle at 50% 42%,rgb(185 148 103 / 20%),transparent 43%),radial-gradient(ellipse at 50% 115%,rgb(0 0 0 / 58%),transparent 54%),repeating-linear-gradient(0deg,transparent 0 5px,rgb(234 216 187 / 2%) 6px),#111a29;background-size:410px 410px,180px 180px,auto,auto,auto,auto;background-blend-mode:multiply,soft-light,normal,normal,normal,normal;color:var(--bone);box-shadow:inset 0 0 75px rgb(0 0 0 / 72%),inset 0 0 0 8px #111a29,inset 0 0 0 9px rgb(185 148 103 / 45%),0 18px 34px rgb(0 0 0 / 22%);text-align:center;transition:border-color .25s ease,background-color .25s ease}
.format-full .format-poster{background:var(--wear),var(--grain),radial-gradient(circle at 50% 42%,rgb(234 216 187 / 13%),transparent 43%),radial-gradient(ellipse at 50% 115%,rgb(0 0 0 / 58%),transparent 54%),repeating-linear-gradient(0deg,transparent 0 5px,rgb(234 216 187 / 2%) 6px),#4f3324;background-size:410px 410px,180px 180px,auto,auto,auto,auto;background-blend-mode:multiply,soft-light,normal,normal,normal,normal;box-shadow:inset 0 0 75px rgb(0 0 0 / 58%),inset 0 0 0 8px #4f3324,inset 0 0 0 9px rgb(234 216 187 / 36%),0 18px 34px rgb(0 0 0 / 22%)}
.format-poster:before,.format-poster:after{position:absolute;color:rgb(234 216 187 / 8%);font-family:var(--font-display);font-size:clamp(8rem,18vw,14rem);line-height:1;content:"★"}
.format-poster:before{top:-2.8rem;left:-2.2rem}.format-poster:after{right:-2.3rem;bottom:-3.2rem}
.poster-brand,.poster-kicker,.poster-tagline{position:relative;z-index:1;font-family:var(--font-condensed);font-weight:700;letter-spacing:.2em}
.poster-brand{font-size:clamp(.68rem,1.1vw,.82rem)}.poster-kicker{margin-top:clamp(1.1rem,2vw,1.8rem);color:var(--brass);font-size:clamp(.75rem,1.25vw,.95rem)}
.format-full .poster-kicker{color:#dfc29d}.poster-title{position:relative;z-index:1;margin:.02em 0;color:var(--bone);font-family:var(--font-display);font-size:clamp(4.2rem,9.2vw,7.8rem);font-weight:400;line-height:.96;letter-spacing:.01em;text-shadow:3px 4px 0 rgb(7 11 18 / 68%)}
.poster-title-full{max-width:8ch;font-size:clamp(3.5rem,7.5vw,6.4rem);line-height:.85}.poster-tagline{max-width:34ch;font-size:clamp(.63rem,1vw,.78rem);line-height:1.5}
.poster-rule{position:relative;z-index:1;display:flex;width:min(360px,82%);align-items:center;gap:.75rem;margin-top:clamp(.9rem,2vw,1.5rem);color:var(--brass)}.poster-rule i{height:1px;flex:1;background:currentColor}.poster-rule b{font-size:.75rem}.poster-rule-bottom{margin-top:clamp(1.1rem,2vw,1.8rem)}
.format-card:hover .format-poster{border-color:rgb(234 216 187 / 70%)}
.photo-break-label{position:absolute;z-index:2;right:1.1rem;bottom:1rem;color:rgb(234 216 187 / 72%);font-family:var(--font-condensed);font-size:.7rem;font-weight:700;letter-spacing:.16em}
.format-copy{display:grid;grid-template-columns:48px 1fr;gap:1.2rem;padding-top:1.3rem;border-top:1px solid rgb(234 216 187 / 24%);margin-top:1rem}
.format-copy>p{margin:.2rem 0 0;color:var(--brass);font-family:var(--font-condensed);font-size:.78rem;font-weight:900}
.format-copy h2{margin:0;color:var(--bone);font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:400}.format-copy div p{margin:.45rem 0 0;color:var(--muted);font-family:var(--font-body);line-height:1.6}

.shows-section{padding-top:clamp(8rem,13vw,13rem);background:var(--wear),var(--grain),linear-gradient(rgb(239 225 202 / 95%),rgb(239 225 202 / 95%)),repeating-linear-gradient(0deg,transparent 0 5px,rgb(25 37 56 / 2%) 6px);background-size:650px 650px,180px 180px,auto,auto;background-blend-mode:multiply,multiply,normal,normal;color:var(--navy)}
.shows-section:before{position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgb(64 37 23 / 18%),transparent 7%,transparent 93%,rgb(64 37 23 / 20%)),linear-gradient(rgb(64 37 23 / 15%),transparent 5%,transparent 95%,rgb(64 37 23 / 20%)),radial-gradient(circle at 8% 28%,rgb(76 43 24 / 13%),transparent 18rem),radial-gradient(circle at 88% 72%,rgb(76 43 24 / 12%),transparent 20rem);box-shadow:inset 0 0 90px rgb(54 32 20 / 18%);content:"";pointer-events:none}.shows-section>.section-inner{position:relative;z-index:1}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.shows-heading h2{color:var(--navy);font-size:clamp(2.8rem,5.6vw,5.4rem)}
.shows-heading .section-number{color:var(--saddle);margin-bottom:1.3rem}.sample-note{color:rgb(25 37 56 / 58%);margin:0 0 .8rem}.shows-section .ornament{width:100%;color:var(--saddle)}
.show-list{border-top:2px solid var(--navy)}
.show-row{display:grid;grid-template-columns:110px 130px 1fr 150px 30px;min-height:140px;align-items:center;gap:1.5rem;border-bottom:1px solid rgb(25 37 56 / 30%);transition:background .2s ease,padding .2s ease}.show-row:hover{padding-inline:1rem;background:rgb(25 37 56 / 6%)}
.show-date{display:grid;grid-template-columns:30px 1fr;align-items:center}.show-date span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-condensed);font-size:.73rem;font-weight:700;letter-spacing:.16em}.show-date strong{font-family:var(--font-body);font-size:3.35rem;font-weight:600;line-height:1}
.show-type{color:var(--saddle);font-family:var(--font-condensed);font-size:.78rem;font-weight:900;letter-spacing:.14em}
.show-name h3{margin:0;font-family:var(--font-body);font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:600;letter-spacing:-.01em}.show-name p,.show-row time{margin:.45rem 0 0;color:rgb(25 37 56 / 68%);font-size:.92rem}.show-row time{margin:0;font-weight:600}.show-arrow{font-size:1.45rem}
.text-link{display:inline-flex;align-items:center;gap:1.4rem;margin-top:2.6rem;padding-bottom:.45rem;border-bottom:1px solid currentColor;font-family:var(--font-condensed);font-size:.78rem;font-weight:900;letter-spacing:.13em}.text-link span{transition:transform .2s ease}.text-link:hover span{transform:translateX(5px)}

.booking-section{min-height:760px;display:grid;place-items:center;border-top:4px double rgb(234 216 187 / 42%);background:var(--wear),var(--grain),linear-gradient(rgb(111 77 55 / 88%),rgb(56 35 25 / 94%)),repeating-linear-gradient(45deg,transparent 0 5px,rgb(255 255 255 / 2%) 6px);background-size:520px 520px,180px 180px,auto,auto;background-blend-mode:multiply,soft-light,normal,normal;text-align:center}
.booking-section:before{position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at top left,rgb(22 10 5 / 42%),transparent 34%),radial-gradient(ellipse at bottom right,rgb(22 10 5 / 54%),transparent 38%),linear-gradient(90deg,rgb(20 8 3 / 46%),transparent 8%,transparent 92%,rgb(20 8 3 / 48%)),linear-gradient(rgb(20 8 3 / 28%),transparent 8%,transparent 92%,rgb(20 8 3 / 38%));box-shadow:inset 0 0 120px rgb(20 8 3 / 58%);content:"";pointer-events:none}
.booking-star{position:absolute;z-index:1;top:50%;left:50%;color:rgb(234 216 187 / 4%);font-size:min(68vw,660px);line-height:.8;transform:translate(-50%,-50%)}
.booking-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.booking-content .section-number{color:var(--bone)}.booking-content h2{font-size:clamp(2.45rem,4vw,4rem);margin-top:1rem}.booking-content .ornament{margin:1.65rem 0;color:var(--bone)}.booking-content>p:not(.section-number){margin:0 0 2.3rem;color:var(--bone);font-family:var(--font-body);font-size:1.05rem}
.contact-plaque{position:relative;width:min(780px,100%);padding:clamp(2.15rem,5vw,3.4rem);border:4px double rgb(234 216 187 / 56%);background:var(--wear),linear-gradient(rgb(11 17 27 / 38%),rgb(11 17 27 / 28%));background-size:360px 360px,auto;background-blend-mode:multiply,normal;box-shadow:inset 0 0 48px rgb(8 4 2 / 42%),0 20px 55px rgb(20 8 3 / 28%)}
.contact-plaque:before,.contact-plaque:after{position:absolute;color:var(--brass);font-size:.78rem;content:"★"}.contact-plaque:before{top:.75rem;left:.85rem}.contact-plaque:after{right:.85rem;bottom:.75rem}
.contact-kicker{display:block;margin-bottom:.8rem;color:rgb(234 216 187 / 72%);font-family:var(--font-condensed);font-size:.76rem;font-weight:900;letter-spacing:.2em}
.contact-details{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin-bottom:2rem;color:var(--bone)}.contact-details strong{font-family:var(--font-condensed);font-size:clamp(1.3rem,2vw,1.65rem);letter-spacing:.12em}.contact-details a{border-bottom:1px solid transparent;line-height:1.2;transition:border-color .2s ease}.contact-details a:hover{border-color:currentColor}.contact-phone{font-family:var(--font-display);font-size:clamp(2.15rem,4.8vw,3.7rem)}.contact-email{font-family:var(--font-body);font-size:clamp(1.05rem,2.1vw,1.55rem)}.contact-actions{display:flex;justify-content:center;gap:.8rem}.button-dark{background:var(--midnight);color:var(--bone)}.button-dark:hover{background:var(--navy)}.button-contact-outline{border-color:var(--bone);color:var(--bone)}.button-contact-outline:hover{background:var(--bone);color:var(--midnight)}
footer{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:2rem 4vw;background:#070b12;color:rgb(234 216 187 / 67%);font-family:var(--font-condensed);font-size:.68rem;font-weight:900;letter-spacing:.14em}footer a{justify-self:end}

@media(max-width:900px){
  .desktop-nav{display:none}.menu-toggle{position:relative;z-index:31;display:grid;width:46px;height:42px;place-content:center;gap:7px;border:1px solid rgb(234 216 187 / 35%);background:transparent}.menu-toggle span{display:block;width:20px;height:1px;background:var(--bone)}
  .mobile-nav{position:absolute;z-index:30;top:0;right:0;display:flex;width:min(340px,100vw);min-height:100svh;flex-direction:column;justify-content:center;gap:1.5rem;padding:5rem 3rem;background:rgb(11 17 27 / 98%);font-family:var(--font-display);font-size:1.8rem;transform:translateX(102%);transition:transform .25s ease}.mobile-nav.is-open{transform:translateX(0)}
  .band-intro{grid-template-columns:1fr}.format-grid{grid-template-columns:1fr 1fr}.show-row{grid-template-columns:90px 100px 1fr 30px}.show-row time{display:none}
}

@media(max-width:640px){
  .section{padding:4.5rem 1.25rem}.site-header{padding:1rem 1.15rem}.hero-actions{width:100%;flex-direction:column;max-width:320px}
  .format-grid{grid-template-columns:1fr;margin-top:3.5rem}.shows-section{padding-top:5rem}.section-heading{align-items:start;flex-direction:column;gap:1rem}.shows-heading h2{font-size:2.75rem}.sample-note{margin:0}
  .show-row{grid-template-columns:78px 1fr 24px;gap:.85rem;min-height:126px}.show-date{grid-row:span 2}.show-date strong{font-size:2.7rem}.show-type{grid-column:2;align-self:end}.show-name{grid-column:2;align-self:start}.show-name h3{font-size:1.2rem}.show-arrow{grid-column:3;grid-row:1/span 2}.booking-section{min-height:680px}.booking-content h2{font-size:2.8rem}.contact-plaque{padding:2.2rem 1.2rem}.contact-email{font-size:1rem;letter-spacing:-.015em}.contact-actions{flex-direction:column;width:100%}.contact-actions .button{width:100%}footer{grid-template-columns:1fr auto}
}

/* Portrait: keep the central 70% of the stage, cropping 15% per side. */
@media(max-aspect-ratio:1/1){
  .hero{--stage-video-height:80.3571429vw;height:auto;min-height:100svh;padding:5.75rem 0 1.5rem}
  .hero-media{background:var(--midnight)}
  .hero-video{top:4.625rem;width:142.8571429vw;height:var(--stage-video-height);min-width:0;min-height:0;transform:translateX(-50%)}
  .hero-scrim{pointer-events:none}
  .hero-scrim:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 0,transparent calc(4.625rem + var(--stage-video-height) - 8.25vw),var(--midnight) calc(4.625rem + var(--stage-video-height)))}
  .hero-content{padding-top:0}
  .hero-logo{width:min(360px,76vw);max-height:38svh}
  .hero-tagline{max-width:none}
  .hero-actions{margin-top:1.4rem;gap:.75rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero-media{background:#0b111b url("placeholder-crowd.jpg") center/cover no-repeat}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
