/* V4.13 - a presentable page is the fallback, not a black canvas. */
.zi-image-shell{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;background:var(--zi-image-color,#e9dfd2);isolation:isolate}
.zi-responsive-picture{display:contents}
.zi-image-shell>picture>img{position:relative;display:block;width:100%;height:100%;object-fit:cover;z-index:1;filter:none;transition:opacity .38s ease}
.zi-image-preview{position:absolute;inset:-8px;z-index:0;background-size:cover;background-position:center 38%;filter:blur(9px);pointer-events:none}
.zi-image-shimmer{display:none;position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.zi-image-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.22) 43%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.22) 57%,transparent 80%);transform:translateX(-110%);animation:zi-image-shimmer 1.9s ease-in-out infinite}
@keyframes zi-image-shimmer{to{transform:translateX(110%)}}
.zi-images-on .zi-image-shell:not([data-image-state="ready"])>picture>img{opacity:0}
.zi-images-on .zi-image-shell[data-image-state="ready"]>picture>img{opacity:1}
.zi-images-on .zi-image-shell[data-image-state="loading"]>.zi-image-shimmer,.zi-images-on .zi-image-shell[data-image-state="decoding"]>.zi-image-shimmer{display:block}
.zi-images-on .zi-image-shell[data-image-slow]>.zi-image-shimmer{display:none}
.zi-image-notice{display:none;position:absolute;z-index:3;inset:auto 12px 12px;padding:7px 10px;width:max-content;max-width:calc(100% - 24px);border-radius:4px;background:rgba(251,247,241,.94);color:#503a2c;font:500 11px/1.4 var(--zi-sans,sans-serif);pointer-events:none}
.zi-images-on .zi-image-shell[data-image-state="error"]>.zi-image-notice{display:block}
.zi-image-deferred{display:none}
.zi-images-on .zi-image-deferred{display:contents}
.portfolio-detail-hero>.zi-image-shell,.couple-ending-v4>.zi-image-shell{position:absolute;inset:0}
/* Existing fixed-height cards/portraits retain their original dimensions. */
.home-carousel-slide>.zi-image-shell,.couple-cinema-slide>.zi-image-shell{position:absolute;inset:0}
.home-carousel-slide:not(.is-active) .zi-image-shimmer,.couple-cinema-slide:not(.is-active) .zi-image-shimmer{display:none!important}
.home-carousel-slide .zi-image-preview,.couple-cinema-slide .zi-image-preview{background-position:center 38%}
.home-hero-v4,.couple-cinema-hero{background:#efe5d8!important}
[data-home-carousel]:not([data-visual-state="ready"]) .home-hero-shade{background:linear-gradient(90deg,rgba(251,247,241,.90),rgba(251,247,241,.56))!important}
[data-couple-carousel]:not([data-visual-state="ready"]) .couple-cinema-shade{background:linear-gradient(180deg,rgba(251,247,241,.62),rgba(251,247,241,.82))!important}
[data-home-carousel]:not([data-visual-state="ready"]) .home-hero-content,[data-home-carousel]:not([data-visual-state="ready"]) .home-hero-content h1,[data-home-carousel]:not([data-visual-state="ready"]) .home-hero-content p,[data-home-carousel]:not([data-visual-state="ready"]) .home-carousel-meta,[data-couple-carousel]:not([data-visual-state="ready"]) .couple-cinema-copy,[data-couple-carousel]:not([data-visual-state="ready"]) .couple-discover{color:#493122!important;text-shadow:none!important}
[data-home-carousel]:not([data-visual-state="ready"]) .home-hero-content h1 em,[data-couple-carousel]:not([data-visual-state="ready"]) .couple-cinema-copy h1 i,[data-couple-carousel]:not([data-visual-state="ready"]) .couple-cinema-copy>small{color:#865b35!important}
[data-home-carousel]:not([data-visual-state="ready"]) .btn-outline-light{border-color:#8c735d;color:#493122;background:rgba(255,255,255,.35)}
[data-home-carousel]:not([data-visual-state="ready"]) .home-carousel-dots button,[data-couple-carousel]:not([data-visual-state="ready"]) .couple-cinema-dots button{background:#9d846d!important}
[data-home-carousel]:not([data-visual-state="ready"]) .home-carousel-dots button.is-active,[data-couple-carousel]:not([data-visual-state="ready"]) .couple-cinema-dots button.is-active{background:#493122!important}
.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .brand,.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .brand b,.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .brand small,.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .desktop-nav>a,.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .nav-actions>.text-link{color:#493122!important;text-shadow:none!important}
.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .menu-btn span{background:#493122!important}
.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .brand-mark{filter:none!important}
.home-hero-content.reveal{opacity:1!important;transform:none!important}
/* Only the image has an error state; the page remains interactive. */
.zi-hero-load-feedback{display:none;position:absolute;top:105px;left:50%;transform:translateX(-50%);z-index:10;max-width:90%;padding:9px 14px;border:1px solid #d9c9b7;border-radius:999px;background:rgba(251,247,241,.94);color:#493122;font:500 12px/1.5 var(--zi-sans,sans-serif);align-items:center;gap:12px}
[data-visual-state="error"]>.zi-hero-load-feedback,[data-visual-state][data-image-slow]>.zi-hero-load-feedback{display:flex}
.zi-hero-load-feedback button{border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:4px}
.zi-carousel-pause{position:absolute;z-index:12;right:24px;top:108px;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(58,39,25,.35);color:white;font:500 15px/1 sans-serif;cursor:pointer}
[data-visual-state]:not([data-visual-state="ready"])>.zi-carousel-pause{background:rgba(251,247,241,.8);border-color:#bca58f;color:#493122}
.zi-carousel-pause:focus-visible,[data-image-retry]:focus-visible{outline:3px solid #956b3d;outline-offset:4px}
.zi-carousel-pause[hidden],.couple-carousel-arrow[hidden]{display:none!important}
/* The head watchdog removes this class even if an external script fails. */
.page-loader{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
.zi-js-booting .page-loader:not(.is-hidden){opacity:1;visibility:visible;pointer-events:auto}
.zi-js-booting .loader-progress{display:none}
@media(max-width:760px){.zi-hero-load-feedback{top:90px;font-size:10px;gap:7px;white-space:normal;width:max-content}.zi-carousel-pause{right:14px;top:90px;width:28px;height:28px}.couple-cinema-slide .zi-image-preview{background-position:center 34%}}
@media(prefers-reduced-motion:reduce){.zi-image-shimmer,.zi-carousel-pause{display:none!important}.zi-image-shell>picture>img,.page-loader{transition:none!important}.home-carousel-slide,.couple-cinema-slide{transition:none!important;transform:none!important}}
/* Content remains readable when enhancement scripts cannot execute. */
html:not(.zi-images-on) .reveal,html:not(.zi-images-on) .reveal-v4{opacity:1!important;transform:none!important}

.rsvp-date-card>.zi-image-shell{position:absolute;inset:0}
.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled){background:linear-gradient(180deg,rgba(251,247,241,.90),rgba(251,247,241,0))!important}
.zi-primary-waiting .site-header:not(.is-scrolled):not(.scrolled) .header-create-space{background:#4b2717!important;color:white!important;border-color:#4b2717!important}
@media(max-width:760px){.zi-hero-load-feedback{top:133px}}

body.zi-primary-waiting[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .menu-btn{color:#493122!important}
body.zi-primary-waiting[data-header-theme="overlay"] .site-header:not(.is-scrolled):not(.scrolled) .menu-btn span{background:#493122!important}
