
:root{
  --bg:#020202;
  --panel:#070707;
  --text:#ffffff;
  --muted:rgba(255,255,255,.68);
  --line:rgba(255,255,255,.14);
  --accent:#b68fea;
  --font-ui:"Neue Montreal", Inter, Arial, sans-serif;
  --font-display:"Monument Extended", "Arial Black", Impact, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:#020202;color:#fff;font-family:var(--font-ui);}
a{color:inherit;text-decoration:none}
.site{overflow:hidden;min-height:100vh;background:#020202}
.topbar{height:78px;padding:0 38px;display:grid;grid-template-columns:220px 1fr 210px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.90);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand img{width:160px;max-height:54px;object-fit:contain;object-position:left center}
.nav{display:flex;justify-content:center;gap:42px;text-transform:uppercase;font-size:12px;letter-spacing:.025em}
.nav a:hover{color:var(--accent)}
.header-booking,.footer-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--accent);height:48px;padding:0 24px;text-transform:uppercase;font-size:12px;letter-spacing:.02em}
.header-booking{background:var(--accent);color:#050505}
.header-booking:hover,.btn.fill:hover{filter:brightness(1.08)}
.hamb{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{min-height:760px;padding:110px 58px 80px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.54)), url('assets/artists/jazei.png') center/cover no-repeat;position:relative}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,rgba(182,143,234,.18),transparent 28%),linear-gradient(180deg,transparent 55%,#020202 100%);pointer-events:none}
.hero-left{position:relative;z-index:2;max-width:820px}
.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.11em;font-size:12px;margin:0 0 18px}
h1,h2,h3{font-family:var(--font-display);font-style:italic;text-transform:uppercase;margin:0;letter-spacing:-.06em}
.hero h1{font-size:clamp(62px,8.4vw,138px);line-height:.82}
.hero h1 span,h2 span{color:var(--accent)}
.hero-sub{font-size:23px;line-height:1.25;max-width:610px;color:rgba(255,255,255,.78);margin:28px 0 34px}
.btn.fill{background:var(--accent);color:#050505;border-color:var(--accent)}
.btn.ghost{background:transparent;color:#fff}
.section{padding:82px 58px;border-bottom:1px solid rgba(255,255,255,.08)}
.split,.artists-top,.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.section h2{font-size:clamp(42px,5.7vw,88px);line-height:.88}
.split p,.artists-top p,.story-grid p,.page-hero p{font-size:18px;line-height:1.5;color:var(--muted)}
.artist-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:38px}
.artist-card{background:#090909;border:1px solid rgba(255,255,255,.10);overflow:hidden;display:block}
.artist-card img{width:100%;aspect-ratio:1/1.18;object-fit:cover;filter:grayscale(100%);transition:.35s}
.artist-card:hover img{filter:grayscale(0%)}
.artist-name{height:56px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#050505;font-family:var(--font-display);font-style:italic;text-transform:uppercase;font-size:16px;letter-spacing:-.04em;text-align:center}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:70px 58px;border-bottom:1px solid rgba(255,255,255,.08)}
.feature{padding:0 48px;border-right:1px solid rgba(255,255,255,.14)}
.feature:last-child{border-right:0}
.feature span{color:var(--accent);font-size:28px}
.feature h3{font-size:28px;margin:18px 0 12px}
.feature p{color:var(--muted);line-height:1.45}
.feature a{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.carousel-section{padding-top:58px;padding-bottom:58px}
.logo-marquee,.word-marquee{overflow:hidden;width:100%;position:relative}
.logo-track,.word-track{display:flex;align-items:center;width:max-content;animation:marquee 46.75s linear infinite}
.logo-track img{width:145px;height:46px;object-fit:contain;margin:0 17px;opacity:.86}
.word-track span{font-family:var(--font-display);font-style:italic;text-transform:uppercase;font-size:38px;letter-spacing:-.05em;margin:0 34px;color:#fff;opacity:.78}
.word-track span:nth-child(odd){color:var(--accent)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.14);margin-top:30px}
.brand-grid a{height:180px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.14)}
.brand-grid a:last-child{border-right:0}
.brand-grid span{font-family:var(--font-display);font-style:italic;text-transform:uppercase;font-size:38px;letter-spacing:-.06em}
.brand-grid img{max-width:220px;max-height:80px;object-fit:contain}
.brand-grid a:hover span{color:var(--accent)}
.page-hero{padding:80px 58px 56px;border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 80% 12%,rgba(182,143,234,.14),transparent 28%),#020202}
.page-hero h1{font-size:clamp(58px,8vw,118px);line-height:.86}
.artist-page-hero{padding:70px 58px 36px;border-bottom:1px solid rgba(255,255,255,.08)}
.artist-page-hero h1{font-size:clamp(70px,10vw,150px);line-height:.82}
.artist-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.artist-layout{padding:54px 58px 80px;display:grid;grid-template-columns:38% 1fr;gap:54px;align-items:start}
.artist-image-wrap img{width:100%;height:auto;display:block;filter:grayscale(100%);border:1px solid rgba(255,255,255,.14)}
.artist-image-wrap img:hover{filter:grayscale(0%)}
.artist-bio-wrap p{font-size:18px;line-height:1.58;color:rgba(255,255,255,.76);margin:0 0 24px}
.artist-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:34px}
.artist-meta-grid div,.event-grid div,.contact-card-large{border:1px solid rgba(182,143,234,.24);background:rgba(255,255,255,.018);padding:22px}
.artist-meta-grid small{display:block;color:var(--accent);text-transform:uppercase;font-size:10px;letter-spacing:.1em;margin-bottom:12px}
.artist-meta-grid strong{font-size:18px;text-transform:uppercase;line-height:1.2}
.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.event-grid h3{font-size:28px;margin-bottom:16px}
.event-grid p{color:var(--muted);line-height:1.45}
.enquiry-strip{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact-section{display:grid;grid-template-columns:2fr 1fr;gap:34px;align-items:start}
.booking-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.booking-form label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:var(--accent)}
.booking-form input,.booking-form select,.booking-form textarea{background:#090909;border:1px solid rgba(182,143,234,.35);color:#fff;padding:15px;font:inherit;min-height:48px}
.booking-form textarea{min-height:150px}
.booking-form .full{grid-column:1/-1}
.booking-form button{width:max-content;cursor:pointer}
.contact-card-large h3{font-size:28px;margin-bottom:18px}
.contact-card-large p{color:var(--muted);line-height:1.5}
.contact-card-large a{display:block;color:var(--accent);margin-top:14px}
.footer{display:grid;grid-template-columns:180px 1fr 130px 160px 210px;gap:34px;padding:48px 58px;border-top:1px solid rgba(255,255,255,.08);align-items:start}
.footer-logo img{width:150px}
.footer p{color:var(--muted);font-size:14px;line-height:1.45}
.footer h4{color:var(--accent);text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin:0 0 14px}
.footer a:not(.footer-logo):not(.footer-cta){display:block;color:rgba(255,255,255,.72);font-size:14px;margin-bottom:8px}
.footer a:hover{color:var(--accent)}
.credit{padding:0 58px 32px;color:rgba(255,255,255,.45);font-size:12px}
@media(max-width:1100px){
  .topbar{grid-template-columns:1fr 44px}.nav,.header-booking{display:none}.hamb{display:block;justify-self:end}
  .artist-grid{grid-template-columns:repeat(3,1fr)}.features,.event-grid{grid-template-columns:1fr 1fr}.artist-layout,.split,.artists-top,.story-grid,.contact-section{grid-template-columns:1fr}.footer{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hero,.section,.page-hero,.artist-page-hero,.artist-layout,.features{padding-left:24px;padding-right:24px}
  .hero h1{font-size:58px}.artist-grid,.features,.event-grid,.brand-grid,.booking-form{grid-template-columns:1fr}
  .brand-grid a{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
}

/* Final Catch Up requested updates */
.artist-meta-grid{grid-template-columns:1fr!important;}
.bio-heading-card{border:1px solid rgba(182,143,234,.24);background:rgba(255,255,255,.018);padding:22px;margin:0 0 30px;}
.bio-heading-card small{display:block;color:var(--accent)!important;text-transform:uppercase;letter-spacing:.10em;font-size:10px;margin:0;}
.artist-bio-wrap p{text-transform:none!important;}


/* Homepage requested sizing refinements */
.catchup-hero .eyebrow{display:none!important;}

.catchup-hero h1{
  font-size:calc(clamp(62px,8.4vw,138px) * .8)!important;
  line-height:.84!important;
}

.catchup-hero .hero-sub{
  font-size:18.4px!important;
  line-height:1.35!important;
  max-width:650px!important;
}

.intro.section h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .8)!important;
  line-height:.9!important;
}

.intro-copy-card{
  align-self:center;
  border:1px solid rgba(182,143,234,.24);
  background:linear-gradient(180deg,rgba(182,143,234,.06),rgba(255,255,255,.015));
  padding:28px;
  max-width:690px;
  justify-self:end;
}

.intro-copy-card p{
  margin:0!important;
  font-size:17px!important;
  line-height:1.58!important;
}

/* Functions & Events hover and header colour */
.event-grid div h3{transition:color .22s ease;}
.event-grid div:hover h3{color:var(--accent)!important;}

.functions-hero h1 span,
.page-hero h1 span{color:var(--accent)!important;}

.booking-form textarea{min-height:170px!important;}
.contact-section{align-items:start!important;}


.footer-socials{
  margin-top:24px;
  display:flex;
  gap:14px;
}

.social-icon.instagram{
  color:#fff;
  text-decoration:none;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  transition:color .2s ease;
}

.social-icon.instagram:hover{
  color:#b68fea;
}


/* Match artist heading size to intro heading */
.artists-section h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .8)!important;
  line-height:.9!important;
}


/* Artists section heading + paragraph alignment */
.artists-top{
  align-items:start!important;
}

.artists-section h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .8)!important;
  line-height:.9!important;
  margin:0!important;
}

