
:root{
  --paper:#f1eee4;
  --ink:#090909;
  --muted:#6d6961;
  --blue:#204be5;
  --red:#d92b22;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{color:inherit}
img{display:block}
.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}

.site-header{height:74px;position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}
.brand{font-family:"Archivo Black",Impact,sans-serif;text-decoration:none;font-size:1.05rem;letter-spacing:-.035em}
.header-right{display:flex;align-items:center;gap:24px}
nav{display:flex;gap:28px}
nav a{text-decoration:none;text-transform:uppercase;font-family:"IBM Plex Mono",monospace;font-size:.7rem;font-weight:600;letter-spacing:.1em;border-bottom:1px solid transparent;padding-bottom:4px}
nav a:hover,nav a[aria-current="page"]{border-bottom-color:var(--ink)}
.social-links{display:flex;gap:12px;align-items:center}
.social-links a{display:flex;width:22px;height:22px;align-items:center;justify-content:center}
.social-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.social-links svg path{fill:currentColor;stroke:none}
.social-links svg .play{fill:var(--paper);stroke:none}
.menu-toggle{display:none;border:0;background:transparent;width:40px;height:40px;padding:8px;cursor:pointer;z-index:52}
.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink);margin:6px auto;transition:.2s}
.menu-toggle.is-open span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle.is-open span:last-child{transform:translateY(-4px) rotate(-45deg)}

.kicker,.eyebrow,.availability,.booking-note{font-family:"IBM Plex Mono",monospace;font-weight:600;letter-spacing:.2em;font-size:.7rem}
.paper-mark{position:absolute;z-index:0;pointer-events:none;opacity:.07}
.mark-blue{width:250px;height:18px;background:var(--blue);left:38%;bottom:74px;transform:rotate(-11deg)}
.mark-red{width:95px;height:65px;background:var(--red);left:-10px;bottom:0}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 22px;border:2px solid var(--ink);text-decoration:none;font-weight:800;font-size:.73rem;letter-spacing:.04em;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-paper{background:transparent}
.btn-outline-light{border-color:var(--paper);color:var(--paper)}

.hero{position:relative;min-height:720px;padding:105px 4vw 55px;display:grid;grid-template-columns:46% 54%;overflow:hidden}
.hero-copy{position:relative;z-index:5;align-self:center;padding-right:3vw}
.hero .kicker{margin-bottom:16px}
.hero h1{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(4.5rem,7.4vw,9rem);line-height:.8;letter-spacing:-.065em;margin:0 0 22px;white-space:nowrap}
.hero h2{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(1.8rem,2.5vw,3rem);line-height:.95;letter-spacing:-.04em;margin:0 0 25px}
.hero-intro,.hero-detail{max-width:620px;line-height:1.5}
.hero-intro{font-size:1.08rem;margin:0 0 14px}
.hero-detail{font-size:1rem;margin:0 0 28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.availability{margin-top:28px;line-height:1.6}
.availability span{margin:0 6px}

.hero-photo{position:relative;z-index:2;overflow:hidden;align-self:stretch;min-height:560px;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,4% 70%)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:grayscale(1) contrast(1.32)}
.photo-note{position:absolute;right:6%;bottom:8%;color:rgba(255,255,255,.82);font-family:"Comic Sans MS","Bradley Hand",cursive;font-style:italic;font-size:clamp(1.3rem,2vw,2.4rem);line-height:.95;transform:rotate(-8deg);text-align:left}

