:root{
  --black:#000;
  --panel:#0d0d0d;
  --panel-2:#151515;
  --gold:#e3b923;
  --gold-dim:#a8890f;
  --white:#f5f5f0;
  --muted:#b9b6ac;
  --line:#2a2a26;
  --radius:2px;
  --maxw:1200px;
  font-size:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:'Helvetica Neue', Arial, sans-serif;
  line-height:1.5;
}
h1,h2,h3,h4{
  font-family:'Arial Black', 'Helvetica Neue', sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-0.01em;
  margin:0;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
section{padding:96px 0;}
.gold{color:var(--gold);}

/* PAGE LOADER */
#page-loader{
  position:fixed;inset:0;z-index:9999;
  background:var(--black);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .4s ease;
}
#page-loader.hidden{opacity:0;pointer-events:none;}
.loader-mark{
  display:flex;flex-direction:column;align-items:center;gap:18px;
  font-family:'Arial Black','Helvetica Neue',sans-serif;font-weight:900;
  text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);font-size:0.95rem;
}
.loader-spinner{
  width:42px;height:42px;border-radius:50%;
  border:3px solid var(--line);border-top-color:var(--gold);
  animation:loader-spin 0.8s linear infinite;
}
@keyframes loader-spin{to{transform:rotate(360deg);}}

/* NAV */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(0,0,0,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.navwrap{
  max-width:var(--maxw);margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.brand{
  font-family:'Arial Black',sans-serif;
  font-weight:900;font-size:1.05rem;letter-spacing:0.02em;
}
.brand span{color:var(--gold);}
nav ul{list-style:none;display:flex;gap:36px;margin:0;padding:0;}
nav a{
  font-size:0.85rem;letter-spacing:0.06em;text-transform:uppercase;
  padding-bottom:4px;border-bottom:2px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
nav a:hover, nav a.active{border-color:var(--gold);color:var(--gold);}
.navcta{
  background:var(--gold);color:#000;padding:10px 20px;
  font-size:0.8rem;letter-spacing:0.05em;text-transform:uppercase;font-weight:700;
  border-radius:var(--radius);
}
.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.6rem;cursor:pointer;}

@media(max-width:820px){
  nav ul{
    position:fixed;top:64px;left:0;right:0;background:#000;
    flex-direction:column;gap:0;border-top:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .25s ease;
  }
  nav ul.open{max-height:320px;}
  nav ul li{border-bottom:1px solid var(--line);}
  nav ul li a{display:block;padding:18px 32px;}
  .navcta{display:none;}
  .menu-toggle{display:block;}
}

/* HERO */
.hero{
  padding-top:64px;padding-bottom:64px;
  display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;
}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:0.95;}
.hero-tags{
  margin-top:28px;font-size:0.95rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);
}
.hero-tags .gold{color:var(--gold);}
.hero p{margin-top:24px;max-width:52ch;color:var(--muted);font-size:1.02rem;}
.hero-quote{margin-top:20px;font-style:italic;color:var(--gold);font-weight:700;}
.hero-img{position:relative;}
.hero-img img{border-radius:var(--radius);}
.cta-btn{
  display:inline-block;margin-top:32px;background:var(--gold);color:#000;
  padding:16px 30px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;
  font-size:0.85rem;border-radius:var(--radius);
}
.cta-outline{
  display:inline-block;padding:16px 30px;border:1px solid var(--white);
  text-transform:uppercase;font-weight:700;letter-spacing:0.03em;font-size:0.85rem;
}

@media(max-width:820px){
  .hero{grid-template-columns:1fr;padding-top:32px;}
  .hero-img{order:-1;}
}

/* SERVICES */
.services{
  display:grid;grid-template-columns:0.8fr 1fr 0.8fr;gap:0;
  background:var(--panel);border:1px solid var(--line);
}
.services > div{padding:48px 40px;}
.services-left{border-right:1px solid var(--line);}
.services-left p{color:var(--muted);margin-top:20px;}
.services-mid img{border-radius:var(--radius);}
.services-right{border-left:1px solid var(--line);}
.service-item{padding:18px 0;border-bottom:1px solid var(--line);}
.service-item:last-child{border-bottom:none;}
.service-item h4{font-size:1.05rem;}
.service-item a{
  display:inline-block;margin-top:8px;color:var(--gold);font-size:0.8rem;
  letter-spacing:0.05em;text-transform:uppercase;font-weight:700;
  border-bottom:1px solid var(--gold);
}
@media(max-width:900px){
  .services{grid-template-columns:1fr;}
  .services-left,.services-right{border:none;border-top:1px solid var(--line);}
}