.artists-top p{
  align-self:start!important;
  margin-top:6px!important;
  max-width:520px!important;
}


/* Integrated Instagram icon in footer */
.footer-instagram-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  margin-top:10px!important;
  color:rgba(255,255,255,.72)!important;
}

.footer-instagram-icon svg{
  width:18px!important;
  height:18px!important;
  fill:currentColor!important;
  display:block!important;
}

.footer-instagram-icon:hover{
  color:var(--accent)!important;
}

/* Remove previous separate footer social line if cached */
.footer-socials{
  display:none!important;
}

/* Homepage intro copy integrated with section */
.integrated-intro-copy{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  max-width:650px!important;
  justify-self:end!important;
  align-self:end!important;
}

.integrated-intro-copy p{
  font-size:18px!important;
  line-height:1.5!important;
  color:rgba(255,255,255,.68)!important;
}

/* Artists section top alignment */
.artists-top{
  align-items:start!important;
}

.artists-top > div{
  align-self:start!important;
}

.artists-top p:not(.eyebrow),
.artists-top > p{
  align-self:start!important;
  justify-self:end!important;
  text-align:right!important;
  margin-top:44px!important;
  max-width:540px!important;
}

/* OUR ARTISTS label same price/colour feel as carousel headings */
.artists-label{
  color:var(--accent)!important;
  text-transform:uppercase!important;
  letter-spacing:.11em!important;
  font-size:12px!important;
  margin-bottom:18px!important;
}

/* Feature links ensure they feel clickable */
.feature a:hover{
  color:var(--accent)!important;
}


/* Artist biography full card format */
.bio-heading-card{
  display:none!important;
}

.bio-content-card{
  border:1px solid rgba(182,143,234,.30);
  background:linear-gradient(180deg,rgba(182,143,234,.055),rgba(255,255,255,.015));
  padding:24px;
  margin:0;
}

.bio-content-card small{
  display:block;
  color:var(--accent)!important;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:10px;
  margin:0 0 22px;
}

.bio-content-card p{
  margin:0 0 24px!important;
}

.bio-content-card p:last-child{
  margin-bottom:0!important;
}


/* Tighten hero to WHAT WE DO spacing */
.hero{
  min-height:690px!important;
  padding-bottom:38px!important;
}

.intro.section{
  padding-top:42px!important;
}

/* Full width WHAT WE DO statement */
.what-we-do-statement{
  width:100%;
  max-width:100%;
}

.what-we-do-statement h2{
  width:100%;
  max-width:100%;
  font-size:calc(clamp(42px,5.7vw,88px) * .4)!important;
  line-height:1.12!important;
  letter-spacing:-.05em!important;
  color:#fff!important;
}

.what-we-do-statement h2 span{
  color:var(--accent)!important;
}


/* Reduce gap between hero and WHAT WE DO again */
.hero{
  padding-bottom:18px!important;
  min-height:640px!important;
}

.intro.section{
  padding-top:20px!important;
}

/* Reduce WHAT WE DO statement font size by another 50% */
.what-we-do-statement h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .2)!important;
  line-height:1.22!important;
  max-width:100%!important;
}


/* Halve WHAT WE DO statement font size again */
.what-we-do-statement h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .1)!important;
  line-height:1.35!important;
  letter-spacing:-.03em!important;
}


/* Reduce WHAT WE DO statement by another 50% */
.what-we-do-statement h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .05)!important;
  line-height:1.45!important;
}


/* WHAT WE DO statement exact 12px font */
.what-we-do-statement h2{
  font-size:12px!important;
  line-height:1.5!important;
  letter-spacing:0!important;
}


/* FORCE smaller WHAT WE DO body text */
.what-we-do-statement h2{
    font-size: 12px !important;
    line-height: 1.45 !important;
    max-width: 100% !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
}

.what-we-do-statement{
    max-width: 100% !important;
}

.what-we-do-statement *{
    font-size: 12px !important;
}


/* Footer identity layout to match reference */
.footer{
  grid-template-columns:minmax(430px,1.5fr) 130px 160px 210px!important;
  align-items:start!important;
}

.footer-identity{
  display:grid;
  grid-template-columns:auto 1px minmax(180px,260px);
  gap:42px;
  align-items:start;
}

.footer-identity .footer-logo{
  display:flex!important;
  align-items:flex-start;
}

.footer-identity .footer-logo img{
  width:210px!important;
  max-height:84px!important;
  object-fit:contain!important;
  object-position:left top!important;
}

.footer-divider{
  display:block;
  width:1px;
  height:88px;
  background:rgba(255,255,255,.26);
  margin-top:0;
}

.footer-identity p{
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:13px!important;
  line-height:1.25!important;
  max-width:260px!important;
}

.footer > p{
  display:none!important;
}

@media(max-width:1100px){
  .footer{
    grid-template-columns:1fr!important;
  }

  .footer-identity{
    grid-template-columns:auto 1px minmax(180px,260px);
    gap:28px;
  }
}

@media(max-width:640px){
  .footer-identity{
    grid-template-columns:1fr;
    gap:20px;
  }

  .footer-divider{
    width:90px;
    height:1px;
  }

  .footer-identity .footer-logo img{
    width:170px!important;
  }
}


/* Brands We Work With carousel logo update */
.brand-logo-track,
.logo-track.brand-logo-track{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  animation:marquee 46.75s linear infinite!important;
}

.brand-logo-track img{
  width:145px!important;
  height:46px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 22px!important;
  opacity:.9!important;
  filter:none!important;
}

.brand-logo-track img:hover{
  opacity:1!important;
}

/* Footer refinement: smaller logo and left-justified copy closer to logo */
.footer-identity{
  grid-template-columns:auto 1px minmax(190px,260px)!important;
  gap:26px!important;
  align-items:start!important;
}

.footer-identity .footer-logo img{
  width:168px!important; /* 20% smaller from 210px */
  max-height:68px!important;
  object-fit:contain!important;
  object-position:left top!important;
}

.footer-divider{
  height:78px!important;
}

.footer-identity p{
  text-align:left!important;
  justify-self:start!important;
  margin-left:0!important;
  max-width:260px!important;
}

@media(max-width:640px){
  .brand-logo-track img{
    width:122px!important;
    height:39px!important;
    margin:0 14px!important;
  }

  .footer-identity .footer-logo img{
    width:150px!important;
  }
}


/* Final footer credit cleanup */
.credit{
  font-size:12px!important;
}

/* Footer: move copy hard left beside logo */
.footer{
  grid-template-columns:minmax(520px,1.8fr) 130px 160px 210px!important;
}

.footer-identity{
  display:grid!important;
  grid-template-columns:168px 1px 260px!important;
  gap:18px!important;
  justify-content:start!important;
  align-items:start!important;
  justify-self:start!important;
  width:100%!important;
}

.footer-identity .footer-logo{
  justify-self:start!important;
}

.footer-identity .footer-logo img{
  width:168px!important;
  max-height:68px!important;
  object-fit:contain!important;
  object-position:left top!important;
}

.footer-divider{
  justify-self:start!important;
  height:78px!important;
  background:rgba(255,255,255,.26)!important;
}

.footer-identity p{
  justify-self:start!important;
  text-align:left!important;
  margin:0!important;
  padding:0!important;
  max-width:260px!important;
  font-size:13px!important;
  line-height:1.25!important;
}

/* Brands carousel: bigger logos and tighter spacing */
.brand-logo-track img{
  width:174px!important;   /* 20% bigger */
  height:55px!important;   /* 20% bigger */
  margin:0 18px!important; /* 20% less gap from 22px */
  object-fit:contain!important;
  object-position:center!important;
  opacity:.92!important;
}

/* Ensure logo image outlines are visually normalised inside their frames */
.brand-logo-track{
  gap:0!important;
}

@media(max-width:1050px){
  .brand-logo-track img{
    width:158px!important;
    height:50px!important;
    margin:0 14px!important;
  }
}

@media(max-width:640px){
  .footer{
    grid-template-columns:1fr!important;
  }

  .footer-identity{
    grid-template-columns:150px 1px 220px!important;
    gap:14px!important;
  }

  .footer-identity .footer-logo img{
    width:150px!important;
  }

  .brand-logo-track img{
    width:146px!important;
    height:47px!important;
    margin:0 11px!important;
  }
}


