/* v4.38 — retain the original cinematic typography while moving the
   interactions down to the final visible band of the photo. */
@media (max-width:900px) {
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 {
    bottom:calc(22px + env(safe-area-inset-bottom,0px))!important;
    gap:clamp(10px,1.6svh,16px)!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .couple-cinema-copy-v45 h1 {
    font-size:clamp(48px,12.3vw,74px)!important;
    line-height:.96!important;
    letter-spacing:-.038em;
    max-width:100%;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .couple-cinema-copy-v45 > small {
    font-size:clamp(9px,2.5vw,11px)!important;
    letter-spacing:.30em;
    line-height:1.5;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .couple-cinema-copy-v45 > p {
    font-size:clamp(11px,2.85vw,15px)!important;
    line-height:1.55!important;
    max-width:min(520px,100%);
    margin-inline:auto!important;
    letter-spacing:.11em!important;
    overflow-wrap:break-word;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 > .couple-hero-actions-v45 {
    min-height:43px!important;
    padding:1px 6px!important;
    justify-content:space-around!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .hero-action-card .zi-icon {
    width:clamp(21px,5.7vw,26px)!important;
    height:clamp(21px,5.7vw,26px)!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .hero-action-card b {
    font-size:clamp(12px,3vw,15px)!important;
  }
}
@media(max-width:360px) {
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .couple-cinema-copy-v45 h1 {
    font-size:clamp(43px,12.5vw,48px)!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 {
    bottom:calc(17px + env(safe-area-inset-bottom,0px))!important;
    gap:8px!important;
  }
}
@media (max-height:670px) and (max-width:900px) {
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .couple-cinema-copy-v45 h1 {
    font-size:clamp(42px,10.5vw,54px)!important;
  }
  body.v3 .couple-cinema-hero-v45 .couple-hero-lower-v437 .couple-cinema-copy-v45 > p {
    font-size:clamp(10px,2.7vw,13px)!important;
  }
}

/* Contextual sign-in sheet: native dialog provides focus management, Escape,
   backdrop and top-layer rendering above the mobile navigation. */
body.v3 dialog.zi-couple-auth-sheet-v438 {
  box-sizing:border-box;
  position:fixed!important;
  inset:auto 0 0 0!important;
  margin:0 auto!important;
  display:none;
  width:min(100%,520px)!important;
  min-width:0;
  max-width:100vw!important;
  max-height:min(90svh,690px);
  overflow:auto;
  overflow-x:hidden;
  padding:0;
  border:1px solid color-mix(in srgb,var(--zi-shared-nav-line,#d8c8bc) 82%,transparent);
  border-bottom:0;
  border-radius:26px 26px 0 0;
  background:var(--zi-shared-nav-paper,#fffaf5);
  color:var(--zi-shared-nav-ink,#32221b);
  box-shadow:0 -24px 90px rgba(20,14,12,.24);
  z-index:2147483647;
  overscroll-behavior:contain;
}
body.v3 dialog.zi-couple-auth-sheet-v438[open] {
  display:block!important;
  animation:zi-couple-auth-rise .28s cubic-bezier(.2,.82,.27,1) both;
}
body.v3 dialog.zi-couple-auth-sheet-v438::backdrop {
  background:rgba(15,12,11,.60);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
body.v3 .zi-couple-auth-sheet-content-v438 {
  position:relative;
  width:100%;
  padding:16px clamp(20px,6vw,46px) calc(30px + env(safe-area-inset-bottom,0px));
  text-align:center;
}
body.v3 .zi-couple-auth-handle-v438 {
  width:43px;
  height:5px;
  margin:0 auto 24px;
  border-radius:99px;
  background:color-mix(in srgb,var(--zi-shared-nav-ink,#32221b) 21%,transparent);
}
body.v3 .zi-couple-auth-close-v438 {
  position:absolute;
  top:23px;
  right:19px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:8px;
  border:1px solid var(--zi-shared-nav-line,#e3d6c8);
  border-radius:50%;
  background:transparent;
  color:var(--zi-shared-nav-ink,#32221b);
}
body.v3 .zi-couple-auth-close-v438 .zi-icon {width:18px;height:18px;}
body.v3 .zi-couple-auth-symbol-v438 {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:3px auto 23px;
  border:1px solid var(--zi-shared-nav-line,#e3d6c8);
  border-radius:17px;
  background:color-mix(in srgb,var(--zi-shared-nav-paper,#fffaf5) 78%,var(--zi-shared-nav-accent,#a67356));
  color:var(--zi-shared-nav-accent,#a67356);
}
body.v3 .zi-couple-auth-symbol-v438 .zi-icon {width:27px;height:27px;}
body.v3 .zi-couple-auth-eyebrow-v438 {
  margin:0 0 12px;
  color:var(--zi-shared-nav-accent,#a67356);
  font:600 10px/1.5 "DM Sans",sans-serif;
  letter-spacing:.22em;
}
body.v3 .zi-couple-auth-sheet-content-v438 h2 {
  margin:0 0 17px;
  color:var(--zi-shared-nav-ink,#32221b);
  font:400 clamp(41px,10vw,60px)/1.04 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.025em;
}
body.v3 .zi-couple-auth-sheet-content-v438 h2 em {
  color:var(--zi-shared-nav-accent,#a67356);
  font-weight:400;
}
body.v3 #ziCoupleAuthDescription {
  max-width:45ch;
  margin:0 auto 22px;
  color:var(--zi-shared-nav-muted,#74675d);
  font:400 clamp(13px,3.5vw,15px)/1.75 "DM Sans",sans-serif;
}
body.v3 .zi-couple-auth-actions-v438 {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
  max-width:420px;
  margin:0 auto;
}
body.v3 .zi-couple-auth-actions-v438 > a {
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  width:100%;
  border-radius:12px;
  font:600 13px/1.4 "DM Sans",sans-serif;
  text-decoration:none;
  transition:transform .18s ease,background .18s ease;
}
body.v3 .zi-couple-auth-actions-v438 > a:hover {transform:translateY(-2px);}
body.v3 .zi-couple-auth-actions-v438 .zi-icon {width:18px;height:18px;}
body.v3 .zi-couple-auth-primary-v438 {
  color:#fff!important;
  border:1px solid var(--zi-shared-nav-accent,#7b533f);
  background:var(--zi-shared-nav-accent,#7b533f);
}
body.v3 .zi-couple-auth-secondary-v438 {
  color:var(--zi-shared-nav-ink,#32221b)!important;
  background:transparent;
  border:1px solid var(--zi-shared-nav-line,#e3d6c8);
}
body.v3 .zi-couple-auth-disclaimer-v438 {
  margin:17px auto 0;
  color:var(--zi-shared-nav-muted,#74675d);
  font:400 11px/1.55 "DM Sans",sans-serif;
}
body.v3 dialog.zi-couple-auth-sheet-v438 :is(a,button):focus-visible {
  outline:3px solid var(--zi-shared-nav-accent,#a67356);
  outline-offset:3px;
}
@keyframes zi-couple-auth-rise {
  from {opacity:.55;transform:translateY(30px);}
  to {opacity:1;transform:translateY(0);}
}
@media(prefers-reduced-motion:reduce) {
  body.v3 dialog.zi-couple-auth-sheet-v438[open] {animation:none!important;}
  body.v3 .zi-couple-auth-actions-v438 > a {transition:none!important;}
}
