:root{
  --bg:#07080b; --bg2:#0d0f14; --ink:#f4f5f7; --dim:#9aa0ac;
  --line:rgba(226,214,178,.16);
  /* Regalia: brushed silver with gold, taken from the crown in the logo */
  --accent:#c9a227;        /* gold */
  --accent2:#e6d9a8;       /* pale gold */
  --silver:#dfe3e9;
  --silver-grad:linear-gradient(180deg,#ffffff 0%,#dfe4ea 38%,#9aa2ad 62%,#eef1f5 100%);
  --gold-grad:linear-gradient(180deg,#f7e7a6 0%,#d9bb52 42%,#a9821f 70%,#f2dfa0 100%);
  --max:1240px; --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 19px/1.65 Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,5vw,56px);transition:background .35s,backdrop-filter .35s,padding .35s;}
.nav.solid{background:rgba(8,9,12,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:12px;padding-bottom:12px}
.mark{font-family:Anton,sans-serif;letter-spacing:.14em;font-size:15px}
.nav nav{display:flex;gap:26px;align-items:center}
.nav nav a{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);transition:color .2s}
.nav nav a:hover{color:var(--ink)}
.nav .cta{color:var(--ink);border:1px solid var(--line);padding:9px 16px;border-radius:999px}
.nav .cta:hover{background:var(--accent);border-color:var(--accent)}
.burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px}
.burger span{width:24px;height:2px;background:var(--ink);display:block}

/* HERO */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden}
.hero-media{position:absolute;inset:0;background:radial-gradient(120% 90% at 70% 10%,#1a1f2b 0%,#08090c 62%)}
.hero-media video{width:100%;height:100%;object-fit:cover;opacity:.9}
.hero-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,8,11,.30) 0%,rgba(7,8,11,.08) 38%,rgba(7,8,11,.88) 100%)}
.grain{position:absolute;inset:0;opacity:.055;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-copy{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(20px,5vw,56px) clamp(70px,11vh,130px)}
.kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent2);margin-bottom:18px}
.hero h1{font-family:Anton,sans-serif;font-size:clamp(68px,14vw,200px);line-height:.84;letter-spacing:-.02em;text-transform:uppercase}
.lede{margin-top:22px;max-width:46ch;color:#c9ccd3;font-size:clamp(16px,1.6vw,20px)}
.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:15px 30px;border-radius:999px;font-size:13px;
  letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--accent);cursor:pointer;transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink)}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2}
.scroll-hint span{display:block;width:1px;height:46px;background:linear-gradient(var(--dim),transparent);animation:drop 2.1s infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}
  55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* MARQUEE */
.strip{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden}
.marquee{padding:16px 0}
.marquee-track{display:flex;gap:30px;white-space:nowrap;width:max-content;animation:slide 26s linear infinite;align-items:center}
.marquee-track span{font-family:Anton,sans-serif;font-size:14px;letter-spacing:.26em;color:var(--dim)}
.marquee-track i{color:var(--accent);font-style:normal;font-size:9px}
@keyframes slide{to{transform:translateX(-50%)}}

/* SECTIONS */
.section{max-width:var(--max);margin:0 auto;padding:clamp(72px,11vw,140px) clamp(20px,5vw,56px)}
.section.dark{max-width:none;background:var(--bg2);border-block:1px solid var(--line)}
.section.dark>*{max-width:var(--max);margin-inline:auto}
.head{margin-bottom:46px}
.head h2{font-family:Anton,sans-serif;font-size:clamp(36px,6vw,74px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em}
.head p{color:var(--dim);margin-top:12px}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card h3{font-size:14px;letter-spacing:.16em;text-transform:uppercase;margin-top:16px;color:var(--dim)}
.ph{position:relative;aspect-ratio:16/10;border:1px dashed var(--line);border-radius:var(--r);background:
  linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,0));display:grid;place-items:center;overflow:hidden;transition:border-color .25s}