.show-teaser{background:var(--ink);color:var(--paper);padding:78px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.show-teaser h2{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(3.5rem,6.5vw,7.5rem);line-height:.82;letter-spacing:-.06em;margin:0}
.teaser-copy p{font-size:1.05rem;line-height:1.65;color:#d1ccc2;max-width:650px;margin:0 0 26px}

.live{padding:88px 4vw}
.section-head{display:grid;grid-template-columns:1fr 330px;gap:45px;align-items:end;margin-bottom:42px}
.section-head h2,.book h2,.show-details h2,.promoter-section h2{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(3.2rem,6vw,7rem);line-height:.85;letter-spacing:-.055em;margin:0}
.section-head p{color:var(--muted);line-height:1.5;margin:0}
.gig-list{border-top:2px solid var(--ink)}
.gig{display:grid;grid-template-columns:120px 1fr 170px;gap:28px;align-items:center;border-bottom:2px solid var(--ink);padding:22px 0}
.gig-date{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:end;font-family:"IBM Plex Mono",monospace}
.gig-date strong{font-family:"Archivo Black",Impact,sans-serif;font-size:2.25rem;line-height:.9}
.gig-date span{font-weight:700;font-size:.75rem;letter-spacing:.08em}
.gig-date small{grid-column:1 / -1;font-size:.65rem;letter-spacing:.14em;margin-top:5px}
.gig-info{display:flex;flex-direction:column;gap:5px}
.gig-info strong{font-size:1.12rem}
.gig-info span{font-size:.96rem}
.gig-info small{color:var(--muted)}
.gig-action{background:var(--ink);color:var(--paper);text-decoration:none;font-weight:800;font-size:.72rem;letter-spacing:.06em;padding:16px 18px;text-align:center}
.muted-action{background:transparent;color:var(--muted);border:1px solid #b6b0a5}
.booking-row .gig-date{display:block}

.book{padding:95px 4vw;background:var(--blue);color:white}
.book p{font-size:1.12rem;line-height:1.55;max-width:650px;margin:30px 0 18px}
.email{font-size:clamp(1rem,2vw,1.9rem);font-weight:800;text-decoration:none;border-bottom:3px solid currentColor}
.booking-note{margin-top:42px}

footer{background:var(--ink);color:var(--paper);padding:26px 4vw;display:grid;grid-template-columns:1fr 1.8fr;gap:40px;align-items:end}
.footer-left{display:flex;flex-direction:column;gap:6px}
.footer-left strong{font-family:"Archivo Black",Impact,sans-serif}
.footer-left span,.credit{font-size:.66rem;line-height:1.45;color:#aaa69f}
.credit a{color:#ddd8cf}

/* SHOW PAGE */
.show-mark-blue{left:28%;bottom:8%;width:200px}
.show-mark-red{left:auto;right:3%;bottom:5%;width:78px;height:55px}
.show-hero{position:relative;min-height:720px;padding:110px 4vw 60px;display:grid;grid-template-columns:50% 50%;overflow:hidden}
.show-copy{position:relative;z-index:4;align-self:center;padding-right:4vw}
.show-copy h1{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(3.7rem,6.3vw,7.5rem);line-height:.82;letter-spacing:-.06em;margin:0 0 30px}
.show-lead,.show-secondary{max-width:690px;font-size:1.08rem;line-height:1.6}
.show-lead{font-weight:600;margin:0 0 18px}
.show-secondary{margin:0}
.show-photo{position:relative;z-index:2;overflow:hidden;align-self:stretch;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,3% 12%)}
.show-photo img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:grayscale(1) contrast(1.32)}
.show-details{padding:92px 4vw;background:var(--ink);color:var(--paper)}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}
.long-copy p{font-size:1.08rem;line-height:1.7;color:#d1ccc2;margin:0 0 22px}
.promoter-section{padding:92px 4vw}
.promoter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}
.promoter-grid p{font-size:1.08rem;line-height:1.6;margin-top:0}
.promoter-grid ul{padding-left:18px;margin:26px 0 34px}
.promoter-grid li{margin:11px 0;line-height:1.4}
.compact-book{padding-top:82px;padding-bottom:82px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:950px){
  body.menu-open{overflow:hidden}
  .site-header{height:62px;padding:0 20px}
  .header-right{gap:10px;margin-left:auto}
  .menu-toggle{display:block;order:2}
  .site-header nav{display:none;position:fixed;inset:0;background:var(--paper);z-index:50;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:80px 20px}
  .site-header nav.is-open{display:flex}
  .site-header nav a{font-family:"Archivo Black",Impact,sans-serif;font-size:clamp(2.2rem,10vw,4rem);letter-spacing:-.04em}
  .social-links{position:relative;z-index:53}

  .hero{display:flex;flex-direction:column;padding:88px 20px 0;min-height:0}
  .hero-copy{padding:22px 0 32px}
  .hero h1{font-size:clamp(4rem,12.8vw,7rem);white-space:nowrap;margin-bottom:20px}
  .hero h2{font-size:clamp(1.85rem,6vw,3rem)}
  .hero-intro,.hero-detail{font-size:1rem}
  .hero-photo{min-height:0;height:390px;width:calc(100% + 40px);margin-left:-20px;clip-path:none}
  .hero-photo img{object-position:58% 42%}
  .photo-note{font-size:1.5rem;right:5%;bottom:8%}
  .paper-mark{display:none}

  .show-teaser{grid-template-columns:1fr;gap:30px;padding:72px 20px}
  .show-teaser h2{font-size:clamp(3.3rem,11vw,6rem)}
  .section-head{grid-template-columns:1fr;gap:18px}
  .live{padding:72px 20px}
  .gig{grid-template-columns:105px 1fr 145px}
  .book{padding:76px 20px}
  footer{grid-template-columns:1fr;padding:28px 20px}

  .show-hero{display:flex;flex-direction:column;padding:90px 20px 0;min-height:0}
  .show-copy{padding:20px 0 34px}
  .show-copy h1{font-size:clamp(3.5rem,11vw,6rem)}
  .show-photo{height:390px;width:calc(100% + 40px);margin-left:-20px;clip-path:none}
  .show-photo img{object-position:58% 42%}
  .show-details,.promoter-section{padding:76px 20px}
  .details-grid,.promoter-grid{grid-template-columns:1fr;gap:38px}
}

@media(max-width:620px){
  .site-header{padding:0 16px}
  .brand{font-size:.92rem}
  .social-links{gap:7px}
  .social-links a{width:19px;height:19px}
  .social-links svg{width:17px;height:17px}
  .menu-toggle{width:38px;height:38px}

  .hero{padding:78px 16px 0}
  .hero-copy{padding:26px 0 26px}
  .hero .kicker{margin-bottom:18px}
  .hero h1{font-size:12.9vw;line-height:.82;margin-bottom:18px}
  .hero h2{font-size:7.4vw;line-height:.96;margin-bottom:21px}
  .hero-intro{font-size:.98rem}
  .hero-detail{font-size:.92rem;line-height:1.55;margin-bottom:24px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .btn{width:100%;min-height:54px}
  .availability{font-size:.56rem;letter-spacing:.11em;line-height:1.7;margin-top:24px}
  .hero-photo{height:310px;width:calc(100% + 32px);margin-left:-16px}
  .photo-note{font-size:1.15rem;right:5%;bottom:7%}

  .show-teaser{padding:65px 16px}
  .show-teaser h2{font-size:12vw}
  .teaser-copy p{font-size:.98rem}
  .live{padding:66px 16px}
  .section-head h2,.book h2,.show-details h2,.promoter-section h2{font-size:12vw}
  .gig{display:grid;grid-template-columns:72px 1fr;gap:15px;padding:22px 0}
  .gig-date strong{font-size:1.8rem}
  .gig-action{grid-column:2;width:max-content;min-width:130px;margin-top:5px}
  .booking-row .gig-date strong{font-size:1.35rem}
  .book{padding:68px 16px}
  .email{display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:.98rem}
  .booking-note{font-size:.58rem}

  .show-hero{padding:78px 16px 0}
  .show-copy{padding:26px 0 28px}
  .show-copy h1{font-size:11.6vw;line-height:.85;margin-bottom:24px}
  .show-lead,.show-secondary{font-size:.98rem;line-height:1.58}
  .show-photo{height:310px;width:calc(100% + 32px);margin-left:-16px}
  .show-details,.promoter-section{padding:66px 16px}
  .long-copy p,.promoter-grid p{font-size:.98rem}
}
