.mv-hero{position:relative;min-height:var(--mv-hero-h,100svh);display:flex;overflow:hidden;background:var(--wp--preset--color--midnight);color:#fff;margin-block:0!important}
.mv-hero__media,.mv-hero__media img,.mv-hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,20,31,calc(var(--mv-hero-ov)*.9)) 0%,rgba(0,20,31,calc(var(--mv-hero-ov)*.2)) 40%,rgba(0,20,31,calc(var(--mv-hero-ov) + .3)) 100%);pointer-events:none}
.mv-hero__content{position:relative;z-index:1;width:min(900px,100%);display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1.25rem,4.5vw,4rem);padding-bottom:clamp(3rem,7vw,6rem)}
.mv-hero--bottom-left{align-items:flex-end}
.mv-hero--center{align-items:center;justify-content:center;text-align:center}
.mv-hero--center .mv-hero__content{align-items:center;margin-inline:auto}
.mv-eyebrow{margin:0;font-family:var(--wp--preset--font-family--sans);font-size:.875rem;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--wp--preset--color--champagne)}
.mv-hero__title{margin:0;color:#fff;font-family:var(--wp--preset--font-family--serif);font-weight:200;font-size:var(--wp--preset--font-size--display);line-height:1.02;letter-spacing:-.01em}
.mv-hero__text{margin:0;max-width:620px;font-size:var(--wp--preset--font-size--lead);color:#dce4e8}
.mv-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}
.mv-hero__cue{position:absolute;right:clamp(1.25rem,4.5vw,4rem);bottom:clamp(3rem,7vw,6rem);z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:.75rem;letter-spacing:4px;text-transform:uppercase;color:#b7c7d1}
.mv-hero__cue i{width:1px;height:72px;background:rgba(255,255,255,.4)}
@media (max-width:781px){.mv-hero__cue{display:none}}
/* Slideshow */
.mv-hero__slide{position:absolute;inset:0;overflow:hidden}
.mv-hero__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mv-hero[data-effect="fade"] .mv-hero__slide,.mv-hero[data-effect="kenburns"] .mv-hero__slide{opacity:0;transition:opacity var(--mv-hero-speed,1.4s) var(--mv-ease)}
.mv-hero[data-effect="fade"] .mv-hero__slide.is-active,.mv-hero[data-effect="kenburns"] .mv-hero__slide.is-active{opacity:1}
.mv-hero[data-effect="kenburns"] .mv-hero__slide.is-active img{animation:mvKenBurns var(--mv-hero-kb,7.4s) linear both}
@keyframes mvKenBurns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
.mv-hero[data-effect="slide"] .mv-hero__slide{transform:translateX(100%);transition:transform var(--mv-hero-speed,1.4s) var(--mv-ease)}
.mv-hero[data-effect="slide"] .mv-hero__slide.is-active{transform:none}
.mv-hero[data-effect="slide"] .mv-hero__slide.is-prev{transform:translateX(-30%)}
.mv-hero[data-effect="curtain"] .mv-hero__slide{clip-path:inset(0 0 0 100%);transition:clip-path var(--mv-hero-speed,1.4s) var(--mv-ease)}
.mv-hero[data-effect="curtain"] .mv-hero__slide.is-active{clip-path:inset(0 0 0 0);z-index:1}
.mv-hero[data-effect="curtain"] .mv-hero__slide.is-prev{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.mv-hero__slide,.mv-hero__slide img{transition:none!important;animation:none!important}}

/* Focus point: which part of the photo/video stays visible when the screen is narrower (phones). */
.mv-hero__media img,.mv-hero__media video,.mv-hero__slide img{object-position:var(--mv-hero-fx,50%) center}

/* Lights switch on */
.mv-hero[data-switch="1"] .mv-hero__media{filter:brightness(.22) saturate(.35);transition:filter 2.2s cubic-bezier(.65,0,.35,1) .5s}
.mv-hero[data-switch="1"].is-on .mv-hero__media{filter:none}
.mv-hero__sparkles{position:absolute;inset:0;z-index:0;pointer-events:none}
.mv-hero__sparkles i{position:absolute;width:var(--s,3px);height:var(--s,3px);border-radius:50%;background:#ffe9b8;box-shadow:0 0 8px 2px rgba(255,214,140,.8);opacity:0;animation:mvTwinkle var(--d,3s) ease-in-out var(--dl,0s) infinite}
@keyframes mvTwinkle{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:var(--o,.9);transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.mv-hero[data-switch="1"] .mv-hero__media{filter:none;transition:none}.mv-hero__sparkles{display:none}}

/* String lights across the top */
.mv-hero__strings{position:absolute;left:0;right:0;top:0;height:46%;z-index:0;pointer-events:none}
.mv-hero__strings svg{width:100%;height:100%;overflow:visible}
.mv-hero__strings path{fill:none;stroke:rgba(20,20,20,.75);stroke-width:1.3;vector-effect:non-scaling-stroke}
.mv-hero__strings circle{fill:#5a4a2a;transition:fill .5s ease,filter .5s ease}
.mv-hero__strings.is-lit circle{fill:#ffe2a0;filter:drop-shadow(0 0 6px rgba(255,200,110,.95)) drop-shadow(0 0 14px rgba(255,190,90,.6))}
.mv-hero__strings.is-lit circle{animation:mvBulb 4s ease-in-out var(--d,0s) infinite}
@keyframes mvBulb{0%,100%{opacity:1}50%{opacity:.82}}
.mv-hero__strings g{animation:mvSway 7s ease-in-out infinite;transform-origin:50% 0}
@keyframes mvSway{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
@media (max-width:781px){.mv-hero__strings{height:34%}}
@media (prefers-reduced-motion:reduce){.mv-hero__strings g,.mv-hero__strings circle{animation:none!important;transition:none}}

.mv-hero__credit{position:absolute;right:clamp(1.25rem,4.5vw,4rem);bottom:1.1rem;z-index:3;font-size:.7rem;letter-spacing:1px;color:rgba(255,255,255,.7)}

/* Dry-ice cloud: two thin rolling layers + soft puffs that curl up and fade, like real dry ice */
.mv-hero__fog{position:absolute;left:0;right:0;bottom:0;height:40%;z-index:1;pointer-events:none;overflow:hidden}
.mv-hero__fog i{position:absolute;left:-50%;bottom:-22%;width:200%;height:100%;filter:blur(16px);opacity:.42;
background:radial-gradient(ellipse 9% 42% at 6% 78%,rgba(255,255,255,.7),transparent 70%),radial-gradient(ellipse 10% 46% at 17% 84%,rgba(255,255,255,.6),transparent 70%),radial-gradient(ellipse 9% 40% at 29% 80%,rgba(255,255,255,.7),transparent 70%),radial-gradient(ellipse 11% 48% at 41% 86%,rgba(255,255,255,.6),transparent 70%),radial-gradient(ellipse 9% 42% at 53% 79%,rgba(255,255,255,.7),transparent 70%),radial-gradient(ellipse 10% 46% at 65% 85%,rgba(255,255,255,.6),transparent 70%),radial-gradient(ellipse 9% 40% at 77% 80%,rgba(255,255,255,.7),transparent 70%),radial-gradient(ellipse 11% 48% at 89% 86%,rgba(255,255,255,.6),transparent 70%);
animation:mvFogA 15s linear infinite}
.mv-hero__fog i:nth-child(2){bottom:-30%;opacity:.3;animation:mvFogB 21s linear infinite}
@keyframes mvFogA{0%{transform:translate(0,0) scaleY(1)}50%{transform:translate(12.5%,-4%) scaleY(1.12)}100%{transform:translate(25%,0) scaleY(1)}}
@keyframes mvFogB{0%{transform:translate(25%,0) scaleY(.85)}50%{transform:translate(12.5%,-6%) scaleY(1)}100%{transform:translate(0,0) scaleY(.85)}}
/* puffs */
.mv-hero__fog b{position:absolute;bottom:-10%;width:var(--w,260px);height:calc(var(--w,260px) * .45);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.55),rgba(255,255,255,0) 70%);filter:blur(10px);opacity:0;
animation:mvPuff var(--d,7s) ease-in-out var(--dl,0s) infinite}
@keyframes mvPuff{0%{opacity:0;transform:translate(0,0) scale(.6) rotate(0)}25%{opacity:var(--o,.45)}60%{opacity:calc(var(--o,.45) * .7);transform:translate(var(--dx,60px),-38%) scale(1.15) rotate(8deg)}100%{opacity:0;transform:translate(calc(var(--dx,60px) * 1.6),-70%) scale(1.5) rotate(14deg)}}
@media (prefers-reduced-motion:reduce){.mv-hero__fog i,.mv-hero__fog b{animation:none}.mv-hero__fog b{display:none}}

/* Laurel of string lights around a centred title */
.mv-laurel{position:absolute;z-index:1;left:50%;top:54%;width:min(780px,92vw,calc(var(--mv-hero-h,100svh) * 1.1));aspect-ratio:1/.82;transform:translate(-50%,-50%);pointer-events:none}
.mv-laurel svg{width:100%;height:100%;overflow:visible}
.mv-hero--laurel .mv-hero__content{z-index:2;max-width:min(520px,62vw);padding-top:calc(clamp(3rem,7vw,6rem) + 1rem)}
.mv-hero--laurel .mv-hero__title{font-size:clamp(2.2rem,1.2rem + 3.6vw,4.4rem)}
.mv-laurel__stem{fill:none;stroke:rgba(201,169,110,.55);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;animation:mvLaurelDraw 2.6s cubic-bezier(.22,1,.36,1) .2s forwards}
.mv-laurel__leaf ellipse{fill:rgba(201,169,110,.08);stroke:rgba(201,169,110,.7);stroke-width:1;opacity:0;animation:mvLaurelOn .8s ease forwards;animation-delay:calc(var(--d) * 90ms + .5s)}
.mv-laurel__bulb{fill:#ffe2a8;opacity:0;animation:mvLaurelOn .5s ease forwards;animation-delay:calc(var(--d) * 90ms + .8s)}
.mv-laurel__halo{fill:url(#mv-laurel-halo);opacity:0;animation:mvLaurelOn .9s ease forwards,mvLaurelTwinkle 3.6s ease-in-out infinite;animation-delay:calc(var(--d) * 90ms + .8s),calc(var(--d) * 170ms + 3.4s)}
@keyframes mvLaurelDraw{to{stroke-dashoffset:0}}
@keyframes mvLaurelOn{to{opacity:1}}
@keyframes mvLaurelTwinkle{0%,100%{opacity:1}50%{opacity:.45}}
@media (max-width:700px){.mv-laurel{width:150vw}.mv-hero--laurel .mv-hero__content{max-width:58vw}.mv-hero--laurel .mv-hero__title{font-size:2.1rem}.mv-hero--laurel .mv-hero__text{font-size:.95rem}}
@media (prefers-reduced-motion:reduce){.mv-laurel *{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}}