/* Venues We Work With carousel logo update to match Brands */
.venue-logo-track,
.logo-track.venue-logo-track{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  animation:marquee 46.75s linear infinite!important;
}

.venue-logo-track img{
  width:174px!important;
  height:55px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 18px!important;
  opacity:.92!important;
  filter:none!important;
}

.venue-logo-track img:hover{
  opacity:1!important;
}

@media(max-width:1050px){
  .venue-logo-track img{
    width:158px!important;
    height:50px!important;
    margin:0 14px!important;
  }
}

@media(max-width:640px){
  .venue-logo-track img{
    width:146px!important;
    height:47px!important;
    margin:0 11px!important;
  }
}


/* Increase BOTH Brands + Venues logos by 25% */
.brand-logo-track img,
.venue-logo-track img{
  width:218px !important;   /* 174 x 1.25 */
  height:69px !important;   /* 55 x 1.25 */
}

@media(max-width:1050px){
  .brand-logo-track img,
  .venue-logo-track img{
    width:198px !important;
    height:63px !important;
  }
}

@media(max-width:640px){
  .brand-logo-track img,
  .venue-logo-track img{
    width:183px !important;
    height:59px !important;
  }
}


/* Contact page full width enquiry section */
.contact-section{
  display:block!important;
}

.contact-section .booking-form{
  margin-bottom:36px;
}

.full-width-contact{
  width:100%!important;
  max-width:100%!important;
}


/* Main homepage hero - make image pop */
.hero.catchup-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.40) 42%,rgba(0,0,0,.18) 100%),
    url('assets/catchup-main-hero.jpg') center center/cover no-repeat !important;
  min-height:720px !important;
}

/* Move headline higher and keep strong presence */
.catchup-hero .hero-left{
  margin-top:-20px !important;
}

.catchup-hero h1{
  font-size:calc(clamp(62px,8.4vw,138px) * .78) !important;
  line-height:.86 !important;
}

/* WHAT WE DO statement - restore to sensible readable size */
.what-we-do-statement h2,
.what-we-do-statement h2 *{
  font-size:14px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  letter-spacing:.01em !important;
}


/* Replace homepage hero image */
.hero.catchup-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.12) 100%),
    url('assets/catchup-main-hero.jpg') center center/cover no-repeat !important;
}

/* Make WHAT WE DO statement 50% smaller than current */
.what-we-do-statement h2,
.what-we-do-statement h2 *{
  font-size:7px !important;
  line-height:1.45 !important;
}


/* Functions & Events page hero image + text update */
.functions-hero{
  background:
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 42%, rgba(0,0,0,.16) 100%),
    url('assets/functions-events-hero.jpg') right center / cover no-repeat !important;
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.functions-hero h1{
  font-size:calc(clamp(58px,8vw,118px) * .8)!important;
  line-height:.86!important;
  max-width:720px!important;
}

.functions-hero p{
  max-width:720px!important;
  line-height:1.45!important;
}

/* Main page WHAT WE DO statement 25% smaller */
.what-we-do-statement h2,
.what-we-do-statement h2 *{
  font-size:5.25px!important;
  line-height:1.5!important;
  letter-spacing:.02em!important;
}


/* Smaller page hero headings */
.page-hero.compact h1,
.functions-hero h1{
    font-size:80% !important;
}

/* About page heading same reduction */
.about-hero h1,
.page-hero.about h1{
    font-size:80% !important;
}


/* Premium page hero styling to match reference, using Catch Up purple */
.premium-page-hero{
  min-height:620px!important;
  padding:92px 58px 70px!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}

.premium-page-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.80) 42%,rgba(0,0,0,.25) 75%,rgba(0,0,0,.78) 100%),
    radial-gradient(circle at 72% 50%,rgba(182,143,234,.20),transparent 34%)!important;
  z-index:1!important;
  pointer-events:none!important;
}

.premium-page-hero .page-hero-copy{
  position:relative!important;
  z-index:3!important;
  max-width:980px!important;
}

.premium-page-hero .eyebrow{
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  margin-bottom:22px!important;
}

.premium-page-hero h1{
  font-size:clamp(74px,7.6vw,150px)!important;
  line-height:.82!important;
  letter-spacing:-.075em!important;
  max-width:970px!important;
  color:#fff!important;
  margin:0 0 28px!important;
  font-family:var(--font-display)!important;
  font-style:italic!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}

.premium-page-hero h1 span{
  color:var(--accent)!important;
}

.premium-page-hero p:not(.eyebrow){
  max-width:860px!important;
  color:rgba(255,255,255,.76)!important;
  font-size:21px!important;
  line-height:1.34!important;
  margin:0!important;
}

/* Functions page: image right with dark fade */
.functions-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.86) 48%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.84) 100%),
    url('assets/functions-events-hero.jpg') right center / 52% auto no-repeat!important;
}

/* About page follows same structure without forcing old tiny style */
.about-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.86) 48%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.84) 100%),
    radial-gradient(circle at 82% 48%,rgba(182,143,234,.18),transparent 30%),
    #020202!important;
}

/* Undo old generic percentage reductions on these page heroes */
.page-hero.compact h1,
.functions-hero h1,
.about-hero h1{
  font-size:clamp(74px,7.6vw,150px)!important;
}

@media(max-width:1050px){
  .premium-page-hero{
    min-height:560px!important;
    padding:78px 34px 58px!important;
  }

  .premium-page-hero h1{
    font-size:clamp(56px,12vw,104px)!important;
  }

  .premium-page-hero p:not(.eyebrow){
    font-size:18px!important;
  }

  .functions-hero{
    background:
      linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 100%),
      url('assets/functions-events-hero.jpg') center center / cover no-repeat!important;
  }
}

@media(max-width:640px){
  .premium-page-hero{
    padding:60px 24px 48px!important;
    min-height:500px!important;
  }

  .premium-page-hero h1{
    font-size:48px!important;
    line-height:.88!important;
  }

  .premium-page-hero p:not(.eyebrow){
    font-size:16px!important;
  }
}


/* Banner text left justified + bottom image fade */
.premium-page-hero,
.premium-page-hero .page-hero-copy,
.premium-page-hero .eyebrow,
.premium-page-hero h1,
.premium-page-hero p{
  text-align:left!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
}

.premium-page-hero .page-hero-copy{
  margin-left:0!important;
  justify-self:start!important;
}

/* Fade banner image out at the bottom */
.premium-page-hero:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:42%!important;
  background:linear-gradient(180deg,rgba(2,2,2,0) 0%,#020202 100%)!important;
  z-index:2!important;
  pointer-events:none!important;
}

/* Ensure text stays above fade */
.premium-page-hero .page-hero-copy{
  z-index:4!important;
}

/* Functions & Events subtext 20% smaller */
.functions-hero p:not(.eyebrow){
  font-size:16.8px!important;
  line-height:1.38!important;
}


/* Final Functions & Events hero refinements */
.functions-hero h1{
  font-size:calc(clamp(74px,7.6vw,150px) * .8)!important;
  line-height:.82!important;
}

/* Strong bottom fade so banner merges into the page like homepage hero */
.functions-hero:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:48%!important;
  background:linear-gradient(180deg,rgba(2,2,2,0) 0%,rgba(2,2,2,.72) 58%,#020202 100%)!important;
  z-index:2!important;
  pointer-events:none!important;
}

.functions-hero .page-hero-copy{
  z-index:4!important;
}

/* Premium Ready To Book CTA */
.premium-booking-cta{
  padding-top:88px!important;
  padding-bottom:88px!important;
}

.booking-cta-panel{
  position:relative;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:48px;
  align-items:center;
  border:1px solid rgba(182,143,234,.32);
  background:
    radial-gradient(circle at 82% 18%,rgba(182,143,234,.18),transparent 32%),
    linear-gradient(135deg,rgba(182,143,234,.08),rgba(255,255,255,.015));
  padding:46px;
  overflow:hidden;
}

.booking-cta-panel:before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.045);
  pointer-events:none;
}

.booking-cta-copy{
  position:relative;
  z-index:2;
}

.booking-cta-copy .eyebrow{
  color:var(--accent)!important;
  margin-bottom:18px!important;
}

.booking-cta-copy h2{
  font-size:clamp(46px,6.4vw,92px)!important;
  line-height:.86!important;
  letter-spacing:-.065em!important;
  margin:0 0 24px!important;
}

.booking-cta-copy h2 span{
  color:var(--accent)!important;
}

.booking-cta-copy p:not(.eyebrow){
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.45;
  max-width:620px;
  margin:0;
}

.booking-cta-actions{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:stretch;
}

.booking-cta-actions .btn{
  width:100%;
  min-height:54px;
}

.booking-cta-actions .btn.ghost:hover{
  background:var(--accent)!important;
  color:#050505!important;
}

@media(max-width:900px){
  .booking-cta-panel{
    grid-template-columns:1fr;
    padding:34px;
  }

  .premium-booking-cta{
    padding-top:58px!important;
    padding-bottom:58px!important;
  }
}


