/* Bridal paid landing: page-scoped presentation only. Preserve canonical booking and attribution. */
.nav .logo{display:block;justify-self:center;width:178px;line-height:0}
.nav .logo img{display:block;width:100%;height:auto}
.navmenu-toggle,.navmenu{display:none}
.navmenu[hidden]{display:none!important}

/* The reusable Jessica banner sits between dark hero and promise sections. Give its
   outer gutter a full-bleed dark surface without touching the global concierge. */
body #amb-jessica-concierge-entry{background:#070707;z-index:0}
body #amb-jessica-concierge-entry::before{
  content:"";position:absolute;z-index:-1;top:-46px;bottom:-46px;
  left:50%;width:100vw;transform:translateX(-50%);background:#070707
}

@media(max-width:900px){
  .page > .topbar{display:none}
  .nav{position:relative;z-index:55}
  .navin{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 18px}
  .nav .logo{grid-column:auto;grid-row:auto;margin:0;width:clamp(134px,32vw,175px)}
  .navlink,.navbtn{display:none}
  .navmenu-toggle{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;
    width:46px;height:44px;padding:10px;border:1px solid rgba(228,194,125,.48);
    background:#0a0a0a;color:#e4c27d;border-radius:6px;cursor:pointer
  }
  .navmenu-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}
  .navmenu-toggle:focus-visible,.navmenu a:focus-visible{outline:2px solid #e4c27d;outline-offset:3px}
  .navmenu:not([hidden]){
    display:grid;position:absolute;top:100%;right:12px;width:min(350px,calc(100vw - 24px));
    padding:14px;background:#090909;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.65);
    border:1px solid rgba(228,194,125,.38);border-radius:0 0 12px 12px;z-index:70
  }
  .navmenu a{display:flex;align-items:center;min-height:49px;padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.13);font-size:13px;font-weight:650;color:#f8f4ed}
  .navmenu .navmenu-assistant{
    display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;
    min-height:72px;margin-top:12px;padding:14px 16px;background:#e4c27d;color:#17120a;
    border:1px solid #c69a45;border-radius:8px;font-size:16px;font-weight:800
  }
  .navmenu-assistant small{font-size:11px;font-weight:500;color:#41311b;line-height:1.35}

  /* Image-first mobile composition: photo is entirely above copy, never beneath faces. */
  .hero{--bridal-photo-h:clamp(190px,35vw,300px);min-height:0;background:#060606}
  .hero:before{inset:0 0 auto;height:var(--bridal-photo-h);background-position:50% 31%;background-size:cover}
  .hero:after{inset:0 0 auto;height:var(--bridal-photo-h);background:linear-gradient(180deg,transparent 65%,rgba(6,6,6,.58) 92%,#060606)}
  .heroin{min-height:0;display:block;align-items:initial;padding:calc(var(--bridal-photo-h) + 12px) 20px 26px}
  .herocopy{max-width:720px}
  .eyebrow{margin-bottom:12px}
  .hero h1{font-size:clamp(34px,5vw,44px);line-height:1.04;max-width:660px}
  .hero h1 em{display:block}
  .hero p{font-size:15px;line-height:1.48;max-width:600px;margin:13px 0 0}
  .heroactions{margin-top:18px;display:grid;grid-template-columns:1fr;gap:9px}
  .heroactions .btn{display:flex;width:100%;min-height:46px;padding:11px 16px;font-size:13px}
  .heroactions .outline:last-child{grid-column:auto}
  .herofoot{display:none}

  /* Never cover the hero CTA choices on initial load. */
  .sticky{
    display:grid;grid-template-columns:1fr 1fr;gap:6px;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(15px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
    z-index:45;background:rgba(0,0,0,.97);border-top:1px solid rgba(228,194,125,.4);
    padding:7px 9px calc(7px + env(safe-area-inset-bottom))
  }
  .sticky.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .sticky .btn{min-height:40px;font-size:11px;line-height:1.25;padding:9px 8px}
  .sticky .btn.gold{grid-column:1/-1}
  .secure{padding-bottom:18px}
  body #amb-jessica-concierge-entry::before{top:-25px;bottom:-25px}
}
@media(max-width:560px){
  .navin{padding:8px 14px;min-height:60px}
  .nav .logo{width:143px}
  .hero{--bridal-photo-h:clamp(176px,48vw,205px)}
  .heroin{padding:calc(var(--bridal-photo-h) + 8px) 16px 22px}
  .eyebrow{font-size:9px;letter-spacing:.11em;gap:8px;margin-bottom:9px}
  .eyebrow:before{width:22px}
  .hero h1{font-size:clamp(31px,8vw,36px);line-height:1.05}
  .hero p{font-size:13px;line-height:1.4;margin-top:10px}
  .heroactions{margin-top:13px;gap:7px}
  .heroactions .btn{min-height:43px;padding:10px 12px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sticky{transition:none}.btn{transition:none}}