.ph:hover{border-color:var(--accent2)}
.ph.tall{aspect-ratio:16/9}
.ph.portrait{aspect-ratio:4/5}
.ph-inner{text-align:center;padding:20px}
.ph-tag{display:inline-block;font-size:10px;letter-spacing:.24em;color:var(--accent2);border:1px solid var(--line);
  padding:5px 11px;border-radius:999px;margin-bottom:10px}
.ph-inner p{color:var(--dim);font-size:14px}

/* VIDEO */
.video-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.video-grid .vid:first-child{grid-row:span 2}

/* DATES */
.dates{list-style:none;border-top:1px solid var(--line)}
.dates li{display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:center;
  padding:26px 4px;border-bottom:1px solid var(--line);transition:background .2s,padding-left .2s}
.dates li:hover{background:rgba(255,255,255,.025);padding-left:14px}
.dates .d{font-family:Anton,sans-serif;font-size:15px;letter-spacing:.1em;color:var(--accent)}
.dates .v{font-size:19px}
.dates .c{color:var(--dim);font-size:14px;display:block;margin-top:3px}
.dates .t{font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);
  padding:9px 16px;border-radius:999px;color:var(--dim)}
.dates li:hover .t{border-color:var(--accent);color:var(--ink)}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.split-copy h2{font-family:Anton,sans-serif;font-size:clamp(34px,5vw,60px);text-transform:uppercase;margin-bottom:20px}
.split-copy p{color:#c1c5cd;margin-bottom:16px}
.stats{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}
.stats strong{display:block;font-family:Anton,sans-serif;font-size:32px;color:var(--accent2)}
.stats span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

/* BOOKING */
.booking{max-width:840px}
.booking h2{font-family:Anton,sans-serif;font-size:clamp(34px,5.4vw,66px);text-transform:uppercase;text-align:center}
.booking>div>p{color:var(--dim);text-align:center;margin:12px auto 40px;max-width:52ch}
form{display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
input,select,textarea{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;
  color:var(--ink);font:400 16px Archivo,sans-serif;outline:none;transition:border-color .2s}
input:focus,select:focus,textarea:focus{border-color:var(--accent2)}
form .btn{justify-self:start;margin-top:6px}
.form-note{font-size:13px;color:var(--accent2);min-height:20px}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:56px clamp(20px,5vw,56px);text-align:center}
.foot-mark{font-family:Anton,sans-serif;font-size:clamp(40px,11vw,120px);letter-spacing:.02em;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);line-height:1}
.socials{display:flex;gap:24px;justify-content:center;margin:26px 0 18px;flex-wrap:wrap}
.socials a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.socials a:hover{color:var(--accent)}
.copy{font-size:12px;color:#5c616b}

/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}

@media(max-width:860px){
  .nav nav{display:none}
  .burger{display:flex}
  .nav.open nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:18px;
    padding:24px;background:rgba(8,9,12,.97);border-bottom:1px solid var(--line)}
  .video-grid,.split,.row{grid-template-columns:1fr}
  .video-grid .vid:first-child{grid-row:auto}
  .dates li{grid-template-columns:1fr;gap:10px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== v2 additions ===== */
.yt-bg{position:absolute;inset:0;overflow:hidden}
.yt-bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.77vh;
  transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:.42}
.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;z-index:0}
.proof{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
.proof a{display:block}
.proof strong{display:block;font-family:Anton,sans-serif;font-size:26px;color:var(--accent2);line-height:1.1}
.proof span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.proof a:hover strong{color:var(--accent)}

.play{position:absolute;inset:auto;width:66px;height:66px;border-radius:50%;border:1px solid rgba(255,255,255,.34);
  background:rgba(8,9,12,.42);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:transform .25s,background .25s}
.play.sm{width:46px;height:46px}
.ph.live,.ph.track-ph{background-size:cover;background-position:center;border-style:solid;cursor:pointer}
.ph.live::after,.ph.track-ph::after{content:"";position:absolute;inset:0;background:rgba(8,9,12,.34);transition:background .25s}
.ph.live:hover::after,.ph.track-ph:hover::after{background:rgba(8,9,12,.12)}
.ph .play{z-index:2}
.ph:hover .play{transform:scale(1.09);background:var(--accent);border-color:var(--accent)}
.ph.playing{border:0;padding:0}
.ph.playing::after{display:none}
.ph iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--r)}

