/* Homepage mobile UX polish — 2026-09-13
   Keeps the existing Time & Tempo visual system, improves mobile rhythm,
   reduces oversized headings, and lets the showcase photography breathe. */

@media (max-width:760px){
  /* Hero: keep the statement strong without filling the entire first screen. */
  .home-hero-with-photo .manifesto h1{
    font-size:clamp(3rem,13vw,4.65rem)!important;
    line-height:.84!important;
    letter-spacing:-.06em!important;
  }
  .home-hero-with-photo .manifesto{
    padding-top:96px!important;
    padding-bottom:24px!important;
  }
  .home-hero-with-photo .lede{
    max-width:350px!important;
    font-size:.96rem;
    line-height:1.58;
  }

  /* What we do: shorter scroll, same hierarchy and tap targets. */
  .home-services{
    padding-top:46px!important;
    padding-bottom:30px!important;
  }
  .home-services .production-title{gap:24px!important}
  .home-services .production-title h2{
    font-size:clamp(2.7rem,12.4vw,3.95rem)!important;
    line-height:.88!important;
    letter-spacing:-.055em!important;
  }
  .home-services .home-service-grid{
    margin-top:34px!important;
    gap:10px!important;
  }
  .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{
    min-height:238px!important;
    padding:22px!important;
  }
  .home-services .home-service-grid article>span{top:24px!important;right:22px!important}
  .home-services .service-icon{width:44px!important;height:44px!important}
  .home-services .home-service-grid h3{
    margin-top:27px!important;
    margin-bottom:10px!important;
    font-size:clamp(1.62rem,7.7vw,2.14rem)!important;
    line-height:.98!important;
  }
  .home-services .home-service-grid p{font-size:.92rem!important;line-height:1.55!important}
  .home-services .service-link{padding-top:17px!important}

  /* Themed nights becomes the first visual payoff after services. */
  .home-nights-section{padding:52px 0 44px!important}
  .home-nights-heading{margin-bottom:18px!important}
  .home-nights-heading h2{
    margin-top:9px!important;
    font-size:clamp(2.45rem,11vw,3.6rem)!important;
    line-height:.9!important;
    letter-spacing:-.052em!important;
  }
  .home-nights-heading>p:not(.kicker){font-size:.94rem!important;line-height:1.56!important}
  .home-nights-section .poster-stage{min-height:530px!important}

  /* Keep the active poster fully inside the horizontal rail on phones.
     The desktop 3D active transform is intentionally reduced here so the
     coloured selection border and shadow are never clipped at the top. */
  .home-nights-section .poster-rail{
    padding:14px 20px 10px!important;
  }
  .home-nights-section .poster-stage .poster.is-active{
    transform:translateY(-3px) scale(1.012)!important;
  }

  /* Large feature cards: less empty image space above copy and tighter gaps. */
  .home-christmas-banner{padding:28px 16px 14px!important}
  .home-brand-feature{padding:14px 16px!important}
  .home-prom-feature{padding:14px 16px 28px!important}

  .home-christmas-banner-inner{min-height:660px!important;border-radius:22px!important}
  .home-brand-feature-inner,
  .home-prom-feature-inner{min-height:640px!important;border-radius:22px!important}

  .home-christmas-banner-copy{
    min-height:660px!important;
    padding:126px 18px 24px!important;
    justify-content:flex-start!important;
  }
  .home-brand-feature-copy,
  .home-prom-feature-copy{
    width:100%!important;
    min-height:640px!important;
    padding:154px 20px 25px!important;
    justify-content:flex-end!important;
  }

  .home-brand-feature h2,
  .home-prom-feature h2{
    font-size:clamp(2.28rem,10.7vw,3.35rem)!important;
    line-height:.88!important;
    letter-spacing:-.052em!important;
  }
  .home-christmas-banner h2{
    font-size:clamp(2.28rem,10.8vw,3.35rem)!important;
    line-height:.88!important;
  }

  .home-brand-feature-copy>p,
  .home-prom-feature-copy>p:not(.kicker),
  .home-christmas-banner-copy>p:not(.kicker){
    font-size:.91rem!important;
    line-height:1.54!important;
  }
  .home-brand-feature .brand-badge,
  .home-prom-feature .home-prom-badge{margin-bottom:14px!important}
  .home-brand-feature .kicker,
  .home-prom-feature .kicker,
  .home-christmas-banner .kicker{margin-bottom:10px!important}

  .home-brand-feature .page-actions,
  .home-prom-feature .page-actions,
  .home-christmas-banner .page-actions{
    margin-top:18px!important;
    gap:10px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .home-brand-feature .page-actions .line-link,
  .home-prom-feature .page-actions .line-link,
  .home-christmas-banner .page-actions .line-link{
    font-size:.64rem!important;
    letter-spacing:.12em!important;
  }

  /* Preserve the useful subject matter in the mobile crop. */
  .home-prom-feature img{object-position:63% 48%!important}
  .home-brand-feature img{object-position:50% center!important}

  /* Local section closes the page without another oversized wall of type. */
  .local-home{padding:68px 20px!important}
  .local-home-inner{gap:28px!important}
  .local-home h2{
    margin-top:18px!important;
    font-size:clamp(2.7rem,12vw,4rem)!important;
    line-height:.86!important;
  }
  .local-home-copy p{font-size:.96rem!important;line-height:1.62!important}
}

@media (max-width:430px){
  .home-hero-with-photo .manifesto{padding-top:88px!important}
  .home-hero-with-photo .manifesto h1{font-size:clamp(2.85rem,12.7vw,3.85rem)!important}
  .home-services .production-title h2{font-size:clamp(2.55rem,11.8vw,3.45rem)!important}
  .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{min-height:226px!important}

  .home-nights-heading h2{font-size:clamp(2.3rem,10.6vw,3.15rem)!important}
  .home-christmas-banner-inner{min-height:640px!important}
  .home-brand-feature-inner,.home-prom-feature-inner{min-height:620px!important}
  .home-christmas-banner-copy{min-height:640px!important;padding-top:112px!important}
  .home-brand-feature-copy,.home-prom-feature-copy{min-height:620px!important;padding:138px 18px 22px!important}
  .home-brand-feature h2,.home-prom-feature h2,.home-christmas-banner h2{font-size:clamp(2.18rem,10.2vw,3.02rem)!important}
  .home-brand-feature .primary,.home-prom-feature .primary,.home-christmas-banner .primary{width:100%!important}
}

/* Homepage hierarchy polish — 2026-09-13
   Brings the homepage in line with the rebuilt Services page without changing
   the themed-night artwork, poster colours or slider behaviour. */

@media (min-width:761px){
  /* Keep a little more of the DJ/decks in view without turning the hero into a tall wall. */
  .home-hero-with-photo{
    min-height:min(780px,88svh)!important;
    background-position:65% 48%!important;
  }
  .home-hero-with-photo .manifesto{
    padding-bottom:58px!important;
  }

  /* What we do: six equal cards, three by two. */
  .home-services{
    padding-top:clamp(72px,7vw,96px)!important;
    padding-bottom:clamp(68px,7vw,92px)!important;
  }
  .home-services .home-service-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    margin-top:clamp(42px,4vw,58px)!important;
  }
  .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:nth-child(6),
  .home-services .home-service-grid article:last-child{
    grid-column:span 1!important;
    min-height:292px!important;
    padding:25px 25px 23px!important;
  }
  .home-services .home-service-grid h3{
    margin-top:34px!important;
    margin-bottom:11px!important;
    font-size:clamp(1.52rem,1.75vw,2.12rem)!important;
    line-height:.98!important;
  }
  .home-services .home-service-grid p{
    font-size:.9rem!important;
    line-height:1.55!important;
  }
  .home-services .service-link{
    padding-top:18px!important;
    font-size:.67rem!important;
  }
  .home-services .service-icon{
    width:46px!important;
    height:46px!important;
  }
  .home-services .home-service-grid article:nth-child(1),
  .home-services .home-service-grid article:nth-child(3),
  .home-services .home-service-grid article:nth-child(5){--card-accent:#00e5ff!important}
  .home-services .home-service-grid article:nth-child(2),
  .home-services .home-service-grid article:nth-child(4),
  .home-services .home-service-grid article:nth-child(6){--card-accent:#8e4bff!important}

  /* Themed Nights: same slider, less empty staging around it. */
  .home-nights-section{
    padding:58px 0 46px!important;
  }
  .home-nights-heading{
    margin-bottom:12px!important;
  }
  .home-nights-heading h2{
    margin-bottom:10px!important;
  }
  .home-nights-section .poster-stage{
    min-height:570px!important;
  }
  .home-nights-section .poster-rail{
    height:min(64vh,650px)!important;
    padding-top:34px!important;
    padding-bottom:28px!important;
  }

  /* The three campaign cards now share one underlying proportion and rhythm. */
  .home-christmas-banner,
  .home-brand-feature,
  .home-prom-feature{
    padding:28px clamp(20px,5vw,72px)!important;
  }
  .home-christmas-banner-inner,
  .home-brand-feature-inner,
  .home-prom-feature-inner{
    width:min(1400px,100%)!important;
    min-height:600px!important;
    border-radius:26px!important;
  }
  .home-christmas-banner-copy,
  .home-brand-feature-copy,
  .home-prom-feature-copy{
    width:min(720px,64%)!important;
    min-height:600px!important;
    padding:58px 0 52px clamp(28px,5vw,64px)!important;
    justify-content:center!important;
  }
  .home-christmas-banner h2,
  .home-brand-feature h2,
  .home-prom-feature h2{
    font-size:clamp(3.15rem,5.5vw,6.15rem)!important;
    line-height:.86!important;
    letter-spacing:-.058em!important;
  }
  .home-christmas-banner-copy>p:not(.kicker),
  .home-brand-feature-copy>p:not(.kicker),
  .home-prom-feature-copy>p:not(.kicker){
    max-width:610px!important;
    margin-top:20px!important;
    font-size:.98rem!important;
    line-height:1.62!important;
  }
  .home-christmas-banner .page-actions,
  .home-brand-feature .page-actions,
  .home-prom-feature .page-actions{
    margin-top:22px!important;
  }
  .home-christmas-tags{
    margin-top:17px!important;
  }
  .home-christmas-tags span{
    padding:7px 10px!important;
    font-size:.59rem!important;
  }

  /* The brand photograph needs more of its vertical composition retained. */
  .home-brand-feature img{
    object-position:50% 38%!important;
  }
  .home-prom-feature img{
    object-position:62% 48%!important;
  }
  .home-christmas-banner-inner>img{
    object-position:54% 46%!important;
  }

  /* A cleaner close into the footer. */
  .local-home{
    padding:72px clamp(24px,6vw,100px)!important;
  }
  .local-home-inner{
    gap:clamp(36px,6vw,82px)!important;
  }
  .local-home h2{
    margin-top:20px!important;
    font-size:clamp(3rem,5.3vw,5.8rem)!important;
  }
  .local-home-copy p{
    margin-bottom:12px!important;
    font-size:.99rem!important;
    line-height:1.58!important;
  }
}

@media (min-width:761px) and (max-width:1050px){
  .home-services .home-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .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:nth-child(6),
  .home-services .home-service-grid article:last-child{
    grid-column:span 1!important;
  }
}

@media (max-width:760px){
  /* Six compact service cards instead of the old uneven five-card stack. */
  .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:nth-child(6),
  .home-services .home-service-grid article:last-child{
    min-height:220px!important;
    padding:20px 21px!important;
  }
  .home-services .home-service-grid h3{
    margin-top:24px!important;
    font-size:clamp(1.5rem,7.2vw,2rem)!important;
  }
  .home-services .home-service-grid p{
    font-size:.89rem!important;
    line-height:1.5!important;
  }
  .home-services .service-link{
    padding-top:14px!important;
  }

  /* Feature cards: keep the photography, remove unnecessary scrolling height. */
  .home-christmas-banner,
  .home-brand-feature,
  .home-prom-feature{
    padding:12px 16px!important;
  }
  .home-christmas-banner-inner{
    min-height:600px!important;
  }
  .home-brand-feature-inner,
  .home-prom-feature-inner{
    min-height:580px!important;
  }
  .home-christmas-banner-copy{
    min-height:600px!important;
    padding:112px 18px 22px!important;
  }
  .home-brand-feature-copy,
  .home-prom-feature-copy{
    min-height:580px!important;
    padding:126px 18px 22px!important;
  }
  .home-brand-feature h2,
  .home-prom-feature h2,
  .home-christmas-banner h2{
    font-size:clamp(2.12rem,10vw,3.05rem)!important;
    line-height:.9!important;
  }
  .home-brand-feature-copy>p,
  .home-prom-feature-copy>p:not(.kicker),
  .home-christmas-banner-copy>p:not(.kicker){
    margin-top:15px!important;
    font-size:.88rem!important;
    line-height:1.48!important;
  }
  .home-christmas-tags{
    margin-top:12px!important;
    gap:6px!important;
  }
  .home-christmas-tags span{
    padding:6px 8px!important;
    font-size:.55rem!important;
  }
  .home-brand-feature .page-actions,
  .home-prom-feature .page-actions,
  .home-christmas-banner .page-actions{
    margin-top:15px!important;
  }
  .home-brand-feature img{object-position:50% 39%!important}
  .home-prom-feature img{object-position:63% 47%!important}
  .home-christmas-banner-inner>img{object-position:56% 45%!important}

  .local-home{
    padding:56px 20px!important;
  }
  .local-home-inner{
    gap:22px!important;
  }
  .local-home h2{
    margin-top:14px!important;
    font-size:clamp(2.5rem,11.3vw,3.7rem)!important;
  }
  .local-home-copy p{
    margin-bottom:10px!important;
    font-size:.92rem!important;
    line-height:1.52!important;
  }
}

@media (max-width:430px){
  .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:nth-child(6),
  .home-services .home-service-grid article:last-child{
    min-height:210px!important;
  }
  .home-christmas-banner-inner{min-height:585px!important}
  .home-brand-feature-inner,.home-prom-feature-inner{min-height:565px!important}
  .home-christmas-banner-copy{min-height:585px!important;padding-top:104px!important}
  .home-brand-feature-copy,.home-prom-feature-copy{min-height:565px!important;padding-top:116px!important}
}

/* V4 — Themed Nights desktop stage carousel.
   Uses the existing active-card state and poster colours so the slider keeps its
   current 3-second auto-scroll / drag behaviour while gaining depth and a centre spotlight. */
@media (min-width:721px){
  .home-nights-section .poster-stage{
    position:relative;
    isolation:isolate;
    perspective:1500px!important;
    transform-style:preserve-3d!important;
    overflow:visible;
  }
  .home-nights-section .poster-stage::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    top:48%;
    width:min(760px,58vw);
    height:72%;
    transform:translate(-50%,-50%);
    pointer-events:none;
    background:
      radial-gradient(ellipse at 50% 49%,color-mix(in srgb,var(--night-accent) 14%,transparent) 0%,transparent 48%),
      radial-gradient(ellipse at 50% 54%,color-mix(in srgb,var(--night-accent2) 9%,transparent) 0%,transparent 58%);
    filter:blur(20px);
    opacity:.88;
    transition:background .55s ease,opacity .4s ease;
  }
  .home-nights-section .poster-stage::after{
    content:"";
    position:absolute;
    z-index:1;
    left:50%;
    bottom:48px;
    width:min(470px,36vw);
    height:112px;
    transform:translateX(-50%) perspective(500px) rotateX(67deg);
    transform-origin:center bottom;
    pointer-events:none;
    border-radius:50%;
    background:
      radial-gradient(ellipse at center,
        color-mix(in srgb,var(--night-accent) 36%,rgba(255,255,255,.18)) 0%,
        color-mix(in srgb,var(--night-accent2) 18%,transparent) 34%,
        transparent 72%);
    filter:blur(8px);
    opacity:.82;
    box-shadow:0 0 42px color-mix(in srgb,var(--night-accent) 18%,transparent);
    transition:background .55s ease,box-shadow .55s ease;
  }
  .home-nights-section .stage-label,
  .home-nights-section .rail-nav{z-index:6}
  .home-nights-section .poster-rail{
    position:relative;
    z-index:3;
    perspective:1500px!important;
    perspective-origin:50% 46%;
    transform-style:preserve-3d!important;
    overflow-x:auto;
    overflow-y:visible!important;
    padding-top:52px!important;
    padding-bottom:72px!important;
    gap:clamp(8px,1vw,16px)!important;
  }
  .home-nights-section .poster-rail>.rail-spacer,
  .home-nights-section .poster-rail>.rail-spacer.end{
    display:block!important;
    flex:0 0 calc(50% - clamp(122.5px,10.5vw,177.5px))!important;
  }
  .home-nights-section .poster-stage .poster.is-before{
    box-shadow:16px 22px 44px rgba(0,0,0,.48),0 8px 18px rgba(0,0,0,.32)!important;
  }
  .home-nights-section .poster-stage .poster.is-after{
    box-shadow:-16px 22px 44px rgba(0,0,0,.48),0 8px 18px rgba(0,0,0,.32)!important;
  }
  .home-nights-section .poster-stage .poster,
  .home-nights-section .poster-stage .poster:nth-of-type(even){
    transform-style:preserve-3d!important;
    transform:
      translate3d(var(--poster-x),var(--poster-y),var(--poster-z))
      rotateY(var(--poster-rotate))
      scale(var(--poster-scale))!important;
    transform-origin:50% 54%;
    filter:saturate(var(--poster-saturation)) brightness(var(--poster-brightness))!important;
    opacity:var(--poster-opacity)!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:
      0 22px 44px rgba(0,0,0,.48),
      0 8px 18px rgba(0,0,0,.32)!important;
    transition:
      transform .58s cubic-bezier(.2,.78,.2,1),
      filter .45s ease,
      opacity .45s ease,
      border-color .4s ease,
      box-shadow .5s ease!important;
    will-change:transform,filter,opacity!important;
    backface-visibility:hidden;
  }
  .home-nights-section .poster-stage .poster.is-active{
    transform:translate3d(0,-13px,105px) rotateY(0deg) scale(1.085)!important;
    filter:saturate(1.08) brightness(1.04) contrast(1.025)!important;
    opacity:1!important;
    border-color:color-mix(in srgb,var(--accent) 82%,#fff 18%)!important;
    box-shadow:
      0 35px 78px rgba(0,0,0,.68),
      0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent),
      0 0 44px color-mix(in srgb,var(--accent) 28%,transparent),
      0 22px 66px color-mix(in srgb,var(--accent2) 13%,transparent)!important;
  }
  .home-nights-section .poster-stage .poster.is-before,
  .home-nights-section .poster-stage .poster.is-after{
    border-color:rgba(255,255,255,.11)!important;
  }
  .home-nights-section .poster-stage .poster.is-active img{
    filter:saturate(1.08) contrast(1.045) brightness(1.02)!important;
  }
  .home-nights-section .poster-stage .poster:not(.is-active):hover,
  .home-nights-section .poster-stage .poster:not(.is-active):focus-visible{
    transform:
      translate3d(var(--poster-x),calc(var(--poster-y) - 6px),calc(var(--poster-z) + 24px))
      rotateY(var(--hover-rotate))
      scale(calc(var(--poster-scale) + .018))!important;
    filter:saturate(.98) brightness(.92)!important;
    opacity:.94!important;
    border-color:color-mix(in srgb,var(--accent) 52%,rgba(255,255,255,.22))!important;
  }
  .home-nights-section .poster-stage .poster-open{
    background:linear-gradient(180deg,rgba(5,6,9,.44),rgba(5,6,9,.90));
    backdrop-filter:blur(7px);
  }
}

/* Tablet: keep depth, but reduce the angle and lift so the posters remain easy to scan. */
@media (min-width:721px) and (max-width:1050px){
  .home-nights-section .poster-stage::after{
    width:min(390px,46vw);
    bottom:52px;
    opacity:.7;
  }
  .home-nights-section .poster-stage .poster.is-active{
    transform:translate3d(0,-8px,70px) rotateY(0deg) scale(1.055)!important;
  }
}

/* Mobile remains a swipe-first carousel: no strong 3D tilt, only a soft active-card stage glow. */
@media (max-width:720px){
  .home-nights-section .poster-stage{
    position:relative;
    isolation:isolate;
  }
  .home-nights-section .poster-stage::after{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;
    bottom:49px;
    width:min(300px,72vw);
    height:72px;
    transform:translateX(-50%);
    pointer-events:none;
    border-radius:50%;
    background:radial-gradient(ellipse at center,color-mix(in srgb,var(--night-accent) 22%,transparent),transparent 70%);
    filter:blur(9px);
    opacity:.58;
  }
  .home-nights-section .poster-rail{position:relative;z-index:2}
  .home-nights-section .poster-stage .poster.is-active{
    transform:translateY(-4px) scale(1.018)!important;
    box-shadow:0 24px 55px rgba(0,0,0,.62),0 0 28px color-mix(in srgb,var(--accent) 20%,transparent)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-nights-section .poster-stage::before,
  .home-nights-section .poster-stage::after,
  .home-nights-section .poster-stage .poster{
    transition:none!important;
  }
}


/* V5 — smoother 3D themed-night carousel.
   Prevents scroll-snap / transform feedback, gives the first and final posters true
   centre positions, and softens depth changes so the active handoff feels fluid. */
@media (min-width:721px){
  .home-nights-section .poster-rail{
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
  }
  .home-nights-section .poster-rail>.rail-spacer,
  .home-nights-section .poster-rail>.rail-spacer.end{
    flex-basis:max(20px,calc(50% - clamp(110px,8.5vw,160px) - clamp(8px,1vw,16px)))!important;
  }
  .home-nights-section .poster-stage .poster,
  .home-nights-section .poster-stage .poster:nth-of-type(even){
    margin-right:0!important;
    transition:
      transform .74s cubic-bezier(.22,.72,.18,1),
      filter .58s ease,
      opacity .58s ease,
      border-color .46s ease,
      box-shadow .62s ease!important;
  }
  .home-nights-section .poster-stage .poster.is-active{
    transform:translate3d(0,-10px,88px) rotateY(0deg) scale(1.066)!important;
  }
  .home-nights-section .poster-rail.is-settling .poster{
    pointer-events:none;
  }
}

@media (min-width:721px) and (max-width:1050px){
  .home-nights-section .poster-stage .poster.is-active{
    transform:translate3d(0,-7px,62px) rotateY(0deg) scale(1.045)!important;
  }
}

/* V5.1 — continuous depth interpolation while the rail moves.
   Geometry now follows actual scroll position, so no card snaps when the active index changes. */
@media (min-width:721px){
  .home-nights-section .poster-stage .poster.is-active,
  .home-nights-section .poster-stage .poster.is-before,
  .home-nights-section .poster-stage .poster.is-after,
  .home-nights-section .poster-stage .poster:nth-of-type(even){
    transform:
      translate3d(var(--poster-x),var(--poster-y),var(--poster-z))
      rotateY(var(--poster-rotate))
      scale(var(--poster-scale))!important;
  }
  .home-nights-section .poster-stage .poster.is-before,
  .home-nights-section .poster-stage .poster.is-after{
    box-shadow:0 22px 44px rgba(0,0,0,.48),0 8px 18px rgba(0,0,0,.32)!important;
  }
  .home-nights-section .poster-stage .poster.is-active{
    filter:saturate(var(--poster-saturation)) brightness(var(--poster-brightness))!important;
    opacity:var(--poster-opacity)!important;
    box-shadow:
      0 34px 74px rgba(0,0,0,.66),
      0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent),
      0 0 40px color-mix(in srgb,var(--accent) 25%,transparent),
      0 20px 58px color-mix(in srgb,var(--accent2) 12%,transparent)!important;
  }
}

@media (min-width:721px){
  /* Keep the poster artwork itself stable; all motion now comes from the card depth.
     This avoids a second scale animation firing exactly when the active card changes. */
  .home-nights-section .poster-stage .poster img,
  .home-nights-section .poster-stage .poster.is-active img,
  .home-nights-section .poster-stage .poster:hover img{
    transform:scale(1.035)!important;
    filter:saturate(1.04) contrast(1.045) brightness(1.01)!important;
    transition:none!important;
  }
}

/* V6 — compact homepage services-at-a-glance.
   Replaces the oversized editorial treatment with a calmer section that hands visual priority
   back to the themed-night and campaign features below. */
.home-services.home-services-compact{
  padding:clamp(62px,6vw,88px) clamp(20px,4vw,64px)!important;
}
.home-services.home-services-compact .home-services-heading{
  width:min(1180px,100%);
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(140px,.32fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:clamp(28px,5vw,74px)!important;
}
.home-services.home-services-compact .home-services-heading>p{
  margin:7px 0 0!important;
  font-size:.75rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.home-services.home-services-compact .home-services-heading h2{
  max-width:760px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(2.25rem,3.6vw,3.45rem)!important;
  line-height:1.01!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
  text-transform:none!important;
}
.home-services.home-services-compact .home-services-heading h2 span{
  color:#a991ff!important;
  opacity:1!important;
}
.home-services.home-services-compact .home-services-intro{
  max-width:760px;
  margin:15px 0 0;
  color:#aeb7c2;
  font-size:.98rem;
  line-height:1.62;
}
.home-services.home-services-compact .home-service-grid-compact{
  width:min(1180px,100%);
  margin:34px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.home-services.home-services-compact .home-service-grid-compact article,
.home-services.home-services-compact .home-service-grid-compact article:nth-child(n),
.home-services.home-services-compact .home-service-grid-compact article:last-child{
  grid-column:auto!important;
  min-height:188px!important;
  padding:20px 20px 18px!important;
  display:grid!important;
  grid-template-columns:38px 1fr auto!important;
  grid-template-rows:auto auto 1fr auto!important;
  column-gap:12px!important;
  align-content:start!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(19,23,31,.88),rgba(9,11,16,.76))!important;
  box-shadow:0 16px 34px rgba(0,0,0,.16)!important;
  overflow:hidden;
}
.home-services.home-services-compact .home-service-grid-compact article::before{
  opacity:.82!important;
  height:2px!important;
}
.home-services.home-services-compact .service-icon{
  grid-column:1;
  grid-row:1 / span 2;
  width:38px!important;
  height:38px!important;
  margin:0!important;
  border-radius:11px!important;
}
.home-services.home-services-compact .home-service-grid-compact article>span{
  position:static!important;
  grid-column:3;
  grid-row:1;
  justify-self:end;
  margin:2px 0 0!important;
  color:var(--card-accent,#00e5ff)!important;
  font-size:.62rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
}
.home-services.home-services-compact .home-service-grid-compact h3{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
  margin:0!important;
  padding-right:4px;
  color:#f7f9fb!important;
  font-size:1.12rem!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
}
.home-services.home-services-compact .home-service-grid-compact p{
  grid-column:1 / -1;
  grid-row:3;
  margin:17px 0 0!important;
  color:#aab3bd!important;
  font-size:.84rem!important;
  line-height:1.48!important;
}
.home-services.home-services-compact .service-link{
  grid-column:1 / -1;
  grid-row:4;
  align-self:end;
  margin-top:14px!important;
  padding-top:11px!important;
  border-top:1px solid rgba(255,255,255,.07);
  color:#dce5ed!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
}
.home-services.home-services-compact .home-services-all{
  width:min(1180px,100%);
  margin:22px auto 0;
  display:flex;
  justify-content:flex-end;
}
.home-services.home-services-compact .home-services-all .line-link{
  font-size:.78rem;
}
@media(max-width:980px){
  .home-services.home-services-compact .home-service-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .home-services.home-services-compact{padding:54px 18px 58px!important}
  .home-services.home-services-compact .home-services-heading{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .home-services.home-services-compact .home-services-heading>p{margin:0!important}
  .home-services.home-services-compact .home-services-heading h2{
    font-size:clamp(2rem,9.6vw,2.65rem)!important;
    line-height:1.03!important;
  }
  .home-services.home-services-compact .home-services-intro{
    margin-top:12px;
    font-size:.9rem;
    line-height:1.55;
  }
  .home-services.home-services-compact .home-service-grid-compact{
    grid-template-columns:1fr!important;
    margin-top:27px!important;
    gap:9px!important;
  }
  .home-services.home-services-compact .home-service-grid-compact article,
  .home-services.home-services-compact .home-service-grid-compact article:nth-child(n),
  .home-services.home-services-compact .home-service-grid-compact article:last-child{
    min-height:0!important;
    padding:17px 17px 15px!important;
  }
  .home-services.home-services-compact .home-service-grid-compact p{margin-top:14px!important}
  .home-services.home-services-compact .home-services-all{justify-content:flex-start;margin-top:18px}
}


/* V7 — Homepage services intro correction.
   Keep this as a compact editorial header, not a second hero. Homepage only. */
.home-services.home-services-compact .home-services-heading-v2{
  width:min(1180px,100%);
  margin:0 auto!important;
  display:block!important;
}
.home-services.home-services-compact .home-services-heading-v2 .home-services-kicker{
  position:relative!important;
  margin:0 0 18px!important;
  padding-left:34px!important;
  color:#c5cad1!important;
  font-size:.72rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.home-services.home-services-compact .home-services-heading-v2 .home-services-kicker::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);
}
.home-services.home-services-compact .home-services-heading-row{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
  gap:clamp(34px,5vw,76px);
  align-items:end;
}
.home-services.home-services-compact .home-services-heading-v2 h2{
  max-width:760px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(2.5rem,4vw,4rem)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
  font-weight:800!important;
  text-transform:none!important;
  text-wrap:balance;
}
.home-services.home-services-compact .home-services-heading-v2 h2 span{
  color:#a991ff!important;
  -webkit-text-stroke:0!important;
}
.home-services.home-services-compact .home-services-heading-v2 .home-services-intro{
  max-width:390px!important;
  margin:0 0 3px!important;
  color:#aeb7c2!important;
  font-size:.95rem!important;
  line-height:1.58!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:400!important;
}
.home-services.home-services-compact .home-service-grid-compact{
  margin-top:28px!important;
}
@media(max-width:900px){
  .home-services.home-services-compact .home-services-heading-row{
    grid-template-columns:1fr;
    gap:15px;
    align-items:start;
  }
  .home-services.home-services-compact .home-services-heading-v2 .home-services-intro{
    max-width:680px!important;
    margin:0!important;
  }
}
@media(max-width:720px){
  .home-services.home-services-compact .home-services-heading-v2 .home-services-kicker{
    margin-bottom:13px!important;
  }
  .home-services.home-services-compact .home-services-heading-v2 h2{
    font-size:clamp(2rem,9.6vw,2.7rem)!important;
    line-height:1.02!important;
  }
  .home-services.home-services-compact .home-services-heading-v2 .home-services-intro{
    font-size:.9rem!important;
    line-height:1.52!important;
  }
  .home-services.home-services-compact .home-service-grid-compact{
    margin-top:24px!important;
  }
}


/* V8 — final homepage consistency pass.
   Calms the last oversized type, turns the ticker into a useful proof line,
   gives Themed Nights the same editorial hierarchy as the refreshed pages,
   and tightens the feature-card / local-close rhythm. */
@media(min-width:761px){
  .home-hero-with-photo{
    min-height:min(760px,86svh)!important;
    background-position:66% 48%!important;
  }
  .home-hero-with-photo .manifesto{
    width:min(720px,100%)!important;
    min-height:640px!important;
    padding-top:clamp(112px,14vh,150px)!important;
    padding-bottom:70px!important;
  }
  .home-hero-with-photo .manifesto h1{
    max-width:680px;
    margin:20px 0 19px!important;
    font-size:clamp(3.8rem,5.6vw,6.15rem)!important;
    line-height:.86!important;
    letter-spacing:-.06em!important;
  }
  .home-hero-with-photo .lede{
    max-width:520px!important;
    font-size:.98rem!important;
    line-height:1.62!important;
  }
  .home-hero-with-photo .home-hero-actions{margin-top:25px!important}

  .ticker{height:46px!important}
  .ticker span{padding-left:22px!important;padding-right:22px!important;font-size:.62rem!important}

  .home-services.home-services-compact{
    padding-top:68px!important;
    padding-bottom:72px!important;
  }

  .home-nights-section{padding-top:64px!important;padding-bottom:42px!important}
  .home-nights-heading{
    width:min(1180px,calc(100% - 48px))!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
    gap:clamp(38px,6vw,86px)!important;
    align-items:end!important;
    margin-bottom:18px!important;
  }
  .home-nights-heading h2{
    max-width:760px!important;
    margin:10px 0 0!important;
    font-size:clamp(2.9rem,4.8vw,5.25rem)!important;
    line-height:.9!important;
    letter-spacing:-.052em!important;
    text-transform:none!important;
    text-wrap:balance;
  }
  .home-nights-heading-side{
    padding-bottom:5px;
  }
  .home-nights-heading-side p{
    max-width:470px!important;
    margin:0 0 16px!important;
    color:#a9afb8!important;
    font-size:.94rem!important;
    line-height:1.58!important;
  }
  .home-nights-section .poster-stage{min-height:550px!important}

  .home-christmas-banner,
  .home-brand-feature,
  .home-prom-feature{
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
  .home-christmas-banner-inner,
  .home-brand-feature-inner,
  .home-prom-feature-inner{
    min-height:560px!important;
  }
  .home-christmas-banner-copy,
  .home-brand-feature-copy,
  .home-prom-feature-copy{
    min-height:560px!important;
    width:min(680px,61%)!important;
    padding-top:48px!important;
    padding-bottom:46px!important;
  }
  .home-christmas-banner h2,
  .home-brand-feature h2,
  .home-prom-feature h2{
    font-size:clamp(2.9rem,4.75vw,5.35rem)!important;
    line-height:.9!important;
    letter-spacing:-.052em!important;
  }
  .home-christmas-banner-copy>p:not(.kicker),
  .home-brand-feature-copy>p:not(.kicker),
  .home-prom-feature-copy>p:not(.kicker){
    max-width:570px!important;
    margin-top:16px!important;
    font-size:.94rem!important;
    line-height:1.56!important;
  }

  .local-home{padding-top:66px!important;padding-bottom:66px!important}
  .local-home h2{
    font-size:clamp(2.9rem,4.7vw,5.15rem)!important;
    line-height:.88!important;
    letter-spacing:-.055em!important;
    text-transform:none!important;
  }
  .home-local-actions{
    margin-top:22px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:14px 20px!important;
    align-items:center!important;
  }
  .home-local-actions .primary{
    min-height:48px!important;
    padding:0 18px!important;
    font-size:.66rem!important;
  }
}

@media(min-width:761px) and (max-width:980px){
  .home-nights-heading{
    grid-template-columns:1fr!important;
    gap:16px!important;
    align-items:start!important;
  }
  .home-nights-heading-side p{max-width:720px!important}
  .home-christmas-banner-copy,
  .home-brand-feature-copy,
  .home-prom-feature-copy{width:min(720px,72%)!important}
}

@media(max-width:760px){
  .home-hero-with-photo{min-height:650px!important}
  .home-hero-with-photo .manifesto{
    padding-top:102px!important;
    padding-bottom:30px!important;
  }
  .home-hero-with-photo .manifesto h1{
    margin:18px 0 16px!important;
    font-size:clamp(2.85rem,12vw,4.15rem)!important;
    line-height:.88!important;
    letter-spacing:-.055em!important;
  }
  .home-hero-with-photo .lede{font-size:.92rem!important;line-height:1.54!important}
  .ticker{height:34px!important}
  .ticker span{gap:16px!important;padding:0 18px!important;font-size:.57rem!important}

  .home-nights-section{padding-top:50px!important;padding-bottom:38px!important}
  .home-nights-heading{
    width:calc(100% - 40px)!important;
    display:block!important;
    margin-bottom:14px!important;
  }
  .home-nights-heading h2{
    margin:8px 0 12px!important;
    font-size:clamp(2.2rem,9.8vw,3.05rem)!important;
    line-height:.92!important;
    text-transform:none!important;
  }
  .home-nights-heading-side p{
    margin:0 0 14px!important;
    color:#a9afb8!important;
    font-size:.9rem!important;
    line-height:1.5!important;
  }

  .home-christmas-banner-inner,
  .home-brand-feature-inner,
  .home-prom-feature-inner{min-height:545px!important}
  .home-christmas-banner-copy,
  .home-brand-feature-copy,
  .home-prom-feature-copy{
    min-height:545px!important;
    padding-top:104px!important;
    padding-bottom:20px!important;
  }
  .home-christmas-banner h2,
  .home-brand-feature h2,
  .home-prom-feature h2{
    font-size:clamp(2.05rem,9.5vw,2.85rem)!important;
    line-height:.91!important;
  }
  .local-home h2{text-transform:none!important;line-height:.9!important}
  .home-local-actions{
    margin-top:18px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:12px!important;
  }
  .home-local-actions .primary{width:100%!important;min-height:50px!important}
}

@media(prefers-reduced-motion:reduce){
  .ticker>div{animation:none!important;transform:none!important}
}

/* V-final-card-gradients — carry the page hero gradient motion into the three
   homepage campaign cards without making the cards compete with one another. */
.home-christmas-banner h2 span,
.home-brand-feature h2 span,
.home-prom-feature h2 span{
  display:inline-block;
  background-size:265% 100%!important;
  background-position:0% 50%;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  will-change:background-position;
}

.home-prom-feature h2 span{
  background-image:linear-gradient(110deg,
    #6230e9 0%,
    #7e42f5 22%,
    #a96bff 39%,
    #fbf5ff 50%,
    #d2a7ff 58%,
    #8b4cf7 76%,
    #6230e9 100%)!important;
  filter:drop-shadow(0 0 12px rgba(144,91,255,.16));
  animation:homePromCardGradient 7.4s -4.2s ease-in-out infinite!important;
}

.home-brand-feature h2 span{
  background-image:linear-gradient(108deg,
    #6552b6 0%,
    #8d79d6 26%,
    #c8c1eb 42%,
    #f4f3fa 51%,
    #b8ace3 61%,
    #7288ca 79%,
    #6552b6 100%)!important;
  filter:drop-shadow(0 0 11px rgba(140,120,216,.14));
  animation:homeBrandCardGradient 8.2s -2.1s ease-in-out infinite!important;
}

.home-christmas-banner h2 span{
  background-image:linear-gradient(110deg,
    #a97d35 0%,
    #c49b50 20%,
    #e2bd6d 38%,
    #fff8d8 50%,
    #f3dc94 59%,
    #c9a052 77%,
    #a97d35 100%)!important;
  filter:drop-shadow(0 0 11px rgba(214,181,109,.15));
  animation:homeChristmasCardGradient 8.6s -1.3s ease-in-out infinite!important;
}

@keyframes homePromCardGradient{
  0%,22%{background-position:0% 50%}
  48%,64%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes homeBrandCardGradient{
  0%,30%{background-position:0% 50%}
  54%,70%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes homeChristmasCardGradient{
  0%,28%{background-position:0% 50%}
  54%,68%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

@media(prefers-reduced-motion:reduce){
  .home-christmas-banner h2 span,
  .home-brand-feature h2 span,
  .home-prom-feature h2 span{
    animation:none!important;
    background-position:52% 50%!important;
  }
}


/* V9.1 — homepage themed-night carousel breathing-space polish.
   Gives the selected poster a stronger featured role while keeping adjacent
   posters clearly visible as previews. Desktop/tablet only; mobile swipe layout is unchanged. */
@media (min-width:721px){
  .home-nights-section .poster-rail{
    --home-poster-gap:clamp(24px,2.15vw,36px);
    gap:var(--home-poster-gap)!important;
    padding-top:58px!important;
    padding-bottom:78px!important;
  }
  .home-nights-section .poster-rail>.rail-spacer,
  .home-nights-section .poster-rail>.rail-spacer.end{
    flex-basis:max(20px,calc(50% - clamp(110px,8.5vw,160px) - var(--home-poster-gap)))!important;
  }
  .home-nights-section .poster-stage::before{
    width:min(820px,62vw);
    opacity:.94;
  }
  .home-nights-section .poster-stage::after{
    width:min(510px,39vw);
    opacity:.88;
  }
  .home-nights-section .poster-stage .poster.is-active{
    box-shadow:
      0 38px 82px rgba(0,0,0,.70),
      0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),
      0 0 50px color-mix(in srgb,var(--accent) 30%,transparent),
      0 24px 68px color-mix(in srgb,var(--accent2) 14%,transparent)!important;
  }
}

@media (min-width:721px) and (max-width:1050px){
  .home-nights-section .poster-rail{
    --home-poster-gap:clamp(18px,2vw,28px);
  }
}

/* V10.1 — desktop themed-nights editorial balance.
   Keep the strong headline but use the available widescreen space, align the
   supporting copy with it, and hand off to the poster carousel sooner. */
@media (min-width:981px){
  .home-nights-section{
    padding-top:54px!important;
    padding-bottom:40px!important;
  }
  .home-nights-heading{
    width:min(1420px,calc(100% - 96px))!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)!important;
    gap:clamp(48px,5vw,96px)!important;
    align-items:start!important;
    margin:0 auto 6px!important;
  }
  .home-nights-heading-main{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0;
  }
  .home-nights-heading-side{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0;
    padding:42px 0 0!important;
    align-self:start!important;
  }
  .home-nights-heading h2{
    max-width:860px!important;
    margin:10px 0 0!important;
    font-size:clamp(3.45rem,3.8vw,5.15rem)!important;
    line-height:.91!important;
    letter-spacing:-.052em!important;
    text-transform:none!important;
    text-wrap:balance!important;
  }
  .home-nights-heading-side p{
    max-width:500px!important;
    margin:0 0 17px!important;
    font-size:.96rem!important;
    line-height:1.58!important;
  }
  .home-nights-section .poster-stage{
    min-height:545px!important;
  }
  .home-nights-section .poster-rail{
    padding-top:42px!important;
    padding-bottom:74px!important;
  }
}

@media (min-width:1600px){
  .home-nights-heading{
    width:min(1500px,calc(100% - 120px))!important;
    grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr)!important;
  }
  .home-nights-heading h2{
    max-width:900px!important;
    font-size:5.05rem!important;
  }
  .home-nights-heading-side{
    padding-top:46px!important;
  }
}


/* V11 — fixed centre-focus carousel.
   The focus treatment is now a permanent centre stage: posters travel through it,
   rather than carrying the spotlight with them as the rail moves. The stage glow
   also stays on the Time & Tempo magenta/cyan palette instead of inheriting the
   current poster colours during a transition. */
@media (min-width:721px){
  .home-nights-section .poster-stage::before{
    background:
      radial-gradient(ellipse at 44% 49%,rgba(255,47,168,.15) 0%,rgba(255,47,168,.055) 29%,transparent 56%),
      radial-gradient(ellipse at 58% 53%,rgba(0,223,255,.12) 0%,rgba(0,223,255,.045) 32%,transparent 61%)!important;
    opacity:.9!important;
    transition:none!important;
  }
  .home-nights-section .poster-stage::after{
    background:
      radial-gradient(ellipse at center,
        rgba(255,255,255,.14) 0%,
        rgba(255,47,168,.20) 24%,
        rgba(0,223,255,.12) 45%,
        transparent 74%)!important;
    box-shadow:0 0 44px rgba(177,73,255,.14)!important;
    opacity:.76!important;
    transition:none!important;
  }
  .home-nights-section .poster-focus-frame{
    position:absolute;
    z-index:5;
    left:50%;
    top:50%;
    width:clamp(242px,18.4vw,346px);
    height:clamp(520px,64vh,684px);
    transform:translate(-50%,-50%);
    pointer-events:none;
    border:1px solid rgba(255,255,255,.12);
    border-radius:3px;
    box-shadow:
      0 0 0 1px rgba(255,47,168,.13),
      -10px 0 34px rgba(255,47,168,.10),
      10px 0 34px rgba(0,223,255,.09),
      0 30px 70px rgba(0,0,0,.30);
    opacity:.84;
  }
  .home-nights-section .poster-focus-frame::before,
  .home-nights-section .poster-focus-frame::after{
    content:"";
    position:absolute;
    top:-1px;
    bottom:-1px;
    width:34%;
    pointer-events:none;
  }
  .home-nights-section .poster-focus-frame::before{
    left:-1px;
    border-top:1px solid rgba(255,47,168,.48);
    border-left:1px solid rgba(255,47,168,.54);
    border-bottom:1px solid rgba(255,47,168,.24);
  }
  .home-nights-section .poster-focus-frame::after{
    right:-1px;
    border-top:1px solid rgba(0,223,255,.34);
    border-right:1px solid rgba(0,223,255,.46);
    border-bottom:1px solid rgba(0,223,255,.20);
  }
  .home-nights-section .poster-stage .poster,
  .home-nights-section .poster-stage .poster:nth-of-type(even),
  .home-nights-section .poster-stage .poster.is-active,
  .home-nights-section .poster-stage .poster.is-before,
  .home-nights-section .poster-stage .poster.is-after{
    z-index:var(--poster-stack,1)!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:0 22px 44px rgba(0,0,0,.50),0 8px 18px rgba(0,0,0,.30)!important;
  }
  .home-nights-section .poster-stage .poster.is-center-slot{
    border-color:rgba(255,255,255,.24)!important;
    box-shadow:0 34px 74px rgba(0,0,0,.67)!important;
  }
  .home-nights-section .poster-stage .poster-open,
  .home-nights-section .poster-stage .poster.is-active .poster-open{
    opacity:var(--center-focus,0)!important;
    transform:none!important;
  }
}

@media (min-width:721px) and (max-width:1050px){
  .home-nights-section .poster-focus-frame{
    width:clamp(232px,27vw,280px);
    height:clamp(502px,60vh,620px);
  }
}

@media (max-width:720px){
  .home-nights-section .poster-focus-frame{display:none!important}
}


/* V12 — centre spotlight cleanup.
   Remove the visible focus-frame rectangle and make the fixed centre focus read
   as light instead: one broad magenta/cyan aura behind the poster plus a soft
   floor pool. The light is fixed to the stage and never follows poster colours. */
@media (min-width:721px){
  .home-nights-section .poster-focus-frame{display:none!important}

  .home-nights-section .poster-stage::before{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    left:50%!important;
    top:51%!important;
    width:min(640px,48vw)!important;
    height:88%!important;
    transform:translate(-50%,-50%)!important;
    pointer-events:none!important;
    border:0!important;
    border-radius:50%!important;
    background:
      radial-gradient(ellipse at 50% 48%,
        rgba(255,255,255,.17) 0%,
        rgba(255,255,255,.08) 10%,
        rgba(255,47,168,.30) 24%,
        rgba(140,70,255,.20) 39%,
        rgba(0,223,255,.16) 53%,
        rgba(0,223,255,.055) 65%,
        transparent 76%)!important;
    filter:blur(22px)!important;
    opacity:1!important;
    box-shadow:none!important;
    transition:none!important;
  }

  .home-nights-section .poster-stage::after{
    content:""!important;
    position:absolute!important;
    z-index:2!important;
    left:50%!important;
    bottom:34px!important;
    width:min(520px,40vw)!important;
    height:120px!important;
    transform:translateX(-50%) perspective(500px) rotateX(67deg)!important;
    transform-origin:center bottom!important;
    pointer-events:none!important;
    border:0!important;
    border-radius:50%!important;
    background:radial-gradient(ellipse at center,
      rgba(255,255,255,.16) 0%,
      rgba(255,47,168,.28) 24%,
      rgba(0,223,255,.18) 47%,
      rgba(0,223,255,.055) 62%,
      transparent 76%)!important;
    filter:blur(10px)!important;
    opacity:.94!important;
    box-shadow:0 0 54px rgba(151,72,255,.18)!important;
    transition:none!important;
  }

  /* Keep the focused card crisp without drawing another rectangle around it. */
  .home-nights-section .poster-stage .poster,
  .home-nights-section .poster-stage .poster:nth-of-type(even),
  .home-nights-section .poster-stage .poster.is-active,
  .home-nights-section .poster-stage .poster.is-before,
  .home-nights-section .poster-stage .poster.is-after,
  .home-nights-section .poster-stage .poster.is-center-slot{
    border-color:rgba(255,255,255,.12)!important;
  }
  .home-nights-section .poster-stage .poster.is-center-slot{
    box-shadow:
      0 36px 78px rgba(0,0,0,.70),
      -18px 10px 48px rgba(255,47,168,.13),
      18px 10px 48px rgba(0,223,255,.11)!important;
  }
}

@media (min-width:721px) and (max-width:1050px){
  .home-nights-section .poster-stage::before{
    width:min(520px,62vw)!important;
    height:82%!important;
  }
  .home-nights-section .poster-stage::after{
    width:min(410px,50vw)!important;
    bottom:40px!important;
  }
}