/* Match Functions/About banner headline size to main homepage hero headline */
.functions-hero h1,
.about-hero h1,
.premium-page-hero.functions-hero h1,
.premium-page-hero.about-hero h1{
  font-size:calc(clamp(62px,8.4vw,138px) * .78)!important;
  line-height:.86!important;
  letter-spacing:-.075em!important;
}

/* Stronger seamless bottom fade on Functions banner image */
.functions-hero{
  overflow:hidden!important;
}

.functions-hero:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:68%!important;
  background:
    linear-gradient(180deg,
      rgba(2,2,2,0) 0%,
      rgba(2,2,2,.42) 38%,
      rgba(2,2,2,.86) 72%,
      #020202 100%)!important;
  z-index:3!important;
  pointer-events:none!important;
}

.functions-hero:before{
  z-index:2!important;
}

.functions-hero .page-hero-copy{
  position:relative!important;
  z-index:5!important;
}


/* ABOUT page hero copy same size as Functions page supporting text */
.about-hero p:not(.eyebrow){
  font-size:16.8px!important;
  line-height:1.38!important;
  max-width:720px!important;
}

/* ABOUT heading on two lines only */
.about-hero h1{
  max-width:900px!important;
}

/* OUR FOCUS heading sizing */
.our-focus .eyebrow,
.focus-section .eyebrow{
  font-size:14px!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}

/* Pull OUR FOCUS section up and align left/right content */
.our-focus,
.focus-section{
  padding-top:40px!important;
}

.our-focus .split,
.focus-section .split{
  align-items:start!important;
}

.our-focus h2,
.focus-section h2{
  margin-top:0!important;
  line-height:.9!important;
}


/* Final ABOUT page alignment refinements */
.about-hero h1{
  white-space:normal!important;
  max-width:1000px!important;
}

/* Make OUR FOCUS same visual size/treatment as ABOUT CATCH UP */
.story-grid .eyebrow,
.about-page .story-grid .eyebrow,
section.story-grid .eyebrow,
.story-grid > div:first-child .eyebrow{
  font-size:14px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  color:rgba(255,255,255,.72)!important;
  margin:0 0 22px!important;
}

/* Pull the full Our Focus block to the top, aligned with right column text */
.story-grid{
  align-items:start!important;
}

.story-grid > div:first-child,
.story-grid > div:last-child{
  align-self:start!important;
  padding-top:0!important;
  margin-top:0!important;
}

.story-grid > div:first-child h2{
  margin-top:0!important;
  padding-top:0!important;
  line-height:.9!important;
}

.story-grid > div:last-child p:first-child{
  margin-top:0!important;
  padding-top:0!important;
}

/* Remove any previous extra top padding from focus/story sections */
section.story-grid,
.section.story-grid{
  padding-top:54px!important;
}

@media(max-width:900px){
  .story-grid > div:first-child .eyebrow{
    margin-bottom:18px!important;
  }
}


/* WHAT WE DO redesign */
.what-we-do-redesign{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start;
  margin-top:24px;
}

.what-we-do-left h2{
  font-size:clamp(42px,4vw,72px);
  line-height:.92;
  letter-spacing:-.05em;
  margin:0;
}

.what-we-do-right p{
  font-size:16px;
  line-height:1.8;
  color:rgba(255,255,255,.72);
  margin:0 0 18px;
  max-width:620px;
}

.focus-cards{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.focus-cards span{
  border:1px solid rgba(182,143,234,.35);
  color:#b68fea;
  padding:10px 14px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

@media(max-width:900px){
  .what-we-do-redesign{
    grid-template-columns:1fr;
    gap:28px;
  }
}


/* REAL redesigned WHAT WE DO section */
.redesigned-what-we-do{
  padding-top:48px!important;
  padding-bottom:76px!important;
}

.redesigned-what-we-do > .eyebrow{
  color:var(--accent)!important;
  font-size:12px!important;
  letter-spacing:.11em!important;
  margin-bottom:28px!important;
}

.what-we-do-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:70px!important;
  align-items:start!important;
}

.what-we-do-heading h2{
  font-family:var(--font-display)!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  font-size:clamp(42px,4.8vw,78px)!important;
  line-height:.88!important;
  letter-spacing:-.065em!important;
  margin:0!important;
  color:#fff!important;
}

.what-we-do-heading h2 span{
  color:var(--accent)!important;
}

.what-we-do-copy{
  max-width:660px!important;
  justify-self:end!important;
}

.what-we-do-copy p{
  margin:0 0 18px!important;
  font-size:16px!important;
  line-height:1.72!important;
  color:rgba(255,255,255,.72)!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:400!important;
}

.what-we-do-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:28px!important;
}

.what-we-do-tags span{
  border:1px solid rgba(182,143,234,.36)!important;
  color:var(--accent)!important;
  padding:10px 14px!important;
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  background:rgba(182,143,234,.035)!important;
}

@media(max-width:900px){
  .what-we-do-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  .what-we-do-copy{
    justify-self:start!important;
  }
}


/* Homepage restructure refinements */
.artists-section h2{
  white-space:nowrap!important;
  font-size:calc(clamp(42px,4.8vw,78px) * .86)!important;
}

.features{
  padding-top:64px!important;
  padding-bottom:64px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}

.features .feature h3{
  color:#fff;
}

.features .feature:hover h3{
  color:var(--accent)!important;
}

@media(max-width:900px){
  .artists-section h2{
    white-space:normal!important;
  }
}


.redesigned-what-we-do{
  padding-bottom:10px!important;
}

.features{
  margin-top:0!important;
  padding-top:20px!important;
}

.what-we-do-grid,
.what-we-do-heading,
.what-we-do-copy,
.what-we-do-tags{
  display:none!important;
}


/* Align Venues & Nightlife / Corporate / Private Events perfectly */
.features{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}

.features .feature{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  min-height:100%!important;
}

.features .feature h3{
  min-height:56px!important;
  display:flex!important;
  align-items:flex-start!important;
  margin-top:0!important;
}

/* Functions page AMG hero image */
.functions-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.80) 42%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.82) 100%),
    url('assets/functions-events-hero.jpg') right center / cover no-repeat!important;
}


/* Final AMG Functions banner fix: no hard line, brighter image, DJ visible right */
.functions-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 40%,rgba(0,0,0,.10) 76%,rgba(0,0,0,.38) 100%),
    url('assets/functions-events-hero.jpg') right center / cover no-repeat!important;
  border-bottom:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* Remove any visible separator / hard line at banner bottom */
.functions-hero,
.premium-page-hero.functions-hero,
.page-hero.functions-hero{
  border-bottom:0!important;
}

.functions-hero:before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.08) 74%,rgba(0,0,0,.30) 100%),
    radial-gradient(circle at 78% 52%,rgba(182,143,234,.16),transparent 34%)!important;
  z-index:2!important;
}

/* Smooth bottom fade only, no line */
.functions-hero:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-2px!important;
  height:58%!important;
  background:linear-gradient(180deg,rgba(2,2,2,0) 0%,rgba(2,2,2,.42) 48%,#020202 100%)!important;
  z-index:3!important;
  pointer-events:none!important;
  border:0!important;
  box-shadow:none!important;
}

.functions-hero .page-hero-copy{
  position:relative!important;
  z-index:5!important;
}

/* Prevent next section from creating a line directly under banner */
.functions-hero + .section,
.premium-page-hero + .section{
  border-top:0!important;
}


/* About page hero image treatment matching Functions page */
.about-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 40%,rgba(0,0,0,.10) 76%,rgba(0,0,0,.38) 100%),
    url('assets/about-hero.jpg') right center / cover no-repeat!important;
  border-bottom:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

.about-hero:before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.08) 74%,rgba(0,0,0,.30) 100%),
    radial-gradient(circle at 78% 52%,rgba(182,143,234,.16),transparent 34%)!important;
  z-index:2!important;
}

.about-hero:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-2px!important;
  height:58%!important;
  background:linear-gradient(180deg,rgba(2,2,2,0) 0%,rgba(2,2,2,.42) 48%,#020202 100%)!important;
  z-index:3!important;
  pointer-events:none!important;
  border:0!important;
  box-shadow:none!important;
}

.about-hero .page-hero-copy{
  position:relative!important;
  z-index:5!important;
}

.about-hero + .section{
  border-top:0!important;
}


/* Shift About hero image further right so DJ/crowd sits more right justified */
.about-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.68) 40%,rgba(0,0,0,.10) 76%,rgba(0,0,0,.38) 100%),
    url('assets/about-hero.jpg') 92% center / cover no-repeat!important;
}

@media(max-width:1050px){
  .about-hero{
    background:
      linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 100%),
      url('assets/about-hero.jpg') 78% center / cover no-repeat!important;
  }
}

/* Main page services section alignment */
.features{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
}

.features .feature{
  display:grid!important;
  grid-template-rows:34px 74px 1fr 24px!important;
  align-items:start!important;
  padding:0 58px!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
}

.features .feature:last-child{
  border-right:0!important;
}

.features .feature span{
  display:block!important;
  height:34px!important;
  line-height:1!important;
  margin:0 0 10px!important;
  color:var(--accent)!important;
}

.features .feature h3{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  color:#fff!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
  filter:none!important;
  transition:color .22s ease!important;
}