.vid h3{font-size:16px;margin-top:14px}
.vid .meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:5px}
.vid.feature .ph{aspect-ratio:16/9}

.track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.track h3{font-size:14px;margin-top:12px}
.track .tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2)}
.track-ph{aspect-ratio:16/9}
.music-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px}
.pill{border:1px solid var(--line);border-radius:999px;padding:12px 22px;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim);transition:all .2s}
.pill:hover{border-color:var(--accent);color:var(--ink)}

.portrait-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);filter:saturate(1.05)}
.dates .empty{grid-template-columns:1fr;color:var(--dim);padding:34px 4px}
.dates .empty a{color:var(--accent2);border-bottom:1px solid currentColor}
.direct{text-align:center;color:var(--dim);font-size:14px;margin-top:26px}
.direct a{color:var(--accent2)}

/* ===== brand assets ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mark img{height:34px;width:auto;display:block;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
.nav.solid .mark img{height:28px;transition:height .3s}
.hero-logo{width:min(392px,70%);height:auto;margin:2px 0 10px -4px;
  filter:drop-shadow(0 14px 44px rgba(0,0,0,.75)) drop-shadow(0 0 22px rgba(0,224,198,.09))}
.foot-logo{width:min(420px,72%);margin:0 auto;opacity:.82}
@media(max-width:860px){.mark img{height:26px}.hero-logo{width:min(320px,78%)}}


/* ---------- Event production ---------- */
.production .prod-grid{
  display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  max-width:1100px;margin:0 auto;
}
.production .prod{
  border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:22px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
}
.production .prod h3{margin:0 0 8px;font-size:1.05rem;letter-spacing:.02em;}
.production .prod p{margin:0;opacity:.75;line-height:1.55;font-size:.95rem;}
.production .prod-serves{
  max-width:1100px;margin:34px auto 0;text-align:center;
}
.production .prod-serves p{opacity:.7;margin:0 0 18px;}

/* ---------- Multi-page additions ---------- */
.nav nav a.active{color:#fff;opacity:1}
.page-hero{
  position:relative;min-height:46vh;display:grid;place-items:center;text-align:center;
  background-size:cover;background-position:center;padding:120px 20px 60px;
}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,12,.72),rgba(8,8,12,.92))}
.page-hero>div{position:relative;z-index:1;max-width:760px}
.page-hero h1{font-family:Anton,Archivo,sans-serif;font-size:clamp(2.2rem,6vw,4rem);margin:0 0 10px;letter-spacing:.01em}
.page-hero p{opacity:.75;margin:0}

.center{text-align:center;margin-top:28px}
.lanes .lane-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:1100px;margin:0 auto}
.lane{position:relative;min-height:320px;border-radius:16px;overflow:hidden;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.08)}
.lane::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,12,.25),rgba(8,8,12,.92))}
.lane-body{position:relative;z-index:1;padding:26px}
.lane-body h3{font-family:Anton,Archivo,sans-serif;font-size:1.6rem;margin:0 0 8px}
.lane-body p{margin:0 0 12px;opacity:.75;max-width:42ch;line-height:1.55}
.lane-body .more{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.lane:hover .lane-body .more{opacity:1}

.prod-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1100px;margin:0 auto}
.prod{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:22px 20px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.prod h3{margin:0 0 8px;font-size:1.05rem}
.prod p{margin:0;opacity:.75;line-height:1.55;font-size:.95rem}

.steps{list-style:none;padding:0;max-width:1100px;margin:0 auto;display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.steps li{border-top:2px solid rgba(255,255,255,.14);padding-top:16px}
.steps span{font-family:Anton,Archivo,sans-serif;opacity:.35;font-size:1.4rem}
.steps h3{margin:6px 0 6px;font-size:1.05rem}
.steps p{margin:0;opacity:.72;font-size:.95rem;line-height:1.55}

.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:1100px;margin:26px auto 0}
.shot{margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.shot img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.shot figcaption{padding:10px 12px;font-size:.8rem;opacity:.6}

.cta-band{text-align:center}
.cta-band h2{font-family:Anton,Archivo,sans-serif;font-size:clamp(1.6rem,4vw,2.6rem);margin:0 0 10px}
.cta-band p{opacity:.72;margin:0 0 20px}

.foot-nav{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:14px 0;font-size:.85rem;opacity:.6}
.foot-nav a{color:inherit;text-decoration:none}
.foot-nav a:hover{opacity:1}
.about-top{padding-top:140px}


/* ---------- Portfolio, press kit, playlist ---------- */
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 auto 26px;max-width:1100px}
.chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:inherit;
  border-radius:999px;padding:8px 16px;font:inherit;font-size:.8rem;letter-spacing:.06em;
  text-transform:uppercase;cursor:pointer}
