:root{
  --ink:#101214;
  --paper:#fbfaf7;
  --white:#fff;
  --muted:#626768;
  --line:rgba(16,18,20,.12);
  --gold:#c79746;
  --teal:#0f6b67;
  --brick:#9f453c;
  --night:#151719;
  --max:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.08;letter-spacing:0}
h1{font-size:clamp(3.2rem, 8vw, 6.8rem)}
h2{font-size:clamp(2rem, 4vw, 4rem)}
h3{font-size:1.1rem}
p{color:var(--muted)}

.noscript{
  padding:10px 16px;
  text-align:center;
  background:#fff1bd;
  border-bottom:1px solid var(--line);
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:68px;
  padding:12px max(18px, calc((100vw - var(--max)) / 2 + 24px));
  background:rgba(251,250,247,.9);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(160%) blur(12px);
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:11px;
  font-weight:900;
  font-size:1.12rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.brand:hover{text-decoration:none}
.brand-logo{
  width:42px;
  height:42px;
  object-fit:cover;
  border-radius:6px;
  box-shadow:0 2px 8px rgba(16,18,20,.18);
}
.top-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  font-weight:750;
  font-size:.92rem;
}
.top-actions a{white-space:nowrap}
.nav-cta{
  padding:.52rem .82rem;
  color:#fff;
  background:var(--ink);
  border-radius:999px;
  transition:color .18s ease, background-color .18s ease;
}
.nav-cta:hover,
.btn:hover,
.cta-sticky:hover,
.text-link:hover{
  text-decoration:none;
}
[data-track="booking"]:hover{
  color:#fff;
}

.hero{
  position:relative;
  min-height:calc(100svh - 138px);
  max-height:760px;
  overflow:hidden;
  background:var(--night);
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(10,11,12,.82) 0%, rgba(10,11,12,.55) 38%, rgba(10,11,12,.1) 74%),
    linear-gradient(180deg, rgba(10,11,12,.18) 0%, rgba(10,11,12,.64) 100%);
  pointer-events:none;
}
.hero>img{
  width:100%;
  height:100%;
  min-height:inherit;
  max-height:inherit;
  object-fit:cover;
  object-position:68% center;
}
.hero-copy{
  position:absolute;
  z-index:1;
  inset:auto 0 0 0;
  width:min(760px, 100%);
  padding:0 20px 44px max(20px, calc((100vw - var(--max)) / 2 + 24px));
}
.hero-copy h1,
.hero-copy .tagline,
.hero-copy .eyebrow{
  color:#fff;
}
.eyebrow{
  margin-bottom:12px;
  color:var(--teal);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.tagline{
  max-width:610px;
  margin-top:16px;
  font-size:clamp(1.16rem, 2vw, 1.45rem);
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.78rem 1rem;
  border-radius:999px;
  font-weight:850;
  line-height:1.1;
}
.btn-primary{
  color:#141414;
  background:var(--gold);
  transition:color .18s ease, background-color .18s ease;
}
.btn-secondary{
  color:#fff;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.08);
}

.intro,
.sound-section,
.gallery-section,
.events-section,
.social-section,
.testimonials-section,
.booking-section{
  padding:54px max(20px, calc((100vw - var(--max)) / 2 + 24px));
}
.intro{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:28px;
  background:var(--white);
}
.intro h2{max-width:720px}
.intro p{
  max-width:720px;
  margin-top:16px;
  font-size:1.08rem;
}
.intro a,
.events-section a,
.site-footer a{
  color:var(--teal);
  font-weight:800;
}
.quick-facts{
  display:grid;
  gap:10px;
  padding:0;
  margin:0;
  list-style:none;
}
.quick-facts li{
  min-height:94px;
  padding:18px;
  border:1px solid var(--line);
  border-left:6px solid var(--gold);
  background:var(--paper);
}
.quick-facts strong,
.quick-facts span{
  display:block;
}
.quick-facts span{
  margin-top:4px;
  color:var(--muted);
}

.section-heading{
  max-width:820px;
  margin-bottom:26px;
}
.sound-section{
  background:var(--paper);
}
.sound-grid{
  display:grid;
  gap:16px;
}
.sound-grid article{
  min-height:190px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  box-shadow:0 16px 38px rgba(16,18,20,.05);
}
.sound-grid h3{
  color:var(--brick);
  margin-bottom:12px;
}

.gallery-section{
  background:var(--white);
}
.gallery-layout{
  display:grid;
  gap:26px;
  align-items:start;
}
.gallery-copy{
  max-width:720px;
}
.gallery-copy p{
  margin-bottom:14px;
  font-size:1.08rem;
}
.press-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.gallery-layout img{
  width:100%;
  height:auto;
  border-radius:8px;
  box-shadow:0 18px 42px rgba(16,18,20,.12);
}
.gallery-panels{
  display:grid;
  gap:14px;
  margin-top:28px;
}
.gallery-panels article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
}
.gallery-panels h3{
  margin-bottom:8px;
  color:var(--brick);
}