.features .feature:hover h3,
.features .feature h3:hover{
  color:var(--accent)!important;
  -webkit-text-fill-color:var(--accent)!important;
  background:none!important;
  text-shadow:none!important;
  filter:none!important;
}

.features .feature p{
  margin:18px 0 0!important;
  align-self:start!important;
}

.features .feature a{
  align-self:end!important;
  margin-top:20px!important;
  color:var(--accent)!important;
}

@media(max-width:900px){
  .features{
    grid-template-columns:1fr!important;
  }

  .features .feature{
    grid-template-rows:auto!important;
    padding:28px 24px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }

  .features .feature:last-child{
    border-bottom:0!important;
  }
}


/* Ensure artist Biography cards display consistently */
.bio-content-card{
  border:1px solid rgba(182,143,234,.30)!important;
  background:linear-gradient(180deg,rgba(182,143,234,.055),rgba(255,255,255,.015))!important;
  padding:24px!important;
  margin:0!important;
}

.bio-content-card small{
  display:block!important;
  color:var(--accent)!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
  font-size:10px!important;
  margin:0 0 22px!important;
}

.bio-content-card p{
  margin:0 0 24px!important;
  font-size:18px!important;
  line-height:1.58!important;
  color:rgba(255,255,255,.76)!important;
}

.bio-content-card p:last-child{
  margin-bottom:0!important;
}


/* Final WHAT WE DO services row alignment */
.redesigned-what-we-do{
  padding-bottom:28px!important;
}

.features{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  padding-top:34px!important;
  padding-bottom:70px!important;
}

.features .feature{
  display:grid!important;
  grid-template-rows:38px 82px minmax(112px,auto) 28px!important;
  align-items:start!important;
  padding:0 56px!important;
  min-height:285px!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
}

.features .feature:last-child{
  border-right:0!important;
}

.features .feature > span{
  grid-row:1!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  color:var(--accent)!important;
  font-size:28px!important;
}

.features .feature h3{
  grid-row:2!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  height:82px!important;
  min-height:82px!important;
  margin:0!important;
  padding:0!important;
  line-height:.98!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  text-shadow:none!important;
  filter:none!important;
  transition:color .22s ease, -webkit-text-fill-color .22s ease!important;
}

.features .feature:hover h3,
.features .feature h3:hover{
  color:var(--accent)!important;
  -webkit-text-fill-color:var(--accent)!important;
  background:none!important;
  text-shadow:none!important;
  filter:none!important;
}

.features .feature p{
  grid-row:3!important;
  margin:0!important;
  padding:0!important;
  color:rgba(255,255,255,.68)!important;
  line-height:1.45!important;
  max-width:95%!important;
}

.features .feature a{
  grid-row:4!important;
  align-self:end!important;
  margin:0!important;
  padding:0!important;
  color:var(--accent)!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:flex-end!important;
}

@media(max-width:1100px){
  .features .feature{
    padding:0 36px!important;
  }
}

@media(max-width:900px){
  .features{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding-top:22px!important;
  }

  .features .feature{
    display:block!important;
    min-height:auto!important;
    padding:30px 24px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }

  .features .feature h3{
    height:auto!important;
    min-height:0!important;
    margin:12px 0 16px!important;
  }

  .features .feature p{
    margin-bottom:20px!important;
  }
}


/* Move WHAT WE DO into services section visually */
.redesigned-what-we-do{
  padding-bottom:0!important;
  margin-bottom:-8px!important;
}

.redesigned-what-we-do .eyebrow{
  margin-bottom:8px!important;
}

/* Pull services row up under WHAT WE DO */
.features{
  padding-top:8px!important;
  margin-top:0!important;
}

/* Reduce gap between paragraph and purple link by 50% */
.features .feature p{
  margin-bottom:10px!important;
}

.features .feature a{
  margin-top:8px!important;
}


/* Final WHAT WE DO inside services block */
.redesigned-what-we-do{
  display:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}

/* Remove duplicate top/bottom lines around services */
.what-we-do-services{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  padding-top:48px!important;
  padding-bottom:70px!important;
  border-top:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.what-we-do-services-label{
  grid-column:1 / -1!important;
  padding:0 56px 24px!important;
  border:0!important;
}

.what-we-do-services-label .eyebrow{
  color:var(--accent)!important;
  font-size:12px!important;
  letter-spacing:.11em!important;
  margin:0!important;
  text-transform:uppercase!important;
}

/* ensure each card starts below the WHAT WE DO label */
.what-we-do-services .feature{
  display:grid!important;
  grid-template-rows:38px 82px auto auto!important;
  align-items:start!important;
  min-height:0!important;
  padding:0 56px!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
  border-top:0!important;
}

.what-we-do-services .feature:last-child{
  border-right:0!important;
}

.what-we-do-services .feature > span{
  grid-row:1!important;
  margin:0!important;
}

.what-we-do-services .feature h3{
  grid-row:2!important;
  margin:0!important;
  height:82px!important;
  min-height:82px!important;
  display:flex!important;
  align-items:flex-start!important;
}

.what-we-do-services .feature p{
  grid-row:3!important;
  margin:0!important;
  padding:0!important;
  line-height:1.45!important;
}

/* CTA links sit basically directly underneath copy */
.what-we-do-services .feature a{
  grid-row:4!important;
  margin-top:6px!important;
  padding-top:0!important;
  align-self:start!important;
  line-height:1.1!important;
  display:inline-flex!important;
}

@media(max-width:900px){
  .what-we-do-services{
    grid-template-columns:1fr!important;
    padding-top:34px!important;
  }

  .what-we-do-services-label{
    padding:0 24px 18px!important;
  }

  .what-we-do-services .feature{
    display:block!important;
    padding:28px 24px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }

  .what-we-do-services .feature h3{
    height:auto!important;
    min-height:0!important;
    margin:10px 0 16px!important;
  }

  .what-we-do-services .feature a{
    margin-top:8px!important;
  }
}


/* Final CTA spacing refinement */
.what-we-do-services .feature a,
.features .feature a{
    margin-top:4px !important;
    padding-top:0 !important;
}


/* One clean line gap between paragraph and purple CTA links */
.what-we-do-services .feature p,
.features .feature p{
    margin-bottom:14px !important;
}

.what-we-do-services .feature a,
.features .feature a{
    margin-top:0 !important;
    padding-top:0 !important;
}


/* Match WHAT WE DO positioning/style to ARTISTS + BRANDS WE WORK WITH */
.what-we-do-services-label{
    padding-left:0 !important;
    padding-right:0 !important;
    margin-bottom:18px !important;
}

.what-we-do-services-label .eyebrow{
    margin-left:0 !important;
    padding-left:0 !important;
    font-size:12px !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
}

/* Keep consistent vertical rhythm between major homepage section labels */
.what-we-do-services{
    padding-top:42px !important;
}


/* Final requested updates - contact form, heading scale, mobile consistency and text arrows */
.contact-section{
  display:block!important;
  width:100%!important;
}

.contact-section .booking-form{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 36px!important;
}

.booking-form form{
  display:block!important;
  width:100%!important;
}

.booking-form .form-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  margin-bottom:14px!important;
}

.booking-form .form-field{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
  margin-bottom:14px!important;
}

.booking-form .form-row .form-field{margin-bottom:0!important;}

.booking-form .form-field.full{
  width:100%!important;
}

.booking-form label{
  display:block!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  color:var(--accent)!important;
  margin:0!important;
}

.booking-form input,
.booking-form textarea,
.booking-form select{
  width:100%!important;
  background:#090909!important;
  border:1px solid rgba(182,143,234,.35)!important;
  color:#fff!important;
  padding:15px!important;
  font:inherit!important;
  min-height:48px!important;
  border-radius:0!important;
  appearance:none!important;
}

.booking-form textarea{
  min-height:170px!important;
  resize:vertical!important;
}

.booking-form button{
  width:max-content!important;
  cursor:pointer!important;
  margin-top:4px!important;
}

/* Keep all arrow characters as text glyphs rather than mobile emoji style */
.btn span,
.header-booking span,
.footer-cta span,
.feature a,
a[href] span{
  font-family:Arial, Helvetica, sans-serif!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1!important;
  color:inherit!important;
  font-variant-emoji:text!important;
}

/* Global heading reduction by 25% */
h1,h2,h3,
.hero h1,
.catchup-hero h1,
.page-hero h1,
.artist-page-hero h1,
.functions-hero h1,
.about-hero h1,
.premium-page-hero h1,
.premium-page-hero.functions-hero h1,
.premium-page-hero.about-hero h1,
.section h2,
.artists-section h2,
.story-grid h2,
.booking-cta-copy h2,
.what-we-do-left h2,
.what-we-do-heading h2,
.what-we-do-statement h2,
.contact-card-large h3,
.event-grid h3,
.features .feature h3{
  font-family:var(--font-display)!important;
  font-style:italic!important;
  text-transform:uppercase!important;
}

.hero h1,
.catchup-hero h1{
  font-size:calc(clamp(62px,8.4vw,138px) * .585)!important;
  line-height:.86!important;
}

