:root{--bg:#090909;--panel:#111;--text:#f2f0eb;--muted:#9b9b96;--line:rgba(255,255,255,.16);--accent:#d8ff3e;--display:'Oswald',sans-serif;--body:'Inter',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#000;padding:.75rem}.skip-link:focus{top:1rem}.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3vw;mix-blend-mode:difference}.brand,.footer-brand{font-family:var(--display);font-weight:600;letter-spacing:.08em;font-size:1.25rem}.site-nav{display:flex;gap:2rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em}.site-nav a{transition:opacity .2s}.site-nav a:hover{opacity:.55}.menu-button{display:none;color:#fff;background:none;border:0;letter-spacing:.12em}.hero{position:relative;height:100svh;min-height:680px;display:flex;align-items:flex-end;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.03)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.2) 58%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.hero-grain{position:absolute;inset:0;opacity:.08;pointer-events:none;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.hero-content{position:relative;z-index:2;width:100%;padding:0 4vw 7vh}.eyebrow,.kicker,.section-label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase}.hero h1{font-family:var(--display);font-size:clamp(7rem,20vw,18rem);line-height:.73;margin:.1em 0 .12em;letter-spacing:-.06em}.hero-copy{text-transform:uppercase;letter-spacing:.1em;line-height:1.7;font-size:.8rem}.hero-actions{display:flex;gap:.75rem;margin-top:2rem}.button{padding:1rem 1.35rem;border:1px solid rgba(255,255,255,.7);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.button-solid{background:var(--text);color:#000}.scroll-cue{position:absolute;right:3vw;bottom:7vh;z-index:3;display:flex;align-items:center;gap:1rem;text-transform:uppercase;font-size:.65rem;letter-spacing:.2em;transform:rotate(90deg);transform-origin:right}.scroll-cue i{width:70px;height:1px;background:#fff}.section{padding:9rem 4vw}.next-show{padding-top:5rem;padding-bottom:5rem;background:var(--accent);color:#080808}.show-feature{display:grid;grid-template-columns:180px 1fr 90px;align-items:end;border-top:1px solid #111;padding-top:2rem}.show-date{display:flex;align-items:center;gap:1rem}.show-date strong{font-family:var(--display);font-size:6rem;line-height:1}.show-date span{font-size:.7rem;letter-spacing:.15em;line-height:1.5}.show-main h2,.section-heading h2,.statement h2,.contact h2{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:-.03em}.show-main h2{font-size:clamp(3.5rem,8vw,7rem);line-height:.88;margin:.15em 0}.show-main p:last-child{font-size:.85rem}.round-link{width:70px;height:70px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;transition:.25s}.round-link:hover{background:#111;color:var(--accent);transform:rotate(45deg)}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:5rem}.section-heading span{font-size:.7rem;letter-spacing:.2em;color:var(--muted)}.section-heading h2{font-size:clamp(4rem,10vw,9rem);line-height:.82;margin:0}.music-grid{display:grid;grid-template-columns:minmax(300px,1.15fr) 1fr;gap:7vw;align-items:center}.cover img{aspect-ratio:1;object-fit:cover}.music-copy h3{font-family:var(--display);font-size:clamp(5rem,12vw,11rem);line-height:1;margin:.12em 0}.music-copy>p:not(.kicker){max-width:560px;color:var(--muted);line-height:1.8}.link-row{display:flex;gap:2rem;margin-top:3rem}.link-row a{border-bottom:1px solid var(--text);padding-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.13em}.video{background:#d8d6cf;color:#0b0b0b}.video .section-heading span{color:#555}.video-stage{position:relative;min-height:65vh;display:flex;align-items:flex-end;padding:3rem;overflow:hidden}.video-stage img{position:absolute;inset:0;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .8s}.video-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 70%)}.video-stage:hover img{transform:scale(1.035)}.video-stage>div{position:relative;z-index:2;color:white}.video-stage h3{font-family:var(--display);font-size:clamp(3rem,7vw,6.5rem);line-height:.9;margin:.15em 0}.video-stage p{font-size:.65rem;letter-spacing:.18em}.play{position:absolute;z-index:3;right:3rem;top:3rem;width:90px;height:90px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-size:.7rem;letter-spacing:.15em}.archive-list{border-top:1px solid #999}.archive-list a{display:grid;grid-template-columns:1fr 2fr auto;gap:2rem;padding:1.5rem 0;border-bottom:1px solid #999;align-items:center}.archive-list span{font-size:.7rem;letter-spacing:.1em}.archive-list strong{font-family:var(--display);font-size:1.5rem;font-weight:500}.shows{border-top:1px solid var(--line)}.shows article{display:grid;grid-template-columns:180px 1fr auto;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);align-items:start}.shows time,.shows article>span{font-size:.68rem;color:var(--muted);letter-spacing:.1em}.shows h3{margin:0 0 .5rem;font-family:var(--display);font-size:1.8rem;font-weight:500}.shows p{color:var(--muted);font-size:.85rem}.statement{position:relative;min-height:100svh;display:flex;align-items:center;padding:10rem 4vw;overflow:hidden}.statement>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:grayscale(1)}.statement-overlay{position:absolute;inset:0;background:rgba(0,0,0,.62)}.statement-copy{position:relative;z-index:2;width:100%}.statement-copy>p:first-child{letter-spacing:.2em;font-size:.7rem}.statement h2{font-size:clamp(4rem,10vw,9rem);line-height:.88}.statement h2 em,.contact h2 em{font-style:normal;color:var(--accent)}.statement-copy>div{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-left:50%;max-width:700px;line-height:1.8;color:#ddd}.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.member:nth-child(even){padding-top:8rem}.member img{aspect-ratio:3/4;object-fit:cover;filter:grayscale(1);margin-bottom:1.5rem}.member span{font-size:.62rem;letter-spacing:.15em;color:var(--muted)}.member h3{font-family:var(--display);font-size:2.5rem;margin:.15em 0}.member p{color:var(--muted);line-height:1.6;font-size:.82rem}.gallery{background:#111}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:10vw;gap:1rem}.gallery-grid button{padding:0;border:0;background:none;overflow:hidden;cursor:zoom-in}.gallery-grid button:nth-child(1){grid-column:1/8;grid-row:1/4}.gallery-grid button:nth-child(2){grid-column:8/13;grid-row:1/3}.gallery-grid button:nth-child(3){grid-column:8/11;grid-row:3/5}.gallery-grid button:nth-child(4){grid-column:11/13;grid-row:3/5}.gallery-grid button:nth-child(5){grid-column:1/5;grid-row:4/6}.gallery-grid button:nth-child(6){grid-column:5/8;grid-row:4/6}.gallery-grid img{height:100%;object-fit:cover;filter:grayscale(1);transition:.7s}.gallery-grid button:hover img{filter:grayscale(0);transform:scale(1.04)}.social-list{border-top:1px solid var(--line)}.social-list a{display:grid;grid-template-columns:80px 1fr auto;padding:1.5rem 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:clamp(2rem,5vw,4.5rem);text-transform:uppercase}.social-list span{font-family:var(--body);font-size:.65rem;color:var(--muted)}.social-list i{font-style:normal;font-size:1.5rem;transition:.25s}.social-list a:hover i{transform:translate(8px,-8px)}.contact{background:var(--accent);color:#090909;padding:10rem 4vw}.contact-inner>p{font-size:.7rem;letter-spacing:.2em}.contact h2{font-size:clamp(4rem,11vw,10rem);line-height:.82;margin:.5em 0}.contact h2 em{color:#090909;-webkit-text-stroke:1px #090909}.booking{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;border-top:1px solid #111;padding:2rem 0 4rem}.booking span,.booking strong{font-size:.7rem;letter-spacing:.15em}.booking p{font-family:var(--display);font-size:2rem;line-height:1.4;margin:0}.contact-button{display:block;border:1px solid #111;padding:1.5rem;text-align:center;font-size:.75rem;letter-spacing:.15em;transition:.2s}.contact-button:hover{background:#111;color:var(--accent)}footer{padding:5rem 4vw 2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.footer-brand{font-size:4rem}footer p,footer small{color:var(--muted)}.footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:2rem}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:rgba(0,0,0,.94);padding:5vw}.lightbox::backdrop{background:#000}.lightbox img{height:100%;object-fit:contain}.lightbox button{position:fixed;right:2rem;top:1rem;background:none;border:0;color:white;font-size:3rem;z-index:2}.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header{mix-blend-mode:normal;background:rgba(9,9,9,.85);backdrop-filter:blur(10px)}.menu-button{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;background:#090909;padding:2rem 4vw}.site-nav.open{display:flex}.hero-content{padding-bottom:12vh}.hero h1{font-size:clamp(6rem,27vw,12rem)}.scroll-cue{display:none}.show-feature{grid-template-columns:1fr auto}.show-date{grid-column:1/-1}.show-main h2{font-size:4rem}.section{padding:6rem 5vw}.section-heading{grid-template-columns:1fr;margin-bottom:3rem}.section-heading span{margin-bottom:2rem}.music-grid{grid-template-columns:1fr}.video-stage{min-height:55vh;padding:1.5rem}.play{right:1.5rem;top:1.5rem;width:70px;height:70px}.archive-list a{grid-template-columns:1fr auto}.archive-list strong{grid-column:1/2}.archive-list i{grid-row:1/3;grid-column:2}.shows article{grid-template-columns:1fr auto}.shows article div{grid-column:1/-1}.statement-copy>div{margin-left:0;grid-template-columns:1fr}.member-grid{grid-template-columns:1fr 1fr}.member:nth-child(even){padding-top:4rem}.gallery-grid{grid-auto-rows:18vw}.booking{grid-template-columns:1fr}.footer-brand{font-size:3rem}}@media(max-width:560px){.hero{min-height:620px}.hero-actions{flex-direction:column;align-items:flex-start}.show-date strong{font-size:4rem}.round-link{width:54px;height:54px}.section-heading h2{font-size:4.5rem}.member-grid{grid-template-columns:1fr}.member:nth-child(even){padding-top:0}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:45vw}.gallery-grid button:nth-child(n){grid-column:auto;grid-row:auto}.gallery-grid button:first-child{grid-column:1/-1}.social-list a{grid-template-columns:42px 1fr auto}.contact h2{font-size:4.3rem}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-image,.gallery-grid img{transition:none}}

/* Responsive refinements */
html {
  scroll-padding-top: 5rem;
}

body.menu-open {
  overflow: hidden;
}

.hero-content,
.section,
.contact,
footer {
  padding-left: max(4vw, env(safe-area-inset-left));
  padding-right: max(4vw, env(safe-area-inset-right));
}

.show-main,
.music-copy,
.archive-list strong,
.shows article div,
.member,
.booking > * {
  min-width: 0;
}

.show-main h2,
.archive-list strong,
.shows h3,
.member h3,
.booking p,
.footer-links a {
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .site-nav {
    gap: 1.25rem;
  }

  .show-feature {
    grid-template-columns: 150px minmax(0, 1fr) 70px;
  }

  .member-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1rem;
  }
}