.chip.on{background:#fff;color:#0a0a0f;border-color:#fff}
.case-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));max-width:1100px;margin:0 auto}
.case{border:1px solid rgba(255,255,255,.10);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.case[hidden]{display:none}
.case-media img,.case-media .ph{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.case-body{padding:20px}
.case-body h3{margin:0 0 4px;font-size:1.15rem}
.case-venue{margin:0 0 12px;opacity:.6;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase}
.case-body p{margin:0 0 8px;opacity:.78;font-size:.95rem;line-height:1.55}
.case-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.case-tags span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65;
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 10px}
.rider{max-width:800px;margin:0 auto;padding-left:20px;opacity:.78;line-height:1.9}
.muted{opacity:.6;font-size:.9rem}
.sc-wrap{max-width:1000px;margin:0 auto;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}


/* ---------- Regalia: silver + gold ---------- */
.hero h1, .head h2, .split-copy h2, .booking h2, .page-hero h1, .cta-band h2, .lane-body h3 {
  background:var(--silver-grad);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.45));
}
.kicker{color:var(--accent2);letter-spacing:.34em}
.btn{
  background:var(--gold-grad);color:#1a1405;font-weight:600;letter-spacing:.14em;
  border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 24px rgba(201,162,39,.22)
}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(226,214,178,.42);box-shadow:none}
.btn.ghost:hover{border-color:var(--accent2);color:var(--accent2)}
.stats strong,.proof strong{
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent
}
.marquee-track span{color:#c8cdd6}
.marquee-track i{color:var(--accent)}
.chip.on{background:var(--gold-grad);color:#1a1405;border-color:transparent}
.tag,.case-tags span{color:var(--accent2)}
.pill:hover{border-color:var(--accent2);color:var(--accent2)}
.nav nav a.active{color:var(--accent2)}
.nav .cta{border:1px solid rgba(226,214,178,.5)}
.section.dark{background:linear-gradient(180deg,#0a0b10,#07080b)}
.prod,.case,.sc-wrap{border-color:rgba(226,214,178,.14)}
.steps li{border-top-color:rgba(226,214,178,.22)}
.steps span{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}

/* Larger, steadier type */
.nav nav a{font-size:14px}
.lede{font-size:clamp(18px,1.7vw,22px)}
.head p,.prod p,.case-body p,.lane-body p{font-size:1rem}
.section p{line-height:1.7}
.foot-nav{font-size:.95rem}
.copy{font-size:13px}


/* ---------- Silver first, gold as a thin edge ---------- */
.stats strong,.proof strong,.steps span{
  background:var(--silver-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.proof strong{text-shadow:0 0 18px rgba(226,214,178,.12)}
.btn{
  background:linear-gradient(180deg,#fdfdfe 0%,#dfe4ea 45%,#b9c0ca 100%);
  color:#14161c;border:1px solid rgba(201,162,39,.55);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 6px 22px rgba(0,0,0,.45);
}
.btn:hover{border-color:rgba(226,190,90,.9);filter:brightness(1.03)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(223,227,233,.38)}
.btn.ghost:hover{border-color:rgba(201,162,39,.75);color:#f2ead3}
.chip.on{background:linear-gradient(180deg,#fdfdfe,#c9d0d9);color:#14161c;border-color:rgba(201,162,39,.5)}
.kicker{color:#cfd4dc}
.marquee-track i{color:rgba(201,162,39,.85)}
.tag,.case-tags span{color:#cbd1da;border-color:rgba(201,162,39,.30)}
.nav nav a.active{color:#fff}
.nav nav a.active::after{content:"";display:block;height:1px;margin-top:5px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.9),transparent)}
.nav .cta{border:1px solid rgba(201,162,39,.55)}
.prod,.case,.sc-wrap,.lane{border-color:rgba(223,227,233,.14)}
.prod:hover,.case:hover{border-color:rgba(201,162,39,.35)}
.section.dark{border-top:1px solid rgba(201,162,39,.12);border-bottom:1px solid rgba(201,162,39,.12)}
.head h2::after{content:"";display:block;width:64px;height:1px;margin-top:14px;
  background:linear-gradient(90deg,rgba(201,162,39,.9),rgba(223,227,233,.15))}
footer{border-top:1px solid rgba(201,162,39,.18)}


/* The hero still is only a stand-in until the video loads */
.hero-fallback{transition:opacity .8s ease}
.bg-video-live .hero-fallback{opacity:.18}
.hero-media{z-index:0}
.yt-bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.yt-bg iframe{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;border:0;pointer-events:none;
}
.hero-media::after{z-index:2}
.hero-copy{z-index:3}

/* Tighter rhythm — less dead space between sections */
.section{padding:clamp(48px,6.5vw,86px) clamp(20px,5vw,56px)}
.head{margin-bottom:26px}
.page-hero{min-height:38vh;padding:110px 20px 44px}
.cta-band{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}
.gallery,.case-grid,.prod-grid{gap:14px}

.playlist-wrap{max-width:1100px;margin:0 auto;aspect-ratio:16/9;border-radius:14px;overflow:hidden;
  border:1px solid rgba(223,227,233,.14);background:#000}
.playlist-wrap iframe{width:100%;height:100%;border:0;display:block}

.prod .spec{margin-top:10px;font-size:.82rem;letter-spacing:.04em;color:#cfd4dc;opacity:.62}
.faq{max-width:900px;margin:0 auto;display:grid;gap:10px}
.faq details{border:1px solid rgba(223,227,233,.14);border-radius:12px;padding:16px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.faq summary{cursor:pointer;font-size:1rem;letter-spacing:.01em}
.faq summary::marker{color:rgba(201,162,39,.8)}
.faq details p{margin-top:10px;opacity:.75;line-height:1.65;font-size:.95rem}
.faq details[open]{border-color:rgba(201,162,39,.32)}

/* Routing list */
.routing{list-style:none;padding:0;max-width:1000px;margin:0 auto;display:grid;gap:10px}
.routing li{display:grid;grid-template-columns:130px 1fr auto auto;gap:18px;align-items:center;
  border:1px solid rgba(223,227,233,.12);border-radius:12px;padding:16px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.r-when{font-family:Anton,sans-serif;letter-spacing:.08em;font-size:.95rem;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.r-place{display:block;font-size:1.05rem}
.r-note{display:block;opacity:.6;font-size:.88rem;margin-top:2px}
.r-status{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(223,227,233,.2);
  border-radius:999px;padding:5px 12px;opacity:.8}
.r-status.available{border-color:rgba(201,162,39,.5)}
.r-cta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(201,162,39,.6);padding-bottom:2px}
@media(max-width:720px){.routing li{grid-template-columns:1fr;gap:8px}}
.played-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-width:1000px;margin:0 auto}
.played{border:1px solid rgba(223,227,233,.12);border-radius:12px;padding:18px;text-align:center}
.played strong{display:block;font-size:1rem}
.played span{display:block;opacity:.55;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}

/* CTA bands carry an image behind them */
.cta-band{position:relative;background-size:cover;background-position:center;overflow:hidden;isolation:isolate}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(7,8,11,.82),rgba(7,8,11,.92))}
.cta-band>div{position:relative}

/* Service and package cards with a picture */
.prod.has-img{padding:0;overflow:hidden;display:flex;flex-direction:column}
.prod.has-img .prod-img{height:150px;background-size:cover;background-position:center;
  border-bottom:1px solid rgba(201,162,39,.18)}
.prod.has-img h3{margin:16px 20px 8px}
.prod.has-img p{margin:0 20px 16px}
.prod.has-img .spec{margin:auto 20px 18px}

.credit{margin:22px auto 0;max-width:1120px;padding:0 4vw;font-size:14px;color:var(--muted,#9a9a9a);letter-spacing:.02em}

.showreel{max-width:1120px;margin:0 auto 34px;padding:0 4vw}
.showreel video{width:100%;height:auto;display:block;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#000;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.showreel-cap{margin:12px 2px 0;font-size:14px;color:var(--muted,#9a9a9a);letter-spacing:.01em}
.reel-band .reel-vert{width:min(360px,84vw);max-width:360px;margin:0 auto 26px;padding:0}
.reel-vert video{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#000;box-shadow:0 18px 50px rgba(0,0,0,.6)}

.flyer-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,300px));justify-content:center;max-width:1120px;margin:0 auto;padding:0 4vw}
.flyer{border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}
.flyer-img{background:#000}
.flyer-img img{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;display:block}
.flyer-body{padding:16px 16px 20px}
.flyer-date{display:block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#c9a227);margin-bottom:6px}
.flyer h3{font-size:1.05rem;margin:0 0 6px;line-height:1.3}
.flyer-venue{margin:0 0 10px;font-size:.88rem;opacity:.7}
.flyer-role{margin:0 0 8px;font-size:.84rem;opacity:.85}
.flyer-lineup{margin:0;font-size:.8rem;opacity:.55;letter-spacing:.01em}

.foot-langs{max-width:760px;margin:14px auto 6px;padding:0 4vw;font-size:.86rem;opacity:.72;text-align:center;line-height:1.6}
.foot-langs strong{color:var(--accent2,#e6d9a8);font-weight:600}
.direct{margin-top:26px}
.direct-note{margin:8px 0 0;font-size:.88rem;opacity:.7;line-height:1.6;max-width:56ch}

.hero-social{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 4px}
.hero-social a{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;
  border:1px solid rgba(223,227,233,.18);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink,#e8e6e3);text-decoration:none;transition:border-color .2s,background .2s,color .2s}
.hero-social a:hover{border-color:var(--accent,#c9a227);background:rgba(201,162,39,.09);color:#fff}
.contact-line{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin:16px auto 0;font-size:.92rem}
.contact-line a{color:var(--accent2,#e6d9a8);text-decoration:none;border-bottom:1px solid rgba(230,217,168,.32)}
.contact-line a:hover{color:#fff}
.contact-line .lbl{opacity:.55;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;margin-right:6px}
.foot-contact{margin:10px auto 2px;font-size:.9rem;text-align:center}
.foot-contact a{color:var(--accent2,#e6d9a8);text-decoration:none}
.foot-contact a:hover{color:#fff}


/* ATMOSPHERE — stops the page reading as flat black.
   Three layers: a warm floor under everything, drifting gold sparks,
   and soft glows that sit behind section edges. All decorative,
   all pointer-events:none, all switched off for reduced motion. */

body{background:
  radial-gradient(1200px 680px at 12% -8%, rgba(201,162,39,.085), transparent 62%),
  radial-gradient(1000px 620px at 92% 8%, rgba(223,227,233,.055), transparent 60%),
  linear-gradient(180deg,#0a0b10 0%, #07080b 45%, #090a0f 100%);
  background-attachment:fixed}

/* drifting sparks */
#sparks{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.62;mix-blend-mode:screen}
body > header, body > section, body > footer, body > main{position:relative;z-index:1}

/* glow that rides the top edge of a dark band */
.section.dark{position:relative;overflow:hidden}
.section.dark::before{content:"";position:absolute;left:50%;top:-220px;width:1100px;height:440px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(closest-side, rgba(201,162,39,.16), transparent 72%)}

/* a hairline of light on every section seam */
.section + .section::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:min(720px,80%);height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(230,217,168,.34),transparent)}
.section{position:relative}

/* headings get a faint warm halo so they lift off the background */
.head{position:relative}
.head::after{content:"";position:absolute;left:-40px;top:-30px;width:280px;height:160px;z-index:-1;
  pointer-events:none;border-radius:50%;
  background:radial-gradient(closest-side, rgba(201,162,39,.11), transparent 70%)}

@media (prefers-reduced-motion: reduce){
  #sparks{display:none}
}

/* A lone video should not leave half the row empty. */
.video-grid:has(> :only-child){grid-template-columns:minmax(0,1fr);max-width:900px;margin-inline:auto}

/* Floating gear line-art */
#gear{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.gear-item{position:absolute;color:var(--accent2,#e6d9a8);
  animation-name:gear-drift;animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;animation-direction:alternate}
.gear-item svg{width:100%;height:100%;display:block}
@keyframes gear-drift{
  from{transform:translate3d(0,0,0) rotate(-7deg)}
  to{transform:translate3d(26px,-42px,0) rotate(7deg)}
}
@media (prefers-reduced-motion: reduce){#gear{display:none}}

/* Tour-merch monkeys — a wink, only on the music and live-set pages.
   Never on Production, Portfolio or Booking: that is where venue and
   corporate buyers land. */
.monkeys{position:absolute;top:-18px;right:clamp(12px,5vw,70px);width:clamp(150px,19vw,260px);
  height:auto;opacity:.9;pointer-events:none;z-index:2;transform-origin:50% 0;
  animation:monkey-swing 6.5s ease-in-out infinite alternate;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.6))}
@keyframes monkey-swing{from{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}
@media(max-width:700px){.monkeys{width:132px;top:-10px;opacity:.75}}
@media (prefers-reduced-motion: reduce){.monkeys{animation:none}}

/* The crowned one, on the page that is actually about him. */
.mk-crown{top:6px;width:clamp(120px,14vw,190px);opacity:.85;
  animation:monkey-bob 4.2s ease-in-out infinite alternate}
@keyframes monkey-bob{from{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(-9px) rotate(1.5deg)}}
@media (prefers-reduced-motion: reduce){.mk-crown{animation:none}}

/* Sao Paulo to Miami — the one place the Brazilian side gets to be loud. */
.roots{max-width:none;background:linear-gradient(180deg,#0a0b10,#080910)}
.roots-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.25fr .9fr;
  gap:clamp(20px,4vw,52px);align-items:center}
.roots-inner img{width:100%;height:auto;opacity:.95;
  filter:drop-shadow(0 16px 34px rgba(0,0,0,.55))}
.roots-copy h2{margin-bottom:12px}
.roots-copy p{opacity:.78;max-width:42ch}
@media(max-width:860px){.roots-inner{grid-template-columns:1fr}.roots-copy{text-align:center}
  .roots-copy p{margin-inline:auto}}

/* Booking sign-off — the page was a form floating in black. This warms
   the bottom of it without getting in the way of the form itself. */
.signoff{margin:38px auto 0;max-width:460px;text-align:center;opacity:.92}
.signoff img{width:100%;height:auto;filter:drop-shadow(0 14px 30px rgba(0,0,0,.55))}
.signoff figcaption{margin-top:6px;font-size:.86rem;opacity:.6;letter-spacing:.01em}

/* Hero sound toggle */
#soundToggle{display:inline-flex;align-items:center;gap:9px;margin-top:22px;
  padding:9px 16px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(223,227,233,.22);background:rgba(10,11,16,.5);
  backdrop-filter:blur(8px);color:var(--ink,#e8e6e3);
  font:inherit;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  transition:border-color .2s,background .2s,color .2s}
#soundToggle:hover{border-color:var(--accent,#c9a227);background:rgba(201,162,39,.12)}
#soundToggle.on{border-color:var(--accent,#c9a227);color:var(--accent2,#e6d9a8)}
#soundToggle:focus-visible{outline:2px solid var(--accent2,#e6d9a8);outline-offset:3px}
@media(max-width:860px){#soundToggle{display:none}}