.page-hero h1,
.page-hero.compact h1,
.functions-hero h1,
.about-hero h1,
.premium-page-hero h1,
.premium-page-hero.functions-hero h1,
.premium-page-hero.about-hero h1{
  font-size:calc(clamp(58px,8vw,118px) * .75)!important;
  line-height:.86!important;
}

.artist-page-hero h1{
  font-size:calc(clamp(70px,10vw,150px) * .75)!important;
  line-height:.82!important;
}

.section h2,
.artists-section h2,
.story-grid h2,
.booking-cta-copy h2,
.what-we-do-left h2,
.what-we-do-heading h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .75)!important;
  line-height:.9!important;
}

.features .feature h3,
.event-grid h3,
.contact-card-large h3{
  font-size:21px!important;
  line-height:1.05!important;
}

/* Home page banner reduced by 25% */
.hero.catchup-hero{
  min-height:540px!important;
  padding-top:82px!important;
  padding-bottom:60px!important;
}

.catchup-hero .hero-left{
  margin-top:0!important;
}

@media(max-width:640px){
  h1,h2,h3,
  .hero h1,
  .catchup-hero h1,
  .page-hero h1,
  .artist-page-hero h1,
  .functions-hero h1,
  .about-hero h1,
  .premium-page-hero h1,
  .premium-page-hero.functions-hero h1,
  .premium-page-hero.about-hero h1,
  .section h2,
  .artists-section h2,
  .story-grid h2,
  .booking-cta-copy h2,
  .what-we-do-left h2,
  .what-we-do-heading h2,
  .features .feature h3,
  .event-grid h3,
  .contact-card-large h3{
    font-family:var(--font-display)!important;
    font-style:italic!important;
    font-weight:400!important;
    text-transform:uppercase!important;
    letter-spacing:-.06em!important;
  }

  .hero h1,
  .catchup-hero h1{
    font-size:43.5px!important;
    line-height:.86!important;
  }

  .page-hero h1,
  .page-hero.compact h1,
  .functions-hero h1,
  .about-hero h1,
  .premium-page-hero h1,
  .premium-page-hero.functions-hero h1,
  .premium-page-hero.about-hero h1{
    font-size:43.5px!important;
    line-height:.86!important;
  }

  .artist-page-hero h1{
    font-size:52.5px!important;
    line-height:.82!important;
  }

  .section h2,
  .artists-section h2,
  .story-grid h2,
  .booking-cta-copy h2,
  .what-we-do-left h2,
  .what-we-do-heading h2{
    font-size:31.5px!important;
    line-height:.9!important;
  }

  .features .feature h3,
  .event-grid h3,
  .contact-card-large h3{
    font-size:21px!important;
    line-height:1.05!important;
  }

  .hero.catchup-hero{
    min-height:420px!important;
    padding-top:70px!important;
    padding-bottom:52px!important;
  }

  .booking-form .form-row{
    grid-template-columns:1fr!important;
  }
}


/* July 3 requested refinements */
/* Keep arrow symbols as clean text glyphs on mobile instead of emoji-style icons */
.btn span,
.header-booking span,
.footer-cta span,
.feature a,
a[href] span{
  font-family:"Helvetica Neue", Arial, sans-serif!important;
  font-style:normal!important;
  font-weight:500!important;
  font-variant-emoji:text!important;
  -webkit-text-size-adjust:none!important;
}

/* Home artists heading reduced by another 20% */
.artists-section h2{
  font-size:calc(clamp(42px,5.7vw,88px) * .6)!important;
  line-height:.9!important;
}

/* Match About / Functions & Events banner headline size to homepage banner headline */
.functions-hero h1,
.about-hero h1,
.premium-page-hero.functions-hero h1,
.premium-page-hero.about-hero h1{
  font-size:calc(clamp(62px,8.4vw,138px) * .585)!important;
  line-height:.86!important;
}

/* Bring page content up under banners */
.functions-hero.premium-page-hero{
  padding-bottom:58px!important;
  min-height:430px!important;
}
.functions-hero + .section{
  padding-top:54px!important;
}
.about-hero.premium-page-hero{
  padding-bottom:82px!important;
  min-height:480px!important;
}
.about-hero + .section{
  padding-top:72px!important;
}

/* Contact page banner image */
.contact-hero.premium-page-hero{
  position:relative!important;
  overflow:hidden!important;
  min-height:520px!important;
  padding:120px 58px 86px!important;
  background:
    linear-gradient(90deg,rgba(2,2,2,.90) 0%,rgba(2,2,2,.66) 39%,rgba(2,2,2,.20) 68%,rgba(2,2,2,.05) 100%),
    url('assets/contact-hero.png') center center / cover no-repeat!important;
}
.contact-hero.premium-page-hero:after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0 0!important;
  height:45%!important;
  background:linear-gradient(180deg,rgba(2,2,2,0),#020202 92%)!important;
  pointer-events:none!important;
  z-index:1!important;
}
.contact-hero .page-hero-copy{
  position:relative!important;
  z-index:2!important;
  max-width:760px!important;
}

@media(max-width:640px){
  .artists-section h2{
    font-size:25.2px!important;
    line-height:.9!important;
  }
  .functions-hero h1,
  .about-hero h1,
  .premium-page-hero.functions-hero h1,
  .premium-page-hero.about-hero h1{
    font-size:43.5px!important;
    line-height:.86!important;
  }
  .functions-hero.premium-page-hero{
    min-height:390px!important;
    padding-bottom:42px!important;
  }
  .functions-hero + .section{
    padding-top:38px!important;
  }
  .about-hero.premium-page-hero{
    min-height:420px!important;
    padding-bottom:58px!important;
  }
  .about-hero + .section{
    padding-top:48px!important;
  }
  .contact-hero.premium-page-hero{
    min-height:430px!important;
    padding:90px 24px 60px!important;
    background:
      linear-gradient(90deg,rgba(2,2,2,.92) 0%,rgba(2,2,2,.72) 48%,rgba(2,2,2,.25) 100%),
      url('assets/contact-hero.png') center center / cover no-repeat!important;
  }
}


/* Latest contact page fixes */
.contact-hero.premium-page-hero,
.page-hero.contact-hero{
  border-bottom:0!important;
  box-shadow:none!important;
}

.contact-hero.premium-page-hero:before{
  background:linear-gradient(90deg,rgba(2,2,2,.90) 0%,rgba(2,2,2,.66) 39%,rgba(2,2,2,.20) 68%,rgba(2,2,2,.05) 100%)!important;
}