@media (max-width: 900px) {
  .site-header {
    padding-top: max(1rem, env(safe-area-inset-top));
    padding-right: max(5vw, env(safe-area-inset-right));
    padding-left: max(5vw, env(safe-area-inset-left));
  }

  .menu-button {
    min-width: 48px;
    min-height: 48px;
    padding: 0;
    cursor: pointer;
  }

  .site-nav {
    max-height: calc(100svh - 4.5rem);
    overflow-y: auto;
    padding: 1rem max(5vw, env(safe-area-inset-right))
      max(1.5rem, env(safe-area-inset-bottom))
      max(5vw, env(safe-area-inset-left));
    gap: 0;
    border-top: 1px solid var(--line);
  }

  .site-nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    border-bottom: 1px solid var(--line);
    font-size: 0.85rem;
  }

  .hero {
    height: 100svh;
    min-height: 600px;
  }

  .hero-image {
    object-position: 58% center;
  }

  .hero-content,
  .section,
  .contact,
  footer {
    padding-left: max(5vw, env(safe-area-inset-left));
    padding-right: max(5vw, env(safe-area-inset-right));
  }

  .hero h1 {
    font-size: clamp(5.25rem, 25vw, 10rem);
  }

  .show-feature {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
  }

  .section-heading h2,
  .statement h2,
  .contact h2 {
    overflow-wrap: anywhere;
  }

  .video-stage {
    min-height: min(65vh, 680px);
  }

  .statement {
    min-height: auto;
  }

  .statement-copy > div {
    gap: 1.5rem;
  }

  .gallery-grid {
    grid-auto-rows: clamp(140px, 18vw, 220px);
  }

  .contact {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 560px;
  }

  .hero-content {
    padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem));
  }

  .hero h1 {
    font-size: clamp(4.35rem, 24vw, 7rem);
    line-height: 0.78;
  }

  .hero-copy {
    font-size: 0.72rem;
  }

  .hero-actions {
    width: 100%;
    gap: 0.65rem;
    margin-top: 1.5rem;
  }

  .hero-actions .button {
    width: 100%;
    min-height: 48px;
    text-align: center;
  }

  .section {
    padding-top: 4.75rem;
    padding-bottom: 4.75rem;
  }

  .next-show {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .show-main h2 {
    font-size: clamp(2.8rem, 15vw, 4rem);
  }

  .section-heading h2 {
    font-size: clamp(3.2rem, 18vw, 4.5rem);
  }

  .music-copy h3 {
    font-size: clamp(4.25rem, 24vw, 6rem);
  }

  .link-row {
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .video-stage {
    min-height: 58svh;
    padding: 1.25rem;
  }

  .video-stage h3 {
    font-size: clamp(2.7rem, 14vw, 4rem);
  }

  .play {
    right: 1rem;
    top: 1rem;
    width: 64px;
    height: 64px;
  }

  .archive-list a,
  .shows article {
    gap: 0.75rem 1rem;
  }

  .archive-list strong {
    font-size: 1.25rem;
  }

  .statement {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .statement h2 {
    font-size: clamp(3.1rem, 16vw, 4.4rem);
  }

  .statement-copy > div {
    grid-template-columns: 1fr;
  }

  .member-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .member img {
    aspect-ratio: 4 / 5;
  }

  .gallery-grid {
    gap: 0.65rem;
  }

  .social-list a {
    min-height: 64px;
    align-items: center;
    font-size: clamp(1.8rem, 10vw, 3rem);
  }

  .contact {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
  }

  .contact h2 {
    font-size: clamp(3.2rem, 17vw, 4.3rem);
  }

  .booking {
    gap: 1.5rem;
    padding-bottom: 2.5rem;
  }

  .footer-brand {
    font-size: clamp(2.5rem, 14vw, 3rem);
  }

  .footer-links {
    gap: 0;
  }

  .footer-links a {
    display: flex;
    align-items: center;
    min-height: 44px;
    margin-right: 1rem;
  }

  .lightbox {
    padding: max(4rem, env(safe-area-inset-top)) 1rem
      max(1rem, env(safe-area-inset-bottom));
  }
}

@media (max-width: 380px) {
  .brand {
    font-size: 1.05rem;
  }

  .hero h1 {
    font-size: clamp(3.8rem, 23vw, 5.2rem);
  }

  .show-date strong {
    font-size: 3.5rem;
  }

  .round-link {
    width: 48px;
    height: 48px;
  }

  .section-heading h2,
  .statement h2,
  .contact h2 {
    font-size: 3rem;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 70vw;
  }

  .gallery-grid button:first-child {
    grid-column: auto;
  }
}

@media (max-height: 560px) and (orientation: landscape) {
  .hero {
    height: auto;
    min-height: 560px;
  }

  .hero-content {
    padding-top: 7rem;
    padding-bottom: 3rem;
  }

  .hero h1 {
    font-size: clamp(5rem, 20vw, 8rem);
  }
}

@media (hover: none) {
  .round-link,
  .button,
  .contact-button,
  .social-list a,
  .gallery-grid button {
    -webkit-tap-highlight-color: transparent;
  }
}

/* Content and conversion improvements */
.hero-copy span {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: none;
  color: rgba(255, 255, 255, 0.82);
}

.music-copy-ja {
  margin-top: 1rem;
  font-size: 0.88rem;
  line-height: 1.9;
}

.music-player {
  width: 100%;
  max-width: 640px;
  margin-top: 2rem;
  aspect-ratio: 16 / 9;
  background: #000;
  border: 1px solid var(--line);
  overflow: hidden;
}

.music-player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.contact-ja {
  margin: -1rem 0 2rem;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
}

.contact-button {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.button:focus-visible,
.site-nav a:focus-visible,
.link-row a:focus-visible,
.round-link:focus-visible,
.video-stage:focus-visible,
.archive-list a:focus-visible,
.social-list a:focus-visible,
.contact-button:focus-visible,
.footer-links a:focus-visible,
.gallery-grid button:focus-visible,
.lightbox button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .music-player {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .hero-copy span {
    font-size: 0.68rem;
    line-height: 1.6;
  }

  .music-copy-ja {
    font-size: 0.82rem;
  }

  .music-player {
    margin-top: 1.5rem;
  }

  .link-row a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .contact-ja {
    margin-top: -0.5rem;
  }
}
