/* V4.31 — one transparent public navigation for wedding images.
   The tenant's existing five-button mobile bar and roles are unchanged. */
body.v3 { --zi-header-film: rgba(25,16,11,.10); --zi-header-light: rgba(255,251,247,.88); }
body.v3 .site-header .nav-wrap,
body.v3 .zw-nav-header-inner {
  transition: background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}
@media (min-width:1024px) {
  body.v3 .site-header .nav-wrap {
    background: rgba(255,250,245,.46) !important;
    border:1px solid rgba(135,101,69,.14) !important;
    box-shadow:0 10px 34px rgba(35,23,15,.035) !important;
    -webkit-backdrop-filter:blur(14px) saturate(1.12);
    backdrop-filter:blur(14px) saturate(1.12);
  }
  html[data-zi-theme="dark"] body.v3[data-public-header="surface"] .site-header .nav-wrap {
    background:rgba(35,28,24,.70)!important;
    color:#fbf7f1!important;
    border-color:rgba(255,238,218,.17)!important;
  }
  html[data-zi-theme="dark"] body.v3[data-public-header="surface"] .site-header :is(.brand,.desktop-nav a,.text-link,.desktop-settings-trigger) {
    color:#fbf7f1!important;
  }
  body.v3[data-public-header="image"] .site-header:not(.is-scrolled):not(.scrolled) {
    position:absolute !important; inset:0 0 auto; background:transparent !important;
    box-shadow:none !important; border:0 !important; color:#fff !important;
  }
  body.v3[data-public-header="image"] .site-header:not(.is-scrolled):not(.scrolled) .nav-wrap {
    background:var(--zi-header-film) !important;
    border-color:rgba(255,255,255,.17) !important;
    box-shadow:none !important; color:#fff !important;
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  }
  body.v3[data-public-header="image"] .site-header:not(.is-scrolled):not(.scrolled) :is(.brand,.desktop-nav a,.text-link,.desktop-settings-trigger) {
    color:#fff !important;
  }
  body.v3[data-public-header="image"] .site-header:not(.is-scrolled):not(.scrolled) .desktop-settings-trigger {
    background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.22)!important;
  }
  /* Glass header is unobtrusive: slide away on downward scroll, return upwards. */
  body.v3 .site-header.is-scroll-hidden,
  body.v3 .zw-nav-header.is-scroll-hidden {
    transform:translateY(calc(-100% - 20px))!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.v3 .site-header,
  body.v3 .zw-nav-header {
    transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .25s ease,background .25s ease;
  }
  body.v3 .site-header.is-scrolled .nav-wrap,
  body.v3 .site-header.scrolled .nav-wrap {
    background:var(--zi-header-light)!important;
    border-color:rgba(135,101,69,.16)!important;
    box-shadow:0 12px 36px rgba(30,20,15,.09)!important;
  }
  html[data-zi-theme="dark"] body.v3 .site-header:is(.is-scrolled,.scrolled) .nav-wrap {
    background:rgba(34,27,24,.87)!important;color:#fbf7f1!important;
    border-color:rgba(255,238,218,.16)!important;
  }

  /* VNext uses the same floating/immersive behavior instead of an opaque strip. */
  body.v3[data-wedding-navigation="vnext"] .zw-nav-header {
    position:sticky;top:0;z-index:101;background:rgba(251,248,243,.48)!important;
    border-bottom:1px solid rgba(130,98,67,.12)!important;
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  }
  body.v3[data-wedding-navigation="vnext"] .zw-nav-header-inner {
    min-height:76px;padding-block:10px;
  }
  html[data-zi-theme="dark"] body.v3[data-public-header="surface"][data-wedding-navigation="vnext"] .zw-nav-header:not(.is-scrolled) {
    background:rgba(35,28,24,.78)!important;
    border-color:rgba(255,238,218,.16)!important;
    color:#fbf7f1!important;
  }
  body.v3[data-public-header="image"][data-wedding-navigation="vnext"] .zw-nav-header:not(.is-scrolled) {
    position:absolute;top:0;left:0;right:0;background:transparent!important;
    border:0!important; -webkit-backdrop-filter:none;backdrop-filter:none;
    color:#fff!important;
  }
  body.v3[data-public-header="image"][data-wedding-navigation="vnext"] .zw-nav-header:not(.is-scrolled) .zw-nav-header-inner {
    background:var(--zi-header-film);border:1px solid rgba(255,255,255,.17);
    border-radius:18px;width:min(1320px,calc(100% - 32px));margin:10px auto;
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  }
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) :is(
    .zw-nav-brand, .zw-nav-desktop > .zw-nav-link, .zw-nav-desktop > .zw-nav-disclosure > summary,
    .zw-nav-actions > .zw-nav-link, .zw-nav-actions > .zw-nav-disclosure > summary,
    .zw-nav-actions > .zw-nav-icon-button
  ) { color:#fff!important; }
  /* Flyout panels keep their normal readable dark-on-paper palette. */
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) .zw-nav-flyout .zw-nav-link {
    color:var(--zw-nav-ink)!important;
  }
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) .zw-nav-icon-button {
    background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.22)!important;
  }
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) .zw-nav-cta {
    background:rgba(255,255,255,.94)!important;color:#38271e!important;border-color:rgba(255,255,255,.7)!important;
  }
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) :is(
    .zw-nav-desktop > .zw-nav-link:hover,
    .zw-nav-desktop > .zw-nav-link[aria-current="page"],
    .zw-nav-actions > .zw-nav-link:hover
  ) { color:#fff!important;background:rgba(255,255,255,.14)!important; }
  body.v3[data-wedding-navigation="vnext"][data-public-header="surface"] .zw-nav-header.is-scrolled {
    position:sticky;top:0;inset:auto; /* avoid reflow on pages without a photo hero */
  }
  body.v3[data-wedding-navigation="vnext"] .zw-nav-header.is-scrolled {
    background:var(--zi-header-light)!important;
    border-color:rgba(129,89,59,.15)!important;
    box-shadow:0 10px 34px rgba(28,18,12,.075);
  }
  body.v3[data-wedding-navigation="vnext"][data-public-header="image"] .zw-nav-header.is-scrolled {
    position:fixed;inset:0 0 auto;
  }
  html[data-zi-theme="dark"] body.v3[data-wedding-navigation="vnext"] .zw-nav-header.is-scrolled {
    background:rgba(36,29,25,.88)!important;border-color:rgba(255,242,228,.15)!important;
  }
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) .tenant-logo-light,
  body.v3[data-public-header="image"] .site-header:not(.is-scrolled):not(.scrolled) .tenant-logo-light {display:none!important;}
  body.v3[data-public-header="image"] .zw-nav-header:not(.is-scrolled) .tenant-logo-dark,
  body.v3[data-public-header="image"] .site-header:not(.is-scrolled):not(.scrolled) .tenant-logo-dark {display:block!important;}
  html[data-zi-theme="light"] body.v3 .zw-nav-header.is-scrolled .tenant-logo-light {display:block!important;}
  html[data-zi-theme="light"] body.v3 .zw-nav-header.is-scrolled .tenant-logo-dark {display:none!important;}
  html[data-zi-theme="dark"] body.v3 .zw-nav-header.is-scrolled .tenant-logo-light {display:none!important;}
  html[data-zi-theme="dark"] body.v3 .zw-nav-header.is-scrolled .tenant-logo-dark {display:block!important;}
  html[data-zi-theme="dark"] body.v3 .zw-nav-header.is-scrolled :is(.zw-nav-link,.zw-nav-brand,.zw-nav-disclosure summary,.zw-nav-icon-button) {color:#fff!important;}
  /* The picture begins behind the header, not 88px below it. */
  body.v3[data-public-header="image"] .home-hero-v4 {margin-top:0!important;}
}
.zi-image-brand {display:none;}
@media (max-width:1023px) {
  /* A small logo on the picture is not a duplicate mobile header. */
  body.v3[data-public-header="image"] .zi-image-brand {
    display:inline-flex;position:absolute;z-index:10;top:calc(16px + env(safe-area-inset-top,0px));left:clamp(12px,4vw,24px);
    align-items:center;gap:8px;max-width:min(50vw,190px);text-decoration:none;
    color:#fff;filter:drop-shadow(0 3px 9px rgba(0,0,0,.42));
  }
  .zi-image-brand>img{width:32px;height:32px;object-fit:contain;filter:brightness(0) invert(1);}
  .zi-image-brand-words {display:flex;flex-direction:column;font:500 25px/1 "Cormorant Garamond",Georgia,serif;}
  .zi-image-brand-words small {font:600 7px/1.2 "DM Sans",sans-serif;letter-spacing:.28em;}
  .zi-image-brand .tenant-logo-pair {width:clamp(110px,32vw,166px)!important;}
  .zi-image-brand .tenant-logo-light {display:none!important;}
  .zi-image-brand .tenant-logo-dark {display:block!important;}
}
@media (max-width:900px) {
  /* All public V3 pages with the original bottom navigation have no top navbar. */
  body.v3[data-wedding-navigation="legacy"] > .site-header {display:none!important;}
  body.v3[data-public-header="image"] .home-hero-v4 {margin-top:0!important;}
}
@media (max-width:1023px) {
  body.v3[data-wedding-navigation="vnext"] > .zw-nav-header {display:none!important;}
}
/* Wedding couple hero — actions on the lower picture edge; copy stays legible. */
body.v3 .couple-cinema-hero-v45 .couple-cinema-copy-v45 {
  bottom:clamp(92px,10svh,125px)!important;
  width:min(1020px,92vw)!important;
}
body.v3 .couple-cinema-hero-v45 .couple-hero-actions-v45 {
  bottom:clamp(14px,2.2vh,25px)!important;
}
body.v3 .couple-cinema-hero-v45 .couple-cinema-dots{bottom:66px!important;}
@media (max-width:900px) {
  body.v3 .couple-cinema-hero-v45 .couple-cinema-copy-v45 {
    bottom:calc(145px + env(safe-area-inset-bottom,0px))!important;
    width:min(94vw,620px)!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-actions-v45 {
    position:absolute!important;bottom:calc(70px + env(safe-area-inset-bottom,0px))!important;
    left:50%!important;transform:translateX(-50%)!important;
    width:calc(100% - 24px)!important;max-width:500px!important;
    display:flex!important;justify-content:space-around!important;gap:5px!important;
    margin:0!important;padding:7px 6px!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-cinema-dots {display:none!important;}
  body.v3 .couple-cinema-hero-v45 .couple-cinema-copy-v45 h1 {
    font-size:clamp(38px,10.8vw,61px)!important;
    line-height:.95!important;
    overflow-wrap:anywhere;
  }
  body.v3 .couple-cinema-hero-v45 .couple-cinema-copy-v45 .couple-discover {display:none;}
}
/* VNext partner hero: bring the copy/actions to the photographic baseline. */
body.v3 .zw-public .zw-couple-hero {
  align-items:flex-end;min-height:max(620px,82svh);
}
body.v3 .zw-public .zw-couple-hero .zw-hero-copy {
  padding-top:clamp(120px,18svh,210px);
  padding-bottom:clamp(50px,8svh,100px);
  margin-inline:auto;
}
@media (max-width:1023px) {
  body.v3 .zw-public .zw-couple-hero .zw-hero-copy {
    padding-top:clamp(110px,15svh,160px);
    padding-bottom:calc(104px + env(safe-area-inset-bottom,0px));
  }
  body.v3 .zw-public .zw-couple-hero .zw-hero-copy h1 {font-size:clamp(43px,9vw,76px);}
}
/* Gallery hero adds the same photo-overlay mark and transparent navigation. */
body.v3 .gallery-signature.zi-gallery-unified{padding-top:0!important;overflow:visible;}
.zi-gallery-immersive {
  position:relative;isolation:isolate;min-height:440px;
  height:clamp(440px,69svh,780px);display:flex;align-items:flex-end;overflow:hidden;
  background:#30241d;color:#fff;
}
.zi-gallery-immersive-media,.zi-gallery-immersive-shade {position:absolute;inset:0;}
.zi-gallery-immersive-media{z-index:-2;}
.zi-gallery-immersive-media :is(.zi-image-shell,picture,img){display:block;width:100%;height:100%;object-fit:cover;}
.zi-gallery-immersive-media img{object-position:center 38%;}
.zi-gallery-immersive-shade{z-index:-1;background:linear-gradient(180deg,rgba(18,12,9,.27),transparent 29%,rgba(17,10,7,.74));}
.zi-gallery-immersive-copy {
  width:min(1180px,calc(100% - 52px));margin:0 auto;
  padding:135px 0 clamp(32px,6svh,66px);position:relative;z-index:2;
}
.zi-gallery-immersive-copy .eyebrow{color:#f0d4b2!important;font-size:10px;letter-spacing:.3em;}
.zi-gallery-immersive-copy h1{font:400 clamp(65px,8vw,115px)/.92 "Cormorant Garamond",Georgia,serif;color:#fff!important;margin:12px 0;}
.zi-gallery-immersive-copy p{font:400 clamp(18px,2vw,27px)/1.4 "Cormorant Garamond",Georgia,serif;color:#fff;}
.zi-gallery-immersive-copy a{display:inline-flex;align-items:center;gap:9px;color:#fff;margin-top:20px;font:600 12px "DM Sans",sans-serif;text-decoration:none;}
.zi-gallery-immersive-copy a:hover{text-decoration:underline;}
.zi-gallery-immersive-copy .zi-icon{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;}
.zi-gallery-unified .gallery-masonry{margin-top:clamp(32px,6svh,72px);}
@media(max-width:900px) {
  .zi-gallery-immersive{height:clamp(425px,75svh,675px);}
  .zi-gallery-immersive-copy {width:calc(100% - 32px);padding-bottom:calc(110px + env(safe-area-inset-bottom,0px));}
  .zi-gallery-immersive-copy h1{font-size:clamp(52px,13vw,82px);}
}
/* Long vows scroll gently while visible instead of escaping the image. */
body.v3 .couple-ending-v45 .couple-ending-copy {
  right:6vw;bottom:clamp(32px,7svh,85px);
  max-height:calc(100% - 75px);
}
body.v3 .couple-ending-v45 .couple-ending-copy blockquote[data-zi-auto-story] {
  display:block;max-width:min(720px,86vw);
  max-height:clamp(115px,28svh,255px);overflow:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.46) transparent;
  -webkit-overflow-scrolling:touch;
  padding:0 9px 0 0;outline-offset:4px;
  transition:opacity .5s ease;
}
body.v3 .couple-ending-v45 .couple-ending-copy blockquote.zi-story-overflowing {
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
body.v3 .couple-ending-v45 .couple-ending-copy blockquote.zi-story-restart {opacity:0;}
@media(max-width:760px){
  body.v3 .couple-ending-v45 .couple-ending-copy {left:6vw;right:6vw;bottom:calc(102px + env(safe-area-inset-bottom,0px));}
  body.v3 .couple-ending-v45 .couple-ending-copy h2 {font-size:clamp(59px,16vw,88px);}
  body.v3 .couple-ending-v45 .couple-ending-copy blockquote[data-zi-auto-story] {
    font-size:clamp(16px,4.4vw,20px);line-height:1.48;
    max-width:100%;max-height:clamp(100px,22svh,205px);
  }
}
@media(prefers-reduced-motion:reduce){
  body.v3 .couple-ending-v45 .couple-ending-copy blockquote[data-zi-auto-story] {transition:none;scroll-behavior:auto;}
  body.v3 .couple-ending-v45 .couple-ending-copy blockquote.zi-story-restart {opacity:1;}
}
html[data-zi-motion="reduce"] body.v3 .couple-ending-v45 blockquote[data-zi-auto-story] {transition:none;}
@media (prefers-reduced-motion:reduce) {
  body.v3 .site-header, body.v3 .zw-nav-header {transition:none!important;}
}
html[data-zi-motion="reduce"] body.v3 .site-header,
html[data-zi-motion="reduce"] body.v3 .zw-nav-header {transition:none!important;}



/* V4.32 — stationary homepage editorial copy aligned with the lower edge
   of the photo. The carousel may change photographs, never text position. */
body.v3 .home-hero-v4 {
  display:flex!important;
  align-items:flex-end!important;
}
body.v3 .home-hero-v4 .home-hero-content {
  flex:0 0 auto;
  z-index:3;
  width:calc(100% - 48px);
  max-width:1040px;
  margin:0 auto!important;
  padding:0 0 clamp(42px,5.5svh,76px)!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
body.v3.zw-home .zw-hero {
  display:flex;
  align-items:flex-end;
  min-height:clamp(610px,78svh,720px);
}
body.v3.zw-home .zw-hero > .zw-hero-copy {
  position:relative;
  z-index:2;
  flex:0 1 auto;
  width:min(1200px,calc(100% - 48px));
  margin:0 auto!important;
  padding:0 0 clamp(42px,5.5svh,70px)!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}
@media (max-width:900px) {
  body.v3 .home-hero-v4 .home-hero-content {
    width:calc(100% - 28px);
    padding:0 0 calc(98px + env(safe-area-inset-bottom,0px))!important;
  }
  body.v3 .home-hero-v4 .home-hero-content h1 {
    font-size:clamp(43px,11vw,66px)!important;
    line-height:.9!important;
  }
}
@media (max-width:1023px) {
  body.v3.zw-home .zw-hero > .zw-hero-copy {
    width:calc(100% - 32px);
    padding:0 0 calc(106px + env(safe-area-inset-bottom,0px))!important;
  }
  /* Carousel metadata must not crowd buttons or the bottom navbar. */
  body.v3.zw-home .zw-hero-credit {display:none;}
}
@media (max-height:680px) and (min-width:901px) {
  body.v3 .home-hero-v4 .home-hero-content {
    padding-bottom:32px!important;
  }
  body.v3.zw-home .zw-hero > .zw-hero-copy {
    padding-bottom:32px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.v3 .home-hero-v4 .home-hero-content,
  body.v3.zw-home .zw-hero > .zw-hero-copy {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