.contact-hero.premium-page-hero:after{
  bottom:-3px!important;
  height:62%!important;
  background:linear-gradient(180deg,rgba(2,2,2,0) 0%,rgba(2,2,2,.48) 54%,#020202 100%)!important;
  z-index:3!important;
  border:0!important;
  box-shadow:none!important;
}

.contact-hero .page-hero-copy{
  position:relative!important;
  z-index:5!important;
}

.contact-hero.premium-page-hero p:not(.eyebrow){
  font-size:18.4px!important;
  line-height:1.35!important;
  max-width:650px!important;
}

.contact-hero + .contact-section,
.contact-hero + .section{
  border-top:0!important;
  padding-top:54px!important;
}

@media(max-width:640px){
  .contact-hero.premium-page-hero p:not(.eyebrow){
    font-size:16px!important;
    line-height:1.38!important;
  }
  .contact-hero + .contact-section,
  .contact-hero + .section{
    padding-top:38px!important;
  }
}


/* July 4 page spacing and banner consistency updates */
/* All page banners match the reduced homepage banner height */
.page-hero,
.page-hero.compact,
.premium-page-hero,
.functions-hero.premium-page-hero,
.about-hero.premium-page-hero,
.contact-hero.premium-page-hero{
  min-height:540px!important;
  padding-top:82px!important;
  padding-bottom:60px!important;
}

/* Benchmark all banner sub text to the Functions page size */
.hero-sub,
.page-hero p:not(.eyebrow),
.premium-page-hero p:not(.eyebrow),
.functions-hero p:not(.eyebrow),
.about-hero p:not(.eyebrow),
.contact-hero.premium-page-hero p:not(.eyebrow){
  font-size:18px!important;
  line-height:1.5!important;
  max-width:760px!important;
}

/* Functions page: reduce gap between Nightlife & Venues grid and Ready To Book section by 50% */
.functions-hero + .section.event-grid,
.page-hero.functions-hero + .section.event-grid{
  padding-top:54px!important;
  padding-bottom:41px!important;
}
.event-grid + .premium-booking-cta{
  padding-top:41px!important;
}

/* About page: bring Our Focus content closer to the banner */
.about-hero + .section.story-grid,
.page-hero.about-hero + .section.story-grid{
  padding-top:34px!important;
}

/* Contact page: move form up under banner */
.contact-hero + .contact-section,
.contact-hero + .section{
  padding-top:28px!important;
}

/* Ensure arrow characters render as plain text, not emoji icons */
.btn,
.header-booking,
.footer-cta,
.feature a,
.artist-cta-row a{
  font-family:var(--font-ui)!important;
}
.btn span,
.header-booking span,
.footer-cta span,
.feature a,
.artist-cta-row a{
  font-family:Arial, Helvetica, sans-serif!important;
  font-style:normal!important;
  font-weight:500!important;
  font-variant-emoji:text!important;
}

@media(max-width:640px){
  .page-hero,
  .page-hero.compact,
  .premium-page-hero,
  .functions-hero.premium-page-hero,
  .about-hero.premium-page-hero,
  .contact-hero.premium-page-hero{
    min-height:420px!important;
    padding-top:70px!important;
    padding-bottom:52px!important;
  }

  .hero-sub,
  .page-hero p:not(.eyebrow),
  .premium-page-hero p:not(.eyebrow),
  .functions-hero p:not(.eyebrow),
  .about-hero p:not(.eyebrow),
  .contact-hero.premium-page-hero p:not(.eyebrow){
    font-size:16px!important;
    line-height:1.5!important;
    max-width:100%!important;
  }

  .functions-hero + .section.event-grid,
  .page-hero.functions-hero + .section.event-grid{
    padding-top:38px!important;
    padding-bottom:28px!important;
  }
  .event-grid + .premium-booking-cta{
    padding-top:28px!important;
  }
  .about-hero + .section.story-grid,
  .page-hero.about-hero + .section.story-grid,
  .contact-hero + .contact-section,
  .contact-hero + .section{
    padding-top:26px!important;
  }
}


/* Contact form same-page submission status */
.form-status{
  margin:14px 0 0!important;
  font-size:14px!important;
  line-height:1.45!important;
  text-transform:none!important;
  letter-spacing:0!important;
  color:#111!important;
}
.form-status.is-success{color:#111!important;}
.form-status.is-error{color:#8a0000!important;}
.booking-form button[disabled]{opacity:.65;cursor:not-allowed;}


/* JULY 7 FINAL UPLOAD FIXES
   - Contact form full width
   - Miguelle-only enquiry endpoint handled in HTML
   - Desktop/mobile heading style consistency
   - Text arrows forced as text glyphs, not emoji
   - Banner sizing consistency retained
*/

/* Contact page form must span the full page width */
.contact-section{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}
.contact-section .booking-form{
  width:100%!important;
  max-width:none!important;
  display:block!important;
  grid-column:1 / -1!important;
}
.contact-section .booking-form form{
  width:100%!important;
  max-width:none!important;
}
.contact-section .contact-card-large{
  width:100%!important;
  max-width:none!important;
  margin-top:28px!important;
}

/* Keep all banner heights aligned with the reduced home page hero */
.hero.catchup-hero,
.page-hero,
.page-hero.compact,
.premium-page-hero,
.functions-hero.premium-page-hero,
.about-hero.premium-page-hero,
.contact-hero.premium-page-hero{
  min-height:540px!important;
  padding-top:82px!important;
  padding-bottom:60px!important;
}

/* Same header typography on desktop and mobile */
h1,h2,h3,
.hero h1,
.catchup-hero h1,
.page-hero h1,
.page-hero.compact h1,
.functions-hero h1,
.about-hero h1,
.contact-hero h1,
.premium-page-hero h1,
.artist-page-hero h1,
.section h2,
.artists-section h2,
.story-grid h2,
.booking-cta-copy h2,
.what-we-do-left h2,
.what-we-do-heading h2{
  font-family:var(--font-display)!important;
  font-style:italic!important;
  font-weight:inherit!important;
  text-transform:uppercase!important;
  letter-spacing:-.06em!important;
}

/* Benchmark banner subtext size site-wide */
.hero-sub,
.page-hero p:not(.eyebrow),
.premium-page-hero p:not(.eyebrow),
.functions-hero p:not(.eyebrow),
.about-hero p:not(.eyebrow),
.contact-hero.premium-page-hero p:not(.eyebrow){
  font-size:18px!important;
  line-height:1.5!important;
  max-width:760px!important;
}

/* Force arrows to display as plain text arrows, not emoji, especially on iOS */
.btn span,
.header-booking span,
.footer-cta span,
.artist-cta-row a,
.booking-cta-actions a span,
button.btn span{
  font-family:Arial, Helvetica, sans-serif!important;
  font-style:normal!important;
  font-weight:400!important;
  font-variant-emoji:text!important;
  text-rendering:geometricPrecision!important;
}

@media(max-width:640px){
  h1,h2,h3,
  .hero h1,
  .catchup-hero h1,
  .page-hero h1,
  .page-hero.compact h1,
  .functions-hero h1,
  .about-hero h1,
  .contact-hero h1,
  .premium-page-hero h1,
  .artist-page-hero h1,
  .section h2,
  .artists-section h2,
  .story-grid h2,
  .booking-cta-copy h2,
  .what-we-do-left h2,
  .what-we-do-heading h2{
    font-family:var(--font-display)!important;
    font-style:italic!important;
    font-weight:inherit!important;
    text-transform:uppercase!important;
    letter-spacing:-.06em!important;
  }
  .hero.catchup-hero,
  .page-hero,
  .page-hero.compact,
  .premium-page-hero,
  .functions-hero.premium-page-hero,
  .about-hero.premium-page-hero,
  .contact-hero.premium-page-hero{
    min-height:420px!important;
    padding-top:70px!important;
    padding-bottom:52px!important;
  }
  .hero-sub,
  .page-hero p:not(.eyebrow),
  .premium-page-hero p:not(.eyebrow),
  .functions-hero p:not(.eyebrow),
  .about-hero p:not(.eyebrow),
  .contact-hero.premium-page-hero p:not(.eyebrow){
    font-size:16px!important;
    line-height:1.5!important;
    max-width:100%!important;
  }
  .contact-section .booking-form,
  .contact-section .booking-form form{
    width:100%!important;
    max-width:none!important;
  }
}


/* July 7 - Match artist hero heading size to site page heroes */
.artist-page-hero h1,
.artist-hero h1,
.artist-header h1,
.single-artist .page-hero h1{
  font-size:43.5px !important;
  line-height:.86 !important;
}
@media (min-width:768px){
.artist-page-hero h1,
.artist-hero h1,
.artist-header h1,
.single-artist .page-hero h1{
  font-size:calc(clamp(58px,8vw,118px) * .75)!important;
}
}

/* Mobile footer text cleanup: remove translucent/white rendering boxes */
@media (max-width: 640px){
  .footer-identity,
  .footer-identity p,
  .footer-identity p::before,
  .footer-identity p::after,
  .footer-identity p br,
  .footer-identity p span{
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    -webkit-background-clip:border-box!important;
    background-clip:border-box!important;
    -webkit-text-fill-color:rgba(255,255,255,.72)!important;
    box-shadow:none!important;
    text-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    filter:none!important;
    opacity:1!important;
    mix-blend-mode:normal!important;
  }

  .footer-identity p{
    isolation:isolate!important;
    -webkit-tap-highlight-color:transparent!important;
  }
}

/* Final mobile footer identity cleanup: preserve desktop styling without overflow or translucent blocks */
@media (max-width:640px){
  .footer-identity{
    display:grid!important;
    grid-template-columns:minmax(110px,150px) 1px minmax(0,1fr)!important;
    column-gap:12px!important;
    row-gap:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    align-items:start!important;
    background:none!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .footer-identity .footer-logo,
  .footer-identity .footer-logo img{
    background:none!important;
    box-shadow:none!important;
    filter:none!important;
  }

  .footer-identity .footer-logo img{
    width:100%!important;
    max-width:150px!important;
    height:auto!important;
  }

  .footer-divider{
    width:1px!important;
    height:68px!important;
    margin:0!important;
    background:rgba(255,255,255,.26)!important;
    box-shadow:none!important;
  }

  .footer-identity p,
  .footer-identity p::before,
  .footer-identity p::after{
    display:block!important;
    position:static!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:none!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:1!important;
    mix-blend-mode:normal!important;
    isolation:auto!important;
    content:none!important;
  }
}

/* July 30, 2026 - DJ Competition page refinement */
.nav a.active{color:var(--accent)}

.dj-comp-hero{
  min-height:clamp(440px,40vw,680px);
  padding:0 58px 48px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#dd76b7 url('assets/dj-comp-banner.png') center center / cover no-repeat;
}

.dj-comp-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:30%;
  background:linear-gradient(180deg,rgba(2,2,2,0),rgba(2,2,2,.38) 72%,#020202 100%);
  pointer-events:none;
}

.dj-comp-hero-button{
  position:relative;
  z-index:2;
  min-width:188px;
  min-height:54px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}

.dj-comp-section{
  padding-top:72px!important;
  padding-bottom:96px!important;
}

.dj-comp-intro-layout,
.dj-comp-fullwidth{
  width:100%;
  max-width:1500px;
  margin:0 auto;
}

.dj-comp-intro-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:76px;
  align-items:center;
  padding-bottom:76px;
  border-bottom:1px solid rgba(182,143,234,.28);
}

.dj-comp-intro-copy h1{
  font-family:var(--font-display)!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  font-size:calc(clamp(58px,8vw,118px) * .75)!important;
  line-height:.86!important;
  letter-spacing:-.065em!important;
  margin:0 0 34px!important;
  max-width:980px;
}

.dj-comp-intro-copy h1 span,
.dj-comp-block h2 span{color:var(--accent)}

.dj-comp-intro-copy > p,
.dj-comp-block p,
.dj-comp-apply-panel p{
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.58;
}

.dj-comp-intro-copy > p{margin:0 0 22px;max-width:900px}
.dj-comp-intro-copy .dj-comp-lead{font-size:21px;color:rgba(255,255,255,.9);line-height:1.48}

.dj-comp-flyer-wrap{
  width:100%;
  max-width:470px;
  justify-self:end;
  border:1px solid rgba(182,143,234,.28);
  background:rgba(255,255,255,.02);
  padding:10px;
}

.dj-comp-flyer-wrap img{
  width:100%;
  height:auto;
  display:block;
}

.dj-comp-fullwidth{display:block}

.dj-comp-block{
  width:100%;
  margin:0;
  padding:58px 0;
  border-bottom:1px solid rgba(182,143,234,.28);
}

.dj-comp-block-first{padding-top:58px}

.dj-comp-block h2,
.dj-comp-apply-panel h2{
  font-family:var(--font-display)!important;
  font-style:italic!important;
  text-transform:uppercase!important;
  font-size:clamp(30px,3.2vw,52px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  margin:0 0 24px!important;
}

.dj-comp-block p{
  margin:0 0 18px;
  max-width:1180px;
}

.dj-comp-prize-list{
  list-style:none;
  padding:0;
  margin:24px 0 28px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
}

.dj-comp-prize-list li{
  position:relative;
  padding:18px 20px 18px 52px;
  border:1px solid rgba(182,143,234,.24);
  background:rgba(255,255,255,.018);
  color:rgba(255,255,255,.84);
  font-size:17px;
  line-height:1.45;
}

.dj-comp-prize-list li:before{
  content:"";
  position:absolute;
  left:20px;
  top:24px;
  width:11px;
  height:11px;
  background:var(--accent);
}

.dj-comp-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin:0;
  width:100%;
}

.dj-comp-details div{
  padding:22px;
  border:1px solid rgba(182,143,234,.24);
  background:rgba(255,255,255,.018);
}

.dj-comp-details dt{
  color:var(--accent);
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.1em;
  margin-bottom:10px;
}

.dj-comp-details dd{
  margin:0;
  font-size:17px;
  line-height:1.35;
  color:#fff;
}

.dj-comp-apply-panel{
  position:relative;
  overflow:hidden;
  width:100%;
  margin-top:64px;
  padding:44px;
  border:1px solid rgba(182,143,234,.38);
  background:
    radial-gradient(circle at 88% 12%,rgba(182,143,234,.23),transparent 34%),
    linear-gradient(135deg,rgba(182,143,234,.11),rgba(255,255,255,.015));
}

.dj-comp-apply-panel .eyebrow{margin-bottom:16px!important}
.dj-comp-apply-panel p{margin:0 0 18px;max-width:1100px}
.dj-comp-apply-panel .btn{margin-top:14px;min-width:190px;min-height:54px}

/* Homepage DJ Competition callout */
.catchup-hero .hero-left{overflow:visible}
.home-dj-comp-promo{
  position:absolute;
  left:calc(100% + clamp(34px,5vw,96px));
  top:50%;
  transform:translateY(-42%);
  width:330px;
  min-height:178px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:14px;
  border:1px solid var(--accent);
  background:
    radial-gradient(circle at 90% 10%,rgba(182,143,234,.30),transparent 36%),
    rgba(2,2,2,.82);
  box-shadow:0 20px 55px rgba(0,0,0,.42);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  z-index:4;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}

.home-dj-comp-promo:hover{
  transform:translateY(-42%) translateY(-4px);
  background:
    radial-gradient(circle at 90% 10%,rgba(182,143,234,.42),transparent 40%),
    rgba(8,5,12,.92);
  box-shadow:0 24px 70px rgba(0,0,0,.52);
}

.home-dj-comp-kicker{
  color:#fff;
  font-size:13px;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.home-dj-comp-link{
  display:flex;
  align-items:center;
  gap:16px;
  color:var(--accent);
  font-family:var(--font-display);
  font-style:italic;
  text-transform:uppercase;
  font-size:31px;
  line-height:.9;
  letter-spacing:-.05em;
}

.home-dj-comp-arrow{
  display:inline-block;
  font-family:Arial,sans-serif;
  font-style:normal;
  font-size:22px;
  line-height:1;
}

@media(max-width:1350px){
  .home-dj-comp-promo{left:calc(100% + 24px);width:285px;padding:25px}
  .home-dj-comp-link{font-size:27px}
}

@media(max-width:1150px){
  .home-dj-comp-promo{
    position:static;
    transform:none;
    width:100%;
    max-width:470px;
    min-height:0;
    margin-top:28px;
  }
  .home-dj-comp-promo:hover{transform:translateY(-3px)}
}

@media(max-width:1050px){
  .dj-comp-intro-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:44px}
  .dj-comp-section{padding-top:58px!important}
}

@media(max-width:800px){
  .dj-comp-intro-layout{grid-template-columns:1fr;gap:48px;align-items:start}
  .dj-comp-flyer-wrap{max-width:620px;margin:0 auto;justify-self:center}
  .dj-comp-prize-list{grid-template-columns:1fr}
  .dj-comp-details{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
  .dj-comp-hero{
    min-height:410px;
    padding:0 24px 36px;
    background-position:center center;
  }
  .dj-comp-hero-button{width:100%;max-width:300px}
  .dj-comp-section{padding-top:48px!important;padding-bottom:64px!important}
  .dj-comp-intro-layout{padding-bottom:48px}
  .dj-comp-intro-copy h1{font-size:43.5px!important;line-height:.86!important;margin-bottom:28px!important}
  .dj-comp-intro-copy > p,
  .dj-comp-block p,
  .dj-comp-apply-panel p{font-size:16px;line-height:1.55}
  .dj-comp-intro-copy .dj-comp-lead{font-size:18px}
  .dj-comp-block{padding:42px 0}
  .dj-comp-block h2,
  .dj-comp-apply-panel h2{font-size:31.5px!important;line-height:.92!important}
  .dj-comp-details{grid-template-columns:1fr}
  .dj-comp-prize-list li{font-size:15px;padding:14px 16px 14px 44px}
  .dj-comp-prize-list li:before{left:16px;top:21px}
  .dj-comp-apply-panel{margin-top:48px;padding:28px 22px}
  .dj-comp-apply-panel .btn{width:100%}
  .home-dj-comp-promo{padding:22px;gap:10px;margin-top:24px}
  .home-dj-comp-kicker{font-size:11px}
  .home-dj-comp-link{font-size:25px;gap:12px}
}

/* July 30, 2026 - DJ Comp final banner and homepage callout refinements */
.dj-comp-hero{
  height:540px!important;
  min-height:540px!important;
  padding:0 58px 60px!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  margin-bottom:-1px!important;
  background:#dd76b7 url('assets/dj-comp-banner.png') center center / cover no-repeat!important;
}

.dj-comp-hero:after{
  bottom:-2px!important;
  height:34%!important;
  border:0!important;
  box-shadow:none!important;
  background:linear-gradient(180deg,rgba(2,2,2,0) 0%,rgba(2,2,2,.22) 58%,#020202 100%)!important;
}

/* Match the established filled site button: purple background with black typography. */
.home-dj-comp-promo{
  left:calc(min(100vw, 1920px) - 468px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:330px!important;
  min-height:178px!important;
  padding:30px!important;
  border:1px solid var(--accent)!important;
  background:var(--accent)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.42)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.home-dj-comp-promo:hover{
  transform:translateY(-50%) translateY(-4px)!important;
  background:var(--accent)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.52)!important;
}

.home-dj-comp-kicker,
.home-dj-comp-link,
.home-dj-comp-arrow{
  color:#070707!important;
}

.home-dj-comp-kicker{
  font-weight:700!important;
}

.home-dj-comp-link{
  font-weight:700!important;
}

@media(max-width:1350px) and (min-width:1151px){
  .home-dj-comp-promo{
    left:calc(min(100vw, 1920px) - 403px)!important;
    width:285px!important;
    padding:25px!important;
  }
}

@media(max-width:1150px){
  .home-dj-comp-promo{
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:470px!important;
    min-height:0!important;
    margin-top:28px!important;
  }
  .home-dj-comp-promo:hover{
    transform:translateY(-3px)!important;
  }
}

@media(max-width:640px){
  .dj-comp-hero{
    height:420px!important;
    min-height:420px!important;
    padding:0 24px 52px!important;
    margin-bottom:-1px!important;
  }
  .home-dj-comp-promo{
    padding:22px!important;
    margin-top:24px!important;
  }
}


/* July 30, 2026 - persistent DJ COMP navigation fix */
@media (min-width:1101px){
  .topbar{
    grid-template-columns:190px minmax(0,1fr) 190px!important;
    column-gap:24px!important;
  }
  .nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(18px,2vw,34px)!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .nav a{
    display:inline-flex!important;
    flex:0 0 auto!important;
    visibility:visible!important;
    opacity:1!important;
  }
}
