.hero__image{background-position:var(--hero-pos-x,50%) var(--hero-pos-y,50%);transform:scale(var(--hero-zoom,1));animation:none}.hero__overlay{background:linear-gradient(180deg,#0005 0%,#0007 50%,#050505 100%)}.theme-ivory-gold .hero__overlay{background:linear-gradient(180deg,#fffdf8a8 0%,#fffdf8bf 55%,#fffdf8 100%)}.location-heading{margin-bottom:42px}.location-card{align-items:stretch}.location-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;overflow:hidden}.location-copy .muted{margin:0}.venue-photo{width:calc(100% + 100px);height:clamp(180px,26vw,310px);margin:12px -50px -50px;object-fit:cover;display:block;border-radius:0 0 var(--radius) var(--radius)}.reserved-colors{margin:25px auto 0;max-width:650px}.reserved-colors>strong{display:block;font-size:12px;letter-spacing:.15em;margin-bottom:12px}.reserved-colors__list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.reserved-color{display:inline-flex;align-items:center;gap:9px;border:1px solid #231d1530;border-radius:999px;padding:8px 14px;background:#ffffff4a;font-size:12px}.reserved-color i{display:block;width:18px;height:18px;border:1px solid #0004;border-radius:50%;box-shadow:0 2px 6px #0002}.final-photo-section{padding-top:20px}.final-photo-section img{width:100%;max-height:70vh;object-fit:cover;border-radius:var(--radius);display:block;box-shadow:0 30px 80px #0005}.event-carousel-section{padding-top:45px;padding-bottom:75px}.event-carousel-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.event-carousel-heading h2{margin-bottom:0}.event-carousel-controls{display:flex;gap:8px}.event-carousel-controls button,.event-carousel-dots button{border:1px solid #d6b56a88;background:transparent;color:inherit;cursor:pointer}.event-carousel-controls button{width:46px;height:46px;border-radius:50%;font-size:20px}.event-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin-top:30px;touch-action:pan-x}.event-carousel::-webkit-scrollbar{display:none}.event-carousel__slide{flex:0 0 min(66%,610px);margin:0;scroll-snap-align:center;overflow:hidden;border-radius:var(--radius);position:relative;background:#151515}.event-carousel__slide img{width:100%;height:clamp(260px,43vw,490px);display:block;object-fit:cover}.event-carousel__slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(transparent,#0009);color:#fff;font-size:12px}.event-carousel__slide figcaption:empty{display:none}.event-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.event-carousel-dots button{height:10px;width:10px;border-radius:50%;padding:0}.event-carousel-dots button[aria-current=true]{background:var(--gold)}.background-audio{padding:18px 20px;background:var(--black);color:var(--text);border-bottom:1px solid #d6b56a33}.background-audio__inner{max-width:1080px;margin:auto;display:flex;align-items:center;gap:18px}.background-audio__toggle{width:48px;height:48px;flex:none;border:1px solid var(--gold);border-radius:50%;background:transparent;color:var(--text);cursor:pointer;font-size:17px}.background-audio__main{display:grid;grid-template-columns:1fr auto;gap:4px 15px;flex:1;min-width:0}.background-audio__title{font-weight:600;grid-column:1/-1}.background-audio__status{font-size:11px;color:var(--muted);grid-column:1/-1}.background-audio input[type=range]{accent-color:var(--gold);cursor:pointer}.background-audio__time{font-size:10px;white-space:nowrap}.background-audio__volume{display:grid;gap:3px;font-size:10px}.background-audio__toggle:focus-visible,.event-carousel button:focus-visible,.event-carousel-controls button:focus-visible,.event-carousel-dots button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.theme-ivory-gold .background-audio{background:#fffdf8;color:#302b25}.theme-ivory-gold .background-audio__toggle{color:#302b25}.theme-ivory-gold .event-carousel__slide{background:#e9e0d1}@media(max-width:700px){.location-heading{margin-bottom:25px}.venue-photo{width:calc(100% + 64px);margin:12px -32px -32px;height:250px}.event-carousel__slide{flex-basis:86%}.event-carousel__slide img{height:340px}.event-carousel-heading h2{font-size:42px}.background-audio__volume{display:none}.background-audio__inner{gap:12px}}@media(prefers-reduced-motion:reduce){.event-carousel{scroll-behavior:auto}}

/* Shared venue presentation for every invitation theme. */
.location .location-card{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.location .location-photo,.location .map-shell{height:clamp(320px,32vw,440px);min-height:0;min-width:0}
.location .location-photo{position:relative;display:block;padding:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 30% 25%,#d6b56a33,transparent 70%),var(--warm-white,#15120f)}
.location .location-photo .venue-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:var(--venue-pos-x,50%) var(--venue-pos-y,50%);border-radius:inherit}
.location .location-photo::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none;z-index:1}
.location .location-photo .venue-map-button{position:absolute;left:clamp(18px,3vw,32px);bottom:clamp(18px,3vw,32px);z-index:2;max-width:calc(100% - 36px);min-height:48px;padding:14px 20px;background:#fffaf0;color:#241d14;border:1px solid #fff9;box-shadow:0 4px 20px #0003;letter-spacing:.04em;text-transform:none;line-height:1.4;transition:transform .2s ease,box-shadow .2s ease}
.location .location-photo .venue-map-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0005}
.location .location-photo .venue-map-button:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 7px #241d14}
.location .location-photo .venue-map-button:active{transform:translateY(1px)}
@media(max-width:700px){.location .location-card{grid-template-columns:minmax(0,1fr)}.location .location-photo,.location .map-shell{height:clamp(280px,75vw,360px)}}
@media(prefers-reduced-motion:reduce){.location .location-photo .venue-map-button{transition:none}}

.hero .hero__overlay{opacity:var(--hero-overlay-opacity,1)}

.hero__fade{position:absolute;inset:auto 0 0;height:30%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,var(--xv-background,var(--black,#050505)) 96%);opacity:1}

/* Explicit nonnegative layers avoid disappearing background layers on mobile compositors. */
.hero .hero__image{z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--hero-pos-x,50%) var(--hero-pos-y,50%);background-image:none}
.hero .hero__overlay{z-index:1;pointer-events:none}
.hero .hero__fade{z-index:2}
.hero .hero__content{position:relative;z-index:3}
.hero .scroll-indicator{z-index:4}

.hero>picture{position:absolute;inset:0;z-index:0;pointer-events:none}.hero .hero__contrast{z-index:2}