/* FLYERS / RECAP */
.split-title{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:40px;
}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.thumb{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/4;background:#111;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb .cap{
  position:absolute;bottom:0;left:0;right:0;padding:12px;
  background:linear-gradient(to top, rgba(0,0,0,.85), transparent);
  font-size:0.85rem;
}
@media(max-width:820px){
  .split-title{grid-template-columns:1fr;gap:24px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
}

/* BASICS / EXTRAS */
.basics{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);}
.basics-imgs{display:grid;grid-template-columns:1fr 1fr;}
.basics-imgs img{height:100%;object-fit:cover;}
.basics-list{padding:48px 40px;background:var(--panel);}
.basics-list h4{font-size:1.1rem;padding:14px 0;border-bottom:1px solid var(--line);}
.basics-list h4.gold{color:var(--gold);}
.extras{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);margin-top:2px;}
.extras-img img{height:100%;object-fit:cover;}
.extras-list{padding:48px 40px;background:var(--panel-2);}
.extras-list h3{margin-bottom:16px;}
.extras-list h4{font-size:1.05rem;padding:12px 0;border-bottom:1px solid var(--line);}
.extras-list h4.gold{color:var(--gold);}
@media(max-width:820px){
  .basics,.extras{grid-template-columns:1fr;}
  .basics-imgs{grid-template-columns:1fr 1fr;height:280px;}
}

/* CULTURE STATEMENT */
.culture{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;}
.culture p{color:var(--muted);max-width:50ch;margin-top:20px;}
@media(max-width:820px){.culture{grid-template-columns:1fr;} .culture-img{order:-1;}}

/* ABOUT */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-hero p{color:var(--muted);margin-top:18px;}
@media(max-width:900px){
  .about-hero{grid-template-columns:1fr;} .about-hero .about-img{order:-1;}
}

/* Dominated Sound In: title / genre list / supporting text — three even columns, no image */
.genres-wrap{
  display:grid;grid-template-columns:0.8fr 1fr 1.1fr;gap:48px;align-items:start;
  margin-top:88px;padding-top:56px;border-top:1px solid var(--line);
}
.genres-wrap ul{list-style:none;padding:0;margin:0;}
.genres-wrap li{
  font-weight:700;font-size:1.15rem;padding:10px 0;
  border-left:3px solid var(--gold);padding-left:16px;margin-bottom:8px;
}
.genres-wrap .genres-copy{color:var(--muted);font-size:0.98rem;}
@media(max-width:900px){
  .genres-wrap{grid-template-columns:1fr;gap:28px;}
}

/* CONTACT */
.contact-lead{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;}
.contact-lead h2{font-size:clamp(1.8rem,4vw,2.6rem);}
.contact-lead p.eyebrow{color:var(--gold);text-transform:uppercase;font-size:0.85rem;letter-spacing:0.06em;margin-top:16px;}
@media(max-width:820px){.contact-lead{grid-template-columns:1fr;}}

.contract-embed{
  border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel);
}
.contract-embed iframe{width:100%;height:1500px;border:none;display:block;background:#0a0a0a;}
.contract-embed-note{color:var(--muted);font-size:0.85rem;margin:12px 0 24px;}

footer{border-top:1px solid var(--line);padding:64px 0 32px;}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;}
.foot-title{font-size:clamp(2rem,7vw,4.2rem);}
.foot-mid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:56px;gap:24px;}
.foot-logo-row{display:flex;align-items:center;gap:16px;}
.foot-logo{
  width:56px;height:56px;border-radius:50%;background:var(--panel);
  border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;
  font-weight:900;color:var(--gold);font-size:0.7rem;text-align:center;
}
.social{display:flex;gap:14px;}
.social a{
  width:38px;height:38px;border-radius:50%;background:var(--panel);
  display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:0.85rem;
}
.foot-tag{text-align:center;color:var(--gold);text-transform:uppercase;font-weight:700;letter-spacing:0.04em;margin-top:40px;}
.foot-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;text-align:center;color:var(--muted);font-size:0.8rem;}
