/* Time & Tempo v6.16 — restrained visual polish
   Motion is interaction-led: reveal once, hover/focus response, and a small
   scroll parallax on photography. No cursor effects or busy looping UI. */

:root{
  --tt-glow-cyan: rgba(0,229,255,.18);
  --tt-glow-violet: rgba(123,44,255,.22);
  --tt-line: rgba(255,255,255,.12);
  --tt-ease: cubic-bezier(.2,.75,.25,1);
}

/* Slightly richer dark surfaces without changing the established palette. */
.home-services,
.home-nights-section,
.service-kit-section,
.venue-theme-section,
.content-section:not(.white-section),
.local-home{
  position:relative;
  isolation:isolate;
}
.home-services::after,
.home-nights-section::after,
.service-kit-section::after,
.venue-theme-section::after,
.content-section:not(.white-section)::after,
.local-home::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 88% 8%,var(--tt-glow-cyan),transparent 24%),
    radial-gradient(circle at 8% 92%,var(--tt-glow-violet),transparent 27%);
  opacity:.32;
}

/* Header feels a little more glassy but remains quiet. */
.topbar{
  border-bottom-color:rgba(255,255,255,.1)!important;
  background:linear-gradient(180deg,rgba(5,6,9,.93),rgba(5,6,9,.78))!important;
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
}

/* Soft hero lighting. */
.home-hero-with-photo::after,
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 68% 30%,rgba(0,229,255,.12),transparent 23%),
    radial-gradient(circle at 30% 68%,rgba(123,44,255,.14),transparent 29%);
  opacity:.7!important;
  mix-blend-mode:screen;
}
.home-hero-with-photo .manifesto,
.page-hero .page-hero-inner{position:relative;z-index:2}

/* A single, very slow ambient change in hero light only. */
@media (prefers-reduced-motion:no-preference){
  .home-hero-with-photo::after,
  .page-hero::after{animation:tt-hero-light 13s ease-in-out infinite alternate}
}
@keyframes tt-hero-light{
  from{opacity:.48;transform:translate3d(-1%,0,0) scale(1)}
  to{opacity:.78;transform:translate3d(1%,1%,0) scale(1.025)}
}

/* Primary actions: clean lift + a quick light sweep on interaction only. */
.primary,
.nav-book{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.primary::before,
.nav-book::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-35%;
  bottom:-35%;
  left:-65%;
  width:42%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition:left .55s var(--tt-ease);
}
.primary:hover::before,
.primary:focus-visible::before,
.nav-book:hover::before,
.nav-book:focus-visible::before{left:125%}
.primary:hover,
.primary:focus-visible{
  transform:translateY(-2px)!important;
  border-color:rgba(0,229,255,.55)!important;
  box-shadow:0 10px 32px rgba(0,229,255,.10)!important;
}

/* Cards get a restrained edge light rather than heavy shadows. */
.home-service-grid article,
.service-kit-grid article,
.lighting-direction-grid article,
.venue-option-grid article,
.coverage-grid article,
.faq-list details{
  position:relative;
  transition:transform .28s var(--tt-ease),border-color .28s ease,background-color .28s ease,box-shadow .28s ease;
}
@media (hover:hover){
  .home-service-grid article:hover,
  .service-kit-grid article:hover,
  .lighting-direction-grid article:hover,
  .venue-option-grid article:hover,
  .coverage-grid article:hover{
    transform:translateY(-4px);
    border-color:rgba(0,229,255,.28)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.035);
  }
  .home-service-grid article:hover .service-icon{filter:drop-shadow(0 0 14px rgba(0,229,255,.34))}
}

.service-icon{transition:transform .3s var(--tt-ease),filter .3s ease}
@media (hover:hover){.home-service-grid article:hover .service-icon{transform:translateY(-2px) scale(1.04)}}

/* Posters: keep artwork clean, just give it a premium edge on hover/active. */
.poster-stage .poster,
.venue-poster-grid a img,
.theme-entry img{
  transition:transform .34s var(--tt-ease),filter .34s ease,border-color .34s ease,box-shadow .34s ease!important;
}
@media (hover:hover){
  .poster-stage .poster:hover,
  .poster-stage .poster:focus-visible{
    transform:translateY(-7px)!important;
    border-color:rgba(0,229,255,.42)!important;
    box-shadow:0 24px 58px rgba(0,0,0,.45),0 0 34px rgba(0,229,255,.08)!important;
  }
  .venue-poster-grid a:hover img{
    transform:translateY(-7px) scale(1.012)!important;
    border-color:rgba(0,229,255,.48)!important;
    box-shadow:0 22px 52px rgba(0,0,0,.34),0 0 28px rgba(0,229,255,.08);
  }
  .theme-entry:hover img{
    transform:translateY(-4px) scale(1.012)!important;
    box-shadow:0 24px 58px rgba(0,0,0,.3),0 0 30px color-mix(in srgb,var(--theme-accent,#7b2cff) 12%,transparent);
  }
}

/* Photo sections: subtle depth and a low-key coloured edge. */
.service-story-photo,
.service-night-photo-band,
.venue-photo-section{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.service-story-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(140deg,rgba(123,44,255,.12),transparent 38%,rgba(0,229,255,.08));
  mix-blend-mode:screen;
}
.service-story-photo{position:relative}
.service-story-photo img,
.service-night-photo-band>img,
.venue-photo-section>img{
  will-change:transform;
  transform:translate3d(0,var(--tt-parallax,0px),0) scale(1.035);
}

/* Thin colour accents make section changes feel deliberate. */
.production-title::before,
.home-nights-heading::before,
.venue-theme-heading::before,
.service-topic-block::before{
  content:"";
  display:block;
  width:54px;
  height:2px;
  margin-bottom:20px;
  background:linear-gradient(90deg,#7b2cff,#00e5ff);
  box-shadow:0 0 18px rgba(0,229,255,.12);
}
.service-topic-block::before{margin-bottom:28px}

/* FAQ opens with a little polish, but no looping animation. */
.faq-list details[open]{
  border-color:rgba(0,229,255,.25)!important;
  background:linear-gradient(90deg,rgba(0,229,255,.035),transparent 42%);
}
.faq-list summary{transition:color .2s ease}
.faq-list details[open] summary{color:#fff}

/* One-time scroll reveals added by motion.js. */
.tt-reveal{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity .62s var(--tt-ease),transform .62s var(--tt-ease);
  transition-delay:var(--tt-reveal-delay,0ms);
}
.tt-reveal.tt-reveal-left{transform:translate3d(-22px,0,0)}
.tt-reveal.tt-reveal-right{transform:translate3d(22px,0,0)}
.tt-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

/* Contact page: keep form calm, only add a faint light wash. */
.contact-simple-page .simple-enquiry-wrap{
  position:relative;
  isolation:isolate;
}
.contact-simple-page .simple-enquiry-wrap::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(123,44,255,.14),transparent 24%),
    radial-gradient(circle at 88% 80%,rgba(0,229,255,.08),transparent 22%);
}
.simple-enquiry-panel{
  box-shadow:inset 1px 0 rgba(255,255,255,.04);
}

@media(max-width:760px){
  .home-services::after,
  .home-nights-section::after,
  .service-kit-section::after,
  .venue-theme-section::after,
  .content-section:not(.white-section)::after,
  .local-home::after{opacity:.22}
  .home-hero-with-photo::after,.page-hero::after{opacity:.48!important}
  .service-story-photo img,
  .service-night-photo-band>img,
  .venue-photo-section>img{transform:translate3d(0,var(--tt-parallax,0px),0) scale(1.025)}
  .tt-reveal{transform:translate3d(0,16px,0);transition-duration:.5s}
}

@media(prefers-reduced-motion:reduce){
  .home-hero-with-photo::after,.page-hero::after{animation:none!important;transform:none!important}
  .tt-reveal,.tt-reveal.tt-reveal-left,.tt-reveal.tt-reveal-right{opacity:1!important;transform:none!important;transition:none!important}
  .service-story-photo img,.service-night-photo-band>img,.venue-photo-section>img{transform:none!important}
  .primary::before,.nav-book::before{display:none}
}

/* v6.17 — homepage dark consistency */
.home-services{
  background:#050609!important;
}
.home-services::after{
  display:none!important;
}
.home-services::before{
  display:none!important;
}

/* v6.30 — homepage colour, card and icon refinement */
.home-services{
  background:
    radial-gradient(circle at 82% 9%,rgba(0,229,255,.075),transparent 22%),
    radial-gradient(circle at 8% 88%,rgba(123,44,255,.10),transparent 26%),
    linear-gradient(180deg,#06070a 0%,#08090d 52%,#050609 100%)!important;
}
.home-services::after{opacity:.18!important}
.home-services .production-title{
  width:min(1280px,100%);
  margin-inline:auto;
  align-items:end;
}
.home-services .production-title p{
  position:relative;
  padding-left:34px;
  color:#c5cad1!important;
}
.home-services .production-title p::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:22px;
  height:2px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,#7b2cff,#00e5ff);
  box-shadow:0 0 16px rgba(0,229,255,.25);
}
/* Requested: both lines of “DJ services for parties & venues” are solid white. */
.home-services .production-title h2,
.home-services .production-title h2 span{
  color:#fff!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 8px 42px rgba(0,0,0,.22);
}
.home-services .production-title h2 span{opacity:.94}

.home-services .home-service-grid{
  width:min(1280px,100%);
  margin-inline:auto;
  margin-top:clamp(54px,6vw,78px);
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
  border-top:0!important;
}
.home-services .home-service-grid article{
  --card-accent:#00e5ff;
  grid-column:span 2;
  min-height:330px;
  margin:0!important;
  padding:28px 28px 26px!important;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018) 48%,rgba(0,0,0,.08)),
    rgba(9,11,16,.68)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 48px rgba(0,0,0,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.home-services .home-service-grid article:nth-child(2),
.home-services .home-service-grid article:nth-child(4){--card-accent:#8e4bff}
.home-services .home-service-grid article:nth-child(4),
.home-services .home-service-grid article:nth-child(5){grid-column:span 3}
.home-services .home-service-grid article::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,var(--card-accent),transparent 72%);
  opacity:.88;
}
.home-services .home-service-grid article::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  top:-100px;
  border-radius:50%;
  background:var(--card-accent);
  filter:blur(60px);
  opacity:.055;
  pointer-events:none;
}
.home-services .home-service-grid article>span{
  position:absolute;
  top:30px;
  right:28px;
  margin:0!important;
  color:#7f8792!important;
  font-size:.63rem;
  letter-spacing:.2em;
  font-weight:800;
}
.home-services .service-icon{
  width:50px;
  height:50px;
  border:1px solid color-mix(in srgb,var(--card-accent) 45%,transparent);
  border-radius:14px;
  display:grid;
  place-items:center;
  color:var(--card-accent)!important;
  background:color-mix(in srgb,var(--card-accent) 8%,rgba(255,255,255,.015));
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 24px color-mix(in srgb,var(--card-accent) 9%,transparent);
}
.home-services .service-icon svg{
  width:27px!important;
  height:27px!important;
  overflow:visible;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-services .home-service-grid h3{
  margin:42px 0 13px!important;
  max-width:310px;
  color:#fff!important;
  font-size:clamp(1.65rem,2.1vw,2.6rem);
  line-height:.95;
  letter-spacing:-.045em;
}
.home-services .home-service-grid p{
  max-width:350px;
  color:#adb4bd!important;
  line-height:1.65;
}
.home-services .service-link{
  margin-top:auto;
  padding-top:26px;
  color:#f1f4f7!important;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
}
.home-services .service-link::after{
  content:"";
  display:block;
  width:30px;
  height:1px;
  margin-top:9px;
  background:var(--card-accent);
  transition:width .25s var(--tt-ease);
}
@media (hover:hover){
  .home-services .home-service-grid article:hover{
    transform:translateY(-5px);
    border-color:color-mix(in srgb,var(--card-accent) 36%,rgba(255,255,255,.14))!important;
    background:
      linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 7%,rgba(255,255,255,.055)),rgba(255,255,255,.018) 52%,rgba(0,0,0,.06)),
      rgba(9,11,16,.78)!important;
    box-shadow:0 22px 60px rgba(0,0,0,.27),0 0 30px color-mix(in srgb,var(--card-accent) 7%,transparent)!important;
  }
  .home-services .home-service-grid article:hover .service-link::after{width:62px}
  .home-services .home-service-grid article:hover .service-icon{
    filter:none!important;
    transform:translateY(-2px) scale(1.03);
  }
}

