/* Dark photographic surfaces, shared by every invitation theme. */
.xv-contrast{--contrast-color:#fff;--contrast-cover:0 0 0;--contrast-opacity:.12;--contrast-spread:160px;--contrast-shadow:.06;isolation:isolate;color:var(--contrast-color)!important;text-shadow:0 1px 5px rgb(0 0 0 / var(--contrast-shadow))}
.hero__content>.xv-contrast{position:relative;display:block;width:fit-content;max-width:var(--contrast-width,100%);margin-left:auto;margin-right:auto;text-align:var(--contrast-align,center);translate:var(--contrast-shift-x,0) var(--contrast-shift-y,0)}
.xv-contrast::before{content:"";position:absolute;inset:calc(-140px - var(--contrast-spread,24px)) calc(-180px - var(--contrast-spread,24px));z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgb(0 0 0 / var(--contrast-opacity)) 0%,rgb(0 0 0 / calc(var(--contrast-opacity) * .6)) 30%,transparent 72%);border:0;box-shadow:none}
/* One shared veil prevents stacking a dark rectangle behind every line. */
.hero .xv-contrast::before{content:none}
body .hero{background:#000!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px;padding:45px 20px;box-sizing:border-box}
body .hero .hero__image{background-color:#000!important}
body .hero .hero__overlay{opacity:1!important;background:radial-gradient(ellipse at 50% 44%,rgb(0 0 0 / calc( .06 * var(--hero-overlay-opacity,1))),rgb(0 0 0 / .06) 48%,transparent 85%)!important}
body .hero .hero__fade{background:linear-gradient(180deg,transparent 0%,var(--xv-background,var(--black,#050505)) 96%)!important}
body .hero .hero__content{color:#fff!important;padding:20px 0;max-width:100%;opacity:1;transform:none}
body .hero .hero__content .xv-contrast{color:var(--contrast-color,#fff)!important}
body .hero .scroll-indicator{position:relative;inset:auto;transform:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;margin:12px 0 18px;border:1px solid #fff9;border-radius:999px;background:transparent!important;color:var(--contrast-color,#fff)!important;font:500 12px var(--sans,Arial,sans-serif);text-decoration:none;letter-spacing:.05em;cursor:pointer;transition:background .2s,transform .2s;z-index:2}
body .hero .scroll-indicator span{color:inherit!important}body .hero .scroll-indicator i{font-style:normal;font-size:17px;animation:none}
body .hero .scroll-indicator:hover{background:transparent!important;transform:translateY(-2px)}body .hero .scroll-indicator:active{transform:translateY(1px)}body .hero .scroll-indicator:focus-visible{outline:3px solid #fff;outline-offset:5px}body .hero .scroll-indicator[aria-disabled=true]{opacity:.6;cursor:wait}
.location .venue-map-button.xv-contrast{background:#111b;color:var(--contrast-color,#fff)!important;border-color:#fff8}.xv-contrast>span{color:inherit!important}.media-viewer .xv-contrast{position:relative}.media-viewer [data-viewer-close].xv-contrast{position:absolute}
.event-carousel__slide figcaption.xv-contrast,.album-item small.xv-contrast{background:transparent}.media-viewer small.xv-contrast{position:relative}.xv-contrast:focus-visible{outline:3px solid #fff;outline-offset:6px}
@media(prefers-reduced-motion:reduce){.xv-contrast,body .hero .scroll-indicator{transition:none;scroll-behavior:auto}}

.hero__contrast{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.hero__content{position:relative;z-index:1}
.hero__content>.xv-contrast{width:var(--contrast-width,100%);box-sizing:border-box}
.xv-contrast[data-contrast-direction=bottom]::before{background-position:center 30px;transform:translateY(30px)}
.xv-contrast[data-contrast-direction=top]::before{transform:translateY(-30px)}
.xv-contrast[data-contrast-direction=left]::before{transform:translateX(-30px)}
.xv-contrast[data-contrast-direction=right]::before{transform:translateX(30px)}