.events-section{
  display:grid;
  gap:28px;
  color:#fff;
  background:var(--night);
}
.events-section .eyebrow{color:var(--gold)}
.events-section h2,
.events-section p{
  color:#fff;
}
.events-copy{
  max-width:780px;
}
.events-copy p{
  margin-top:18px;
  color:rgba(255,255,255,.78);
}
.event-list{
  display:grid;
  align-content:start;
  gap:12px;
}
.event-list a{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:84px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  color:#fff;
  background:
    linear-gradient(90deg, rgba(199,151,70,.2), rgba(255,255,255,.06)),
    rgba(255,255,255,.07);
}
.event-list a:hover{
  text-decoration:none;
  border-color:rgba(255,255,255,.32);
}
.event-list strong,
.event-list span{
  display:block;
}
.event-list strong{
  font-size:1.02rem;
}
.event-list span{
  margin-top:4px;
  color:rgba(255,255,255,.78);
  font-size:.92rem;
  font-weight:500;
}

.work-grid{
  display:grid;
  gap:16px;
  margin-top:28px;
}
.work-card{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--night);
  box-shadow:0 18px 42px rgba(16,18,20,.12);
}
.work-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.work-card-wide img{
  object-fit:contain;
  background:var(--night);
}
.work-card figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:.42rem .62rem;
  border-radius:999px;
  color:#fff;
  background:rgba(16,18,20,.76);
  font-size:.78rem;
  font-weight:850;
  backdrop-filter:blur(8px);
}

.social-section{
  background:var(--white);
}
.social-section p{
  max-width:660px;
  margin-bottom:18px;
  font-size:1.08rem;
}
.text-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.68rem 1rem;
  border-radius:999px;
  color:#fff;
  background:var(--teal);
  font-weight:850;
}
.outline-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.68rem 1rem;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:var(--white);
  font-weight:850;
}

.testimonials-section{
  background:var(--paper);
}
.testimonial-grid{
  display:grid;
  gap:16px;
}
.testimonial-grid figure{
  min-height:210px;
  margin:0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--white);
  box-shadow:0 16px 38px rgba(16,18,20,.05);
}
.testimonial-grid blockquote{
  margin:0;
  color:var(--ink);
  font-size:1.08rem;
  line-height:1.45;
}
.testimonial-grid figcaption{
  margin-top:18px;
  color:var(--brick);
  font-size:.84rem;
  font-weight:850;
  text-transform:uppercase;
}

.booking-section{
  background:var(--white);
}
.booking-section .section-heading{
  margin-bottom:18px;
}
.tidycal-embed{
  min-height:680px;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:var(--paper);
}

.site-footer{
  padding:28px 20px;
  text-align:center;
  color:var(--muted);
  border-top:1px solid var(--line);
  background:var(--paper);
}

.cta-sticky{
  position:fixed;
  left:50%;
  bottom:calc(16px + env(safe-area-inset-bottom));
  z-index:60;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.78rem 1.08rem;
  color:#141414;
  background:var(--gold);
  border-radius:999px;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  font-weight:900;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, 140%);
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}
body.cta-visible .cta-sticky{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, 0);
}

.brand:focus-visible,
.top-actions a:focus-visible,
.btn:focus-visible,
.cta-sticky:focus-visible,
.text-link:focus-visible,
.outline-link:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
  text-decoration:none;
}

@media (min-width:760px){
  body{font-size:17px}
  .hero-copy{padding-bottom:70px}
  .intro{
    grid-template-columns:minmax(0, 1.05fr) minmax(320px, .95fr);
    align-items:start;
  }
  .quick-facts{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .sound-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .testimonial-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .events-section{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 430px);
    align-items:start;
  }
  .gallery-layout{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
  }
  .gallery-panels{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .work-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    align-items:stretch;
  }
  .work-card-square{
    aspect-ratio:1;
  }
  .work-card-portrait{
    aspect-ratio:4/5;
  }
  .work-card-wide{
    grid-column:span 2;
    aspect-ratio:16/10;
    align-self:center;
  }
}

@media (max-width:760px){
  .site-header{
    align-items:flex-start;
    min-height:auto;
    padding:10px 14px;
  }
  .brand{
    gap:8px;
    font-size:1rem;
  }
  .brand-logo{
    width:36px;
    height:36px;
  }
  .top-actions{
    gap:9px;
    flex-wrap:wrap;
    max-width:none;
    font-size:.84rem;
  }
  .top-actions a:not(.nav-cta){
    display:none;
  }
  .hero{
    min-height:calc(100svh - 160px);
  }
  .hero::after{
    background:
      linear-gradient(180deg, rgba(10,11,12,.08) 0%, rgba(10,11,12,.86) 100%),
      linear-gradient(90deg, rgba(10,11,12,.45) 0%, rgba(10,11,12,.05) 100%);
  }
  .hero>img{
    object-position:62% center;
  }
  .work-card{
    aspect-ratio:auto;
  }
  .work-card img{
    height:auto;
    object-fit:contain;
  }
}

@media (max-width:420px){
  .top-actions{
    gap:7px;
  }
  .hero-copy{
    padding-left:16px;
    padding-right:16px;
    padding-bottom:34px;
  }
  .hero-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .btn{
    width:100%;
  }
  .press-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .press-actions a{
    width:100%;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .cta-sticky{transition:none}
}