/* Carry the same restrained brand colour through the next homepage sections. */
.home-nights-section{
  background:
    radial-gradient(circle at 76% 20%,rgba(123,44,255,.10),transparent 24%),
    linear-gradient(180deg,#050609,#090812 50%,#06070a)!important;
}
.home-nights-heading .kicker,
.local-home .kicker{color:#c4c9d0}
.home-nights-heading .kicker::before,
.local-home .kicker::before{
  content:"";
  display:inline-block;
  width:18px;
  height:2px;
  margin:0 10px 3px 0;
  background:linear-gradient(90deg,#7b2cff,#00e5ff);
}
.home-nights-heading h2{color:#fff;text-shadow:0 10px 50px rgba(0,0,0,.25)}
.local-home{
  background:
    radial-gradient(circle at 82% 20%,rgba(0,229,255,.10),transparent 24%),
    radial-gradient(circle at 15% 90%,rgba(123,44,255,.16),transparent 30%),
    linear-gradient(180deg,#08090d,#050609)!important;
}
.local-home h2 span{
  color:#fff!important;
  -webkit-text-stroke:0!important;
  opacity:.88;
}

@media(max-width:1050px){
  .home-services .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .home-services .home-service-grid article,
  .home-services .home-service-grid article:nth-child(4),
  .home-services .home-service-grid article:nth-child(5){grid-column:span 1;border-bottom:1px solid rgba(255,255,255,.11)!important}
  .home-services .home-service-grid article:last-child{grid-column:1/-1}
}
@media(max-width:720px){
  .home-services .production-title h2{font-size:clamp(3.6rem,16vw,5.8rem)!important;line-height:.82}
  .home-services .home-service-grid{grid-template-columns:1fr;gap:12px;margin-top:44px}
  .home-services .home-service-grid article,
  .home-services .home-service-grid article:nth-child(4),
  .home-services .home-service-grid article:nth-child(5),
  .home-services .home-service-grid article:last-child{
    grid-column:1;
    min-height:285px;
    padding:24px!important;
    border-radius:14px;
  }
  .home-services .home-service-grid article>span{top:27px;right:24px}
  .home-services .home-service-grid h3{margin-top:34px!important;font-size:clamp(1.8rem,9vw,2.45rem)}
  .home-services .service-icon{width:46px;height:46px;border-radius:12px}
}

/* v6.32 — carry the v6.30 homepage styling across all public subpages */
.subpage{
  --sub-cyan:#00e5ff;
  --sub-violet:#8e4bff;
  --sub-surface:rgba(9,11,16,.72);
  --sub-line:rgba(255,255,255,.11);
  background:#050609;
  color:#fff;
}

/* Consistent dark section surfaces with the same restrained homepage colour washes. */
.subpage .content-section,
.subpage .white-section,
.subpage .local-callout,
.subpage .quote-banner{
  position:relative;
  isolation:isolate;
  color:#fff;
  background:
    radial-gradient(circle at 84% 10%,rgba(0,229,255,.065),transparent 24%),
    radial-gradient(circle at 9% 91%,rgba(123,44,255,.09),transparent 28%),
    linear-gradient(180deg,#07080c 0%,#090a0f 52%,#050609 100%)!important;
}
.subpage .content-section:nth-of-type(even),
.subpage .white-section:nth-of-type(even){
  background:
    radial-gradient(circle at 12% 16%,rgba(123,44,255,.10),transparent 25%),
    radial-gradient(circle at 88% 84%,rgba(0,229,255,.055),transparent 24%),
    linear-gradient(180deg,#050609 0%,#090912 52%,#06070a 100%)!important;
}
.subpage .white-section .eyebrow,
.subpage .white-section p,
.subpage .white-section .lead,
.subpage .white-section .section-title,
.subpage .white-section h2,
.subpage .white-section h3{color:inherit}
.subpage .white-section p:not(.lead){color:#aeb5be!important}
.subpage .white-section .lead{color:#f3f5f7!important}
.subpage .coverage-intro{color:#aeb5be!important}

/* Same headline/eyebrow treatment used on the polished homepage. */
.subpage .content-inner>.eyebrow,
.subpage .venue-theme-heading .eyebrow,
.subpage .service-topic-block>.eyebrow,
.subpage .local-callout .eyebrow,
.subpage .simple-enquiry-intro>.eyebrow{
  color:#c6cbd2!important;
}
.subpage .content-inner>.eyebrow::before,
.subpage .venue-theme-heading .eyebrow::before,
.subpage .service-topic-block>.eyebrow::before,
.subpage .local-callout .eyebrow::before,
.subpage .simple-enquiry-intro>.eyebrow::before{
  content:"";
  display:inline-block;
  width:20px;
  height:2px;
  margin:0 10px 3px 0;
  background:linear-gradient(90deg,#7b2cff,#00e5ff);
  box-shadow:0 0 14px rgba(0,229,255,.20);
}
.subpage .section-title{
  color:#fff!important;
  text-shadow:0 10px 50px rgba(0,0,0,.22);
}
.subpage .section-title span{
  color:#fff!important;
  -webkit-text-stroke:0!important;
  opacity:.92;
}

/* Shared premium card system. */
.subpage .service-kit-grid,
.subpage .lighting-direction-grid,
.subpage .venue-option-grid{
  gap:16px!important;
  border:0!important;
  margin-top:clamp(38px,5vw,58px);
}
.subpage .service-kit-grid article,
.subpage .lighting-direction-grid article,
.subpage .venue-option-grid article,
.subpage .coverage-grid article,
.subpage .planning-card{
  --card-accent:var(--sub-cyan);
  min-height:300px;
  padding:28px!important;
  position:relative;
  overflow:hidden;
  border:1px solid var(--sub-line)!important;
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018) 50%,rgba(0,0,0,.08)),
    var(--sub-surface)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 48px rgba(0,0,0,.16);
  color:#fff!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.subpage .service-kit-grid article:nth-child(even),
.subpage .venue-option-grid article:nth-child(even),
.subpage .coverage-grid article:nth-child(even),
.subpage .planning-card:nth-child(even){--card-accent:var(--sub-violet)}
.subpage .lighting-direction-grid article{--card-accent:var(--light,var(--sub-cyan))}
.subpage .service-kit-grid article::before,
.subpage .venue-option-grid article::before,
.subpage .coverage-grid article::after,
.subpage .planning-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  width:auto;
  height:2px;
  border-radius:0;
  background:linear-gradient(90deg,var(--card-accent),transparent 72%);
  filter:none;
  opacity:.9;
}
.subpage .service-kit-grid article::after,
.subpage .venue-option-grid article::after,
.subpage .planning-card::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-100px;
  top:-105px;
  border-radius:50%;
  background:var(--card-accent);
  filter:blur(62px);
  opacity:.055;
  pointer-events:none;
}
.subpage .service-kit-grid article+article,
.subpage .lighting-direction-grid article+article,
.subpage .venue-option-grid article+article{border-left:1px solid var(--sub-line)!important}
.subpage .service-kit-grid article span,
.subpage .venue-option-grid article span,
.subpage .coverage-grid article>span,
.subpage .planning-card>span{color:var(--card-accent)!important}
.subpage .service-kit-grid h3,
.subpage .venue-option-grid h3,
.subpage .planning-card h3{
  margin:56px 0 14px!important;
  color:#fff!important;
  font-size:clamp(1.65rem,2.4vw,2.75rem);
  line-height:.95;
  letter-spacing:-.04em;
}
.subpage .service-kit-grid p,
.subpage .venue-option-grid p,
.subpage .planning-card p,
.subpage .coverage-grid p{color:#adb4bd!important;line-height:1.65}
.subpage .venue-option-grid h3{margin-top:58px!important}
.subpage .coverage-grid{gap:16px}
.subpage .coverage-grid article h2{color:#fff}
.subpage .coverage-grid article::before{
  background:var(--card-accent)!important;
  opacity:.075!important;
  filter:blur(75px)!important;
}
.subpage .coverage-grid li{border-top-color:rgba(255,255,255,.14)}

/* Planning photography sits inside the same card system. */
.venue-event-planning-page .planning-card{padding:16px 16px 28px!important;min-height:0}
.venue-event-planning-page .planning-card-image{
  margin:0 0 24px!important;
  border-radius:12px!important;
  border-color:rgba(255,255,255,.09)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.24)!important;
}
.venue-event-planning-page .planning-card>span,
.venue-event-planning-page .planning-card h3,
.venue-event-planning-page .planning-card p{margin-left:10px!important;margin-right:10px!important}
.venue-event-planning-page .planning-card h3{margin-top:18px!important}

/* Lighting cards keep their individual colours but use the same container shape. */
.subpage .lighting-direction-grid article{
  min-height:275px;
  padding:28px!important;
  border:1px solid var(--sub-line)!important;
  border-radius:16px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 5%,rgba(255,255,255,.045)),rgba(255,255,255,.014) 52%,rgba(0,0,0,.08)),
    rgba(9,11,16,.70)!important;
}
.subpage .lighting-direction-grid article::before{
  left:0!important;
  right:0;
  top:0!important;
  width:auto!important;
  height:2px!important;
  background:linear-gradient(90deg,var(--card-accent),transparent 72%)!important;
}
.subpage .lighting-direction-grid h3{margin:58px 0 14px!important;color:#fff}
.subpage .lighting-direction-grid p{color:#9fa7b1!important}

/* Service detail rows become compact inset cards rather than plain ruled rows. */
.subpage .service-detail-list{display:grid;gap:10px;border:0!important}
.subpage .service-detail-list>div{
  padding:17px 18px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.subpage .service-detail-list>div:nth-child(even){background:rgba(123,44,255,.035)}
.subpage .service-detail-list b{color:#00e5ff!important}
.subpage .service-detail-list p{color:#d9dde2!important}

/* Venue poster links get the same card edge and hover accent. */
.subpage .venue-poster-grid{gap:16px}
.subpage .venue-poster-grid a{
  padding:10px 10px 0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  overflow:hidden;
  transition:transform .28s var(--tt-ease),border-color .28s ease,box-shadow .28s ease;
}
.subpage .venue-poster-grid img{border-radius:9px;border-color:rgba(255,255,255,.09)!important}
.subpage .venue-poster-grid span{padding:13px 4px 15px;color:#c1c7ce}

/* Themed-night cards: preserve each chapter colour while matching the homepage card finish. */
.themed-page .theme-list{gap:18px!important}
.themed-page .theme-entry,
.themed-page .theme-entry:nth-child(even){
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:18px!important;
  overflow:hidden;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--chapter) 5%,rgba(255,255,255,.04)),rgba(255,255,255,.012) 48%,rgba(0,0,0,.08)),
    rgba(8,10,15,.78)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 20px 54px rgba(0,0,0,.18)!important;
}
.themed-page .theme-entry::before{
  content:"";
  position:absolute;
  z-index:3;
  left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--chapter),transparent 74%);
}
.themed-page .theme-entry .theme-no,
.themed-page .theme-entry h3{color:var(--chapter)!important}
.themed-page .theme-entry .theme-tags span{
  border-color:color-mix(in srgb,var(--chapter) 28%,rgba(255,255,255,.10))!important;
  background:color-mix(in srgb,var(--chapter) 5%,rgba(255,255,255,.02));
}

/* FAQ rows become separated glass cards. */
.subpage .faq-list{display:grid;gap:12px;max-width:980px}
.subpage .faq-list details,
.subpage .faq-list details:last-child{
  --card-accent:#00e5ff;
  padding:22px 24px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:13px;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
}
.subpage .faq-list details:nth-child(even){--card-accent:#8e4bff}
.subpage .faq-list details::before{
  content:"";
  position:absolute;
  left:0;top:15px;bottom:15px;width:2px;
  border-radius:2px;
  background:var(--card-accent);
  opacity:.72;
}
.subpage .faq-list summary::after{color:var(--card-accent)!important}
.subpage .faq-list details p{color:#aeb5be!important}
.subpage .faq-list details[open]{
  border-color:color-mix(in srgb,var(--card-accent) 30%,rgba(255,255,255,.10))!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--card-accent) 5%,transparent),rgba(255,255,255,.018) 55%,transparent)!important;
}

/* Calls to action now use the same dark brand palette rather than a separate visual language. */
.subpage .quote-banner{
  border-top:1px solid rgba(255,255,255,.09)!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  background:
    radial-gradient(circle at 30% 50%,rgba(123,44,255,.19),transparent 30%),
    radial-gradient(circle at 72% 45%,rgba(0,229,255,.11),transparent 28%),
    linear-gradient(135deg,#08090d,#0b0913 52%,#06090c)!important;
}
.subpage .quote-banner p{color:#fff;text-shadow:0 12px 48px rgba(0,0,0,.24)}
.subpage .quote-banner p span{color:#fff!important;-webkit-text-stroke:0!important;opacity:.9}
.subpage .local-callout{border-top-color:rgba(255,255,255,.09)}
.subpage .local-callout>div:last-child p{color:#aeb5be}

/* Contact page gets the same glass-card form treatment. */
.contact-simple-page .simple-enquiry-wrap{
  background:
    radial-gradient(circle at 12% 20%,rgba(123,44,255,.11),transparent 26%),
    radial-gradient(circle at 88% 80%,rgba(0,229,255,.07),transparent 24%),
    #050609!important;
}
.contact-simple-page .simple-enquiry-intro{border-right-color:rgba(255,255,255,.10)}
.contact-simple-page .simple-enquiry-panel{
  margin:clamp(24px,3vw,46px);
  padding:clamp(38px,5vw,72px)!important;
  align-self:start;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.014) 55%),
    rgba(9,11,16,.76)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 24px 64px rgba(0,0,0,.22)!important;
}
.contact-simple-page .simple-form-grid input,
.contact-simple-page .simple-form-grid select,
.contact-simple-page .simple-form-grid textarea{
  padding:14px 14px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.022)!important;
}
.contact-simple-page .simple-form-grid input:focus,
.contact-simple-page .simple-form-grid select:focus,
.contact-simple-page .simple-form-grid textarea:focus{
  border-color:rgba(0,229,255,.52)!important;
  box-shadow:0 0 0 3px rgba(0,229,255,.055);
}
.contact-simple-page .simple-enquiry-note{
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:12px;
  background:rgba(255,255,255,.022);
}

/* Unified hover response. */
@media (hover:hover){
  .subpage .service-kit-grid article:hover,
  .subpage .lighting-direction-grid article:hover,
  .subpage .venue-option-grid article:hover,
  .subpage .coverage-grid article:hover,
  .subpage .planning-card:hover,
  .subpage .venue-poster-grid a:hover{
    transform:translateY(-5px);
    border-color:color-mix(in srgb,var(--card-accent,var(--sub-cyan)) 34%,rgba(255,255,255,.12))!important;
    box-shadow:0 22px 60px rgba(0,0,0,.27),0 0 30px color-mix(in srgb,var(--card-accent,var(--sub-cyan)) 6%,transparent)!important;
  }
}

@media(max-width:900px){
  .subpage .service-kit-grid,
  .subpage .lighting-direction-grid,
  .subpage .venue-option-grid{gap:12px!important}
  .contact-simple-page .simple-enquiry-panel{margin:0 18px 54px;padding:34px 22px!important}
}
@media(max-width:650px){
  .subpage .service-kit-grid article,
  .subpage .service-kit-grid article+article,
  .subpage .lighting-direction-grid article,
  .subpage .lighting-direction-grid article+article,
  .subpage .venue-option-grid article,
  .subpage .venue-option-grid article+article,
  .subpage .coverage-grid article{
    min-height:0!important;
    padding:24px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:14px;
  }
  .subpage .service-kit-grid h3,
  .subpage .venue-option-grid h3,
  .subpage .lighting-direction-grid h3{margin-top:40px!important}
  .venue-event-planning-page .planning-card{padding:12px 12px 24px!important}
  .subpage .faq-list details{padding:19px 20px!important}
}

/* v6.73 — clear destination for Sound & Lighting links */
.services-page .service-kit-overview{
  position:relative;
  margin:0 0 clamp(54px,7vw,88px);
  padding:clamp(24px,3.6vw,40px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(9,12,18,.92),rgba(6,8,12,.96));
  box-shadow:0 24px 72px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.03);
  overflow:hidden;
}
.services-page .service-kit-overview::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(#7b2cff,#00e5ff);
}
.services-page .service-kit-overview::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-100px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,229,255,.09),transparent 68%);
  pointer-events:none;
}
.services-page .service-kit-overview>*{position:relative;z-index:1}
.services-page .service-kit-overview .section-title{margin:14px 0 20px;max-width:950px}
.services-page .service-kit-overview .section-title span{color:#00e5ff}
.services-page .service-kit-overview>p:not(.eyebrow){max-width:790px;margin:0;color:#aeb5bf;font-size:1rem;line-height:1.75}
@media(max-width:650px){
  .services-page .service-kit-overview{margin-bottom:42px;padding:22px 18px 24px;border-radius:22px}
  .services-page .service-kit-overview .section-title{font-size:clamp(2.9rem,13vw,4.6rem)}
}

/* v6.33 — blend the Services story photograph into the page */
.services-page .service-story-photo{
  position:relative;
  isolation:isolate;
  overflow:visible!important;
  background:
    radial-gradient(circle at 14% 24%,rgba(123,44,255,.14),transparent 34%),
    radial-gradient(circle at 88% 76%,rgba(0,229,255,.10),transparent 32%),
    #050609!important;
  box-shadow:none!important;
}
.services-page .service-story-photo::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-8% -5%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 22% 42%,rgba(123,44,255,.16),transparent 45%),
    radial-gradient(ellipse at 80% 58%,rgba(0,229,255,.09),transparent 42%);
  filter:blur(28px);
  opacity:.72;
}
.services-page .service-story-photo img{
  position:relative;
  z-index:0;
  border:0!important;
  box-shadow:none!important;
  -webkit-mask-image:radial-gradient(ellipse 56% 64% at 50% 50%,#000 0 72%,rgba(0,0,0,.96) 79%,rgba(0,0,0,.62) 90%,transparent 100%);
  mask-image:radial-gradient(ellipse 56% 64% at 50% 50%,#000 0 72%,rgba(0,0,0,.96) 79%,rgba(0,0,0,.62) 90%,transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
.services-page .service-story-photo::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:-1px;
  pointer-events:none;
  background:
    linear-gradient(to bottom,#050609 0%,rgba(5,6,9,.74) 5%,transparent 15%,transparent 82%,rgba(5,6,9,.72) 94%,#050609 100%),
    linear-gradient(to right,#050609 0%,rgba(5,6,9,.42) 3%,transparent 8%,transparent 92%,rgba(5,6,9,.42) 97%,#050609 100%),
    linear-gradient(140deg,rgba(123,44,255,.08),transparent 38%,rgba(0,229,255,.055));
  mix-blend-mode:normal;
}

@media(max-width:760px){
  .services-page .service-story-section{
    padding-bottom:36px!important;
  }
  .services-page .service-kit-section{
    padding-top:48px!important;
  }
  .services-page .service-story-photo{
    width:calc(100% + 24px);
    margin-left:-12px;
    margin-right:-12px;
    min-height:320px!important;
  }
  .services-page .service-story-photo img{
    min-height:320px!important;
    object-position:58% center!important;
    -webkit-mask-image:radial-gradient(ellipse 58% 65% at 50% 50%,#000 0 70%,rgba(0,0,0,.95) 78%,rgba(0,0,0,.58) 90%,transparent 100%);
    mask-image:radial-gradient(ellipse 58% 65% at 50% 50%,#000 0 70%,rgba(0,0,0,.95) 78%,rgba(0,0,0,.58) 90%,transparent 100%);
  }
  .services-page .service-story-photo::after{
    background:
      linear-gradient(to bottom,#050609 0%,rgba(5,6,9,.65) 5%,transparent 14%,transparent 83%,rgba(5,6,9,.72) 94%,#050609 100%),
      linear-gradient(to right,#050609 0%,rgba(5,6,9,.35) 2%,transparent 7%,transparent 93%,rgba(5,6,9,.35) 98%,#050609 100%),
      linear-gradient(140deg,rgba(123,44,255,.08),transparent 38%,rgba(0,229,255,.05));
  }
}

/* v6.34 — true edge dissolve for the Services DJ photograph */
.services-page .service-story-section{
  background:
    radial-gradient(ellipse at 82% 72%,rgba(0,229,255,.055),transparent 34%),
    radial-gradient(ellipse at 18% 56%,rgba(123,44,255,.065),transparent 36%),
    linear-gradient(to bottom,#050609 0%,#050609 76%,#06090d 100%)!important;
}
.services-page .service-story-photo{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.services-page .service-story-photo::before{
  inset:-12% -10%;
  background:
    radial-gradient(ellipse at 25% 42%,rgba(123,44,255,.16),transparent 48%),
    radial-gradient(ellipse at 78% 62%,rgba(0,229,255,.105),transparent 47%);
  filter:blur(34px);
  opacity:.76;
}
.services-page .service-story-photo::after{
  display:none!important;
  content:none!important;
}
.services-page .service-story-photo img{
  border:0!important;
  box-shadow:none!important;
  -webkit-mask-image:radial-gradient(ellipse 50% 52% at 50% 50%,#000 0 58%,rgba(0,0,0,.96) 65%,rgba(0,0,0,.76) 75%,rgba(0,0,0,.42) 85%,rgba(0,0,0,.14) 94%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 50% 52% at 50% 50%,#000 0 58%,rgba(0,0,0,.96) 65%,rgba(0,0,0,.76) 75%,rgba(0,0,0,.42) 85%,rgba(0,0,0,.14) 94%,transparent 100%)!important;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}

@media(max-width:760px){
  .services-page .service-story-section{
    padding-bottom:10px!important;
  }
  .services-page .service-kit-section{
    padding-top:30px!important;
  }
  .services-page .service-story-photo{
    width:calc(100% + 32px);
    margin-left:-16px;
    margin-right:-16px;
    min-height:310px!important;
  }
  .services-page .service-story-photo img{
    min-height:310px!important;
    object-position:58% center!important;
    -webkit-mask-image:radial-gradient(ellipse 50% 51% at 50% 50%,#000 0 56%,rgba(0,0,0,.94) 64%,rgba(0,0,0,.70) 75%,rgba(0,0,0,.36) 85%,rgba(0,0,0,.11) 94%,transparent 100%)!important;
    mask-image:radial-gradient(ellipse 50% 51% at 50% 50%,#000 0 56%,rgba(0,0,0,.94) 64%,rgba(0,0,0,.70) 75%,rgba(0,0,0,.36) 85%,rgba(0,0,0,.11) 94%,transparent 100%)!important;
  }
}

/* v6.35 — subtle animated lighting-style cards */
.services-page .lighting-direction-grid article{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,background-color .32s ease;
}
.services-page .lighting-direction-grid article>*{
  position:relative;
  z-index:2;
}
.services-page .lighting-direction-grid article::before{
  z-index:3;
  background:linear-gradient(90deg,
    transparent 0%,
    color-mix(in srgb,var(--card-accent) 35%,transparent) 12%,
    var(--card-accent) 34%,
    color-mix(in srgb,var(--card-accent) 52%,#fff) 48%,
    var(--card-accent) 62%,
    transparent 100%)!important;
  background-size:220% 100%!important;
  animation:lightingAccentSweep 6.8s ease-in-out infinite;
}
.services-page .lighting-direction-grid article::after{
  content:"";
  position:absolute;
  z-index:0;
  width:75%;
  aspect-ratio:1;
  right:-32%;
  bottom:-54%;
  border-radius:50%;
  pointer-events:none;
  opacity:.16;
  background:radial-gradient(circle,
    color-mix(in srgb,var(--card-accent) 32%,transparent) 0%,
    color-mix(in srgb,var(--card-accent) 12%,transparent) 36%,
    transparent 70%);
  transform:translate3d(0,0,0) scale(.92);
  animation:lightingCardGlow 7.4s ease-in-out infinite alternate;
}
.services-page .lighting-direction-grid article:nth-child(2)::before,
.services-page .lighting-direction-grid article:nth-child(2)::after{animation-delay:-1.7s}
.services-page .lighting-direction-grid article:nth-child(3)::before,
.services-page .lighting-direction-grid article:nth-child(3)::after{animation-delay:-3.4s}
.services-page .lighting-direction-grid article:nth-child(4)::before,
.services-page .lighting-direction-grid article:nth-child(4)::after{animation-delay:-5.1s}

@keyframes lightingAccentSweep{
  0%,20%{background-position:100% 0}
  55%,100%{background-position:-100% 0}
}
@keyframes lightingCardGlow{
  0%{opacity:.10;transform:translate3d(-4%,3%,0) scale(.90)}
  50%{opacity:.18;transform:translate3d(0,-2%,0) scale(1)}
  100%{opacity:.13;transform:translate3d(5%,1%,0) scale(.95)}
}

@media (hover:hover){
  .services-page .lighting-direction-grid article:hover::after{
    opacity:.28;
    transform:translate3d(0,-4%,0) scale(1.08);
  }
  .services-page .lighting-direction-grid article:hover::before{
    animation-duration:3.8s;
  }
}

@media (prefers-reduced-motion:reduce){
  .services-page .lighting-direction-grid article,
  .services-page .lighting-direction-grid article::before,
  .services-page .lighting-direction-grid article::after{
    animation:none!important;
    transition:none!important;
  }
  .services-page .lighting-direction-grid article:hover{transform:none!important}
}

/* v6.36 — enquiry page refinement: seamless sections + restrained brand colour */
.contact-simple-page .simple-enquiry-wrap{
  overflow:hidden;
  background:
    radial-gradient(ellipse at 10% 24%,rgba(123,44,255,.17),transparent 28%),
    radial-gradient(ellipse at 92% 74%,rgba(0,229,255,.10),transparent 30%),
    linear-gradient(180deg,#07060d 0%,#07080c 47%,#05080b 100%)!important;
}
.contact-simple-page .simple-enquiry-wrap::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:8%;right:8%;top:44%;height:180px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(123,44,255,.08) 26%,rgba(0,229,255,.07) 72%,transparent);
  filter:blur(46px);
  opacity:.8;
}
.contact-simple-page .simple-enquiry-intro{
  position:relative;
  border-right:0!important;
}
.contact-simple-page .simple-enquiry-intro::after{
  content:"";
  position:absolute;
  right:0;top:12%;bottom:12%;width:1px;
  background:linear-gradient(180deg,transparent,rgba(123,44,255,.28),rgba(0,229,255,.22),transparent);
  opacity:.7;
}
.contact-simple-page .simple-enquiry-intro h1 span{
  color:#fff;
  background:linear-gradient(100deg,#a66cff 8%,#ffffff 47%,#62efff 92%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
}
.contact-simple-page .simple-enquiry-intro>p:not(.eyebrow){
  color:#c8cdd5!important;
}
.contact-simple-page .simple-enquiry-note{
  position:relative;
  overflow:hidden;
  padding:22px 22px 21px!important;
  border:1px solid rgba(255,255,255,.095)!important;
  border-radius:15px!important;
  background:
    linear-gradient(135deg,rgba(123,44,255,.075),rgba(255,255,255,.025) 48%,rgba(0,229,255,.035)),
    rgba(8,9,14,.48)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 44px rgba(0,0,0,.12);
}
.contact-simple-page .simple-enquiry-note::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,#8e4bff,#00e5ff 62%,transparent 92%);
  opacity:.9;
}
.contact-simple-page .simple-enquiry-note b{color:#f8f9fb!important}
.contact-simple-page .simple-enquiry-note span{color:#9da5b0!important}

.contact-simple-page .simple-enquiry-panel{
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.105)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(0,229,255,.055),transparent 25%),
    radial-gradient(circle at 0% 100%,rgba(123,44,255,.065),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.014) 58%),
    rgba(8,10,15,.80)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 26px 70px rgba(0,0,0,.24)!important;
}
.contact-simple-page .simple-enquiry-panel::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,#8e4bff 0%,#00e5ff 58%,transparent 88%);
  opacity:.92;
}
.contact-simple-page .simple-form-grid label>span{
  color:#d8dce2!important;
  font-weight:750;
}
.contact-simple-page .simple-form-grid label:nth-child(odd)>span{color:#d8dce2!important}
.contact-simple-page .simple-form-grid label:nth-child(even)>span{color:#cfd5db!important}
.contact-simple-page .simple-form-grid input,
.contact-simple-page .simple-form-grid select,
.contact-simple-page .simple-form-grid textarea{
  border-color:rgba(255,255,255,.125)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;
}
.contact-simple-page .simple-form-grid input:focus,
.contact-simple-page .simple-form-grid select:focus,
.contact-simple-page .simple-form-grid textarea:focus{
  border-color:rgba(0,229,255,.68)!important;
  background:linear-gradient(180deg,rgba(0,229,255,.035),rgba(255,255,255,.02))!important;
  box-shadow:0 0 0 3px rgba(0,229,255,.065),0 0 26px rgba(0,229,255,.055)!important;
}
.contact-simple-page .simple-enquiry-help{
  color:#929aa5!important;
}
.contact-simple-page .simple-enquiry-submit{
  border-top:0!important;
  margin-top:30px!important;
  padding-top:0!important;
}
.contact-simple-page .simple-enquiry-submit::before{
  content:"";
  display:block;
  position:absolute;
  left:0;right:0;top:-18px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(123,44,255,.22),rgba(0,229,255,.18),transparent);
}
.contact-simple-page .simple-enquiry-submit{position:relative}

@media(max-width:900px){
  .contact-simple-page .simple-enquiry-intro{
    padding-bottom:34px!important;
    border-bottom:0!important;
  }
  .contact-simple-page .simple-enquiry-intro::after{display:none!important}
  .contact-simple-page .simple-enquiry-note{margin-top:30px!important}
  .contact-simple-page .simple-enquiry-panel{
    margin:8px 18px 54px!important;
    padding:34px 22px!important;
  }
}
@media(max-width:620px){
  .contact-simple-page .simple-enquiry-wrap{
    background:
      radial-gradient(ellipse at 8% 20%,rgba(123,44,255,.18),transparent 31%),
      radial-gradient(ellipse at 96% 72%,rgba(0,229,255,.10),transparent 34%),
      linear-gradient(180deg,#07060d,#06070b 52%,#05080b)!important;
  }
  .contact-simple-page .simple-enquiry-intro{padding:54px 20px 28px!important}
  .contact-simple-page .simple-enquiry-intro h1{margin-bottom:20px!important}
  .contact-simple-page .simple-enquiry-note{padding:19px 18px!important;border-radius:14px!important}
  .contact-simple-page .simple-enquiry-panel{margin:6px 14px 46px!important;padding:28px 18px 30px!important;border-radius:16px!important}
  .contact-simple-page .simple-form-grid{gap:20px!important}
  .contact-simple-page .simple-form-grid input,
  .contact-simple-page .simple-form-grid select,
  .contact-simple-page .simple-form-grid textarea{border-radius:12px!important;padding:15px 14px!important}
}

/* v6.37 — About page copy + visual refinement */
.about-page-v637{background:#050609;color:#fff}
.about-page-v637 .about-hero{min-height:760px;display:flex;align-items:flex-end}
.about-page-v637 .about-hero::before{
  background:
    linear-gradient(90deg,#050609fa 0,#050609e9 39%,#05060988 63%,#05060920 82%),
    linear-gradient(0deg,#050609e8 0,transparent 48%),
    radial-gradient(circle at 76% 38%,rgba(0,229,255,.17),transparent 24%),
    url("photos/mobile-dj-party-dorset-hampshire.webp") 61% center/cover no-repeat!important;
  filter:saturate(1.02) contrast(1.04)!important
}
.about-page-v637 .about-hero::after{
  background:
    radial-gradient(circle at 72% 32%,rgba(0,229,255,.13),transparent 22%),
    radial-gradient(circle at 28% 70%,rgba(123,44,255,.17),transparent 30%)!important;
  opacity:.72!important
}
.about-page-v637 .about-hero .page-hero-inner{padding-bottom:22px}
.about-page-v637 .about-hero h1{max-width:880px;margin-top:18px}
.about-page-v637 .about-hero h1 span{color:#fff}
.about-page-v637 .about-hero h1 span::after{content:"";display:inline-block;width:.68em;height:.08em;margin-left:.12em;vertical-align:.14em;background:linear-gradient(90deg,#7b2cff,#00e5ff);border-radius:99px;box-shadow:0 0 26px rgba(0,229,255,.18)}
.about-page-v637 .about-hero .hero-intro{max-width:700px;color:#d7dbe0;font-size:clamp(1.05rem,1.5vw,1.22rem)}
.about-page-v637 .hero-number{color:#ffffff10!important}

.about-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.about-belief-section,.about-method-section,.about-area-section{position:relative;overflow:hidden;isolation:isolate}
.about-belief-section{padding:clamp(90px,10vw,145px) 0;background:linear-gradient(135deg,#08090d,#090713 55%,#05090c)}
.about-belief-section::before{content:"ABOUT";position:absolute;right:-2vw;bottom:-7vw;z-index:-1;color:#ffffff05;font-size:23vw;line-height:1;font-weight:950;letter-spacing:-.08em}
.about-belief-section::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 14% 85%,rgba(123,44,255,.18),transparent 28%),radial-gradient(circle at 88% 18%,rgba(0,229,255,.08),transparent 24%)}
.about-belief-section .about-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(48px,8vw,115px);align-items:start}
.about-belief-heading h2{max-width:760px;margin:22px 0 0;font-size:clamp(3.7rem,7vw,7.5rem);line-height:.82;letter-spacing:-.065em;text-transform:uppercase}
.about-belief-heading h2 span{color:#00e5ff}
.about-belief-copy{padding-top:42px}
.about-belief-copy .lead{margin:0 0 24px;color:#f2f4f6;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.52;font-weight:650;letter-spacing:-.02em}
.about-belief-copy p:last-child{margin:0;color:#9ea6b0;font-size:1rem;line-height:1.78}

.about-method-section{padding:clamp(88px,10vw,140px) 0;background:#050609}
.about-method-section::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 86% 8%,rgba(0,229,255,.09),transparent 23%),radial-gradient(circle at 10% 92%,rgba(123,44,255,.11),transparent 25%)}
.about-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);gap:48px;align-items:end;margin-bottom:50px}
.about-section-head h2{margin:20px 0 0;font-size:clamp(3.4rem,6.2vw,6.8rem);line-height:.83;letter-spacing:-.06em;text-transform:uppercase}
.about-section-head h2 span{color:#8e4bff}
.about-section-head>p{margin:0 0 8px;color:#99a1ac;line-height:1.72;font-size:1rem}
.about-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-method-grid article{position:relative;min-height:430px;padding:30px;border:1px solid rgba(255,255,255,.11);border-radius:18px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 5%,rgba(255,255,255,.045)),rgba(255,255,255,.012) 55%,rgba(0,0,0,.08)),rgba(9,11,16,.76);box-shadow:inset 0 1px rgba(255,255,255,.035),0 22px 60px rgba(0,0,0,.20);transition:transform .28s var(--tt-ease),border-color .28s ease,box-shadow .28s ease}
.about-method-grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--card-accent),transparent 72%)}
.about-card-no{color:color-mix(in srgb,var(--card-accent) 74%,#fff);font-size:.62rem;font-weight:900;letter-spacing:.18em}
.about-card-mark{width:48px;height:48px;margin-top:58px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 36%,rgba(255,255,255,.12));border-radius:14px;background:color-mix(in srgb,var(--card-accent) 7%,rgba(255,255,255,.02));color:#fff;font-size:1.2rem;box-shadow:0 0 28px color-mix(in srgb,var(--card-accent) 10%,transparent)}
.about-method-grid h3{max-width:330px;margin:22px 0 15px;color:#fff;font-size:clamp(1.6rem,2.6vw,2.55rem);line-height:.97;letter-spacing:-.035em;text-transform:uppercase}
.about-method-grid p{margin:0;color:#9da5af;line-height:1.68}
@media(hover:hover){.about-method-grid article:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--card-accent) 34%,rgba(255,255,255,.12));box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--card-accent) 7%,transparent)}}

.about-planning-band{position:relative;min-height:680px;display:grid;align-items:end;overflow:hidden;background:#050609}
.about-planning-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.05)}
.about-planning-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#050609f4 0,#050609d8 39%,#05060976 68%,#05060918),linear-gradient(0deg,#050609db 0,transparent 48%),radial-gradient(circle at 72% 30%,rgba(0,229,255,.12),transparent 25%)}
.about-planning-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:90px 0}
.about-planning-inner h2{max-width:760px;margin:18px 0 24px;font-size:clamp(3.6rem,7vw,7.4rem);line-height:.81;letter-spacing:-.06em;text-transform:uppercase}
.about-planning-inner h2 span{color:#00e5ff}
.about-planning-inner>p:not(.eyebrow){max-width:620px;margin:0 0 26px;color:#d3d7dc;font-size:1.04rem;line-height:1.75}
.about-planning-inner .line-link{color:#fff}

.about-area-section{padding:clamp(88px,10vw,140px) 0;background:linear-gradient(135deg,#090713,#050609 56%,#061014)}
.about-area-section::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 12% 84%,rgba(123,44,255,.18),transparent 27%),radial-gradient(circle at 88% 22%,rgba(0,229,255,.10),transparent 25%)}
.about-area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.65fr);gap:clamp(48px,8vw,110px);align-items:end}
.about-area-grid h2{margin:20px 0 0;font-size:clamp(3.5rem,6.5vw,7rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}
.about-area-grid h2 span{color:#8e4bff}
.about-area-copy>p{margin:0 0 26px;color:#aeb5be;font-size:1.05rem;line-height:1.75}
.about-area-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:32px}
.about-area-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.025);color:#dce0e5;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.about-area-tags span:nth-child(even){border-color:rgba(0,229,255,.18);background:rgba(0,229,255,.035)}
.about-area-tags span:nth-child(odd){border-color:rgba(123,44,255,.20);background:rgba(123,44,255,.04)}

@media(max-width:900px){
  .about-page-v637 .about-hero{min-height:680px}
  .about-belief-section .about-shell,.about-section-head,.about-area-grid{grid-template-columns:1fr}
  .about-belief-copy{padding-top:0;max-width:720px}
  .about-method-grid{grid-template-columns:1fr}
  .about-method-grid article{min-height:0}
  .about-card-mark{margin-top:38px}
  .about-planning-band{min-height:600px}
}
@media(max-width:650px){
  .about-shell,.about-planning-inner{width:calc(100% - 40px)}
  .about-page-v637 .about-hero{min-height:650px;padding-bottom:50px}
  .about-page-v637 .about-hero::before{background-position:67% center!important}
  .about-page-v637 .about-hero h1{font-size:clamp(3.6rem,15vw,5.4rem)!important}
  .about-page-v637 .about-hero h1 span::after{display:none}
  .about-belief-section,.about-method-section,.about-area-section{padding:74px 0}
  .about-belief-heading h2,.about-section-head h2,.about-area-grid h2{font-size:clamp(3rem,13vw,4.8rem)}
  .about-belief-copy .lead{font-size:1.18rem}
  .about-section-head{gap:22px;margin-bottom:32px}
  .about-method-grid{gap:12px}
  .about-method-grid article{padding:24px;border-radius:15px}
  .about-method-grid h3{font-size:clamp(1.8rem,9vw,2.5rem)}
  .about-planning-band{min-height:610px}
  .about-planning-band>img{object-position:58% center}
  .about-planning-overlay{background:linear-gradient(0deg,#050609f2 0,#050609cf 48%,#05060955 78%),linear-gradient(90deg,#050609b5 0,transparent 75%)}
  .about-planning-inner{padding:70px 0}
  .about-planning-inner h2{font-size:clamp(3.2rem,14vw,5rem)}
  .about-area-grid{gap:30px}
}


/* Guest song requests public page — v6.38 */
.guest-requests-page{background:#050609;color:#fff}
.guest-request-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.guest-request-hero{position:relative;min-height:820px;display:grid;align-items:center;overflow:hidden;isolation:isolate;background:linear-gradient(140deg,#08090d 0,#080711 50%,#041015 100%)}
.guest-request-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 17% 28%,rgba(123,44,255,.23),transparent 29%),radial-gradient(circle at 82% 38%,rgba(0,229,255,.12),transparent 24%),linear-gradient(180deg,transparent 65%,#050609 100%)}
.guest-request-hero::after{content:"REQUESTS";position:absolute;z-index:-1;right:-2vw;bottom:-3vw;color:#ffffff05;font-size:18vw;line-height:.8;font-weight:950;letter-spacing:-.08em;white-space:nowrap}
.guest-request-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(390px,.72fr);gap:clamp(45px,7vw,105px);align-items:center;padding:100px 0 82px}
.guest-request-hero-copy h1{margin:18px 0 28px;text-transform:uppercase;font-size:clamp(4.7rem,8vw,8.8rem);line-height:.76;letter-spacing:-.075em}
.guest-request-hero-copy h1 span{display:block;color:#00e5ff}
.guest-request-lede{max-width:680px;margin:0 0 30px;color:#c9ced5;font-size:clamp(1.08rem,1.8vw,1.34rem);line-height:1.66}
.guest-request-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.guest-request-tags span{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.025);color:#cfd4da;text-transform:uppercase;font-size:.56rem;font-weight:850;letter-spacing:.12em}
.guest-request-tags span:nth-child(2){border-color:rgba(0,229,255,.24);background:rgba(0,229,255,.035)}
.guest-request-tags span:nth-child(3){border-color:rgba(123,44,255,.28);background:rgba(123,44,255,.04)}
.guest-phone-wrap{position:relative;display:grid;justify-items:center;align-self:center;padding:36px 0}
.guest-phone-glow{position:absolute;width:88%;aspect-ratio:1;top:16%;left:8%;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.17),rgba(123,44,255,.10) 42%,transparent 68%);filter:blur(24px);pointer-events:none}
.guest-phone{position:relative;width:min(330px,78vw);padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:38px;background:linear-gradient(160deg,#191b22,#06070a 40%,#161821);box-shadow:0 42px 100px rgba(0,0,0,.62),0 0 65px rgba(123,44,255,.10);transform:rotate(2.1deg)}
.guest-phone::before{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.05);border-radius:34px;pointer-events:none}
.guest-phone-speaker{position:absolute;z-index:2;top:17px;left:50%;width:70px;height:5px;transform:translateX(-50%);border-radius:99px;background:#020304;box-shadow:0 1px rgba(255,255,255,.08)}
.guest-phone img{display:block;width:100%;height:auto;border-radius:30px;background:#050609}
.guest-phone-wrap>p{position:relative;margin:22px 0 0;color:#737b86;text-transform:uppercase;font-size:.53rem;font-weight:800;letter-spacing:.15em}
.guest-request-intro{position:relative;overflow:hidden;padding:clamp(90px,10vw,145px) 0;background:#050609}
.guest-request-intro::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 82%,rgba(123,44,255,.16),transparent 27%),radial-gradient(circle at 86% 15%,rgba(0,229,255,.08),transparent 25%);pointer-events:none}
.guest-request-intro-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.65fr);gap:clamp(48px,8vw,115px);align-items:start}
.guest-request-intro h2,.guest-request-section-head h2,.guest-request-balance h2{margin:20px 0 0;text-transform:uppercase;font-size:clamp(3.6rem,6.8vw,7.3rem);line-height:.82;letter-spacing:-.065em}
.guest-request-intro h2 span{color:#8e4bff}
.guest-request-intro-copy{padding-top:38px}
.guest-request-intro-copy .lead{margin:0 0 24px;color:#f0f2f4;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.55;font-weight:650;letter-spacing:-.02em}
.guest-request-intro-copy p:last-child{margin:0;color:#9da5af;line-height:1.75}
.guest-request-screen-section{position:relative;overflow:hidden;padding:clamp(90px,10vw,145px) 0;background:linear-gradient(135deg,#080711,#050609 58%,#041014)}
.guest-request-screen-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(0,229,255,.10),transparent 24%),radial-gradient(circle at 8% 78%,rgba(123,44,255,.16),transparent 25%);pointer-events:none}
.guest-request-section-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.45fr);gap:48px;align-items:end;margin-bottom:55px}
.guest-request-section-head h2 span{color:#00e5ff}
.guest-request-section-head>p{margin:0 0 7px;color:#9da5af;line-height:1.72}
.guest-request-screen-layout{position:relative;display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1fr);gap:clamp(45px,7vw,95px);align-items:center}
.guest-request-screen-card{width:min(470px,100%);justify-self:center;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:42px;background:linear-gradient(155deg,#171921,#07080b 45%,#14161c);box-shadow:0 35px 90px rgba(0,0,0,.50),0 0 60px rgba(0,229,255,.06)}
.guest-request-screen-card img{display:block;width:100%;height:auto;border-radius:32px}
.guest-request-points{display:grid;gap:12px}
.guest-request-points article{position:relative;min-height:210px;padding:25px 28px 26px 100px;border:1px solid rgba(255,255,255,.11);border-radius:17px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--request-accent) 5%,rgba(255,255,255,.04)),rgba(7,9,13,.82));box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 52px rgba(0,0,0,.18)}
.guest-request-points article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--request-accent),transparent 85%)}
.guest-request-points article>span{position:absolute;top:25px;right:25px;color:color-mix(in srgb,var(--request-accent) 68%,#fff);font-size:.56rem;font-weight:900;letter-spacing:.16em}
.guest-request-icon{position:absolute;left:27px;top:29px;width:48px;height:48px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--request-accent) 35%,rgba(255,255,255,.12));border-radius:14px;background:color-mix(in srgb,var(--request-accent) 7%,rgba(255,255,255,.02));box-shadow:0 0 28px color-mix(in srgb,var(--request-accent) 9%,transparent)}
.guest-request-icon svg{width:25px;height:25px;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.guest-request-points h3{max-width:520px;margin:36px 0 10px;text-transform:uppercase;font-size:clamp(1.45rem,2.5vw,2.35rem);line-height:.95;letter-spacing:-.035em}
.guest-request-points p{margin:0;max-width:570px;color:#9ba3ad;line-height:1.65}
.guest-request-balance{position:relative;overflow:hidden;padding:clamp(90px,10vw,145px) 0;background:#050609}
.guest-request-balance::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 74%,rgba(0,229,255,.08),transparent 25%),radial-gradient(circle at 12% 15%,rgba(123,44,255,.12),transparent 25%);pointer-events:none}
.guest-request-balance-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.62fr);gap:clamp(48px,8vw,115px);align-items:start}
.guest-request-balance h2 span{color:#8e4bff}
.guest-request-balance-grid>div:last-child{padding-top:34px}
.guest-request-balance-grid>div:last-child p{margin:0 0 20px;color:#aab1ba;line-height:1.76}
.guest-request-balance .line-link{display:inline-flex;margin-top:8px}
.guest-request-cta{background:radial-gradient(circle at 50% 110%,rgba(0,229,255,.12),transparent 32%),radial-gradient(circle at 20% 0,rgba(123,44,255,.16),transparent 28%),#07080c}
.service-request-feature{position:relative;overflow:hidden;padding:clamp(75px,8vw,110px) 0;background:linear-gradient(130deg,#090713,#050609 60%,#061014)}
.service-request-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 75%,rgba(123,44,255,.16),transparent 26%),radial-gradient(circle at 82% 24%,rgba(0,229,255,.10),transparent 24%);pointer-events:none}
.service-request-feature-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);gap:clamp(40px,7vw,90px);align-items:center}
.service-request-feature h2{margin:18px 0 20px;text-transform:uppercase;font-size:clamp(3.5rem,6vw,6.3rem);line-height:.82;letter-spacing:-.06em}.service-request-feature h2 span{color:#00e5ff}.service-request-feature p:not(.eyebrow){max-width:650px;margin:0 0 26px;color:#aeb5be;line-height:1.72}
.service-request-copy{position:relative;min-width:0;padding:clamp(22px,3vw,34px);border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(145deg,rgba(7,11,17,.92),rgba(6,8,12,.96));box-shadow:0 22px 70px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.03)}
.service-request-copy::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;border-radius:26px 0 0 26px;background:linear-gradient(#7b2cff,#00e5ff 70%)}
.service-request-copy>*{position:relative;z-index:1}
.service-request-copy .line-link{display:inline-flex;margin-top:6px}
.service-request-mini-phone{justify-self:end;width:min(420px,42vw);max-width:100%;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,#10131a,#06070a 52%,#121823);box-shadow:0 30px 70px rgba(0,0,0,.42),0 0 40px rgba(0,229,255,.06);transform:none;overflow:hidden}
.service-request-mini-phone img{display:block;width:100%;height:auto;border-radius:16px}
@media(max-width:900px){.guest-request-hero-grid,.guest-request-intro-grid,.guest-request-section-head,.guest-request-screen-layout,.guest-request-balance-grid,.service-request-feature-inner{grid-template-columns:1fr}.guest-request-hero-grid{padding-top:82px}.guest-phone-wrap{padding-top:18px}.guest-request-intro-copy,.guest-request-balance-grid>div:last-child{padding-top:0}.guest-request-section-head{gap:24px}.guest-request-screen-card{width:min(420px,80vw)}.service-request-mini-phone{display:none}}
@media(max-width:650px){.guest-request-shell{width:calc(100% - 40px)}.guest-request-hero{min-height:0}.guest-request-hero-grid{padding:70px 0 64px;gap:32px}.guest-request-hero-copy h1{font-size:clamp(3.7rem,17vw,5.5rem)}.guest-request-lede{font-size:1.02rem}.guest-phone{width:min(286px,78vw);border-radius:34px}.guest-phone img{border-radius:27px}.guest-request-intro,.guest-request-screen-section,.guest-request-balance{padding:74px 0}.guest-request-intro h2,.guest-request-section-head h2,.guest-request-balance h2{font-size:clamp(3rem,13vw,4.8rem)}.guest-request-screen-card{width:min(330px,88vw);border-radius:32px}.guest-request-screen-card img{border-radius:24px}.guest-request-points article{min-height:0;padding:82px 22px 24px}.guest-request-icon{left:22px;top:22px}.guest-request-points article>span{top:26px;right:22px}.guest-request-points h3{margin:18px 0 10px}.guest-request-tags{margin-top:28px}.guest-request-hero::after{font-size:32vw;bottom:0}.service-request-feature{padding:70px 0}.service-request-copy{padding:22px 18px 24px;border-radius:22px}.service-request-copy::before{border-radius:22px 0 0 22px}.service-request-feature h2{font-size:clamp(3rem,13vw,4.7rem)}}

/* V6.47 — subtle interaction motion for buttons + cards */
:root{
  --tt-motion-fast:220ms;
  --tt-motion-med:420ms;
  --tt-motion-ease:cubic-bezier(.2,.8,.2,1);
}

/* Primary buttons: colour travel, light sweep and a crisp press response. */
.primary{
  background-size:185% 100%!important;
  background-position:0 50%;
  transition:
    transform var(--tt-motion-fast) var(--tt-motion-ease),
    box-shadow var(--tt-motion-med) ease,
    background-position .7s var(--tt-motion-ease),
    filter var(--tt-motion-fast) ease!important;
  will-change:transform;
}
.primary::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:1px;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 120%,rgba(255,255,255,.22),transparent 58%);
  transition:opacity .35s ease;
}
@media (hover:hover){
  .primary:hover,
  .primary:focus-visible{
    transform:translateY(-3px)!important;
    background-position:100% 50%;
    filter:saturate(1.08) brightness(1.04);
    box-shadow:0 18px 48px rgba(0,229,255,.12),0 10px 38px rgba(123,44,255,.24)!important;
  }
  .primary:hover::after,
  .primary:focus-visible::after{opacity:1}
}
.primary:active{transform:translateY(0) scale(.985)!important;transition-duration:90ms!important}

/* Text actions: a tiny glide plus a coloured underline that grows in. */
.line-link,
.service-link,
.theme-book-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  transition:transform var(--tt-motion-fast) var(--tt-motion-ease),color var(--tt-motion-fast) ease,filter var(--tt-motion-fast) ease!important;
}
.line-link::before,
.theme-book-link::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:1px;
  transform:scaleX(.25);
  transform-origin:left;
  opacity:.55;
  background:linear-gradient(90deg,#7b2cff,#00e5ff);
  transition:transform .36s var(--tt-motion-ease),opacity .3s ease;
}
@media (hover:hover){
  .line-link:hover,
  .line-link:focus-visible,
  .service-link:hover,
  .service-link:focus-visible,
  .theme-book-link:hover,
  .theme-book-link:focus-visible{
    transform:translateX(4px);
    color:#fff!important;
    filter:drop-shadow(0 0 12px rgba(0,229,255,.15));
  }
  .line-link:hover::before,
  .line-link:focus-visible::before,
  .theme-book-link:hover::before,
  .theme-book-link:focus-visible::before{transform:scaleX(1);opacity:1}
}

/* Shared card motion. Keep the page still until the visitor interacts. */
.home-service-grid article,
.subpage .service-kit-grid article,
.subpage .lighting-direction-grid article,
.subpage .venue-option-grid article,
.subpage .coverage-grid article,
.subpage .planning-card,
.wedding-pillars-grid article,
.wedding-night-grid article,
.christmas-card-grid article,
.christmas-flow-grid article,
.christmas-local-card,
.guest-request-points article,
.about-belief-grid article,
.guest-request-screen-card{
  transition:
    transform .38s var(--tt-motion-ease),
    border-color .35s ease,
    box-shadow .42s ease,
    filter .35s ease!important;
  transform-origin:50% 70%;
  will-change:transform;
}

@media (hover:hover){
  .home-service-grid article:hover,
  .home-service-grid article:focus-within,
  .subpage .service-kit-grid article:hover,
  .subpage .service-kit-grid article:focus-within,
  .subpage .lighting-direction-grid article:hover,
  .subpage .lighting-direction-grid article:focus-within,
  .subpage .venue-option-grid article:hover,
  .subpage .venue-option-grid article:focus-within,
  .subpage .coverage-grid article:hover,
  .subpage .coverage-grid article:focus-within,
  .subpage .planning-card:hover,
  .subpage .planning-card:focus-within,
  .wedding-pillars-grid article:hover,
  .wedding-pillars-grid article:focus-within,
  .wedding-night-grid article:hover,
  .wedding-night-grid article:focus-within,
  .christmas-card-grid article:hover,
  .christmas-card-grid article:focus-within,
  .christmas-flow-grid article:hover,
  .christmas-flow-grid article:focus-within,
  .christmas-local-card:hover,
  .guest-request-points article:hover,
  .guest-request-points article:focus-within,
  .about-belief-grid article:hover,
  .about-belief-grid article:focus-within,
  .guest-request-screen-card:hover{
    transform:translate3d(0,-6px,0) scale(1.006);
    border-color:color-mix(in srgb,var(--card-accent,var(--request-accent,#00e5ff)) 34%,rgba(255,255,255,.16))!important;
    box-shadow:
      0 28px 70px rgba(0,0,0,.28),
      0 0 34px color-mix(in srgb,var(--card-accent,var(--request-accent,#00e5ff)) 9%,transparent),
      inset 0 1px rgba(255,255,255,.05)!important;
    filter:saturate(1.025);
  }
}

/* Existing accent bars become a brief travelling glint on interaction. */
.home-service-grid article::before,
.subpage .service-kit-grid article::before,
.subpage .venue-option-grid article::before,
.subpage .planning-card::before,
.wedding-pillars-grid article::before,
.christmas-card-grid article::before{
  background-size:210% 100%!important;
  background-position:100% 0;
}
@media (hover:hover){
  .home-service-grid article:hover::before,
  .subpage .service-kit-grid article:hover::before,
  .subpage .venue-option-grid article:hover::before,
  .subpage .planning-card:hover::before,
  .wedding-pillars-grid article:hover::before,
  .christmas-card-grid article:hover::before{
    animation:tt-card-glint .9s var(--tt-motion-ease) 1 both;
  }
}
@keyframes tt-card-glint{
  from{background-position:100% 0;filter:brightness(1)}
  48%{filter:brightness(1.65)}
  to{background-position:-100% 0;filter:brightness(1)}
}

/* Icon and photo response stays tiny, just enough to create depth. */
.home-service-grid .service-icon,
.about-card-mark,
.guest-request-icon{
  transition:transform .38s var(--tt-motion-ease),box-shadow .38s ease,filter .38s ease!important;
}
@media (hover:hover){
  .home-service-grid article:hover .service-icon,
  .about-belief-grid article:hover .about-card-mark,
  .guest-request-points article:hover .guest-request-icon{
    transform:translate3d(0,-3px,0) rotate(-1.5deg) scale(1.04);
    filter:drop-shadow(0 0 16px color-mix(in srgb,var(--card-accent,var(--request-accent,#00e5ff)) 32%,transparent));
  }
  .planning-card:hover .planning-card-image{transform:scale(1.018)}
}
.planning-card-image{transition:transform .65s var(--tt-motion-ease),filter .5s ease!important}

/* Touch feedback without hover-only movement. */
@media (hover:none){
  .primary:active{filter:brightness(1.08)}
  .home-service-grid article:active,
  .subpage .service-kit-grid article:active,
  .wedding-pillars-grid article:active,
  .christmas-card-grid article:active,
  .guest-request-points article:active{transform:scale(.994)}
}

@media (prefers-reduced-motion:reduce){
  .primary,
  .line-link,
  .service-link,
  .theme-book-link,
  .home-service-grid article,
  .subpage .service-kit-grid article,
  .subpage .lighting-direction-grid article,
  .subpage .venue-option-grid article,
  .subpage .coverage-grid article,
  .subpage .planning-card,
  .wedding-pillars-grid article,
  .wedding-night-grid article,
  .christmas-card-grid article,
  .christmas-flow-grid article,
  .christmas-local-card,
  .guest-request-points article,
  .about-belief-grid article,
  .guest-request-screen-card,
  .planning-card-image,
  .service-icon,
  .about-card-mark,
  .guest-request-icon{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
  .primary::before,.primary::after,.line-link::before,.theme-book-link::before{display:none!important}
}

/* v6.49 — signature Time & Tempo motion system
   Deliberately restrained: brand light, waveform, card illumination and page transitions. */

@property --tt-ambient-a{
  syntax:"<color>";
  inherits:true;
  initial-value:#7b2cff;
}
@property --tt-ambient-b{
  syntax:"<color>";
  inherits:true;
  initial-value:#00e5ff;
}

/* Cross-document View Transitions are intentionally disabled.
   Embedded browsers used by Messenger/Facebook can leave the outgoing page
   snapshot on screen until the WebView is backgrounded/repainted. Normal
   document navigation is faster and more reliable across those browsers. */
.logo{view-transition-name:none}

/* Section-aware ambient lighting. This sits over the dark canvas at very low opacity. */
.tt-ambient-field{
  --tt-ambient-a:#7b2cff;
  --tt-ambient-b:#00e5ff;
  --tt-pointer-x:22%;
  --tt-pointer-y:28%;
  --tt-ambient-shift:0px;
  position:fixed;
  z-index:3;
  inset:-14vh -12vw;
  pointer-events:none;
  overflow:hidden;
  opacity:.31;
  mix-blend-mode:screen;
  contain:strict;
  transition:--tt-ambient-a 1.15s ease,--tt-ambient-b 1.15s ease,opacity .6s ease;
}
.tt-ambient-field::before,
.tt-ambient-field::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  will-change:transform;
}
.tt-ambient-field::before{
  background:
    radial-gradient(circle at var(--tt-pointer-x) var(--tt-pointer-y),color-mix(in srgb,var(--tt-ambient-b) 18%,transparent),transparent 21%),
    radial-gradient(ellipse at 14% 30%,color-mix(in srgb,var(--tt-ambient-a) 15%,transparent),transparent 34%);
  filter:blur(18px);
  transform:translate3d(0,var(--tt-ambient-shift),0) scale(1.03);
}
.tt-ambient-field::after{
  background:
    radial-gradient(ellipse at 82% 68%,color-mix(in srgb,var(--tt-ambient-b) 10%,transparent),transparent 31%),
    linear-gradient(118deg,transparent 38%,color-mix(in srgb,var(--tt-ambient-a) 4%,transparent) 50%,transparent 61%);
  filter:blur(12px);
  transform:translate3d(0,calc(var(--tt-ambient-shift) * -.5),0);
}

/* A single brand-specific scan through the hero, rather than generic flying typography. */
.showcase,.page-hero,.guest-request-hero{position:relative;isolation:isolate}
.tt-hero-signal{
  position:absolute;
  z-index:3;
  left:-25%;
  top:0;
  width:28%;
  height:100%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-16deg);
  background:linear-gradient(90deg,transparent,color-mix(in srgb,#00e5ff 7%,transparent),color-mix(in srgb,#7b2cff 9%,transparent),transparent);
  filter:blur(8px);
  animation:tt-hero-scan 5.6s cubic-bezier(.15,.7,.2,1) .4s 1 both;
}
@keyframes tt-hero-scan{
  0%{left:-30%;opacity:0}
  12%{opacity:.72}
  58%{opacity:.45}
  100%{left:110%;opacity:0}
}

/* Pointer/touch-localised light on important cards. */
.tt-reactive-card{isolation:isolate}
.tt-card-light{
  position:absolute!important;
  z-index:7!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  opacity:0;
  transform:none!important;
  background:radial-gradient(270px circle at var(--tt-card-x,50%) var(--tt-card-y,50%),color-mix(in srgb,var(--card-accent,var(--request-accent,#00e5ff)) 23%,transparent) 0%,color-mix(in srgb,var(--card-accent,var(--request-accent,#00e5ff)) 7%,transparent) 35%,transparent 69%)!important;
  mix-blend-mode:screen;
  transition:opacity .32s ease!important;
  box-shadow:none!important;
}
@media(hover:hover){
  .tt-reactive-card:hover>.tt-card-light,.tt-reactive-card:focus-within>.tt-card-light{opacity:.55}
}
.tt-reactive-card.tt-touch-flare>.tt-card-light{animation:tt-touch-flare .5s ease-out 1 both!important}
@keyframes tt-touch-flare{0%{opacity:.05}22%{opacity:.62}100%{opacity:0}}

/* The logo's waveform becomes a small recurring visual punctuation between sections. */
.tt-signal-break{
  width:min(1180px,calc(100% - 44px));
  height:74px;
  margin:clamp(18px,3vw,42px) auto;
  display:grid;
  grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);
  align-items:center;
  gap:18px;
  opacity:.82;
  pointer-events:none;
}
.tt-signal-line{height:1px;background:linear-gradient(90deg,transparent,rgba(123,44,255,.58),rgba(0,229,255,.55))}
.tt-signal-line:last-child{transform:scaleX(-1)}
.tt-signal-wave{height:52px;display:flex;align-items:center;justify-content:center;gap:4px}
.tt-signal-wave i{
  display:block;
  width:3px;
  height:var(--tt-h);
  border-radius:99px;
  opacity:.28;
  transform:scaleY(.22);
  transform-origin:center;
  background:linear-gradient(180deg,#00e5ff,#7b2cff);
  box-shadow:0 0 12px rgba(0,229,255,.12);
}
.tt-signal-break.is-live .tt-signal-wave i{
  animation:tt-signal-pulse .78s cubic-bezier(.2,.85,.25,1) calc(var(--tt-i) * 34ms) 1 both;
}
@keyframes tt-signal-pulse{
  0%{opacity:.2;transform:scaleY(.18)}
  45%{opacity:.95;transform:scaleY(1);box-shadow:0 0 17px rgba(0,229,255,.34)}
  100%{opacity:.42;transform:scaleY(.44);box-shadow:0 0 8px rgba(123,44,255,.15)}
}

/* Give the four lighting cards slightly different 'behaviour', not just different colours. */
.services-page .lighting-direction-grid article:nth-child(1){background-image:radial-gradient(ellipse at 78% 78%,rgba(242,178,56,.09),transparent 47%)!important}
.services-page .lighting-direction-grid article:nth-child(2){background-image:radial-gradient(circle at 76% 28%,rgba(255,47,168,.085),transparent 37%),radial-gradient(circle at 30% 80%,rgba(0,229,255,.055),transparent 42%)!important}
.services-page .lighting-direction-grid article:nth-child(3){background-image:linear-gradient(128deg,transparent 30%,rgba(111,125,255,.07) 47%,transparent 62%)!important}
.services-page .lighting-direction-grid article:nth-child(4){background-image:radial-gradient(circle at 84% 72%,rgba(99,255,111,.075),transparent 43%)!important}

/* Progressive enhancement: selected photographic panels settle almost imperceptibly with scroll. */
@supports (animation-timeline:view()){
  .wedding-photo-card,
  .christmas-planning-photo,
  .venue-photo-section,
  .service-night-photo-band{
    animation:tt-photo-depth 1ms linear both;
    animation-timeline:view(block 8% 8%);
    animation-range:entry 0% cover 48%;
  }
  @keyframes tt-photo-depth{
    from{filter:saturate(.94) brightness(.94);transform:translateY(8px)}
    to{filter:saturate(1) brightness(1);transform:translateY(0)}
  }
}

@media(max-width:720px){
  .tt-ambient-field{opacity:.23;inset:-10vh -28vw}
  .tt-signal-break{width:calc(100% - 36px);height:58px;gap:12px;margin:10px auto 22px}
  .tt-signal-wave{height:44px;gap:3px}
  .tt-signal-wave i{width:2px}
  .tt-hero-signal{width:38%;filter:blur(11px)}
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root),::view-transition-group(tt-logo){animation-duration:.01ms!important}
  .tt-ambient-field{display:none!important}
  .tt-hero-signal{display:none!important;animation:none!important}
  .tt-card-light{display:none!important;animation:none!important;transition:none!important}
  .tt-signal-wave i{animation:none!important;transform:scaleY(.42)!important;opacity:.35!important}
  .wedding-photo-card,.christmas-planning-photo,.venue-photo-section,.service-night-photo-band{animation:none!important;transform:none!important;filter:none!important}
}

/* v6.50 — Themed Nights becomes a venue sales experience, not just a poster catalogue. */
.themed-page .page-hero h1 span{display:block;background:linear-gradient(90deg,#b76cff 0%,#6b7cff 45%,#00e5ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.themed-page .page-hero .hero-intro{max-width:760px}
.theme-crowd-picker{margin:0 0 36px;padding:24px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:radial-gradient(circle at 7% 20%,rgba(123,44,255,.13),transparent 28%),radial-gradient(circle at 92% 82%,rgba(0,229,255,.09),transparent 25%),rgba(8,10,15,.78);box-shadow:inset 0 1px rgba(255,255,255,.035)}
.theme-crowd-copy{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;align-items:end;margin-bottom:20px}.theme-crowd-copy .eyebrow{margin:0}.theme-crowd-copy p{margin:0;color:#9fa6b0;line-height:1.6}
.theme-crowd-buttons{display:flex;flex-wrap:wrap;gap:9px}.theme-crowd-buttons button{min-height:42px;padding:0 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.025);color:#d7dbe0;font:inherit;font-size:.72rem;font-weight:750;letter-spacing:.03em;cursor:pointer;transition:transform .22s var(--tt-ease),border-color .22s ease,background .22s ease,box-shadow .22s ease,color .22s ease}.theme-crowd-buttons button:hover,.theme-crowd-buttons button:focus-visible{transform:translateY(-2px);border-color:rgba(0,229,255,.42);outline:none}.theme-crowd-buttons button.is-active{color:#fff;border-color:rgba(0,229,255,.52);background:linear-gradient(90deg,rgba(123,44,255,.32),rgba(0,229,255,.18));box-shadow:0 0 24px rgba(0,229,255,.08),inset 0 1px rgba(255,255,255,.08)}
.theme-filter-status{margin:14px 0 0!important;color:#707986!important;font-size:.66rem!important;text-transform:uppercase;letter-spacing:.12em}
.theme-entry[hidden]{display:none!important}.theme-entry.is-filter-match{animation:theme-card-in .38s var(--tt-ease) both}@keyframes theme-card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.theme-photo-band{position:relative;min-height:620px;margin:72px -24px 0;overflow:hidden;display:grid;align-items:end;isolation:isolate;background:#050609}.theme-photo-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-3}.theme-photo-band::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#050609f4 0,#050609cf 36%,rgba(5,6,9,.42) 68%,rgba(5,6,9,.12)),linear-gradient(0deg,#050609d8 0,transparent 58%)}.theme-photo-band::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 72% 32%,rgba(0,229,255,.13),transparent 22%),radial-gradient(circle at 48% 40%,rgba(123,44,255,.14),transparent 26%);mix-blend-mode:screen}.theme-photo-copy{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:92px 0}.theme-photo-copy h2{max-width:760px;margin:12px 0 20px;font-size:clamp(3.2rem,7vw,7.2rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}.theme-photo-copy h2 span{color:#00e5ff}.theme-photo-copy>p:not(.eyebrow){max-width:620px;color:#d4d8de;line-height:1.7}.theme-photo-copy .primary{margin-top:12px}
.theme-night-journey,.theme-venue-sales{padding:88px 0 20px}.theme-section-heading{max-width:850px;margin-bottom:34px}.theme-section-heading h2{margin:10px 0 16px;font-size:clamp(3rem,6vw,6rem);line-height:.86;letter-spacing:-.055em;text-transform:uppercase}.theme-section-heading>p:not(.eyebrow){max-width:680px;margin:0;color:#9fa6b0;line-height:1.72}
.theme-journey-grid,.theme-venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.theme-journey-grid article,.theme-venue-grid article{min-height:300px;padding:28px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));position:relative;overflow:hidden}.theme-journey-grid article::before,.theme-venue-grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--journey,#00e5ff),transparent 76%)}.theme-journey-grid article:nth-child(2),.theme-venue-grid article:nth-child(2){--journey:#8e4bff}.theme-journey-grid article:nth-child(3),.theme-venue-grid article:nth-child(3){--journey:#ff2fa8}.theme-journey-grid span,.theme-venue-grid span{color:var(--journey,#00e5ff);font-size:.59rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.theme-journey-grid h3,.theme-venue-grid h3{margin:76px 0 14px;font-size:clamp(1.6rem,2.6vw,2.5rem);line-height:.95;text-transform:uppercase}.theme-journey-grid p,.theme-venue-grid p{margin:0;color:#9fa6b0;line-height:1.68;font-size:.88rem}
.theme-venue-sales{padding-bottom:88px}.theme-venue-cta{margin-top:18px;padding:28px 30px;display:flex;gap:28px;align-items:center;justify-content:space-between;border:1px solid rgba(0,229,255,.18);border-radius:18px;background:radial-gradient(circle at 10% 40%,rgba(123,44,255,.14),transparent 28%),radial-gradient(circle at 88% 40%,rgba(0,229,255,.10),transparent 24%),rgba(8,10,15,.78)}.theme-venue-cta h3{margin:8px 0 8px;font-size:clamp(1.5rem,2.8vw,2.7rem);text-transform:uppercase;line-height:.95}.theme-venue-cta p{margin:0;color:#9fa6b0}.theme-venue-cta .primary{flex:0 0 auto}
.themed-page .theme-entry{transition:border-color .28s ease,box-shadow .28s ease,transform .28s var(--tt-ease)}.themed-page .theme-entry:hover{border-color:color-mix(in srgb,var(--chapter) 34%,rgba(255,255,255,.11))!important;box-shadow:inset 0 1px rgba(255,255,255,.05),0 24px 66px rgba(0,0,0,.26),0 0 34px color-mix(in srgb,var(--chapter) 10%,transparent)!important}
@media(max-width:900px){.theme-crowd-copy{grid-template-columns:1fr;gap:10px}.theme-journey-grid,.theme-venue-grid{grid-template-columns:1fr}.theme-journey-grid article,.theme-venue-grid article{min-height:240px}.theme-journey-grid h3,.theme-venue-grid h3{margin-top:48px}.theme-venue-cta{align-items:flex-start;flex-direction:column}.theme-photo-band{min-height:560px;margin-left:-12px;margin-right:-12px}}
@media(max-width:650px){.theme-crowd-picker{padding:20px;margin-bottom:24px}.theme-crowd-buttons{display:grid;grid-template-columns:1fr 1fr}.theme-crowd-buttons button{padding:0 10px;font-size:.65rem}.theme-photo-band{min-height:590px}.theme-photo-band>img{object-position:62% center}.theme-photo-band::before{background:linear-gradient(0deg,#050609f4 0,#0506098d 64%,rgba(5,6,9,.18)),linear-gradient(90deg,#05060994,transparent)}.theme-photo-copy{width:calc(100% - 40px);padding:74px 0}.theme-photo-copy h2{font-size:clamp(3rem,14vw,5rem)}.theme-night-journey,.theme-venue-sales{padding-top:68px}.theme-section-heading h2{font-size:clamp(2.8rem,12vw,4.7rem)}.theme-journey-grid article,.theme-venue-grid article{padding:23px;min-height:220px}.theme-venue-cta{padding:24px 22px}.theme-venue-cta .primary{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.theme-entry.is-filter-match{animation:none}.theme-crowd-buttons button{transition:none}}

/* v6.51 — compact themed-night takeover on phones */
@media(max-width:720px){
  .night-takeover{
    background:
      radial-gradient(circle at 18% 18%,color-mix(in srgb,var(--accent,#7b2cff) 13%,transparent),transparent 32%),
      radial-gradient(circle at 88% 34%,color-mix(in srgb,var(--accent2,#00e5ff) 10%,transparent),transparent 30%),
      #050609;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .night-takeover .takeover-image{
    position:relative;
    inset:auto;
    z-index:1;
    display:block;
    width:auto;
    height:min(34svh,300px);
    max-width:min(68vw,250px);
    margin:72px auto 8px;
    object-fit:contain;
    border-radius:14px;
    border:1px solid color-mix(in srgb,var(--accent,#00e5ff) 34%,rgba(255,255,255,.12));
    box-shadow:0 22px 55px rgba(0,0,0,.48),0 0 30px color-mix(in srgb,var(--accent,#00e5ff) 12%,transparent);
    filter:saturate(1.04) contrast(1.06);
  }
  .night-takeover .takeover-shade{
    position:fixed;
    z-index:0;
    background:linear-gradient(180deg,rgba(5,6,9,.12) 0,rgba(5,6,9,.72) 42%,#050609 78%);
    pointer-events:none;
  }
  .night-takeover .takeover-shade::after{
    opacity:.16;
  }
  .night-takeover .takeover-copy{
    position:relative;
    z-index:2;
    height:auto;
    min-height:0;
    max-width:none;
    padding:18px 20px 112px;
    justify-content:flex-start;
  }
  .night-takeover .takeover-copy>p:first-child{
    margin-top:0;
    font-size:.56rem;
  }
  .night-takeover .takeover-copy h2{
    margin:10px 0 6px;
    font-size:clamp(2.65rem,12vw,4.3rem);
    line-height:.84;
  }
  .night-takeover .takeover-copy h3{
    margin:7px 0 14px;
    font-size:.7rem;
    line-height:1.45;
  }
  .night-takeover .takeover-desc{
    font-size:.86rem;
    line-height:1.55;
  }
  .night-takeover .takeover-spec-grid{
    gap:8px;
    margin-top:14px;
  }
  .night-takeover .takeover-spec-grid>div{
    padding:12px 13px;
  }
  .night-takeover .takeover-listening{
    margin-top:12px;
    padding-top:12px;
  }
  .night-takeover .genre-row{
    margin:13px 0 18px;
  }
  .night-takeover .takeover-index{
    position:fixed;
    z-index:5;
    top:22px;
    left:20px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:rgba(5,6,9,.72);
    backdrop-filter:blur(10px);
  }
  .night-takeover .takeover-close{
    z-index:6;
    top:14px;
    right:14px;
  }
  .night-takeover .takeover-nav{
    z-index:5;
    left:0;
    right:0;
    bottom:0;
    padding:13px 20px calc(13px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(255,255,255,.13);
    background:linear-gradient(180deg,rgba(5,6,9,.72),rgba(5,6,9,.97));
    backdrop-filter:blur(14px);
  }
}

@media(max-width:420px){
  .night-takeover .takeover-image{
    height:min(31svh,260px);
    max-width:64vw;
    margin-top:66px;
  }
  .night-takeover .takeover-copy h2{font-size:clamp(2.45rem,11.5vw,3.65rem)}
}

/* v6.52 — genuinely compact homepage poster takeover on phones */
@media(max-width:720px){
  .night-takeover .takeover-image{
    width:min(42vw,168px)!important;
    max-width:168px!important;
    height:auto!important;
    max-height:210px!important;
    aspect-ratio:4/5;
    margin:64px auto 10px!important;
    object-fit:contain!important;
    border-radius:10px;
    box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 20px color-mix(in srgb,var(--accent,#00e5ff) 9%,transparent);
  }
  .night-takeover .takeover-copy{
    padding-top:10px!important;
  }
  .night-takeover .takeover-copy h2{
    font-size:clamp(2.25rem,10.2vw,3.35rem)!important;
  }
}
@media(max-width:420px){
  .night-takeover .takeover-image{
    width:min(39vw,152px)!important;
    max-width:152px!important;
    max-height:190px!important;
    margin-top:60px!important;
  }
  .night-takeover .takeover-copy{
    padding-top:8px!important;
  }
}

/* v6.53 — remove obsolete homepage poster-control space on phones */
@media(max-width:760px){
  .home-nights-section{
    padding-bottom:28px!important;
  }
  .home-nights-section .poster-stage{
    min-height:0!important;
    height:auto!important;
    padding:12px 0 8px!important;
    margin-bottom:0!important;
  }
  .home-nights-section .poster-rail{
    height:auto!important;
    min-height:0!important;
    padding:0 20px 8px!important;
    margin-bottom:0!important;
  }
  .home-nights-section .rail-nav{
    display:none!important;
  }
  .local-home{
    margin-top:0!important;
  }
}

/* v6.54 — harden themed-night takeover against mobile horizontal overflow */
@media(max-width:760px){
  .night-takeover{
    width:100vw!important;
    max-width:100vw!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
  }
  .night-takeover .takeover-image{
    display:block!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    inset:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .night-takeover .takeover-copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding-left:22px!important;
    padding-right:22px!important;
    overflow:hidden!important;
  }
  .night-takeover .takeover-copy > *,
  .night-takeover .takeover-spec-grid,
  .night-takeover .takeover-spec-grid > div,
  .night-takeover .takeover-listening,
  .night-takeover .genre-row{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .night-takeover .takeover-spec-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .night-takeover .takeover-listening{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .night-takeover .takeover-listening span{
    display:block!important;
  }
  .night-takeover .takeover-desc,
  .night-takeover .takeover-spec-grid p,
  .night-takeover .takeover-listening p,
  .night-takeover .takeover-copy h2,
  .night-takeover .takeover-copy h3{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .night-takeover .genre-row{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    overflow:visible!important;
  }
  .night-takeover .genre-row span{
    flex:0 1 auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .night-takeover .takeover-copy .primary{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    display:flex!important;
    justify-content:center!important;
    text-align:center!important;
  }
}
@media(max-width:420px){
  .night-takeover .takeover-copy{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* v6.55 — mobile themed-night takeover: reliable touch scrolling + no slide count */
@media(max-width:760px){
  .night-takeover{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:scroll!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
    scrollbar-width:none;
  }
  .night-takeover::-webkit-scrollbar{display:none}
  .night-takeover .takeover-index{display:none!important}
  .night-takeover .takeover-copy{
    overflow:visible!important;
    padding-bottom:104px!important;
  }
  .night-takeover .takeover-nav{
    position:sticky!important;
    left:auto!important;
    right:auto!important;
    bottom:0!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin-top:0!important;
  }
}

/* v6.56 — mobile modal close affordance and safety */
@media(max-width:760px){
  .night-takeover .takeover-close{
    display:grid!important;
    position:fixed!important;
    top:max(12px, env(safe-area-inset-top))!important;
    right:max(12px, env(safe-area-inset-right))!important;
    left:auto!important;
    z-index:9999!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    padding:0!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:999px!important;
    background:rgba(5,6,9,.94)!important;
    color:#fff!important;
    box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 20px color-mix(in srgb,var(--accent,#00e5ff) 18%,transparent)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    font-size:32px!important;
    font-weight:300!important;
    line-height:1!important;
    text-align:center!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }
  .night-takeover .takeover-close:active{
    transform:scale(.94)!important;
    border-color:var(--accent,#00e5ff)!important;
  }
  .night-takeover .takeover-image{
    margin-top:72px!important;
  }
}

/* v6.56 — site-wide mobile QA refinement */
@media(max-width:760px){
  html,body,.site,.subpage{max-width:100%;overflow-x:hidden}
  main,section,article,figure,form,fieldset,.page-hero-inner,.content-inner,.copy-grid>*{min-width:0}
  img,video,canvas,svg{max-width:100%}

  /* Navigation remains usable on short phones and respects notches/safe areas. */
  .topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .topbar nav{
    max-height:calc(100dvh - 94px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
  .menu{min-width:44px;min-height:44px;display:grid;place-items:center;touch-action:manipulation}

  /* Keep long headings and labels inside the viewport. */
  h1,h2,h3,.section-title{max-width:100%;overflow-wrap:break-word}
  .page-hero h1{font-size:clamp(3.35rem,16vw,5.8rem)}

  /* Comfortable mobile controls and no iOS focus zoom. */
  input,select,textarea{font-size:16px!important;max-width:100%;min-width:0}
  button,.primary,.nav-book{touch-action:manipulation}
  .primary{min-height:48px}

  /* Guest-request marketing page had an intrinsic grid minimum wider than phones. */
  .guest-request-hero-grid>*{min-width:0!important;max-width:100%!important}
  .guest-request-hero-copy,.guest-phone-wrap{width:100%!important;min-width:0!important;max-width:100%!important}
  .guest-request-hero-copy h1,.guest-request-lede,.guest-request-hero-copy .page-actions,.guest-request-tags{width:100%!important;max-width:100%!important;min-width:0!important}
  .guest-request-hero-copy h1{font-size:clamp(3.35rem,15.5vw,5.25rem)!important;overflow-wrap:normal!important}
  .guest-request-tags{display:flex;flex-wrap:wrap}

  /* Keep deliberately oversized Services imagery clipped by its own section. */
  .services-page .service-story-section,.services-page .service-story-grid{overflow:hidden}

  /* Slightly quicker transitions feel more immediate on touch devices. */
  ::view-transition-old(root){animation-duration:.20s!important}
  ::view-transition-new(root),::view-transition-group(tt-logo){animation-duration:.30s!important}
}

@media(max-width:430px){
  .page-actions{gap:14px}
  .page-actions .primary{width:100%;justify-content:center;text-align:center}
  .page-actions .line-link{width:max-content;max-width:100%}
  .guest-request-hero-copy h1{font-size:clamp(3.15rem,15vw,4.7rem)!important}
}

@media(hover:none) and (pointer:coarse){
  /* Avoid sticky desktop hover states after taps. */
  .tt-reactive-card:hover{transform:none}
  .poster:hover{transform:rotateY(-3deg) rotate(var(--tilt))}
}


/* ==========================================================
   v6.58 — Guest requests marketing phone mock-ups
   Updated with a fresh capture of the v6.57 guest request app.
   ========================================================== */
.guest-requests-page .guest-phone-wrap{
  position:relative;
  isolation:isolate;
  padding:28px 8px 24px;
}
.guest-requests-page .guest-phone-glow{
  width:112%;
  left:-6%;
  top:12%;
  background:
    radial-gradient(circle at 34% 35%,rgba(123,44,255,.24),transparent 42%),
    radial-gradient(circle at 72% 62%,rgba(0,229,255,.17),transparent 38%);
  filter:blur(34px);
  opacity:.92;
}
.guest-requests-page .guest-phone{
  width:min(326px,76vw);
  padding:8px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:45px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.02) 13%,rgba(3,4,8,.98) 31%,#090b11 100%);
  box-shadow:
    0 48px 115px rgba(0,0,0,.62),
    -16px 16px 48px rgba(123,44,255,.11),
    18px -12px 48px rgba(0,229,255,.07),
    inset 0 1px 0 rgba(255,255,255,.18);
  transform:perspective(1100px) rotateY(-4deg) rotateZ(1.6deg);
}
.guest-requests-page .guest-phone::before{
  inset:2px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:42px;
}
.guest-requests-page .guest-phone-screen{
  position:relative;
  overflow:hidden;
  border-radius:37px;
  background:#040509;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.guest-requests-page .guest-phone-screen::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(112deg,rgba(255,255,255,.09),transparent 18%,transparent 72%,rgba(0,229,255,.035));
  mix-blend-mode:screen;
}
.guest-requests-page .guest-phone img{
  display:block;
  width:100%;
  aspect-ratio:390/844;
  height:auto;
  object-fit:cover;
  object-position:top center;
  border-radius:0;
}
.guest-requests-page .guest-phone-island,
.guest-request-phone-island{
  position:absolute;
  z-index:5;
  top:17px;
  left:50%;
  width:82px;
  height:22px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#010205;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 2px 7px rgba(0,0,0,.35);
}
.guest-requests-page .guest-phone-island i{
  position:absolute;
  right:9px;
  top:7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#09111a;
  box-shadow:inset 0 0 0 2px rgba(53,97,141,.22);
}
.guest-requests-page .guest-phone-side{
  position:absolute;
  z-index:0;
  width:3px;
  border-radius:3px 0 0 3px;
  background:linear-gradient(#2d3038,#08090d);
  box-shadow:-1px 0 rgba(255,255,255,.12);
}
.guest-requests-page .guest-phone-side-a{left:-4px;top:105px;height:58px}
.guest-requests-page .guest-phone-side-b{left:-4px;top:179px;height:86px}
.guest-requests-page .guest-phone-wrap>p{
  margin-top:26px;
  color:#89919d;
  letter-spacing:.18em;
}

/* Lower Guest Requests phone artwork — single contained image to avoid crop/overlap issues. */
.guest-request-lower-phone{
  position:relative;
  width:min(390px,100%);
  justify-self:center;
  margin-inline:auto;
  filter:drop-shadow(0 32px 58px rgba(0,0,0,.48));
}
.guest-request-lower-phone::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:10% 2% 8%;
  border-radius:46%;
  background:radial-gradient(circle at 50% 45%,rgba(0,229,255,.13),transparent 58%),radial-gradient(circle at 40% 55%,rgba(123,44,255,.18),transparent 66%);
  filter:blur(36px);
}
.guest-request-lower-phone img{
  display:block;
  width:100%;
  height:auto;
  border-radius:34px;
}
@media(max-width:900px){.guest-request-lower-phone{width:min(360px,82vw)}}
@media(max-width:650px){.guest-request-lower-phone{width:min(320px,88vw)}.guest-request-lower-phone img{border-radius:28px}}

/* Two complementary live-app views, sized to stay fully inside the section. */
.guest-request-phone-pair{
  position:relative;
  width:min(510px,100%);
  min-height:650px;
  justify-self:center;
  isolation:isolate;
}
.guest-request-phone-pair::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:11% -7% 9%;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 35%,rgba(123,44,255,.21),transparent 42%),
    radial-gradient(circle at 72% 63%,rgba(0,229,255,.15),transparent 40%);
  filter:blur(35px);
}
.guest-request-phone-pair::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:10%;right:8%;bottom:42px;
  height:72px;
  border-radius:50%;
  background:rgba(0,0,0,.62);
  filter:blur(32px);
}
.guest-request-phone{
  position:absolute;
  overflow:visible;
  padding:7px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:39px;
  background:linear-gradient(150deg,#1c1f28,#06070b 28%,#10131a);
  box-shadow:0 34px 85px rgba(0,0,0,.54),inset 0 1px rgba(255,255,255,.15);
  transform-origin:50% 80%;
}
.guest-request-phone-back{
  z-index:1;
  width:46%;
  left:0;
  top:38px;
  transform:rotate(-3.25deg);
  opacity:.9;
  filter:saturate(.92) brightness(.84);
}
.guest-request-phone-front{
  z-index:3;
  width:48%;
  right:0;
  top:38px;
  transform:rotate(2.25deg);
}
.guest-request-phone-screen{
  overflow:hidden;
  border-radius:32px;
  background:#040509;
}
.guest-request-phone-screen img{
  display:block;
  width:100%;
  aspect-ratio:390/844;
  object-fit:cover;
  object-position:top center;
}
.guest-request-phone-front .guest-request-phone-screen img{
  object-position:center top;
}
.guest-request-phone-note{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:18px;
  width:min(300px,72%);
  padding:15px 17px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:rgba(8,11,17,.73);
  box-shadow:0 18px 48px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.055);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.guest-request-phone-note span{
  display:block;
  margin-bottom:5px;
  color:#30e3f5;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.guest-request-phone-note b{
  display:block;
  color:#fff;
  font-size:.78rem;
  line-height:1.28;
}

/* Service-page mini phone inherits the same cleaner hardware treatment. */
.service-request-mini-phone{
  position:relative;
  padding:10px;
  border-radius:24px;
  background:linear-gradient(145deg,#171b24,#050609 42%,#0f1420);
  box-shadow:0 32px 80px rgba(0,0,0,.48),-10px 12px 34px rgba(123,44,255,.09),10px -8px 30px rgba(0,229,255,.05);
}
.service-request-mini-phone::before{display:none}
.service-request-mini-phone img{
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
}

@media(max-width:900px){
  .guest-request-phone-pair{min-height:590px;width:min(460px,92vw)}
  .guest-request-phone-back{left:0;top:30px;width:46%}
  .guest-request-phone-front{right:0;top:30px;width:48%}
  .guest-request-phone-note{bottom:12px}
}
@media(max-width:650px){
  .guest-requests-page .guest-phone-wrap{padding-top:8px}
  .guest-requests-page .guest-phone{width:min(278px,74vw);border-radius:40px;transform:rotate(1.2deg)}
  .guest-requests-page .guest-phone-screen{border-radius:33px}
  .guest-request-screen-layout{gap:28px}
  .guest-request-phone-pair{width:min(340px,100%);min-height:450px;margin:0 auto;overflow:visible}
  .guest-request-phone{padding:6px;border-radius:31px}
  .guest-request-phone-screen{border-radius:25px}
  .guest-request-phone-back{left:0;top:24px;width:45%;transform:rotate(-2.75deg)}
  .guest-request-phone-front{right:0;top:24px;width:48%;transform:rotate(1.75deg)}
  .guest-request-phone-note{left:50%;right:auto;bottom:7px;width:min(280px,86%);max-width:none;padding:12px 14px;transform:translateX(-50%)}
  .guest-request-phone-note b{font-size:.7rem}
}
@media(max-width:380px){
  .guest-request-phone-pair{width:min(312px,100%);min-height:410px}
  .guest-request-phone-back{width:44%;top:22px}
  .guest-request-phone-front{width:47%;top:22px}
  .guest-request-phone-note{left:50%;right:auto;bottom:4px;width:88%;padding:11px 12px;transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .guest-requests-page .guest-phone,
  .guest-request-phone{transition:none!important}
}

/* ================================================================
   V6.59 — KARAOKE: THEMED NIGHT + SERVICE + DEDICATED PAGE
   ================================================================ */
.topbar nav>a[href="karaoke.html"]{--karaoke-accent:#ff35c8}
.topbar nav>a[href="karaoke.html"]::after{background:linear-gradient(90deg,#ff35c8,#7b2cff 52%,#54e5ff)}
.topbar nav>a[href="karaoke.html"]:hover,.topbar nav>a[href="karaoke.html"].active{color:#fff;text-shadow:0 0 18px rgba(255,53,200,.22)}

.karaoke-page{--karaoke-pink:#ff35c8;--karaoke-cyan:#54e5ff;--karaoke-violet:#8b47ff;background:#050609}
.karaoke-page .karaoke-hero::before{
  background:
    linear-gradient(90deg,#050609fa 0,#050609e8 34%,#05060982 58%,#05060918 82%),
    linear-gradient(0deg,#050609 0,transparent 26%),
    radial-gradient(circle at 79% 37%,rgba(255,53,200,.19),transparent 25%),
    url("photos/karaoke-dj-night.webp") 72% center/cover no-repeat;
  filter:saturate(1.06) contrast(1.04)
}
.karaoke-page .karaoke-hero::after{opacity:.08;mask-image:linear-gradient(90deg,#000,transparent 74%)}
.karaoke-page .karaoke-hero h1 span,.karaoke-page .section-title span,.karaoke-page .karaoke-photo-copy h2 span{color:var(--karaoke-cyan)}
.karaoke-page .karaoke-hero .eyebrow{color:var(--karaoke-pink)}
.karaoke-page .primary{background:linear-gradient(105deg,#7b2cff 0,#ff35c8 46%,#00dfff 118%);box-shadow:0 18px 55px rgba(123,44,255,.20),0 0 34px rgba(255,53,200,.08)}
.karaoke-page .line-link{color:var(--karaoke-cyan);border-color:var(--karaoke-cyan)}

.karaoke-intro{position:relative;overflow:hidden}
.karaoke-intro::before,.karaoke-flow::before,.karaoke-good-for::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 30%,rgba(123,44,255,.10),transparent 25%),radial-gradient(circle at 88% 65%,rgba(0,229,255,.07),transparent 26%)}
.karaoke-intro-grid,.karaoke-setup-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,7vw,110px);align-items:start}
.karaoke-lead{padding-top:28px}.karaoke-lead p{margin:0 0 20px;color:#b6bdc7;font-size:1.08rem;line-height:1.82}

.karaoke-photo-band{position:relative;min-height:clamp(520px,64vw,800px);overflow:hidden;background:#050609;isolation:isolate}
.karaoke-photo-band::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#050609e8 0,#05060970 40%,transparent 70%),linear-gradient(0deg,#050609d8 0,transparent 28%,transparent 72%,#050609b8 100%),radial-gradient(circle at 74% 45%,rgba(255,53,200,.12),transparent 30%)}
.karaoke-photo-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(1.02) contrast(1.04)}
.karaoke-photo-copy{position:relative;z-index:3;width:min(1240px,calc(100% - 48px));margin:auto;padding:clamp(120px,15vw,220px) 0 100px}
.karaoke-photo-copy h2{max-width:760px;margin:18px 0 0;font-size:clamp(3.6rem,8vw,8.2rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase}

.karaoke-option-grid,.karaoke-flow-grid,.karaoke-use-grid,.karaoke-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}
.karaoke-option-grid article,.karaoke-flow-grid article,.karaoke-use-grid article,.karaoke-faq-grid article{
  position:relative;overflow:hidden;padding:34px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(145deg,rgba(17,17,23,.88),rgba(8,10,15,.74));box-shadow:0 22px 70px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.035);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)
}
.karaoke-option-grid article::before,.karaoke-flow-grid article::before,.karaoke-use-grid article::before,.karaoke-faq-grid article::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#ff35c8,#7b2cff 48%,#54e5ff);opacity:.8}
.karaoke-option-grid article>span,.karaoke-flow-grid article>b{display:inline-flex;margin-bottom:56px;color:#54e5ff;font-size:.7rem;letter-spacing:.18em}
.karaoke-option-grid h3,.karaoke-flow-grid h3,.karaoke-use-grid h3,.karaoke-faq-grid h3{margin:0 0 14px;color:#fff;font-size:1.45rem}
.karaoke-option-grid p,.karaoke-flow-grid p,.karaoke-use-grid p,.karaoke-faq-grid p{margin:0 0 22px;color:#aeb5bf;line-height:1.7}
.karaoke-flow,.karaoke-good-for{position:relative;overflow:hidden;background:linear-gradient(135deg,#080611,#050609 58%,#041015)}
.karaoke-flow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.karaoke-flow-grid article> b{margin-bottom:42px}.karaoke-flow-grid article{min-height:300px}
.karaoke-request-showcase{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,.88fr);gap:clamp(24px,5vw,72px);align-items:center;margin-top:36px;padding:clamp(20px,3vw,34px);border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(145deg,rgba(10,11,16,.96),rgba(6,8,12,.96));box-shadow:0 28px 90px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.02) inset;overflow:hidden}
.karaoke-request-showcase::before{content:"";position:absolute;inset:-10% auto auto -6%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,53,200,.18),transparent 70%);pointer-events:none;filter:blur(6px)}
.karaoke-request-showcase::after{content:"";position:absolute;right:-60px;bottom:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(84,229,255,.14),transparent 68%);pointer-events:none;filter:blur(8px)}
.karaoke-request-copy{position:relative;z-index:2}
.karaoke-request-copy h3{margin:14px 0 16px;color:#fff;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.94;letter-spacing:-.05em;text-transform:uppercase;max-width:12ch}
.karaoke-request-copy p:not(.eyebrow){margin:0 0 16px;color:#aeb5bf;line-height:1.78;max-width:62ch}
.karaoke-request-points{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.karaoke-request-points span{padding:10px 13px;border:1px solid rgba(84,229,255,.18);border-radius:999px;background:linear-gradient(180deg,rgba(84,229,255,.06),rgba(255,53,200,.04));color:#e5f3f8;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.karaoke-request-phone-stage{position:relative;min-height:clamp(460px,48vw,700px);display:grid;place-items:center;padding:18px;border-radius:24px;background:radial-gradient(circle at 18% 24%,rgba(123,44,255,.24),transparent 26%),radial-gradient(circle at 85% 32%,rgba(0,229,255,.16),transparent 24%),linear-gradient(145deg,#070a11,#04060b 62%,#071018);border:1px solid rgba(255,255,255,.08)}
.karaoke-request-phone-stage::before{content:"";position:absolute;inset:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));pointer-events:none}
.karaoke-request-phone-stage img{position:relative;z-index:2;width:min(100%,490px);height:auto;display:block;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}

.karaoke-setup{background:#07080c}.karaoke-setup-list{display:grid;gap:12px}.karaoke-setup-list>div{padding:22px 24px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.025)}
.karaoke-setup-list span{display:block;color:#fff;font-weight:800;letter-spacing:.03em}.karaoke-setup-list p{margin:7px 0 0;color:#969eaa;line-height:1.55}
.karaoke-use-grid article{min-height:210px}.karaoke-faq-grid article{min-height:220px}
.karaoke-cta{background:radial-gradient(circle at 18% 50%,rgba(255,53,200,.12),transparent 28%),radial-gradient(circle at 82% 50%,rgba(84,229,255,.10),transparent 28%),#06070b}

/* Services page karaoke feature */
.service-karaoke-feature{position:relative;overflow:hidden;padding:clamp(78px,8vw,118px) 0;background:radial-gradient(circle at 82% 24%,rgba(255,53,200,.11),transparent 24%),radial-gradient(circle at 15% 82%,rgba(84,229,255,.08),transparent 24%),#06070b}
.service-karaoke-inner{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:clamp(42px,7vw,100px);align-items:center}
.service-karaoke-photo{position:relative;overflow:hidden;min-height:520px;border-radius:26px;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 90px rgba(0,0,0,.42),-18px 18px 70px rgba(123,44,255,.09)}
.service-karaoke-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,9,.72),transparent 48%),radial-gradient(circle at 70% 30%,rgba(255,53,200,.12),transparent 26%)}
.service-karaoke-photo img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.service-karaoke-copy{position:relative;min-width:0;padding:clamp(22px,3vw,34px);border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(145deg,rgba(12,10,18,.88),rgba(7,9,13,.94));box-shadow:0 22px 70px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.03)}
.service-karaoke-copy::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;border-radius:26px 0 0 26px;background:linear-gradient(#ff35c8,#7b2cff 52%,#54e5ff)}
.service-karaoke-copy>*{position:relative;z-index:1}
.service-karaoke-copy h2{margin:18px 0 22px;font-size:clamp(3.15rem,4.35vw,4.85rem);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;overflow-wrap:normal;word-break:normal}.service-karaoke-copy h2 span{color:#ff35c8}
.service-karaoke-copy>p:not(.eyebrow){max-width:650px;color:#adb5c0;line-height:1.75}
.service-karaoke-points{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 4px}.service-karaoke-points span{padding:10px 13px;border:1px solid rgba(84,229,255,.18);border-radius:999px;background:rgba(84,229,255,.04);color:#d9e8ef;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.service-karaoke-copy .page-actions,.service-request-copy .page-actions{margin-top:28px}

/* Karaoke card gets its own restrained accent on Themed Nights. */
.themed-page .theme-entry-karaoke{box-shadow:0 28px 80px rgba(255,53,200,.06),inset 0 1px rgba(255,255,255,.04)}
.themed-page .theme-entry-karaoke .theme-book-link{color:#54e5ff;border-color:#54e5ff}

@media(max-width:900px){
  .karaoke-intro-grid,.karaoke-setup-grid,.service-karaoke-inner{grid-template-columns:1fr}
  .karaoke-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-karaoke-photo{min-height:430px;order:2}.service-karaoke-copy{order:1}
}
@media(max-width:650px){
  .karaoke-page .karaoke-hero{min-height:700px;padding-bottom:54px;align-items:flex-end}
  .karaoke-page .karaoke-hero::before{background:linear-gradient(0deg,#050609 0,#050609ef 31%,#0506098c 61%,#05060936 100%),radial-gradient(circle at 70% 25%,rgba(255,53,200,.18),transparent 30%),url("photos/karaoke-dj-night.webp") 58% top/auto 63% no-repeat,#050609}
  .karaoke-page .karaoke-hero h1{font-size:clamp(3.7rem,16.8vw,5.7rem)}
  .karaoke-photo-band{min-height:650px}.karaoke-photo-band::before{background:linear-gradient(0deg,#050609f5 0,#05060982 34%,transparent 62%,#05060975 100%)}.karaoke-photo-copy{width:calc(100% - 40px);padding:360px 0 58px}.karaoke-photo-copy h2{font-size:clamp(3rem,13vw,4.8rem)}
  .karaoke-option-grid,.karaoke-flow-grid,.karaoke-use-grid,.karaoke-faq-grid{grid-template-columns:1fr;margin-top:30px}.karaoke-option-grid article,.karaoke-flow-grid article,.karaoke-use-grid article,.karaoke-faq-grid article{padding:26px 22px;border-radius:20px;min-height:0}.karaoke-option-grid article>span,.karaoke-flow-grid article>b{margin-bottom:32px}
  .karaoke-request-showcase{grid-template-columns:1fr;padding:20px;margin-top:28px;border-radius:22px}.karaoke-request-copy h3{font-size:clamp(2rem,9vw,3.3rem);max-width:none}.karaoke-request-phone-stage{min-height:0;padding:14px;border-radius:20px}.karaoke-request-phone-stage::before{inset:12px;border-radius:16px}.karaoke-request-phone-stage img{width:min(100%,420px)}
  .service-karaoke-feature{padding:68px 0}.service-karaoke-photo{min-height:340px;border-radius:20px}.service-karaoke-copy{padding:22px 18px 24px;border-radius:22px}.service-karaoke-copy::before{border-radius:22px 0 0 22px}.service-karaoke-copy h2{font-size:clamp(2.85rem,11vw,4rem);line-height:.9;letter-spacing:-.05em}
}
@media(prefers-reduced-motion:reduce){.karaoke-page *, .service-karaoke-feature *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* ==========================================================
   v6.60 — homepage mobile vertical rhythm
   Tightens the dead space visible between the hero CTA and
   What We Do, and between the service cards / signal divider
   and the Christmas strip. Desktop spacing is unchanged.
   ========================================================== */
@media(max-width:760px){
  /* The hero already has substantial copy on phones; keep the image presence
     without leaving a large tail below the actions. */
  .home-hero-with-photo .manifesto{
    min-height:0!important;
    padding-top:118px!important;
    padding-bottom:28px!important;
  }
  .home-hero-with-photo .home-hero-actions{margin-top:24px!important}

  /* The ticker is only punctuation on mobile, so it should not create a
     second full-size spacer before the first content section. */
  .ticker{height:36px!important}

  /* Base .production uses generous desktop-sized vertical padding.  The
     homepage cards already provide their own breathing room on phones. */
  .home-services{
    min-height:0!important;
    padding-top:54px!important;
    padding-bottom:38px!important;
  }
  .home-services .home-service-grid{margin-top:36px!important}

  /* Keep the signature waveform divider, but make it a compact transition
     instead of a blank band between Services and Christmas Parties. */
  .home-services + .tt-signal-break{
    width:calc(100% - 36px)!important;
    height:40px!important;
    margin:0 auto 8px!important;
    gap:10px!important;
  }
  .home-services + .tt-signal-break .tt-signal-wave{height:34px!important}
}

@media(max-width:430px){
  .home-hero-with-photo .manifesto{
    padding-top:104px!important;
    padding-bottom:24px!important;
  }
  .home-services{
    padding-top:48px!important;
    padding-bottom:32px!important;
  }
  .home-services .home-service-grid{margin-top:32px!important}
  .home-services + .tt-signal-break{height:36px!important;margin-bottom:6px!important}
}

/* v6.67 — contextual links from expanded themed-night posters */
.night-takeover .takeover-page-link{
  display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:12px 0 0;
  color:#dffcff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:900;
  padding:10px 0 7px;border-bottom:1px solid color-mix(in srgb,var(--accent2,#54e5ff) 58%,transparent);
  transition:color .2s ease,border-color .2s ease,transform .2s ease
}
.night-takeover .takeover-page-link:hover,.night-takeover .takeover-page-link:focus-visible{
  color:#fff;border-color:var(--accent2,#54e5ff);transform:translateX(3px)
}
@media(max-width:760px){.night-takeover .takeover-page-link{font-size:.62rem;margin-top:10px}}


/* v6.71 — homepage Christmas feature banner */
.home-christmas-banner{
  position:relative;
  padding:clamp(58px,7vw,92px) clamp(20px,5vw,72px);
  background:#050609;
  overflow:hidden;
}
.home-christmas-banner-inner{
  position:relative;
  isolation:isolate;
  width:min(1400px,100%);
  min-height:clamp(390px,42vw,560px);
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:30px;
  background:#0a090c;
  box-shadow:0 34px 100px rgba(0,0,0,.42),0 0 70px rgba(232,184,95,.05),inset 0 1px rgba(255,255,255,.04);
}
.home-christmas-banner-inner::before{
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(232,184,95,.07);
}
.home-christmas-banner-inner>img{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
  filter:saturate(.95) contrast(1.02) brightness(.8);
}
.home-christmas-banner-shade{
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,6,9,.98) 0%,rgba(5,6,9,.92) 34%,rgba(5,6,9,.58) 61%,rgba(5,6,9,.18) 100%),
    linear-gradient(0deg,rgba(5,6,9,.72),transparent 42%),
    radial-gradient(circle at 16% 18%,rgba(232,184,95,.18),transparent 27%),
    radial-gradient(circle at 84% 28%,rgba(123,44,255,.11),transparent 25%);
}
.home-christmas-banner-copy{
  position:relative;
  z-index:4;
  display:flex;
  min-height:inherit;
  width:min(760px,68%);
  padding:clamp(34px,5vw,68px);
  flex-direction:column;
  justify-content:center;
}
.home-christmas-badge{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:9px;
  margin-bottom:20px;
  padding:9px 13px;
  border:1px solid rgba(232,184,95,.24);
  border-radius:999px;
  background:rgba(232,184,95,.07);
  color:#f0c778;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  box-shadow:0 0 24px rgba(232,184,95,.06);
}
.home-christmas-badge span{font-size:.82rem}
.home-christmas-banner .kicker{margin:0 0 14px;color:#c5ccd4}
.home-christmas-banner h2{
  max-width:780px;
  margin:0;
  color:#fff;
  font-size:clamp(3.1rem,6.2vw,6.7rem);
  line-height:.82;
  letter-spacing:-.065em;
  text-transform:uppercase;
}
.home-christmas-banner h2 span{
  color:#f0c778;
  text-shadow:0 0 36px rgba(232,184,95,.10);
}
.home-christmas-banner-copy>p:not(.kicker){
  max-width:660px;
  margin:24px 0 0;
  color:#c2c7cf;
  font-size:1.02rem;
  line-height:1.72;
}
.home-christmas-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.home-christmas-tags span{
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(5,6,9,.48);
  color:#e4e7ea;
  font-size:.63rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.home-christmas-banner .page-actions{margin-top:28px}
.home-christmas-banner .primary{
  background:linear-gradient(105deg,#8a4a1f 0,#c48a35 45%,#f0c778 100%);
  box-shadow:0 16px 46px rgba(196,138,53,.18);
}
.home-christmas-banner .line-link{color:#f0c778;border-color:#f0c778}
@media(max-width:760px){
  .home-christmas-banner{padding:38px 20px}
  .home-christmas-banner-inner{min-height:720px;border-radius:24px}
  /* Mobile crop deliberately favours the lit Christmas tree and the wider party scene. */
  .home-christmas-banner-inner>img{object-position:58% 50%;transform:none;filter:saturate(1.05) contrast(1.03) brightness(.86)}
  .home-christmas-banner-shade{
    background:
      linear-gradient(0deg,rgba(5,6,9,.99) 0%,rgba(5,6,9,.93) 35%,rgba(5,6,9,.48) 61%,rgba(5,6,9,.10) 100%),
      linear-gradient(90deg,rgba(5,6,9,.22) 0%,rgba(5,6,9,.06) 46%,rgba(5,6,9,0) 72%),
      radial-gradient(circle at 74% 25%,rgba(232,184,95,.19),transparent 30%);
  }
  /* Start the copy much higher so the mobile card does not have a large empty photo gap. */
  .home-christmas-banner-copy{width:100%;min-height:720px;padding:172px 22px 30px;justify-content:flex-start}
  .home-christmas-badge{margin-bottom:14px}
  .home-christmas-banner .kicker{margin-bottom:12px}
  .home-christmas-banner h2{font-size:clamp(2.55rem,12.1vw,4.15rem);line-height:.84}
  .home-christmas-banner-copy>p:not(.kicker){margin-top:19px;font-size:.92rem;line-height:1.55}
  .home-christmas-tags{margin-top:16px}
  .home-christmas-banner .page-actions{margin-top:20px}
}
@media(max-width:420px){
  .home-christmas-banner{padding:32px 16px}
  .home-christmas-banner-inner{min-height:724px;border-radius:22px}
  .home-christmas-banner-inner>img{object-position:56% 46%}
  .home-christmas-banner-copy{min-height:724px;padding:158px 18px 24px}
  .home-christmas-badge{margin-bottom:13px}
  .home-christmas-banner h2{font-size:clamp(2.45rem,12.8vw,3.75rem)}
  .home-christmas-tags span{font-size:.58rem}
}

/* v6.82 — Themed Nights mobile hero stability fix.
   Allow the hero to grow with its content instead of bottom-aligning an oversized
   heading inside a fixed-height, overflow-hidden panel. Also keep first-screen
   hero copy visible without scroll-reveal transforms on small screens. */
@media(max-width:720px){
  .themed-page .page-hero{
    min-height:auto;
    padding:125px 20px 60px;
    align-items:flex-start;
    overflow:hidden;
  }
  .themed-page .page-hero h1{
    max-width:100%;
    margin:22px 0 24px;
    font-size:clamp(3rem,13.5vw,4.8rem);
    line-height:.88;
    letter-spacing:-.055em;
    overflow:visible;
  }
  .themed-page .page-hero h1 span{
    display:block;
    line-height:.9;
  }
  .themed-page .page-hero-inner > *{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* v6.84 — sitewide premium CTA buttons.
   Restore the signature violet/cyan brand gradient, remove the orange drift,
   and use one consistent reflective button treatment for primary CTAs and themed-night actions. */
:root{
  --tt-btn-violet:#8a46ff;
  --tt-btn-pink:#ff49c8;
  --tt-btn-cyan:#35e8ff;
  --tt-btn-ink:#09101a;
}

.primary,
.nav-book,
.theme-book-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:54px;
  padding:14px 22px;
  border:1px solid rgba(255,255,255,.17)!important;
  border-radius:16px!important;
  color:#fff!important;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.7rem;
  font-weight:900;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 30%),
    linear-gradient(112deg,var(--tt-btn-violet) 0%,var(--tt-btn-pink) 42%,var(--tt-btn-cyan) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 18px 52px rgba(123,44,255,.22),
    0 8px 28px rgba(0,229,255,.10)!important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    filter .22s ease!important;
}

.nav-book{
  min-height:44px;
  padding:0 18px;
  font-size:.67rem;
}

.theme-entry .theme-book-link,
.mini-theme .theme-book-link{
  width:max-content;
  max-width:calc(100% - 44px);
  margin-top:4px;
  padding:13px 18px 12px;
  border-bottom:0!important;
}

.primary::before,
.nav-book::before,
.theme-book-link::before{
  content:"";
  position:absolute;
  inset:1px 1px auto 1px;
  height:48%;
  border-radius:15px 15px 12px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.1) 48%,rgba(255,255,255,0) 100%);
  opacity:.8;
  pointer-events:none;
}

.primary::after,
.nav-book::after,
.theme-book-link::after{
  content:"";
  position:absolute;
  top:-55%;
  bottom:-55%;
  left:-32%;
  width:42%;
  transform:skewX(-20deg) translateX(0);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.38),rgba(255,255,255,0));
  opacity:.78;
  pointer-events:none;
  animation:tt-button-reflection 4.8s ease-in-out infinite;
}

.primary:hover,
.primary:focus-visible,
.nav-book:hover,
.nav-book:focus-visible,
.theme-book-link:hover,
.theme-book-link:focus-visible{
  transform:translateY(-2px) scale(1.01)!important;
  border-color:rgba(255,255,255,.3)!important;
  filter:saturate(1.08) brightness(1.03);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.16),
    0 22px 58px rgba(123,44,255,.26),
    0 12px 34px rgba(0,229,255,.16),
    0 0 0 1px rgba(255,255,255,.05)!important;
}

.primary:hover::after,
.primary:focus-visible::after,
.nav-book:hover::after,
.nav-book:focus-visible::after,
.theme-book-link:hover::after,
.theme-book-link:focus-visible::after{
  animation-duration:1.15s;
}

.primary:active,
.nav-book:active,
.theme-book-link:active{
  transform:translateY(0) scale(.992)!important;
}

.home-christmas-banner .primary,
.karaoke-page .primary,
.showcase .primary{
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 30%),
    linear-gradient(112deg,var(--tt-btn-violet) 0%,var(--tt-btn-pink) 42%,var(--tt-btn-cyan) 100%)!important;
}

@keyframes tt-button-reflection{
  0%,12%{transform:skewX(-20deg) translateX(0);opacity:0}
  18%{opacity:.72}
  32%{transform:skewX(-20deg) translateX(265%);opacity:.88}
  42%,100%{transform:skewX(-20deg) translateX(300%);opacity:0}
}

@media(max-width:760px){
  .primary,
  .theme-book-link{
    min-height:50px;
    padding:13px 18px;
    font-size:.66rem;
    letter-spacing:.1em;
  }
  .theme-entry .theme-book-link,
  .mini-theme .theme-book-link{
    max-width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .primary::after,
  .nav-book::after,
  .theme-book-link::after{
    animation:none!important;
    opacity:.18;
  }
}

/* v6.92 — compact themed-night booking CTAs.
   Keep the premium gradient treatment, but stop these secondary actions
   dominating each night card — especially on phones. */
.themed-page .theme-entry .theme-book-link{
  width:max-content!important;
  max-width:calc(100% - 44px)!important;
  min-height:40px!important;
  padding:9px 14px 8px!important;
  margin:2px 22px 8px!important;
  border-radius:12px!important;
  gap:8px!important;
  font-size:.56rem!important;
  letter-spacing:.095em!important;
  line-height:1.15!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.14),
    0 10px 28px rgba(123,44,255,.16),
    0 5px 18px rgba(0,229,255,.08)!important;
}
.themed-page .theme-entry .theme-book-link::before{
  border-radius:11px 11px 9px 9px!important;
}
@media(max-width:760px){
  .themed-page .theme-entry .theme-book-link{
    min-height:38px!important;
    padding:8px 12px 7px!important;
    margin:2px 22px 7px!important;
    border-radius:11px!important;
    font-size:.52rem!important;
    letter-spacing:.08em!important;
    white-space:normal!important;
    text-wrap:balance;
  }
}

/* v6.93 — sitewide UX consistency pass.
   One restrained brand accent, consistent navigation, calmer CTAs and fewer decorative rules. */
:root{
  --tt-accent:#8b5cff;
  --tt-accent-2:#45dff3;
  --tt-accent-soft:rgba(139,92,255,.16);
  --tt-ui-line:rgba(255,255,255,.12);
  --tt-ui-muted:#aeb4bd;
}

/* Main navigation: every link now behaves the same. */
.topbar nav>a,
.topbar nav>a.nav-seasonal,
.topbar nav>a[href="karaoke.html"]{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 0 2px;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#b9bec6!important;
  text-shadow:none!important;
  overflow:visible!important;
  transition:color .2s ease!important;
}
.topbar nav>a::before{display:none!important}
.topbar nav>a::after,
.topbar nav>a.nav-seasonal::after,
.topbar nav>a[href="karaoke.html"]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--tt-accent),var(--tt-accent-2))!important;
  opacity:0;
  transform:scaleX(.35);
  transform-origin:center;
  transition:opacity .2s ease,transform .2s ease;
}
.topbar nav>a:hover,
.topbar nav>a:focus-visible,
.topbar nav>a.active,
.topbar nav>a[aria-current="page"],
.topbar nav>a.nav-seasonal:hover,
.topbar nav>a.nav-seasonal.active,
.topbar nav>a[href="karaoke.html"]:hover,
.topbar nav>a[href="karaoke.html"].active{
  color:#fff!important;
  text-shadow:none!important;
}
.topbar nav>a:hover::after,
.topbar nav>a:focus-visible::after,
.topbar nav>a.active::after,
.topbar nav>a[aria-current="page"]::after{
  opacity:.9;
  transform:scaleX(1);
}

/* Primary CTAs: smaller, softer and less glossy. */
.primary,
.theme-book-link,
.home-christmas-banner .primary,
.karaoke-page .primary,
.showcase .primary{
  min-height:44px!important;
  padding:11px 18px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:11px!important;
  gap:9px!important;
  background:linear-gradient(110deg,#7650e8 0%,#6755e9 52%,#3bbfd5 100%)!important;
  box-shadow:0 8px 24px rgba(69,46,155,.24)!important;
  font-size:.65rem!important;
  letter-spacing:.105em!important;
  line-height:1.1!important;
  filter:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.primary::before,
.primary::after,
.theme-book-link::before,
.theme-book-link::after{display:none!important}
.primary:hover,
.primary:focus-visible,
.theme-book-link:hover,
.theme-book-link:focus-visible{
  transform:translateY(-1px)!important;
  border-color:rgba(255,255,255,.25)!important;
  background:linear-gradient(110deg,#805cf0 0%,#705eea 52%,#45cadd 100%)!important;
  box-shadow:0 10px 28px rgba(69,46,155,.28)!important;
}
.primary:active,
.theme-book-link:active{transform:translateY(0) scale(.985)!important}

/* Secondary links use a neutral line; colour appears only on interaction. */
.line-link,
.karaoke-page .line-link,
.home-christmas-banner .line-link{
  color:#d6d9de!important;
  border-color:rgba(255,255,255,.28)!important;
  text-shadow:none!important;
}
.line-link::before{background:linear-gradient(90deg,var(--tt-accent),var(--tt-accent-2))!important}
.line-link:hover,
.line-link:focus-visible{
  color:#fff!important;
  border-color:transparent!important;
}

/* Remove decorative cyan rules from content cards while preserving structure. */
.karaoke-option-grid article::before,
.karaoke-flow-grid article::before,
.karaoke-use-grid article::before,
.karaoke-faq-grid article::before,
.service-karaoke-copy::before{
  display:none!important;
}
.theme-venue-cta,
.service-karaoke-points span,
.karaoke-request-points span{
  border-color:var(--tt-ui-line)!important;
}

/* Keep card edges understated and consistent instead of page-specific bright blue. */
.home-service-grid article,
.service-kit-grid article,
.lighting-direction-grid article,
.venue-option-grid article,
.coverage-grid article,
.faq-list details,
.karaoke-option-grid article,
.karaoke-flow-grid article,
.karaoke-use-grid article,
.karaoke-faq-grid article{
  border-color:var(--tt-ui-line)!important;
}
@media(hover:hover){
  .home-service-grid article:hover,
  .service-kit-grid article:hover,
  .lighting-direction-grid article:hover,
  .venue-option-grid article:hover,
  .coverage-grid article:hover,
  .karaoke-option-grid article:hover,
  .karaoke-flow-grid article:hover,
  .karaoke-use-grid article:hover,
  .karaoke-faq-grid article:hover{
    border-color:rgba(139,92,255,.3)!important;
    box-shadow:0 14px 36px rgba(0,0,0,.18)!important;
  }
}

/* Mobile menu: Enquire is now a normal link and all rows share one treatment. */
@media(max-width:980px){
  .topbar nav>a,
  .topbar nav>a.nav-seasonal,
  .topbar nav>a[href="karaoke.html"]{
    width:100%;
    min-height:44px;
    padding:12px 10px!important;
    border-bottom:1px solid rgba(255,255,255,.06)!important;
  }
  .topbar nav>a::after{left:10px;right:auto;bottom:7px;width:34px}
}

@media(max-width:760px){
  .primary,
  .theme-book-link{
    min-height:42px!important;
    padding:10px 15px!important;
    border-radius:10px!important;
    font-size:.62rem!important;
  }
}

/* v6.96 — site-wide card accent edges
   Keep every card family visually connected without reintroducing heavy blue rules. */
:where(
  .home-service-grid article,
  .subpage .service-kit-grid article,
  .subpage .lighting-direction-grid article,
  .subpage .venue-option-grid article,
  .subpage .coverage-grid article,
  .subpage .planning-card,
  .wedding-pillars-grid article,
  .wedding-night-grid article,
  .christmas-card-grid article,
  .christmas-flow-grid article,
  .christmas-local-card,
  .guest-request-points article,
  .about-belief-grid article,
  .guest-request-screen-card,
  .karaoke-option-grid article,
  .karaoke-flow-grid article,
  .karaoke-use-grid article,
  .karaoke-faq-grid article
){
  --tt-cycle-accent:#7b2cff;
  --tt-card-edge:var(--card-accent,var(--light,var(--request-accent,var(--xmas-accent,var(--tt-cycle-accent)))));
  border-top-color:color-mix(in srgb,var(--tt-card-edge) 82%,#fff 18%)!important;
}

:where(
  .home-service-grid article,
  .subpage .service-kit-grid article,
  .subpage .lighting-direction-grid article,
  .subpage .venue-option-grid article,
  .subpage .coverage-grid article,
  .subpage .planning-card,
  .wedding-pillars-grid article,
  .wedding-night-grid article,
  .christmas-card-grid article,
  .christmas-flow-grid article,
  .guest-request-points article,
  .about-belief-grid article,
  .karaoke-option-grid article,
  .karaoke-flow-grid article,
  .karaoke-use-grid article,
  .karaoke-faq-grid article
):nth-child(3n+2){--tt-cycle-accent:#00e5ff}

:where(
  .home-service-grid article,
  .subpage .service-kit-grid article,
  .subpage .lighting-direction-grid article,
  .subpage .venue-option-grid article,
  .subpage .coverage-grid article,
  .subpage .planning-card,
  .wedding-pillars-grid article,
  .wedding-night-grid article,
  .christmas-card-grid article,
  .christmas-flow-grid article,
  .guest-request-points article,
  .about-belief-grid article,
  .karaoke-option-grid article,
  .karaoke-flow-grid article,
  .karaoke-use-grid article,
  .karaoke-faq-grid article
):nth-child(3n){--tt-cycle-accent:#ff4fc3}

/* Karaoke had its former bright cyan pseudo-rules removed in v6.93.
   Give those cards the shared refined accent edge instead. */
.karaoke-option-grid article,
.karaoke-flow-grid article,
.karaoke-use-grid article,
.karaoke-faq-grid article{
  border-top-width:2px!important;
}

/* Keep standalone cards in the same family. */
.christmas-local-card{--tt-cycle-accent:#e8b85f}
.guest-request-screen-card{--tt-cycle-accent:#00e5ff}

/* V7.00 — Time & Tempo logo waveform animation, locked to the actual logo artwork */
.topbar .logo{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.topbar .logo img{
  position:relative;
  z-index:1;
  display:block;
}
.topbar .logo::before,
.topbar .logo::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:min(100%,257px);
  height:78px;
  z-index:2;
  pointer-events:none;
  background-image:url("time-tempo-logo-full.webp");
  background-repeat:no-repeat;
  background-position:left center;
  background-size:100% 100%;
  opacity:.52;
  will-change:transform,opacity,filter;
}
/* Purple waveform at the left edge. The overlay is clipped inside the real logo width. */
.topbar .logo::before{
  clip-path:inset(0 84% 0 0);
  transform-origin:8% 50%;
  animation:tt-wave-left 2.8s cubic-bezier(.45,.05,.25,1) infinite;
}
/* Cyan waveform at the right edge. It can no longer stretch into empty header space. */
.topbar .logo::after{
  clip-path:inset(0 0 0 84%);
  transform-origin:92% 50%;
  animation:tt-wave-right 2.8s cubic-bezier(.45,.05,.25,1) .22s infinite;
}
@keyframes tt-wave-left{
  0%,100%{transform:scaleY(.94);opacity:.28;filter:brightness(1) saturate(1)}
  18%{transform:scaleY(1.08);opacity:.68;filter:brightness(1.28) saturate(1.18) drop-shadow(0 0 6px rgba(201,56,255,.56))}
  36%{transform:scaleY(.98);opacity:.38;filter:brightness(1.04) saturate(1.04)}
  54%{transform:scaleY(1.04);opacity:.57;filter:brightness(1.18) saturate(1.10) drop-shadow(0 0 4px rgba(201,56,255,.42))}
  72%{transform:scaleY(.96);opacity:.33;filter:brightness(1.02) saturate(1.02)}
}
@keyframes tt-wave-right{
  0%,100%{transform:scaleY(.96);opacity:.30;filter:brightness(1) saturate(1)}
  16%{transform:scaleY(1.03);opacity:.50;filter:brightness(1.13) saturate(1.08) drop-shadow(0 0 4px rgba(0,218,255,.40))}
  34%{transform:scaleY(.95);opacity:.32;filter:brightness(1.01) saturate(1.02)}
  56%{transform:scaleY(1.09);opacity:.72;filter:brightness(1.30) saturate(1.18) drop-shadow(0 0 7px rgba(0,218,255,.58))}
  76%{transform:scaleY(.99);opacity:.39;filter:brightness(1.05) saturate(1.04)}
}
@media (hover:hover) and (pointer:fine){
  .topbar .logo:hover::before{animation-duration:1.7s}
  .topbar .logo:hover::after{animation-duration:1.7s}
}
@media(max-width:720px){
  .topbar .logo::before,
  .topbar .logo::after{
    width:min(100%,244px);
    height:74px;
    opacity:.38;
    animation-duration:3.6s;
  }
}
@media(prefers-reduced-motion:reduce){
  .topbar .logo::before,
  .topbar .logo::after{animation:none!important;opacity:.22;filter:none;transform:none}
}


/* V7.01 — matching waveform animation for the footer logo */
footer .footer-logo{
  position:relative;
  display:block;
  width:min(520px,85%);
  aspect-ratio:2172/659;
  overflow:hidden;
  isolation:isolate;
}
footer .footer-logo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain;
  object-position:left center;
}
footer .footer-logo::before,
footer .footer-logo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background-image:url("time-tempo-logo-full.webp");
  background-repeat:no-repeat;
  background-position:left center;
  background-size:100% 100%;
  opacity:.46;
  will-change:transform,opacity,filter;
}
footer .footer-logo::before{
  clip-path:inset(0 84% 0 0);
  transform-origin:8% 50%;
  animation:tt-wave-left 3.35s cubic-bezier(.45,.05,.25,1) infinite;
}
footer .footer-logo::after{
  clip-path:inset(0 0 0 84%);
  transform-origin:92% 50%;
  animation:tt-wave-right 3.35s cubic-bezier(.45,.05,.25,1) .36s infinite;
}
@media (hover:hover) and (pointer:fine){
  footer .footer-logo:hover::before,
  footer .footer-logo:hover::after{animation-duration:2.15s}
}
@media(max-width:720px){
  footer .footer-logo{width:100%;max-width:520px}
  footer .footer-logo::before,
  footer .footer-logo::after{opacity:.34;animation-duration:4.1s}
}
@media(prefers-reduced-motion:reduce){
  footer .footer-logo::before,
  footer .footer-logo::after{animation:none!important;opacity:.2;filter:none;transform:none}
}

/* v7.02 — expanded 70s themed-night package copy */
.themed-page .theme-entry-70s .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-70s .theme-era-copy section,
.themed-page .theme-entry-70s .theme-era-copy aside,
.themed-page .theme-entry-70s .theme-era-copy blockquote{
  margin:0;
}
.themed-page .theme-entry-70s .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:var(--chapter);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-70s .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-70s .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#b9c0ca;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-70s .theme-era-intro{
  padding:26px 28px;
  border:1px solid rgba(255,189,50,.22);
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(255,53,200,.10),transparent 24%),
    radial-gradient(circle at 8% 12%,rgba(255,189,50,.09),transparent 28%),
    rgba(10,12,17,.78);
}
.themed-page .theme-entry-70s .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-70s .theme-lyric-nod{
  padding:24px 28px;
  border-left:3px solid var(--chapter);
  background:linear-gradient(110deg,rgba(255,189,50,.09),rgba(255,53,200,.035));
}
.themed-page .theme-entry-70s .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#aeb5bf;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-70s .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-70s .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:#080a0f;
}
.themed-page .theme-entry-70s .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-70s .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-70s .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-70s .theme-era-music-grid p{
  font-size:.8rem;
  line-height:1.65;
}
.themed-page .theme-entry-70s .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,189,50,.08),rgba(255,53,200,.055));
  border:1px solid rgba(255,189,50,.18);
}
.themed-page .theme-entry-70s .theme-era-fun ul{
  list-style:none;
  display:grid;
  gap:0;
  margin:10px 0 0;
  padding:0;
}
.themed-page .theme-entry-70s .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 24px;
  color:#d4d8df;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-70s .theme-era-fun li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:13px;
  color:var(--chapter);
  font-size:.7rem;
}
.themed-page .theme-entry-70s .theme-era-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.themed-page .theme-entry-70s .theme-era-split>div{
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(8,10,15,.74);
}
.themed-page .theme-entry-70s .theme-era-split h4{
  font-size:clamp(1.3rem,2.1vw,1.9rem);
  line-height:1.08;
}
.themed-page .theme-entry-70s .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #ff35c8;
  background:#090b10;
}
.themed-page .theme-entry-70s .theme-era-request span{
  color:#ff72d8;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-70s .theme-era-request p{
  max-width:none;
  font-size:.82rem;
  line-height:1.65;
}
.themed-page .theme-entry-70s .theme-tags{margin-top:12px}

@media(max-width:720px){
  .themed-page .theme-entry-70s .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-70s .theme-era-intro,
  .themed-page .theme-entry-70s .theme-era-music,
  .themed-page .theme-entry-70s .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-70s .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-70s .theme-era-music-grid,
  .themed-page .theme-entry-70s .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-70s .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-70s .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-70s .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.03 — expanded Electric 80s themed-night package copy */
.themed-page .theme-entry-80s .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-80s .theme-era-copy section,
.themed-page .theme-entry-80s .theme-era-copy aside,
.themed-page .theme-entry-80s .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-80s .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:var(--chapter);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-80s .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-80s .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#b9c0ca;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-80s .theme-era-intro{
  padding:26px 28px;
  border:1px solid rgba(255,47,168,.23);
  border-radius:20px;
  background:
    radial-gradient(circle at 92% 14%,rgba(0,223,255,.10),transparent 24%),
    radial-gradient(circle at 8% 12%,rgba(255,47,168,.10),transparent 28%),
    rgba(10,12,17,.78);
}
.themed-page .theme-entry-80s .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-80s .theme-lyric-nod{
  padding:24px 28px;
  border-left:3px solid var(--chapter);
  background:linear-gradient(110deg,rgba(255,47,168,.10),rgba(0,223,255,.045));
}
.themed-page .theme-entry-80s .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#aeb5bf;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-80s .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-80s .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:#080a0f;
}
.themed-page .theme-entry-80s .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-80s .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-80s .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-80s .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-80s .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,47,168,.085),rgba(0,223,255,.055));
  border:1px solid rgba(255,47,168,.19);
}
.themed-page .theme-entry-80s .theme-era-fun ul{
  list-style:none;
  display:grid;
  gap:0;
  margin:10px 0 0;
  padding:0;
}
.themed-page .theme-entry-80s .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 24px;
  color:#d4d8df;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-80s .theme-era-fun li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:13px;
  color:var(--chapter);
  font-size:.7rem;
}
.themed-page .theme-entry-80s .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-80s .theme-era-split>div{
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(8,10,15,.74);
}
.themed-page .theme-entry-80s .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-80s .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #00dfff;
  background:#090b10;
}
.themed-page .theme-entry-80s .theme-era-request span{
  color:#61eaff;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-80s .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-80s .theme-tags{margin-top:12px}

@media(max-width:720px){
  .themed-page .theme-entry-80s .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-80s .theme-era-intro,
  .themed-page .theme-entry-80s .theme-era-music,
  .themed-page .theme-entry-80s .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-80s .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-80s .theme-era-music-grid,
  .themed-page .theme-entry-80s .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-80s .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-80s .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-80s .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.04 — expanded Back to the 90s themed-night package copy */
.themed-page .theme-entry-90s .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-90s .theme-era-copy section,
.themed-page .theme-entry-90s .theme-era-copy aside,
.themed-page .theme-entry-90s .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-90s .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:var(--chapter);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-90s .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-90s .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#b9c0ca;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-90s .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(110,231,255,.23);
  border-radius:20px;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 5px),
    radial-gradient(circle at 91% 15%,rgba(255,53,200,.11),transparent 24%),
    radial-gradient(circle at 8% 12%,rgba(110,231,255,.11),transparent 28%),
    rgba(10,12,17,.80);
}
.themed-page .theme-entry-90s .theme-era-intro::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-44px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(190,255,49,.10),transparent 68%);
  pointer-events:none;
}
.themed-page .theme-entry-90s .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-90s .theme-lyric-nod{
  padding:24px 28px;
  border-left:3px solid var(--chapter);
  background:linear-gradient(110deg,rgba(110,231,255,.10),rgba(255,53,200,.055) 62%,rgba(190,255,49,.035));
}
.themed-page .theme-entry-90s .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#aeb5bf;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-90s .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-90s .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:#080a0f;
}
.themed-page .theme-entry-90s .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-90s .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-90s .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-90s .theme-era-music-grid>div:nth-child(5){background:rgba(255,53,200,.025)}
.themed-page .theme-entry-90s .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-90s .theme-era-music-grid>div:nth-child(6){background:rgba(190,255,49,.018)}
.themed-page .theme-entry-90s .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-90s .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-90s .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(110,231,255,.08),rgba(255,53,200,.06) 64%,rgba(190,255,49,.045));
  border:1px solid rgba(110,231,255,.19);
}
.themed-page .theme-entry-90s .theme-era-fun ul{
  list-style:none;
  display:grid;
  gap:0;
  margin:10px 0 0;
  padding:0;
}
.themed-page .theme-entry-90s .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 24px;
  color:#d4d8df;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-90s .theme-era-fun li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:13px;
  color:#beff31;
  font-size:.7rem;
}
.themed-page .theme-entry-90s .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-90s .theme-era-split>div{
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(8,10,15,.74);
}
.themed-page .theme-entry-90s .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-90s .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #ff35c8;
  background:#090b10;
}
.themed-page .theme-entry-90s .theme-era-request span{
  color:#ff73d9;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-90s .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-90s .theme-tags{margin-top:12px}
.themed-page .theme-entry-90s .theme-tags span:nth-child(3n+1){border-color:rgba(110,231,255,.35)}
.themed-page .theme-entry-90s .theme-tags span:nth-child(3n+2){border-color:rgba(255,53,200,.30)}
.themed-page .theme-entry-90s .theme-tags span:nth-child(3n+3){border-color:rgba(190,255,49,.27)}

@media(max-width:720px){
  .themed-page .theme-entry-90s .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-90s .theme-era-intro,
  .themed-page .theme-entry-90s .theme-era-music,
  .themed-page .theme-entry-90s .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-90s .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-90s .theme-era-music-grid,
  .themed-page .theme-entry-90s .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-90s .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-90s .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-90s .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.05 — expanded 00s Rewind themed-night package copy */
.themed-page .theme-entry-00s .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-00s .theme-era-copy section,
.themed-page .theme-entry-00s .theme-era-copy aside,
.themed-page .theme-entry-00s .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-00s .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:#ff76c9;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-00s .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-00s .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#bdc3cc;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-00s .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(255,77,184,.22);
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 34%,rgba(83,215,255,.035) 68%,rgba(255,77,184,.035)),
    radial-gradient(circle at 92% 16%,rgba(83,215,255,.12),transparent 24%),
    radial-gradient(circle at 8% 12%,rgba(255,77,184,.12),transparent 28%),
    rgba(9,11,17,.82);
}
.themed-page .theme-entry-00s .theme-era-intro::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,#ff4db8,#fff 48%,#53d7ff);
  opacity:.85;
}
.themed-page .theme-entry-00s .theme-era-intro::after{
  content:"";
  position:absolute;
  right:-72px;
  bottom:-74px;
  width:230px;
  height:230px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(83,215,255,.025),0 0 0 58px rgba(255,77,184,.018);
  pointer-events:none;
}
.themed-page .theme-entry-00s .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-00s .theme-lyric-nod{
  padding:24px 28px;
  border-left:3px solid #ff4db8;
  background:
    linear-gradient(115deg,rgba(255,77,184,.11),rgba(220,225,233,.055) 48%,rgba(83,215,255,.085));
}
.themed-page .theme-entry-00s .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#aeb5bf;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-00s .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-00s .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(155deg,#080a0f,#0d1017);
}
.themed-page .theme-entry-00s .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-00s .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 60%);
}
.themed-page .theme-entry-00s .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-00s .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(83,215,255,.04),transparent 70%)}
.themed-page .theme-entry-00s .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-00s .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(255,77,184,.035),transparent 70%)}
.themed-page .theme-entry-00s .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-00s .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-00s .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,77,184,.09),rgba(230,234,240,.045) 52%,rgba(83,215,255,.075));
  border:1px solid rgba(255,255,255,.11);
}
.themed-page .theme-entry-00s .theme-era-fun ul{
  list-style:none;
  display:grid;
  gap:0;
  margin:10px 0 0;
  padding:0;
}
.themed-page .theme-entry-00s .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 24px;
  color:#d5d9e0;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-00s .theme-era-fun li::before{
  content:"◆";
  position:absolute;
  left:0;
  top:13px;
  color:#53d7ff;
  font-size:.58rem;
}
.themed-page .theme-entry-00s .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-00s .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(8,10,15,.76);
}
.themed-page .theme-entry-00s .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,#ff4db8,rgba(255,255,255,.5),#53d7ff);
  opacity:.55;
}
.themed-page .theme-entry-00s .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-00s .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #53d7ff;
  background:linear-gradient(90deg,rgba(83,215,255,.045),#090b10 34%);
}
.themed-page .theme-entry-00s .theme-era-request span{
  color:#70e1ff;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-00s .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-00s .theme-tags{margin-top:12px}
.themed-page .theme-entry-00s .theme-tags span:nth-child(3n+1){border-color:rgba(255,77,184,.34)}
.themed-page .theme-entry-00s .theme-tags span:nth-child(3n+2){border-color:rgba(83,215,255,.34)}
.themed-page .theme-entry-00s .theme-tags span:nth-child(3n+3){border-color:rgba(220,225,233,.25)}

@media(max-width:720px){
  .themed-page .theme-entry-00s .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-00s .theme-era-intro,
  .themed-page .theme-entry-00s .theme-era-music,
  .themed-page .theme-entry-00s .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-00s .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-00s .theme-era-music-grid,
  .themed-page .theme-entry-00s .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-00s .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-00s .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-00s .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.06 — expanded Hardcore Classics themed-night package copy */
.themed-page .theme-entry-hardcore .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-hardcore .theme-era-copy section,
.themed-page .theme-entry-hardcore .theme-era-copy aside,
.themed-page .theme-entry-hardcore .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-hardcore .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:#ffe600;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-hardcore .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-hardcore .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#c0c4cc;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-hardcore .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(255,47,168,.24);
  border-radius:20px;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 1px,transparent 1px 12px),
    radial-gradient(circle at 88% 14%,rgba(255,230,0,.11),transparent 25%),
    radial-gradient(circle at 10% 8%,rgba(255,47,168,.14),transparent 30%),
    rgba(7,8,12,.9);
}
.themed-page .theme-entry-hardcore .theme-era-intro::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,#ff2fa8 0,#ffe600 50%,#9dff00 100%);
  box-shadow:0 0 24px rgba(255,47,168,.24),0 0 18px rgba(255,230,0,.18);
}
.themed-page .theme-entry-hardcore .theme-era-intro::after{
  content:"RAVE";
  position:absolute;
  right:-10px;
  bottom:-24px;
  color:rgba(255,255,255,.025);
  font-size:clamp(5rem,12vw,9rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.07em;
  transform:rotate(-6deg);
  pointer-events:none;
}
.themed-page .theme-entry-hardcore .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-hardcore .theme-lyric-nod{
  position:relative;
  overflow:hidden;
  padding:24px 28px;
  border-left:3px solid #ffe600;
  background:linear-gradient(110deg,rgba(255,230,0,.11),rgba(255,47,168,.085) 52%,rgba(157,255,0,.05));
}
.themed-page .theme-entry-hardcore .theme-lyric-nod::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);
  opacity:.38;
  pointer-events:none;
}
.themed-page .theme-entry-hardcore .theme-lyric-nod span,
.themed-page .theme-entry-hardcore .theme-lyric-nod strong{position:relative;z-index:1}
.themed-page .theme-entry-hardcore .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#c1c5cc;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-hardcore .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-hardcore .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(155deg,#07080c,#0d0c12);
}
.themed-page .theme-entry-hardcore .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-hardcore .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 62%);
}
.themed-page .theme-entry-hardcore .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-hardcore .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(255,230,0,.045),transparent 72%)}
.themed-page .theme-entry-hardcore .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-hardcore .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(255,47,168,.045),transparent 72%)}
.themed-page .theme-entry-hardcore .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-hardcore .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-hardcore .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,47,168,.10),rgba(255,230,0,.045) 55%,rgba(157,255,0,.04));
  border:1px solid rgba(255,255,255,.11);
}
.themed-page .theme-entry-hardcore .theme-era-fun ul{
  list-style:none;
  display:grid;
  gap:0;
  margin:10px 0 0;
  padding:0;
}
.themed-page .theme-entry-hardcore .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 25px;
  color:#d8dae0;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-hardcore .theme-era-fun li::before{
  content:"⚡";
  position:absolute;
  left:0;
  top:12px;
  color:#ffe600;
  font-size:.72rem;
}
.themed-page .theme-entry-hardcore .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-hardcore .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(7,8,12,.82);
}
.themed-page .theme-entry-hardcore .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,#ff2fa8,#ffe600,#9dff00);
  opacity:.62;
}
.themed-page .theme-entry-hardcore .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-hardcore .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #ff2fa8;
  background:linear-gradient(90deg,rgba(255,47,168,.06),#08090d 35%);
}
.themed-page .theme-entry-hardcore .theme-era-request span{
  color:#ff74c6;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-hardcore .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-hardcore .theme-tags{margin-top:12px}
.themed-page .theme-entry-hardcore .theme-tags span:nth-child(3n+1){border-color:rgba(255,47,168,.38)}
.themed-page .theme-entry-hardcore .theme-tags span:nth-child(3n+2){border-color:rgba(255,230,0,.34)}
.themed-page .theme-entry-hardcore .theme-tags span:nth-child(3n+3){border-color:rgba(157,255,0,.28)}

@media(max-width:720px){
  .themed-page .theme-entry-hardcore .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-hardcore .theme-era-intro,
  .themed-page .theme-entry-hardcore .theme-era-music,
  .themed-page .theme-entry-hardcore .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-hardcore .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-hardcore .theme-era-music-grid,
  .themed-page .theme-entry-hardcore .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-hardcore .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-hardcore .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-hardcore .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.07 — expanded Drum & Bass themed-night package copy */
.themed-page .theme-entry-dnb .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-dnb .theme-era-copy section,
.themed-page .theme-entry-dnb .theme-era-copy aside,
.themed-page .theme-entry-dnb .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-dnb .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:#55f0a8;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-dnb .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-dnb .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#bcc7c9;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-dnb .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(85,240,168,.22);
  border-radius:20px;
  background:
    repeating-linear-gradient(0deg,rgba(85,240,168,.018) 0 1px,transparent 1px 9px),
    radial-gradient(circle at 88% 16%,rgba(47,120,255,.14),transparent 25%),
    radial-gradient(circle at 10% 10%,rgba(85,240,168,.13),transparent 32%),
    linear-gradient(145deg,#06100f,#070b13 72%);
}
.themed-page .theme-entry-dnb .theme-era-intro::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:linear-gradient(90deg,#55f0a8 0,#2f78ff 62%,#80e8ff 100%);
  box-shadow:0 0 24px rgba(85,240,168,.22),0 0 18px rgba(47,120,255,.18);
}
.themed-page .theme-entry-dnb .theme-era-intro::after{
  content:"BASS";
  position:absolute;
  right:-12px;
  bottom:-28px;
  color:rgba(255,255,255,.025);
  font-size:clamp(5rem,12vw,9rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.08em;
  transform:skewX(-7deg);
  pointer-events:none;
}
.themed-page .theme-entry-dnb .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-dnb .theme-lyric-nod{
  position:relative;
  overflow:hidden;
  padding:24px 28px;
  border-left:3px solid #55f0a8;
  background:linear-gradient(110deg,rgba(85,240,168,.105),rgba(47,120,255,.085) 56%,rgba(128,232,255,.045));
}
.themed-page .theme-entry-dnb .theme-lyric-nod::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px);
  opacity:.42;
  pointer-events:none;
}
.themed-page .theme-entry-dnb .theme-lyric-nod span,
.themed-page .theme-entry-dnb .theme-lyric-nod strong{position:relative;z-index:1}
.themed-page .theme-entry-dnb .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#b8c7cc;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-dnb .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-dnb .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(155deg,#06100f,#070a12);
}
.themed-page .theme-entry-dnb .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-dnb .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 62%);
}
.themed-page .theme-entry-dnb .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-dnb .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(47,120,255,.055),transparent 72%)}
.themed-page .theme-entry-dnb .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-dnb .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(85,240,168,.045),transparent 72%)}
.themed-page .theme-entry-dnb .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-dnb .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-dnb .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(85,240,168,.085),rgba(47,120,255,.055) 58%,rgba(128,232,255,.035));
  border:1px solid rgba(255,255,255,.11);
}
.themed-page .theme-entry-dnb .theme-era-fun ul{
  list-style:none;
  display:grid;
  gap:0;
  margin:10px 0 0;
  padding:0;
}
.themed-page .theme-entry-dnb .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 25px;
  color:#d7dde0;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-dnb .theme-era-fun li::before{
  content:"↯";
  position:absolute;
  left:0;
  top:11px;
  color:#55f0a8;
  font-size:.82rem;
  font-weight:900;
}
.themed-page .theme-entry-dnb .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-dnb .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(6,16,15,.9),rgba(7,10,18,.86));
}
.themed-page .theme-entry-dnb .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,#55f0a8,#2f78ff,#80e8ff);
  opacity:.66;
}
.themed-page .theme-entry-dnb .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-dnb .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #2f78ff;
  background:linear-gradient(90deg,rgba(47,120,255,.065),rgba(85,240,168,.025) 45%,#08090d 78%);
}
.themed-page .theme-entry-dnb .theme-era-request span{
  color:#80e8ff;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-dnb .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-dnb .theme-tags{margin-top:12px}
.themed-page .theme-entry-dnb .theme-tags span:nth-child(3n+1){border-color:rgba(85,240,168,.40)}
.themed-page .theme-entry-dnb .theme-tags span:nth-child(3n+2){border-color:rgba(47,120,255,.40)}
.themed-page .theme-entry-dnb .theme-tags span:nth-child(3n+3){border-color:rgba(128,232,255,.30)}

@media(max-width:720px){
  .themed-page .theme-entry-dnb .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-dnb .theme-era-intro,
  .themed-page .theme-entry-dnb .theme-era-music,
  .themed-page .theme-entry-dnb .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-dnb .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-dnb .theme-era-music-grid,
  .themed-page .theme-entry-dnb .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-dnb .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-dnb .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-dnb .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.08 — expanded UK Garage themed-night package copy */
.themed-page .theme-entry-garage .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-garage .theme-era-copy section,
.themed-page .theme-entry-garage .theme-era-copy aside,
.themed-page .theme-entry-garage .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-garage .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:#33d7ff;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-garage .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-garage .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#bec8cf;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-garage .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(51,215,255,.22);
  border-radius:20px;
  background:
    repeating-linear-gradient(90deg,rgba(51,215,255,.016) 0 1px,transparent 1px 10px),
    radial-gradient(circle at 88% 18%,rgba(242,166,74,.13),transparent 24%),
    radial-gradient(circle at 10% 12%,rgba(51,215,255,.13),transparent 30%),
    linear-gradient(145deg,#07101a,#090b12 72%);
}
.themed-page .theme-entry-garage .theme-era-intro::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#33d7ff 0,#f2a64a 58%,#dcecff 100%);
  box-shadow:0 0 24px rgba(51,215,255,.20),0 0 18px rgba(242,166,74,.14);
}
.themed-page .theme-entry-garage .theme-era-intro::after{
  content:"UKG";
  position:absolute;
  right:-10px;
  bottom:-28px;
  color:rgba(255,255,255,.025);
  font-size:clamp(5rem,12vw,9rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.08em;
  transform:skewX(-7deg);
  pointer-events:none;
}
.themed-page .theme-entry-garage .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-garage .theme-lyric-nod{
  position:relative;
  overflow:hidden;
  padding:24px 28px;
  border-left:3px solid #f2a64a;
  background:linear-gradient(110deg,rgba(51,215,255,.095),rgba(242,166,74,.09) 58%,rgba(220,236,255,.04));
}
.themed-page .theme-entry-garage .theme-lyric-nod::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 8px);
  opacity:.38;
  pointer-events:none;
}
.themed-page .theme-entry-garage .theme-lyric-nod span,
.themed-page .theme-entry-garage .theme-lyric-nod strong{position:relative;z-index:1}
.themed-page .theme-entry-garage .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#c0c9d1;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-garage .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-garage .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(155deg,#07101a,#090b12);
}
.themed-page .theme-entry-garage .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-garage .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 62%);
}
.themed-page .theme-entry-garage .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-garage .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(242,166,74,.055),transparent 72%)}
.themed-page .theme-entry-garage .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-garage .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(51,215,255,.05),transparent 72%)}
.themed-page .theme-entry-garage .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-garage .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-garage .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(51,215,255,.075),rgba(242,166,74,.06) 58%,rgba(220,236,255,.028));
  border:1px solid rgba(255,255,255,.11);
}
.themed-page .theme-entry-garage .theme-era-fun ul{list-style:none;display:grid;gap:0;margin:10px 0 0;padding:0}
.themed-page .theme-entry-garage .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 25px;
  color:#d8dde2;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-garage .theme-era-fun li::before{
  content:"↺";
  position:absolute;
  left:0;
  top:11px;
  color:#f2a64a;
  font-size:.86rem;
  font-weight:900;
}
.themed-page .theme-entry-garage .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-garage .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(7,16,26,.9),rgba(9,11,18,.86));
}
.themed-page .theme-entry-garage .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,#33d7ff,#f2a64a,#dcecff);
  opacity:.66;
}
.themed-page .theme-entry-garage .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-garage .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #33d7ff;
  background:linear-gradient(90deg,rgba(51,215,255,.065),rgba(242,166,74,.03) 45%,#08090d 78%);
}
.themed-page .theme-entry-garage .theme-era-request span{
  color:#f2c17d;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-garage .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-garage .theme-tags{margin-top:12px}
.themed-page .theme-entry-garage .theme-tags span:nth-child(3n+1){border-color:rgba(51,215,255,.40)}
.themed-page .theme-entry-garage .theme-tags span:nth-child(3n+2){border-color:rgba(242,166,74,.40)}
.themed-page .theme-entry-garage .theme-tags span:nth-child(3n+3){border-color:rgba(220,236,255,.28)}
@media(max-width:720px){
  .themed-page .theme-entry-garage .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-garage .theme-era-intro,
  .themed-page .theme-entry-garage .theme-era-music,
  .themed-page .theme-entry-garage .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-garage .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-garage .theme-era-music-grid,
  .themed-page .theme-entry-garage .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-garage .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-garage .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-garage .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* V7.09 — Expanded Ibiza Anthems package */
.themed-page .theme-entry-ibiza .theme-era-copy{
  --ibiza-coral:#ff7a59;
  --ibiza-gold:#ffbe68;
  --ibiza-violet:#8f6cff;
  --ibiza-blue:#55d7ff;
  width:calc(100% - 64px);
  margin:30px 32px 8px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-ibiza .theme-era-copy section,
.themed-page .theme-entry-ibiza .theme-era-copy aside,
.themed-page .theme-entry-ibiza .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-ibiza .theme-era-kicker{
  display:block;
  margin-bottom:10px;
  color:var(--ibiza-gold);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-ibiza .theme-era-copy h4{
  max-width:920px;
  margin:0 0 13px;
  color:#fff;
  font-size:clamp(1.55rem,2.8vw,2.65rem);
  line-height:1.02;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-ibiza .theme-era-copy p{
  max-width:880px;
  margin:0;
  color:#d7d8df;
  font-size:.88rem;
  line-height:1.72;
}
.themed-page .theme-entry-ibiza .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:30px 30px 32px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:
    radial-gradient(circle at 14% 18%,rgba(255,190,104,.16),transparent 28%),
    radial-gradient(circle at 85% 16%,rgba(255,122,89,.13),transparent 24%),
    radial-gradient(circle at 80% 86%,rgba(143,108,255,.12),transparent 30%),
    linear-gradient(155deg,#171019 0,#0b0b13 54%,#07111b 100%);
  box-shadow:0 24px 54px rgba(0,0,0,.2);
}
.themed-page .theme-entry-ibiza .theme-era-intro::before{
  content:"";
  position:absolute;
  left:-8%;right:-8%;top:46%;height:1px;
  background:linear-gradient(90deg,transparent,var(--ibiza-gold),var(--ibiza-coral),var(--ibiza-violet),transparent);
  opacity:.38;
  box-shadow:0 0 22px rgba(255,122,89,.28);
}
.themed-page .theme-entry-ibiza .theme-era-intro::after{
  content:"";
  position:absolute;
  width:330px;height:330px;
  right:-150px;top:-190px;
  border-radius:50%;
  border:1px solid rgba(255,190,104,.2);
  box-shadow:0 0 0 24px rgba(255,122,89,.025),0 0 0 48px rgba(143,108,255,.018);
  pointer-events:none;
}
.themed-page .theme-entry-ibiza .theme-era-intro>*{position:relative;z-index:1}
.themed-page .theme-entry-ibiza .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-ibiza .theme-lyric-nod{
  position:relative;
  overflow:hidden;
  padding:25px 28px;
  border:1px solid rgba(255,190,104,.22);
  border-left:3px solid var(--ibiza-coral);
  border-radius:18px;
  background:linear-gradient(110deg,rgba(255,122,89,.12),rgba(255,190,104,.06) 38%,rgba(143,108,255,.08) 72%,rgba(85,215,255,.06));
}
.themed-page .theme-entry-ibiza .theme-lyric-nod::after{
  content:"";
  position:absolute;
  inset:auto -12% -56% 46%;
  height:150%;
  background:radial-gradient(circle,rgba(85,215,255,.12),transparent 64%);
  pointer-events:none;
}
.themed-page .theme-entry-ibiza .theme-lyric-nod span,
.themed-page .theme-entry-ibiza .theme-lyric-nod strong{position:relative;z-index:1}
.themed-page .theme-entry-ibiza .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#ffd8a0;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-ibiza .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.2vw,2.8rem);
  line-height:1.06;
  letter-spacing:-.035em;
}
.themed-page .theme-entry-ibiza .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:linear-gradient(155deg,#100c16,#07101a);
}
.themed-page .theme-entry-ibiza .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-ibiza .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 62%);
}
.themed-page .theme-entry-ibiza .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-ibiza .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(255,190,104,.055),transparent 72%)}
.themed-page .theme-entry-ibiza .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-ibiza .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(143,108,255,.055),rgba(85,215,255,.025) 70%,transparent)}
.themed-page .theme-entry-ibiza .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-ibiza .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-ibiza .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:
    radial-gradient(circle at 10% 15%,rgba(255,190,104,.09),transparent 25%),
    linear-gradient(135deg,rgba(255,122,89,.075),rgba(143,108,255,.065) 58%,rgba(85,215,255,.045));
  border:1px solid rgba(255,255,255,.11);
}
.themed-page .theme-entry-ibiza .theme-era-fun ul{list-style:none;display:grid;gap:0;margin:10px 0 0;padding:0}
.themed-page .theme-entry-ibiza .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 25px;
  color:#e0dde5;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-ibiza .theme-era-fun li::before{
  content:"✦";
  position:absolute;
  left:0;
  top:11px;
  color:var(--ibiza-gold);
  font-size:.78rem;
  font-weight:900;
}
.themed-page .theme-entry-ibiza .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-ibiza .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(20,12,22,.92),rgba(8,14,22,.88));
}
.themed-page .theme-entry-ibiza .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--ibiza-coral),var(--ibiza-gold),var(--ibiza-violet),var(--ibiza-blue));
  opacity:.7;
}
.themed-page .theme-entry-ibiza .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-ibiza .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid var(--ibiza-coral);
  background:linear-gradient(90deg,rgba(255,122,89,.07),rgba(255,190,104,.035) 34%,rgba(143,108,255,.035) 62%,#08090d 86%);
}
.themed-page .theme-entry-ibiza .theme-era-request span{
  color:#ffd39a;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-ibiza .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-ibiza .theme-tags{margin-top:12px}
.themed-page .theme-entry-ibiza .theme-tags span:nth-child(4n+1){border-color:rgba(255,122,89,.42)}
.themed-page .theme-entry-ibiza .theme-tags span:nth-child(4n+2){border-color:rgba(255,190,104,.42)}
.themed-page .theme-entry-ibiza .theme-tags span:nth-child(4n+3){border-color:rgba(143,108,255,.42)}
.themed-page .theme-entry-ibiza .theme-tags span:nth-child(4n){border-color:rgba(85,215,255,.36)}
@media(max-width:720px){
  .themed-page .theme-entry-ibiza .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-ibiza .theme-era-intro,
  .themed-page .theme-entry-ibiza .theme-era-music,
  .themed-page .theme-entry-ibiza .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-ibiza .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-ibiza .theme-era-music-grid,
  .themed-page .theme-entry-ibiza .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-ibiza .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-ibiza .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-ibiza .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
}

/* v7.10 — expanded Big Pub Party package */
.themed-page .theme-entry-pub .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-pub .theme-era-copy section,
.themed-page .theme-entry-pub .theme-era-copy aside,
.themed-page .theme-entry-pub .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-pub .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:#f2b238;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-pub .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-pub .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#bac0c8;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-pub .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(242,178,56,.25);
  border-radius:20px;
  background:
    radial-gradient(circle at 90% 14%,rgba(179,58,36,.14),transparent 26%),
    radial-gradient(circle at 8% 10%,rgba(242,178,56,.10),transparent 30%),
    linear-gradient(145deg,rgba(16,12,10,.94),rgba(9,10,14,.90));
}
.themed-page .theme-entry-pub .theme-era-intro::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-72px;
  width:230px;
  height:230px;
  border:1px solid rgba(242,178,56,.12);
  border-radius:50%;
  box-shadow:0 0 0 30px rgba(179,58,36,.035),0 0 0 62px rgba(242,178,56,.025);
  pointer-events:none;
}
.themed-page .theme-entry-pub .theme-era-intro>*{position:relative;z-index:1}
.themed-page .theme-entry-pub .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-pub .theme-lyric-nod{
  position:relative;
  overflow:hidden;
  padding:24px 28px;
  border-left:3px solid #f2b238;
  background:linear-gradient(110deg,rgba(242,178,56,.105),rgba(179,58,36,.055) 70%,rgba(255,255,255,.018));
}
.themed-page .theme-entry-pub .theme-lyric-nod::after{
  content:"♪";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(242,178,56,.10);
  font-size:5rem;
  line-height:1;
  font-weight:900;
}
.themed-page .theme-entry-pub .theme-lyric-nod span,
.themed-page .theme-entry-pub .theme-lyric-nod strong{position:relative;z-index:1}
.themed-page .theme-entry-pub .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#b7b0aa;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-pub .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-pub .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(180deg,#0b0b0e,#08090d);
}
.themed-page .theme-entry-pub .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-pub .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(242,178,56,.035),transparent 70%);
}
.themed-page .theme-entry-pub .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-pub .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(179,58,36,.055),transparent 72%)}
.themed-page .theme-entry-pub .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-pub .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(242,178,56,.05),rgba(255,255,255,.01) 72%)}
.themed-page .theme-entry-pub .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-pub .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-pub .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(179,58,36,.095),rgba(242,178,56,.07));
  border:1px solid rgba(242,178,56,.18);
}
.themed-page .theme-entry-pub .theme-era-fun ul{list-style:none;display:grid;gap:0;margin:10px 0 0;padding:0}
.themed-page .theme-entry-pub .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 24px;
  color:#d5d8dc;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-pub .theme-era-fun li::before{
  content:"●";
  position:absolute;
  left:1px;
  top:15px;
  color:#f2b238;
  font-size:.55rem;
  text-shadow:0 0 12px rgba(242,178,56,.45);
}
.themed-page .theme-entry-pub .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-pub .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(10,10,13,.80);
}
.themed-page .theme-entry-pub .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#f2b238,#b33a24,transparent 84%);
}
.themed-page .theme-entry-pub .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-pub .theme-era-request{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #b33a24;
  background:linear-gradient(100deg,rgba(179,58,36,.075),#090b10 42%);
}
.themed-page .theme-entry-pub .theme-era-request span{
  color:#f1bf62;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-pub .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-pub .theme-tags{margin-top:12px}
.themed-page .theme-entry-pub .theme-tags span:nth-child(3n+1){border-color:rgba(242,178,56,.42)}
.themed-page .theme-entry-pub .theme-tags span:nth-child(3n+2){border-color:rgba(179,58,36,.42)}
.themed-page .theme-entry-pub .theme-tags span:nth-child(3n){border-color:rgba(255,220,150,.28)}
@media(max-width:720px){
  .themed-page .theme-entry-pub .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-pub .theme-era-intro,
  .themed-page .theme-entry-pub .theme-era-music,
  .themed-page .theme-entry-pub .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-pub .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-pub .theme-era-music-grid,
  .themed-page .theme-entry-pub .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-pub .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-pub .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-pub .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
  .themed-page .theme-entry-pub .theme-lyric-nod::after{right:12px;font-size:4rem}
}

/* v7.11 — expanded Karaoke Anthems package */
.themed-page .theme-entry-karaoke .theme-era-copy{
  grid-column:1!important;
  width:min(100%,980px);
  margin:26px 34px 6px;
  display:grid;
  gap:18px;
}
.themed-page .theme-entry-karaoke .theme-era-copy section,
.themed-page .theme-entry-karaoke .theme-era-copy aside,
.themed-page .theme-entry-karaoke .theme-era-copy blockquote{margin:0}
.themed-page .theme-entry-karaoke .theme-era-kicker{
  display:block;
  margin:0 0 10px;
  color:#ff58d1;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.themed-page .theme-entry-karaoke .theme-era-copy h4{
  max-width:760px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.65rem,3vw,2.8rem);
  line-height:1.03;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.themed-page .theme-entry-karaoke .theme-era-copy p{
  max-width:820px;
  margin:0;
  color:#bec3cc;
  font-size:.9rem;
  line-height:1.75;
}
.themed-page .theme-entry-karaoke .theme-era-intro{
  position:relative;
  overflow:hidden;
  padding:26px 28px;
  border:1px solid rgba(255,53,200,.26);
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 16%,rgba(84,229,255,.13),transparent 25%),
    radial-gradient(circle at 10% 8%,rgba(255,53,200,.15),transparent 28%),
    linear-gradient(145deg,rgba(18,9,20,.95),rgba(7,10,16,.92));
}
.themed-page .theme-entry-karaoke .theme-era-intro::before{
  content:"";
  position:absolute;
  left:9%;
  top:-40%;
  width:160px;
  height:230px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 78%);
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);
  filter:blur(2px);
  opacity:.45;
  pointer-events:none;
}
.themed-page .theme-entry-karaoke .theme-era-intro::after{
  content:"";
  position:absolute;
  right:-44px;
  bottom:-76px;
  width:240px;
  height:240px;
  border:1px solid rgba(84,229,255,.14);
  border-radius:50%;
  box-shadow:0 0 0 30px rgba(255,53,200,.04),0 0 0 62px rgba(84,229,255,.025);
  pointer-events:none;
}
.themed-page .theme-entry-karaoke .theme-era-intro>*{position:relative;z-index:1}
.themed-page .theme-entry-karaoke .theme-era-intro p+p{margin-top:12px}
.themed-page .theme-entry-karaoke .theme-lyric-nod{
  position:relative;
  overflow:hidden;
  padding:24px 28px;
  border-left:3px solid #ff35c8;
  background:linear-gradient(110deg,rgba(255,53,200,.11),rgba(84,229,255,.055) 72%,rgba(255,255,255,.018));
}
.themed-page .theme-entry-karaoke .theme-lyric-nod::after{
  content:"♪";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(84,229,255,.12);
  font-size:5rem;
  line-height:1;
  font-weight:900;
}
.themed-page .theme-entry-karaoke .theme-lyric-nod span,
.themed-page .theme-entry-karaoke .theme-lyric-nod strong{position:relative;z-index:1}
.themed-page .theme-entry-karaoke .theme-lyric-nod span{
  display:block;
  margin-bottom:8px;
  color:#c4b7c7;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.themed-page .theme-entry-karaoke .theme-lyric-nod strong{
  display:block;
  color:#fff;
  font-size:clamp(1.55rem,3.1vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.themed-page .theme-entry-karaoke .theme-era-music{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(180deg,#0b0a10,#08090d);
}
.themed-page .theme-entry-karaoke .theme-era-music-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.09);
  border-left:1px solid rgba(255,255,255,.09);
}
.themed-page .theme-entry-karaoke .theme-era-music-grid>div{
  min-height:150px;
  padding:20px;
  border-right:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,53,200,.04),transparent 70%);
}
.themed-page .theme-entry-karaoke .theme-era-music-grid>div:nth-child(2),
.themed-page .theme-entry-karaoke .theme-era-music-grid>div:nth-child(5){background:linear-gradient(135deg,rgba(84,229,255,.05),transparent 72%)}
.themed-page .theme-entry-karaoke .theme-era-music-grid>div:nth-child(3),
.themed-page .theme-entry-karaoke .theme-era-music-grid>div:nth-child(6){background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,53,200,.025) 72%)}
.themed-page .theme-entry-karaoke .theme-era-music-grid b{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.themed-page .theme-entry-karaoke .theme-era-music-grid p{font-size:.8rem;line-height:1.65}
.themed-page .theme-entry-karaoke .theme-era-fun{
  padding:26px 28px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,53,200,.09),rgba(84,229,255,.065));
  border:1px solid rgba(255,53,200,.18);
}
.themed-page .theme-entry-karaoke .theme-era-fun ul{list-style:none;display:grid;gap:0;margin:10px 0 0;padding:0}
.themed-page .theme-entry-karaoke .theme-era-fun li{
  position:relative;
  padding:13px 0 13px 24px;
  color:#d7d9df;
  font-size:.84rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
}
.themed-page .theme-entry-karaoke .theme-era-fun li::before{
  content:"●";
  position:absolute;
  left:1px;
  top:15px;
  color:#54e5ff;
  font-size:.55rem;
  text-shadow:0 0 12px rgba(84,229,255,.55);
}
.themed-page .theme-entry-karaoke .theme-era-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.themed-page .theme-entry-karaoke .theme-era-split>div{
  position:relative;
  overflow:hidden;
  padding:25px 26px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(10,9,14,.82);
}
.themed-page .theme-entry-karaoke .theme-era-split>div::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,#ff35c8,#54e5ff,transparent 84%);
}
.themed-page .theme-entry-karaoke .theme-era-split h4{font-size:clamp(1.3rem,2.1vw,1.9rem);line-height:1.08}
.themed-page .theme-entry-karaoke .theme-era-request{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:20px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.10);
  border-left:3px solid #54e5ff;
  background:linear-gradient(100deg,rgba(84,229,255,.075),rgba(255,53,200,.045) 42%,#090b10 78%);
}
.themed-page .theme-entry-karaoke .theme-era-request span{
  color:#70e9ff;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.themed-page .theme-entry-karaoke .theme-era-request p{max-width:none;font-size:.82rem;line-height:1.65}
.themed-page .theme-entry-karaoke .theme-tags{margin-top:12px}
.themed-page .theme-entry-karaoke .theme-tags span:nth-child(3n+1){border-color:rgba(255,53,200,.44)}
.themed-page .theme-entry-karaoke .theme-tags span:nth-child(3n+2){border-color:rgba(84,229,255,.44)}
.themed-page .theme-entry-karaoke .theme-tags span:nth-child(3n){border-color:rgba(255,255,255,.28)}
@media(max-width:720px){
  .themed-page .theme-entry-karaoke .theme-era-copy{width:auto;margin:22px 22px 6px;gap:14px}
  .themed-page .theme-entry-karaoke .theme-era-intro,
  .themed-page .theme-entry-karaoke .theme-era-music,
  .themed-page .theme-entry-karaoke .theme-era-fun{padding:22px 20px}
  .themed-page .theme-entry-karaoke .theme-lyric-nod{padding:21px 20px}
  .themed-page .theme-entry-karaoke .theme-era-music-grid,
  .themed-page .theme-entry-karaoke .theme-era-split{grid-template-columns:1fr}
  .themed-page .theme-entry-karaoke .theme-era-music-grid>div{min-height:0;padding:17px 16px}
  .themed-page .theme-entry-karaoke .theme-era-split>div{padding:22px 20px}
  .themed-page .theme-entry-karaoke .theme-era-request{grid-template-columns:1fr;gap:9px;padding:20px}
  .themed-page .theme-entry-karaoke .theme-lyric-nod::after{right:12px;font-size:4rem}
}

/* V7.12 — Themed nights catalogue redesign */
.themed-catalogue-hero .hero-number{font-size:clamp(15rem,31vw,34rem);right:2vw;bottom:-8vw;color:rgba(255,255,255,.035)}
.themed-catalogue-hero .page-hero-inner{max-width:980px}
.themed-catalogue-hero h1{max-width:1020px}
.theme-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.theme-hero-points span{padding:8px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(5,6,9,.28);color:#b9c0c9;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}

.themed-catalogue-section{padding-top:clamp(82px,8vw,118px)!important}
.theme-catalogue-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.6fr);gap:clamp(36px,7vw,100px);align-items:end;margin-bottom:42px}
.theme-catalogue-heading .section-title{margin-bottom:0}
.theme-catalogue-heading>p{max-width:540px;margin:0;color:#aab1bb;line-height:1.75}

.theme-catalogue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin-top:28px;scroll-margin-top:110px}
.theme-catalogue-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.105);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 22px 60px rgba(0,0,0,.2);transition:transform .28s var(--tt-ease),border-color .28s ease,box-shadow .28s ease}
.theme-catalogue-card::before{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--catalogue-accent),transparent 82%);box-shadow:0 0 24px color-mix(in srgb,var(--catalogue-accent) 42%,transparent);pointer-events:none}
@media(hover:hover) and (pointer:fine){.theme-catalogue-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--catalogue-accent) 38%,rgba(255,255,255,.12));box-shadow:0 30px 78px rgba(0,0,0,.28),0 0 28px color-mix(in srgb,var(--catalogue-accent) 9%,transparent)}}
.theme-card-image{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#0b0d12}
.theme-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,9,.78) 0,rgba(5,6,9,.06) 42%,transparent 70%);pointer-events:none}
.theme-card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s var(--tt-ease),filter .3s ease}
@media(hover:hover) and (pointer:fine){.theme-catalogue-card:hover .theme-card-image img{transform:scale(1.035);filter:saturate(1.06)}}
.theme-card-number,.theme-card-category{position:absolute;z-index:2;bottom:14px;font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.theme-card-number{left:15px;color:var(--catalogue-accent)}
.theme-card-category{right:14px;max-width:62%;text-align:right;color:#e5e8ec}
.theme-card-copy{display:flex;flex:1;flex-direction:column;padding:20px 18px 18px}
.theme-card-copy h3{margin:0;color:#fff;font-size:clamp(1.35rem,2vw,1.78rem);line-height:.98;letter-spacing:-.035em;text-transform:uppercase}
.theme-card-copy>p{min-height:2.8em;margin:9px 0 16px;color:#9fa7b1;font-size:.82rem;line-height:1.45}
.theme-card-best{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.theme-card-best span{padding:5px 8px;border:1px solid color-mix(in srgb,var(--catalogue-accent) 24%,rgba(255,255,255,.11));border-radius:999px;color:#c7ccd3;font-size:.55rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.theme-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.theme-card-view,.theme-card-enquire{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;text-align:center;font-size:.61rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s var(--tt-ease),border-color .2s ease,background .2s ease,color .2s ease}
.theme-card-view{border:1px solid color-mix(in srgb,var(--catalogue-accent) 55%,rgba(255,255,255,.15));background:color-mix(in srgb,var(--catalogue-accent) 11%,rgba(255,255,255,.02));color:#fff}
.theme-card-enquire{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025);color:#c5cbd2}
@media(hover:hover) and (pointer:fine){.theme-card-view:hover,.theme-card-enquire:hover{transform:translateY(-2px)}.theme-card-view:hover{background:color-mix(in srgb,var(--catalogue-accent) 20%,rgba(255,255,255,.03));border-color:var(--catalogue-accent)}.theme-card-enquire:hover{border-color:rgba(255,255,255,.3);color:#fff}}
.theme-catalogue-card[hidden]{display:none!important}
.theme-catalogue-card.is-filter-match{animation:theme-catalogue-in .35s var(--tt-ease) both}
@keyframes theme-catalogue-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.theme-catalogue-help{display:flex;align-items:center;justify-content:space-between;gap:36px;margin:42px 0 0;padding:28px 30px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:radial-gradient(circle at 10% 40%,rgba(123,44,255,.13),transparent 28%),radial-gradient(circle at 88% 40%,rgba(0,229,255,.08),transparent 22%),rgba(8,10,15,.76)}
.theme-catalogue-help .eyebrow{margin-bottom:8px}.theme-catalogue-help h3{margin:0 0 8px;color:#fff;font-size:clamp(1.4rem,2.5vw,2.35rem);line-height:1;text-transform:uppercase}.theme-catalogue-help p{max-width:680px;margin:0;color:#9fa7b1;line-height:1.65}.theme-catalogue-help .primary{flex:0 0 auto}

.theme-detail-stage{margin:78px 0 12px;padding-top:34px;border-top:1px solid rgba(255,255,255,.11);scroll-margin-top:96px}
.theme-detail-stage[hidden]{display:none!important}
.theme-detail-stage-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}
.theme-detail-stage-head .eyebrow{margin:0 0 8px}.theme-detail-stage-head h2{margin:0;color:#fff;font-size:clamp(2.2rem,4vw,4.2rem);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}
.theme-detail-close{min-height:42px;padding:0 0 7px;border:0;border-bottom:1px solid rgba(255,255,255,.26);background:none;color:#b7bec7;font:inherit;font-size:.65rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}.theme-detail-close:hover,.theme-detail-close:focus-visible{color:#fff;border-color:#00e5ff;outline:none}
.theme-detail-stage .theme-list{margin-top:0}
.theme-detail-stage .theme-entry{scroll-margin-top:100px}

@media(max-width:900px){.theme-catalogue-heading{grid-template-columns:1fr;gap:20px}.theme-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-catalogue-help{align-items:flex-start;flex-direction:column}.theme-detail-stage-head{align-items:flex-start;flex-direction:column}.theme-detail-close{align-self:flex-start}}
@media(max-width:650px){.theme-hero-points{gap:7px}.theme-hero-points span{font-size:.56rem}.theme-catalogue-grid{grid-template-columns:1fr 1fr;gap:12px}.theme-catalogue-card{border-radius:16px}.theme-card-copy{padding:15px 13px 13px}.theme-card-copy h3{font-size:1.08rem}.theme-card-copy>p{min-height:0;margin:7px 0 12px;font-size:.72rem}.theme-card-best{gap:5px;margin-bottom:13px}.theme-card-best span{padding:4px 6px;font-size:.49rem}.theme-card-actions{grid-template-columns:1fr;gap:6px}.theme-card-view,.theme-card-enquire{min-height:38px;font-size:.56rem}.theme-card-number,.theme-card-category{bottom:10px;font-size:.49rem}.theme-card-number{left:10px}.theme-card-category{right:10px}.theme-catalogue-help{margin-top:30px;padding:23px 20px}.theme-catalogue-help .primary{width:100%}.theme-detail-stage{margin-top:56px;padding-top:26px}}
@media(max-width:430px){.theme-catalogue-grid{grid-template-columns:1fr}.theme-card-image{aspect-ratio:16/11}.theme-card-copy h3{font-size:1.38rem}.theme-card-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.theme-catalogue-card,.theme-card-image img,.theme-card-view,.theme-card-enquire{transition:none!important}.theme-catalogue-card.is-filter-match{animation:none}}

/* V7.13 — stronger quick-choice badges on themed-night catalogue */
.theme-badge-key{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-14px 0 24px;
}
.theme-badge-key-item,
.theme-signal{
  --badge-tone:#9ca3af;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid color-mix(in srgb,var(--badge-tone) 38%,rgba(255,255,255,.10));
  border-radius:999px;
  background:color-mix(in srgb,var(--badge-tone) 10%,rgba(10,12,17,.78));
  color:#eef1f5;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.theme-badge-key-item::before,
.theme-signal::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:var(--badge-tone);
  box-shadow:0 0 12px color-mix(in srgb,var(--badge-tone) 65%,transparent);
}
.theme-badge-key-item{padding:7px 10px;color:#aeb5bf;font-size:.53rem;letter-spacing:.09em}
.theme-badge-key-item--crowd,
.theme-signal--crowd{--badge-tone:#66d9ff}
.theme-badge-key-item--energy,
.theme-signal--energy{--badge-tone:var(--catalogue-accent,#ff4db8)}
.theme-badge-key-item--venue,
.theme-signal--venue{--badge-tone:#f3c66b}

.theme-card-signals{
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:7px;
  min-height:68px;
  margin:0 0 18px;
}
.theme-signal{
  padding:6px 9px;
  font-size:.54rem;
  letter-spacing:.055em;
  line-height:1.15;
}
.theme-catalogue-card:hover .theme-signal--energy{
  border-color:color-mix(in srgb,var(--catalogue-accent) 62%,rgba(255,255,255,.1));
  background:color-mix(in srgb,var(--catalogue-accent) 15%,rgba(10,12,17,.78));
}

/* Make the catalogue category itself read more like a visual cue. */
.theme-card-category{
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(5,6,9,.52);
  backdrop-filter:blur(8px);
}
.theme-card-number{
  padding:5px 7px;
  border-radius:999px;
  background:rgba(5,6,9,.55);
  backdrop-filter:blur(8px);
}

@media(max-width:650px){
  .theme-badge-key{margin:-7px 0 18px;gap:6px}
  .theme-badge-key-item{padding:6px 8px;font-size:.47rem}
  .theme-card-signals{gap:5px;min-height:0;margin-bottom:13px}
  .theme-signal{padding:5px 7px;font-size:.48rem;letter-spacing:.04em}
  .theme-badge-key-item::before,.theme-signal::before{width:5px;height:5px;flex-basis:5px}
}
@media(max-width:430px){
  .theme-card-signals{min-height:0}
  .theme-signal{font-size:.51rem}
}

/* v7.14 — recurring venue entertainment programme */
.venues-page .venue-programme-section{
  position:relative;
  overflow:hidden;
  padding:clamp(88px,9vw,132px) clamp(24px,6vw,100px);
  background:
    radial-gradient(ellipse 58% 44% at 8% 14%,rgba(123,44,255,.14),transparent 72%),
    radial-gradient(ellipse 56% 42% at 94% 76%,rgba(0,229,255,.085),transparent 74%),
    #07090d;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.venues-page .venue-programme-shell{position:relative;z-index:1}
.venues-page .venue-programme-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,.62fr);
  gap:clamp(42px,8vw,112px);
  align-items:end;
}
.venues-page .venue-programme-head .section-title{max-width:850px;margin-bottom:0}
.venues-page .venue-programme-intro p{
  margin:0 0 16px;
  color:#aeb5be;
  line-height:1.75;
  font-size:1.02rem;
}
.venues-page .venue-programme-intro p:last-child{margin-bottom:0}
.venues-page .venue-programme-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:clamp(42px,5vw,62px);
}
.venues-page .venue-programme-grid article{
  position:relative;
  min-height:310px;
  padding:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.105);
  border-top:2px solid color-mix(in srgb,var(--programme-accent) 82%,#fff 18%);
  border-radius:17px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--programme-accent) 5%,rgba(255,255,255,.045)),rgba(255,255,255,.014) 56%,rgba(0,0,0,.08)),
    rgba(9,11,16,.78);
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 20px 52px rgba(0,0,0,.18);
}
.venues-page .venue-programme-grid article::after{
  content:"";
  position:absolute;
  width:190px;height:190px;
  right:-105px;top:-110px;
  border-radius:50%;
  background:var(--programme-accent);
  filter:blur(64px);
  opacity:.07;
  pointer-events:none;
}
.venues-page .venue-programme-grid article>span{
  color:var(--programme-accent);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.16em;
}
.venues-page .venue-programme-grid h3{
  margin:76px 0 14px;
  max-width:320px;
  color:#fff;
  font-size:clamp(1.65rem,2.35vw,2.55rem);
  line-height:.96;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.venues-page .venue-programme-grid p{margin:0;color:#a6adb6;line-height:1.68}
@media(hover:hover){
  .venues-page .venue-programme-grid article{
    transition:transform .28s var(--tt-ease),border-color .28s ease,box-shadow .28s ease;
  }
  .venues-page .venue-programme-grid article:hover{
    transform:translateY(-4px);
    border-color:color-mix(in srgb,var(--programme-accent) 36%,rgba(255,255,255,.10));
    border-top-color:var(--programme-accent);
    box-shadow:0 24px 58px rgba(0,0,0,.22);
  }
}
.venues-page .venue-rotation-block{
  margin-top:18px;
  padding:clamp(28px,4vw,44px);
  display:grid;
  grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);
  gap:clamp(28px,5vw,62px);
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(123,44,255,.075),rgba(255,255,255,.022) 45%,rgba(0,229,255,.05));
}
.venues-page .venue-rotation-copy .eyebrow{margin-bottom:14px}
.venues-page .venue-rotation-copy h3{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(1.8rem,3vw,3.1rem);
  line-height:.96;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.venues-page .venue-rotation-copy>p:not(.eyebrow){margin:0;color:#aeb5be;line-height:1.7}
.venues-page .venue-rotation-track{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.venues-page .venue-rotation-track span{
  min-height:84px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(255,255,255,.028);
  color:#e6e9ed;
  font-size:.72rem;
  font-weight:850;
  line-height:1.25;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.venues-page .venue-rotation-track b{
  color:#00e5ff;
  font-size:.56rem;
  letter-spacing:.15em;
}
.venues-page .venue-rotation-track span:nth-child(2n) b{color:#a874ff}
.venues-page .venue-rotation-track span:nth-child(3n) b{color:#ff65c8}
.venues-page .venue-programme-cta{
  margin-top:18px;
  padding:clamp(30px,4vw,48px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:end;
  border:1px solid rgba(255,255,255,.105);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 42%,rgba(123,44,255,.12),transparent 28%),
    radial-gradient(circle at 86% 36%,rgba(0,229,255,.075),transparent 24%),
    rgba(8,10,15,.84);
}
.venues-page .venue-programme-cta h3{
  max-width:760px;
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(2rem,3.6vw,3.7rem);
  line-height:.94;
  letter-spacing:-.048em;
  text-transform:uppercase;
}
.venues-page .venue-programme-cta>div>p:not(.eyebrow){max-width:720px;margin:0;color:#aeb5be;line-height:1.7}
.venues-page .venue-programme-cta .page-actions{margin-top:0;justify-content:flex-end}
.venues-page .venue-programme-cta .primary{white-space:nowrap}

@media(max-width:980px){
  .venues-page .venue-programme-head{grid-template-columns:1fr}
  .venues-page .venue-programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .venues-page .venue-rotation-block{grid-template-columns:1fr}
  .venues-page .venue-programme-cta{grid-template-columns:1fr;align-items:start}
  .venues-page .venue-programme-cta .page-actions{justify-content:flex-start}
}
@media(max-width:650px){
  .venues-page .venue-programme-section{padding:72px 20px}
  .venues-page .venue-programme-grid{grid-template-columns:1fr}
  .venues-page .venue-programme-grid article{min-height:0;padding:24px 22px 27px}
  .venues-page .venue-programme-grid h3{margin-top:54px}
  .venues-page .venue-rotation-block,.venues-page .venue-programme-cta{padding:24px 20px}
  .venues-page .venue-rotation-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .venues-page .venue-programme-cta .page-actions{width:100%}
  .venues-page .venue-programme-cta .primary{white-space:normal}
}
@media(max-width:420px){
  .venues-page .venue-rotation-track{grid-template-columns:1fr}
}

/* V7.15 — technical conversion / accessibility / local SEO pass */
.skip-link{
  position:fixed;
  left:14px;
  top:12px;
  z-index:10000;
  padding:11px 15px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:10px;
  background:#050609;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;
  text-decoration:none;
  transform:translateY(-180%);
  transition:transform .16s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}
.skip-link:focus{transform:translateY(0);outline:3px solid #00e5ff;outline-offset:2px}
#main-content:focus,#home:focus,.theme-detail-stage:focus{outline:none}
:where(main[id],section[id],article[id]){scroll-margin-top:96px}

/* Keep keyboard focus unmistakable even where component CSS removes an outline. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #63ecff!important;
  outline-offset:3px!important;
}

.local-coverage-note{
  padding:24px clamp(20px,6vw,86px);
  border-top:1px solid rgba(255,255,255,.08);
  background:#07090d;
  color:#98a0aa;
  text-align:center;
}
.local-coverage-note p{width:min(980px,100%);margin:0 auto;font-size:.82rem;line-height:1.7}
.local-coverage-note a{margin-left:.35em;color:#dce1e7;text-decoration:none;border-bottom:1px solid rgba(0,229,255,.42)}
.local-coverage-note a:hover,.local-coverage-note a:focus-visible{color:#fff;border-color:#00e5ff}

/* Prevent large type and long labels from creating horizontal overflow on narrow screens. */
.page-hero h1,.section-title,.theme-entry h2,.theme-entry h3,.quote-banner p,.contact-side h1,
.theme-card-copy h3,.theme-catalogue-help h3{overflow-wrap:anywhere}

@media(max-width:650px){
  html,body{max-width:100%;overflow-x:hidden}
  input,select,textarea{font-size:16px}
  .local-coverage-note{padding:22px 20px;text-align:left}
  .local-coverage-note a{display:inline-block;margin:.35em 0 0}
  .topbar .menu{min-width:44px;min-height:44px}
  .theme-card-actions a,.page-actions a,.page-actions button{min-height:44px}
}


/* v7.18 — Services hero image separation + larger guest-request preview */
.service-request-feature-inner{grid-template-columns:minmax(0,1fr) minmax(390px,.62fr);gap:clamp(42px,6vw,78px)}
.service-request-mini-phone{width:min(520px,46vw);justify-self:end}
.service-request-mini-phone img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:900px){
  .service-request-feature-inner{grid-template-columns:1fr}
  .service-request-mini-phone{display:block;width:min(540px,92vw);justify-self:center;margin-top:8px}
}
@media(max-width:650px){
  .service-request-mini-phone{width:100%;max-width:480px;padding:8px;border-radius:20px}
  .service-request-mini-phone img{border-radius:13px}
}

/* v7.20 — Keep the themed-night poster cards on the Venues page compact.
   The previous fluid columns made the portrait cards excessively tall on
   medium-width screens. Cap the desktop/tablet card width and keep a tidy
   two-column layout on phones so the section stays balanced. */
.venues-page .venue-poster-grid{
  grid-template-columns:repeat(4,minmax(0,250px));
  justify-content:space-between;
  gap:clamp(12px,2vw,24px);
}
.venues-page .venue-poster-grid a{
  width:100%;
  margin:0;
}
.venues-page .venue-poster-grid img{
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
}
@media(max-width:1050px){
  .venues-page .venue-poster-grid{
    grid-template-columns:repeat(2,minmax(0,320px));
    justify-content:space-between;
  }
}
@media(max-width:760px){
  .venues-page .venue-poster-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:stretch;
    gap:14px;
  }
  .venues-page .venue-poster-grid a{max-width:none}
  .venues-page .venue-poster-grid span{
    padding-top:9px;
    font-size:.58rem;
    line-height:1.35;
  }
}


/* v7.30 — themed-night detail selector: show only the chosen package.
   This intentionally overrides the later .has-night-photo display:grid!important rule. */
.themed-page .theme-detail-stage .theme-entry[hidden],
.themed-page .theme-detail-stage .theme-entry:not(.is-selected-theme){display:none!important}
.themed-page .theme-detail-stage .theme-entry.is-selected-theme{display:grid!important}

/* Enquiry select dropdown visibility fix v7.70
   Use a light native option list with explicit dark text so Windows/Chrome
   cannot inherit white option text onto a white popup. Keep the closed
   control dark and provide our own visible chevron. */
.contact-simple-page .simple-form-grid select{
  color:#fff!important;
  color-scheme:light;
  appearance:none;
  -webkit-appearance:none;
  padding-right:42px!important;
  background-image:
    linear-gradient(45deg,transparent 50%,#aeb4bd 50%),
    linear-gradient(135deg,#aeb4bd 50%,transparent 50%),
    linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.018))!important;
  background-position:
    calc(100% - 19px) 50%,
    calc(100% - 13px) 50%,
    0 0!important;
  background-size:6px 6px,6px 6px,100% 100%!important;
  background-repeat:no-repeat!important;
}
.contact-simple-page .simple-form-grid select option{
  background:#fff!important;
  color:#11151b!important;
  -webkit-text-fill-color:#11151b;
}


/* V7.75 — mobile / in-app browser stability
   Keep the brand and layout intact while avoiding fixed blur/compositing work
   that is disproportionately expensive in Messenger/Facebook WebViews. */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  .tt-ambient-field,.cursor-glow,.tt-hero-signal,.tt-card-light{display:none!important}
  .topbar{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:linear-gradient(#050609fa,#050609e8 72%,rgba(5,6,9,.78))!important;
  }
  .topbar .logo::before,.topbar .logo::after,
  footer .footer-logo::before,footer .footer-logo::after{
    animation:none!important;
    filter:none!important;
    will-change:auto!important;
  }
  .tt-signal-wave i{animation:none!important}
}

/* v7.80 — Services page hierarchy, image proportions and "What we do" rebuild. */
.services-page .service-overview-v2{
  min-height:0;
  padding:clamp(78px,7.5vw,112px) clamp(22px,5vw,74px);
  background:linear-gradient(180deg,#f4f2ee 0%,#efede8 100%);
  color:#11141a;
}
.services-page .service-overview-v2::before{display:none}
.services-page .service-overview-v2 .production-title{
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(180px,.30fr) minmax(0,1fr);
  gap:clamp(26px,4.5vw,68px);
  align-items:start;
}
.services-page .service-overview-kicker p{
  margin:5px 0 9px;
  color:#5728c8;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.services-page .service-overview-kicker span{
  display:block;
  max-width:170px;
  color:#77736f;
  font-size:.78rem;
  line-height:1.45;
}
.services-page .service-overview-v2 .production-title h2{
  max-width:980px;
  margin:0;
  color:#11141a;
  font-size:clamp(3.15rem,5.7vw,6.25rem);
  line-height:.86;
  letter-spacing:-.058em;
  text-transform:uppercase;
}
.services-page .service-overview-v2 .production-title h2 span{
  display:block;
  margin-top:.08em;
  color:#6036cf!important;
  -webkit-text-stroke:0!important;
  text-stroke:0!important;
}
.services-page .service-overview-intro{
  max-width:820px;
  margin:24px 0 0;
  color:#535861;
  font-size:1.02rem;
  line-height:1.72;
}
.services-page .service-overview-grid{
  width:min(1320px,100%);
  margin:clamp(42px,5vw,68px) auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  border:0;
}
.services-page .service-overview-grid article{
  --service-card-accent:#00bfd1;
  position:relative;
  min-height:292px;
  margin:0;
  padding:25px 24px 23px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(22,27,34,.10);
  border-radius:20px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 34px rgba(33,28,24,.045);
  overflow:hidden;
}
.services-page .service-overview-grid article::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--service-card-accent),transparent 78%);
}
.services-page .service-overview-grid article>span{
  margin:0 0 42px;
  color:var(--service-card-accent);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.16em;
}
.services-page .service-overview-grid h3{
  margin:0 0 11px;
  color:#171a20;
  font-size:clamp(1.38rem,1.65vw,1.85rem);
  line-height:.98;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.services-page .service-overview-grid p{
  max-width:none;
  margin:0 0 22px;
  color:#5a6068;
  font-size:.91rem;
  line-height:1.62;
}
.services-page .service-overview-grid .line-link{
  margin-top:auto;
  align-self:flex-start;
  color:#343942;
  border-color:var(--service-card-accent);
  font-size:.67rem;
}
.services-page .service-overview-card--dj{--service-card-accent:#00bccc!important}
.services-page .service-overview-card--wedding{--service-card-accent:#b99459!important}
.services-page .service-overview-card--prom{--service-card-accent:#8e4bff!important}
.services-page .service-overview-card--christmas{--service-card-accent:#c4a05d!important}
.services-page .service-overview-card--brand{--service-card-accent:#a37ec7!important}
.services-page .service-overview-card--production{--service-card-accent:#426bff!important}
.services-page .service-overview-card--karaoke{--service-card-accent:#e74ab8!important}
.services-page .service-overview-card--venue{--service-card-accent:#52616f!important}
.services-page .service-overview-support{
  width:min(1320px,100%);
  margin:16px auto 0;
  padding:24px 26px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
  border:1px solid rgba(22,27,34,.10);
  border-radius:20px;
  background:#171a20;
  box-shadow:0 18px 40px rgba(24,20,18,.08);
}
.services-page .service-overview-support .eyebrow{margin:0 0 6px;color:#71e8f2!important}
.services-page .service-overview-support h3{margin:0 0 6px;color:#fff;font-size:clamp(1.25rem,1.8vw,1.75rem);line-height:1.08}
.services-page .service-overview-support p:not(.eyebrow){max-width:760px;margin:0;color:#aeb5be;line-height:1.55;font-size:.9rem}
.services-page .service-overview-support-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.services-page .service-overview-support .primary{white-space:nowrap}

/* Keep the feature stories photographic and wide instead of forcing tall crops. */
.services-page .service-brand-feature{
  padding:clamp(68px,7vw,94px) clamp(22px,5vw,74px);
}
.services-page .service-brand-feature-inner{
  width:min(1220px,100%);
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(34px,5.5vw,72px);
}
.services-page .service-brand-feature figure{
  min-height:0!important;
  aspect-ratio:14 / 9;
  border-radius:22px;
}
.services-page .service-brand-feature figure img{object-position:center center}
.services-page .service-brand-copy h2{
  margin:10px 0 18px;
  font-size:clamp(2.75rem,4.4vw,4.75rem);
  line-height:.9;
}
.services-page .service-brand-copy p{max-width:620px}

.services-page .service-story-section{
  padding-top:clamp(76px,8vw,108px);
  padding-bottom:clamp(76px,8vw,108px);
}
.services-page .service-story-grid{
  grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr);
  gap:clamp(38px,5.5vw,76px);
}
.services-page .service-story-photo{
  min-height:0!important;
  aspect-ratio:16 / 9;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 24px 60px rgba(8,10,14,.12);
}
.services-page .service-story-photo img{
  width:100%;
  height:100%;
  min-height:0!important;
  object-fit:cover;
  object-position:center center;
}
.services-page .service-story-copy .section-title{font-size:clamp(2.8rem,4.5vw,5rem)}
.services-page .service-detail-list>div{padding-block:16px}

/* Sound + lighting is a technical chapter, not another giant hero. */
.services-page .service-kit-section{padding:clamp(78px,8vw,112px) 0}
.services-page .service-kit-overview{max-width:940px;margin:0 0 clamp(48px,5vw,70px)}
.services-page .service-kit-overview .section-title{margin:10px 0 18px;font-size:clamp(3.1rem,5.2vw,5.8rem)}
.services-page .service-kit-lead{max-width:780px;margin:0;color:#aeb5be;line-height:1.72;font-size:1.02rem}
.services-page .service-topic-block{padding-top:clamp(42px,4.5vw,62px);margin-top:clamp(40px,4.5vw,60px);border-top:1px solid rgba(255,255,255,.12)}
.services-page .service-topic-block .section-title{font-size:clamp(2.7rem,4.3vw,4.8rem)}
.services-page .service-kit-grid{margin-top:28px}
.services-page .service-kit-grid article{min-height:240px}
.services-page .service-kit-grid h3{margin-top:58px}
.services-page .lighting-direction-grid{margin-top:28px}

/* Guest requests artwork is already a designed 4:3 graphic — present it cleanly, not as a second phone shell. */
.services-page .service-request-feature{padding:clamp(72px,7vw,96px) 0}
.services-page .service-request-feature-inner{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(36px,5vw,66px);
}
.services-page .service-request-copy{padding:clamp(22px,2.6vw,30px)}
.services-page .service-request-feature h2{font-size:clamp(3.05rem,5vw,5.35rem);line-height:.86}
.services-page .service-request-artwork{
  width:min(520px,100%);
  justify-self:end;
  padding:0!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px!important;
  background:transparent!important;
  box-shadow:0 26px 70px rgba(0,0,0,.34),0 0 0 1px rgba(123,44,255,.05)!important;
  overflow:hidden;
}
.services-page .service-request-artwork img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}

/* The dancefloor shot becomes a visual punctuation mark rather than another full hero. */
.services-page .service-night-photo-band{min-height:480px}
.services-page .service-night-photo-band>div{padding:64px 0}
.services-page .service-night-photo-band h2{font-size:clamp(3rem,5.4vw,6rem);max-width:680px}

/* Karaoke uses the source image at its natural landscape shape and a tighter copy card. */
.services-page .service-karaoke-feature{padding:clamp(72px,7vw,98px) 0}
.services-page .service-karaoke-inner{
  grid-template-columns:minmax(420px,1.02fr) minmax(0,.98fr);
  gap:clamp(34px,5vw,70px);
}
.services-page .service-karaoke-photo{
  min-height:0!important;
  aspect-ratio:16 / 9;
  border-radius:22px;
}
.services-page .service-karaoke-photo img{object-position:center center}
.services-page .service-karaoke-copy{padding:clamp(21px,2.5vw,29px)}
.services-page .service-karaoke-copy h2{font-size:clamp(2.75rem,4vw,4.35rem);margin:13px 0 18px}
.services-page .service-karaoke-copy>p:not(.eyebrow){line-height:1.64}
.services-page .service-karaoke-points{margin-top:22px}

/* Consistent section rhythm. */
.services-page .content-inner{width:min(1220px,calc(100% - 48px))}
.services-page .quote-banner{padding-top:clamp(72px,7vw,96px);padding-bottom:clamp(72px,7vw,96px)}

@media(max-width:1100px){
  .services-page .service-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-page .service-overview-grid article{min-height:260px}
  .services-page .service-brand-feature-inner,
  .services-page .service-story-grid,
  .services-page .service-request-feature-inner,
  .services-page .service-karaoke-inner{grid-template-columns:1fr}
  .services-page .service-brand-feature figure,
  .services-page .service-story-photo,
  .services-page .service-karaoke-photo{width:min(820px,100%);justify-self:center}
  .services-page .service-request-artwork{justify-self:center;width:min(560px,100%)}
  .services-page .service-brand-copy,.services-page .service-story-copy,.services-page .service-karaoke-copy{max-width:820px}
}

@media(max-width:720px){
  .services-page .service-overview-v2{padding:66px 18px}
  .services-page .service-overview-v2 .production-title{grid-template-columns:1fr;gap:18px}
  .services-page .service-overview-kicker span{max-width:none}
  .services-page .service-overview-v2 .production-title h2{font-size:clamp(3rem,13.8vw,4.55rem);line-height:.88}
  .services-page .service-overview-intro{margin-top:18px;font-size:.95rem;line-height:1.62}
  .services-page .service-overview-grid{grid-template-columns:1fr;margin-top:34px;gap:11px}
  .services-page .service-overview-grid article{min-height:0;padding:22px 20px 20px}
  .services-page .service-overview-grid article>span{margin-bottom:24px}
  .services-page .service-overview-grid h3{font-size:1.55rem}
  .services-page .service-overview-support{grid-template-columns:1fr;padding:22px 20px;gap:18px}
  .services-page .service-overview-support-actions{justify-content:flex-start}
  .services-page .service-brand-feature{padding:60px 18px}
  .services-page .service-brand-feature figure{aspect-ratio:14 / 10}
  .services-page .service-brand-copy h2{font-size:clamp(2.8rem,12vw,4rem)}
  .services-page .content-inner{width:calc(100% - 36px)}
  .services-page .service-story-section{padding-block:62px}
  .services-page .service-story-photo{aspect-ratio:16 / 10}
  .services-page .service-kit-section{padding-block:64px}
  .services-page .service-kit-overview .section-title,
  .services-page .service-topic-block .section-title{font-size:clamp(2.75rem,12vw,4rem)}
  .services-page .service-request-feature{padding-block:62px}
  .services-page .service-request-copy{padding:22px 18px 24px}
  .services-page .service-request-feature h2{font-size:clamp(2.8rem,12vw,4.15rem)}
  .services-page .service-request-artwork{width:100%;max-width:520px}
  .services-page .service-night-photo-band{min-height:420px}
  .services-page .service-night-photo-band>div{width:calc(100% - 36px);padding:52px 0}
  .services-page .service-night-photo-band h2{font-size:clamp(2.9rem,12vw,4.5rem)}
  .services-page .service-karaoke-feature{padding-block:62px}
  .services-page .service-karaoke-photo{min-height:0!important;aspect-ratio:16 / 10;order:2}
  .services-page .service-karaoke-copy{order:1;padding:22px 18px 24px}
  .services-page .service-karaoke-copy h2{font-size:clamp(2.7rem,11.5vw,3.9rem)}
}

/* V7.81 — Services editorial directory.
   Replaces the oversized What We Do grid with a restrained intro and two-column service index. */
.services-page .service-directory{
  position:relative;
  padding:clamp(70px,7vw,104px) 24px clamp(58px,6vw,88px);
  background:
    radial-gradient(circle at 83% 12%,rgba(142,75,255,.055),transparent 28%),
    linear-gradient(180deg,#f5f1eb 0%,#f8f5f0 100%);
  color:#211d1a;
}
.services-page .service-directory-inner{
  width:min(1220px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);
  gap:clamp(46px,6vw,90px);
  align-items:start;
}
.services-page .service-directory-intro{
  max-width:390px;
  padding-top:4px;
}
.services-page .service-directory-intro .eyebrow{
  margin:0 0 14px;
  color:#168897!important;
}
.services-page .service-directory-intro h2{
  margin:0;
  color:#201b18;
  font-size:clamp(2.25rem,3.6vw,3.35rem);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:800;
  text-transform:none;
}
.services-page .service-directory-intro h2 span{color:#7256bd}
.services-page .service-directory-intro>p:not(.eyebrow){
  margin:20px 0 22px;
  color:#615a54;
  font-size:.98rem;
  line-height:1.68;
}
.services-page .service-directory-intro .line-link{
  color:#32727a!important;
  border-color:rgba(50,114,122,.42)!important;
  font-size:.78rem;
}
.services-page .service-directory-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(40,32,27,.13);
  border-left:1px solid rgba(40,32,27,.13);
  background:rgba(255,255,255,.28);
}
.services-page .service-directory-item{
  --directory-accent:#168897;
  min-height:124px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  padding:19px 18px 18px;
  color:#211d1a;
  text-decoration:none;
  border-right:1px solid rgba(40,32,27,.13);
  border-bottom:1px solid rgba(40,32,27,.13);
  background:rgba(255,255,255,.42);
  transition:background .22s ease,transform .22s ease,box-shadow .22s ease;
}
.services-page .service-directory-item>span{
  padding-top:4px;
  color:var(--directory-accent);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.13em;
}
.services-page .service-directory-item h3{
  margin:0 0 6px;
  color:#241f1b;
  font-size:1.08rem;
  line-height:1.18;
  letter-spacing:-.012em;
}
.services-page .service-directory-item p{
  margin:0;
  color:#716962;
  font-size:.79rem;
  line-height:1.48;
}
.services-page .service-directory-item>b{
  align-self:center;
  color:var(--directory-accent);
  font-size:1.05rem;
  font-weight:500;
  transition:transform .22s ease;
}
@media(hover:hover){
  .services-page .service-directory-item:hover{
    position:relative;
    z-index:2;
    background:#fff;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(61,49,40,.08);
  }
  .services-page .service-directory-item:hover>b{transform:translateX(3px)}
}
.services-page .service-directory-item--dj{--directory-accent:#0098a8}
.services-page .service-directory-item--wedding{--directory-accent:#a37e47}
.services-page .service-directory-item--prom{--directory-accent:#7c4fe2}
.services-page .service-directory-item--christmas{--directory-accent:#a88445}
.services-page .service-directory-item--brand{--directory-accent:#8b68aa}
.services-page .service-directory-item--production{--directory-accent:#365dca}
.services-page .service-directory-item--karaoke{--directory-accent:#c83b9d}
.services-page .service-directory-item--venue{--directory-accent:#52616f}

.services-page .service-directory-support{
  width:min(1220px,calc(100% - 48px));
  margin:clamp(34px,4vw,52px) auto 0;
  padding:22px 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  background:linear-gradient(120deg,#171a20,#20202a 56%,#251d27);
  box-shadow:0 16px 34px rgba(32,25,22,.10);
}
.services-page .service-directory-support .eyebrow{
  margin:0 0 6px;
  color:#70e3ec!important;
}
.services-page .service-directory-support h3{
  max-width:730px;
  margin:0;
  color:#fff;
  font-size:clamp(1.18rem,1.7vw,1.58rem);
  line-height:1.16;
  letter-spacing:-.015em;
}
.services-page .service-directory-support-actions{
  display:flex;
  gap:11px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.services-page .service-directory-support .primary{white-space:nowrap}
.services-page .service-directory-support .line-link{white-space:nowrap;color:#bfeff3!important;border-color:rgba(112,227,236,.45)!important}

@media(max-width:980px){
  .services-page .service-directory-inner{grid-template-columns:1fr;gap:30px}
  .services-page .service-directory-intro{max-width:680px}
  .services-page .service-directory-support{grid-template-columns:1fr;gap:18px}
  .services-page .service-directory-support-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .services-page .service-directory{padding:58px 18px 54px}
  .services-page .service-directory-intro h2{
    font-size:clamp(2.05rem,10vw,2.85rem);
    line-height:1.03;
  }
  .services-page .service-directory-intro>p:not(.eyebrow){
    margin:16px 0 19px;
    font-size:.91rem;
    line-height:1.58;
  }
  .services-page .service-directory-list{grid-template-columns:1fr}
  .services-page .service-directory-item{
    min-height:0;
    grid-template-columns:30px minmax(0,1fr) auto;
    padding:16px 15px;
  }
  .services-page .service-directory-item h3{font-size:1rem}
  .services-page .service-directory-item p{font-size:.76rem}
  .services-page .service-directory-support{
    width:100%;
    margin-top:28px;
    padding:19px 18px;
    border-radius:15px;
  }
  .services-page .service-directory-support-actions{align-items:flex-start;flex-direction:column}
}
