/* Responsive breakpoints: desktop >=1025px, tablet 768px-1024px, mobile <=767px. */
@media(max-width:1100px){
      .nav{gap:16px}.brand img{width:190px}.nav-links{gap:16px;font-size:11px}.nav-phone{display:none}
      .hero .wrap{grid-template-columns:minmax(0,1fr)}
      .promise-grid,.proposal-grid{grid-template-columns:1fr;gap:36px}
      .package-grid{grid-template-columns:1fr 1fr}
      .story-grid{grid-template-columns:1fr 1fr}.story-card:nth-child(2){border-right:0}.story-card:nth-child(-n+2){border-bottom:1px solid #ddcfad}
    }

@media(max-width:820px){
      :root{--wrap:min(100% - 32px, 1240px)}
      .site-header{position:sticky}.nav{position:relative;min-height:72px;justify-content:flex-start;gap:0}.brand{margin-right:auto}.brand img{width:175px;height:42px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.nav-links{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:16px;background:var(--navy);border-top:1px solid rgba(255,255,255,.12)}.nav-links.open{display:flex}.nav-links a{padding:10px 0}.nav-right{display:none}
      .hero,.hero .wrap{min-height:700px}.hero-copy{padding:90px 0 46px}
      .section-head,.finder-shell,.venue-grid{grid-template-columns:1fr;gap:28px}.section-head{align-items:start}.finder-copy,.finder-panel{padding:32px}
      .venue-feature{min-height:480px}.venue-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
      .proposal-grid{gap:28px}
    }

@media(max-width:600px){
      section{padding:68px 0}h1{font-size:45px}h2{font-size:35px}.lead{font-size:16px}.hero,.hero .wrap{min-height:650px}.hero-actions,.finder-submit,.rfp-submit{align-items:stretch;flex-direction:column}.hero-actions .btn,.finder-submit .btn,.rfp-submit .btn{width:100%}
      .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.finder-result.show{grid-template-columns:1fr;align-items:start}.finder-result .result-meta{text-align:left}.result-actions{grid-column:auto}
      .package-grid,.venue-intimate,.venue-side{grid-template-columns:1fr}.package-card{min-height:auto}.venue-feature{min-height:450px}.venue-side{grid-template-rows:auto}.venue-card{min-height:220px}
      .story-grid{grid-template-columns:1fr}.story-card{border-right:0;border-bottom:1px solid #ddcfad}.story-card:last-child{border-bottom:0}
      .rfp{padding:28px}.rfp h3{font-size:31px}.footer-grid{align-items:flex-start;flex-direction:column}.footer-copy{text-align:left}
      .modal-panel{padding:34px 24px}.modal h3{font-size:29px}
    }

@media (max-width:640px){
      .rfp-package-actions{display:grid;grid-template-columns:1fr}
      .rfp-package-actions .btn{width:100%}
    }

@media (max-width:1020px){.wedding-gallery-head{align-items:start}.wedding-gallery-tabs{justify-content:flex-start}.wedding-space-gallery{grid-template-columns:1fr}.wedding-gallery-stage{min-height:540px}.wedding-gallery-info{min-height:0}}

@media (max-width:640px){.wedding-gallery-stage{min-height:500px}.wedding-gallery-caption{padding:26px 22px 74px}.wedding-gallery-caption h3{font-size:34px}.wedding-gallery-dots{right:22px;bottom:26px}.wedding-gallery-nav{width:48px;height:48px;font-size:25px}.wedding-gallery-prev{left:14px}.wedding-gallery-next{right:14px}.wedding-gallery-counter{top:14px;right:14px}.wedding-gallery-info{padding:25px 22px}.wedding-gallery-info h3{font-size:31px}.wedding-stat-grid{gap:8px}.wedding-stat{min-height:88px;padding:14px}.wedding-stat strong{font-size:25px}.wedding-private-note{display:grid;gap:8px;padding:18px}.wedding-private-note strong{min-width:0}}

@media (max-width:640px){.wedding-gallery-lightbox{padding:14px}.wedding-gallery-lightbox-dialog{max-height:calc(100vh - 28px);gap:10px}.wedding-gallery-lightbox-close,.wedding-gallery-lightbox-prev,.wedding-gallery-lightbox-next{width:46px;height:46px;font-size:24px}.wedding-gallery-lightbox-close{font-size:21px}.wedding-gallery-lightbox-prev{left:10px}.wedding-gallery-lightbox-next{right:10px}.wedding-gallery-lightbox-image{max-height:calc(100vh - 158px)}.wedding-gallery-lightbox-count{min-height:36px;font-size:10px}}

@media(max-width:760px){
      .wedding-hero-nav{width:48px;height:48px;font-size:26px}
      .wedding-hero-prev{left:14px}.wedding-hero-next{right:14px}
      .wedding-hero-dots{bottom:16px}
    }

@media (max-width:760px){
      :root{--wrap:min(100% - 32px, 1240px)}
      .site-header{position:sticky;top:0}
      .nav{min-height:68px;gap:10px}
      .brand img{width:176px;height:46px}
      .nav-right{margin-left:auto;gap:8px}.nav-right .nav-phone,.nav-right>.btn{display:none}
      .menu-toggle{display:inline-grid;place-items:center;width:48px;min-width:48px;height:44px;padding:0;border-color:rgba(255,255,255,.36)}
      .nav-links.open{position:fixed;left:0;right:0;top:calc(68px + env(safe-area-inset-top));z-index:1200;display:grid;gap:0;max-height:calc(100dvh - 68px - env(safe-area-inset-top));overflow:auto;padding:8px 16px calc(16px + env(safe-area-inset-bottom));background:var(--navy);border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 18px 30px rgba(0,0,0,.22)}
      .nav-links.open a{display:flex;align-items:center;min-height:52px;padding:0 6px;border-bottom:1px solid rgba(255,255,255,.10)}
      .hero{min-height:650px;min-height:calc(100svh - 68px - env(safe-area-inset-top))}
      .hero .wrap{min-height:650px;min-height:calc(100svh - 68px - env(safe-area-inset-top))}
      .hero-copy{padding:94px 0 54px}
      .hero h1{font-size:clamp(42px,12.2vw,56px);line-height:1.01}
      .hero p{font-size:15px;line-height:1.65}
      
      .wedding-hero-nav{display:none!important}
      .wedding-hero-dots{bottom:18px}
      section{padding:64px 0}
      .section-head{gap:22px;margin-bottom:28px}
      .section-head .section-aside{padding-left:14px;font-size:14px}
      .finder-copy,.finder-panel{padding:28px 20px}
      .finder-panel-top{align-items:start;flex-direction:column;gap:5px}
      .finder-result.show{padding:18px}
      .finder-result .result-actions{display:grid;grid-template-columns:1fr;gap:9px}
      .package-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 0 8px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
      .package-card{flex:0 0 min(88vw,340px);scroll-snap-align:start}
      .wedding-gallery-tabs,.wedding-capacity-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
      .wedding-gallery-tab,.wedding-capacity-tab{flex:0 0 auto;scroll-snap-align:start}
      .wedding-gallery-stage{min-height:510px}
      .wedding-gallery-caption{padding:26px 20px 76px}
      .wedding-gallery-caption h3{font-size:36px}
      .wedding-gallery-caption>p:not(.eyebrow){font-size:13px;line-height:1.6}
      .wedding-gallery-metrics{gap:7px;margin-top:16px}.wedding-gallery-metrics span{padding:8px 9px;font-size:10px}
      .wedding-gallery-dots{right:20px;bottom:24px}
      .wedding-gallery-nav{width:44px;height:44px;font-size:24px}.wedding-gallery-prev{left:12px}.wedding-gallery-next{right:12px}
      .wedding-gallery-counter{top:14px;right:14px}
      .wedding-gallery-info{padding:24px 20px}
      .wedding-stat-grid{gap:8px}.wedding-stat{min-height:86px;padding:14px}.wedding-stat strong{font-size:26px}
      .wedding-gallery-actions{display:grid;grid-template-columns:1fr}.wedding-gallery-actions .btn{width:100%}
      .wedding-private-note{display:grid;gap:8px;padding:18px}.wedding-private-note strong{min-width:0}
      .wedding-capacity-context{display:grid;gap:16px;padding:18px}
      .wedding-capacity-context-actions{display:grid;grid-template-columns:1fr}.wedding-capacity-context-actions .btn{width:100%}
      .wedding-capacity-table{min-width:720px}
      .wedding-capacity-table th,.wedding-capacity-table td{padding:14px 13px}
      .proposal-grid{gap:30px}.rfp{padding:26px 20px}.rfp h3{font-size:31px}
      .modal{align-items:flex-end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
      .modal-panel{width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));padding:24px 20px 20px;border-radius:22px 22px 0 0}
      .modal h3{font-size:29px;line-height:1.12}.modal p{font-size:14px;line-height:1.62}
      .modal-actions{display:grid;grid-template-columns:1fr}.modal-actions .btn{width:100%;min-height:50px}
      .modal-close{top:14px;right:14px}
      .wedding-gallery-lightbox{padding:12px}.wedding-gallery-lightbox-dialog{max-height:calc(100dvh - 24px);gap:10px}.wedding-gallery-lightbox-close,.wedding-gallery-lightbox-prev,.wedding-gallery-lightbox-next{width:44px;height:44px;font-size:23px}.wedding-gallery-lightbox-prev{left:9px}.wedding-gallery-lightbox-next{right:9px}.wedding-gallery-lightbox-image{max-height:calc(100dvh - 150px)}
    }

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-media img#weddingHeroImage{transform:none!important}}

@media (hover:none),(pointer:coarse),(max-width:760px){
      .site-header,.wedding-gallery-nav,.wedding-gallery-lightbox,.wedding-gallery-lightbox-close,.wedding-gallery-lightbox-prev,.wedding-gallery-lightbox-next,.wedding-hero-nav,.wedding-hero-dot{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
      .hero-media img#weddingHeroImage{will-change:auto!important;transition:opacity .26s ease!important;transform:none!important}
      .wedding-gallery-stage>img{transition:opacity .22s ease!important;will-change:auto!important}
      .btn{transition:background .16s ease,color .16s ease,border-color .16s ease!important}
      .btn:hover{transform:none!important}
      .wedding-gallery-lightbox{background:rgba(4,13,24,.95)!important}
    }

@media (max-width:760px){
      .modal{align-items:center!important;padding:16px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important}
      .modal-panel{width:min(100%,540px)!important;max-height:min(680px,calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))!important;padding:24px 20px 20px!important;border-radius:20px!important}
      .modal-panel .modal-detail{margin:14px 0!important;padding:13px 14px!important;font-size:13px!important;line-height:1.55!important}
      .modal-panel h3{padding-right:42px!important;font-size:clamp(27px,8vw,34px)!important;line-height:1.12!important}
      .modal-panel .modal-actions{gap:10px!important;margin-top:16px!important}
      .modal-panel .btn{min-height:50px!important}
      .wedding-gallery-stage{min-height:500px!important}
      .wedding-gallery-caption{padding-bottom:74px!important}
    }

@media (max-width:760px){
      .wedding-capacity-guide{margin:2px 0 18px;font-size:12px;line-height:1.65}
      .wedding-capacity-tab[data-capacity-layout="mixmatch"]{min-width:132px}
      .wedding-capacity-tab[data-capacity-layout="longtable"]{min-width:116px}
    }

@media (min-width:641px) and (max-width:1020px){
  .wedding-gallery-stage{aspect-ratio:var(--wedding-gallery-ratio-tablet)!important;}
}

@media (max-width:640px){
  .wedding-gallery-stage{aspect-ratio:var(--wedding-gallery-ratio-mobile)!important;}
  .wedding-gallery-stage>img{object-position:var(--wedding-gallery-focus-mobile, var(--wedding-gallery-focus, 50% 50%))!important;}
}

@media (min-width:641px) and (max-width:1020px){.wedding-gallery-stage{height:500px!important;}}

@media (max-width:640px){.wedding-gallery-stage{height:calc(100vw * 1.25)!important;max-height:640px!important;}}

@media (max-width:820px){
      body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
      .mobile-contact-cta{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(6,20,36,.30),rgba(6,20,36,.96) 34%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -10px 28px rgba(2,12,24,.26);transition:transform .24s ease,opacity .24s ease}
      .mobile-contact-cta a{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 12px;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;transition:transform .2s ease,filter .2s ease,background .2s ease}
      .mobile-contact-cta a:active{transform:translateY(1px)}
      .mobile-contact-cta svg{width:18px;height:18px;flex:0 0 auto}
      .mobile-contact-call{background:#fff;color:var(--navy);border-color:rgba(255,255,255,.94)!important}
      .mobile-contact-zalo{background:linear-gradient(135deg,#d9aa36 0%,#ba8421 100%);color:#fff;border-color:rgba(244,210,127,.88)!important;box-shadow:0 8px 16px rgba(142,92,8,.18)}
      .mobile-contact-cta a:focus-visible{outline:2px solid #fff;outline-offset:3px}
      body.is-overlay-open .mobile-contact-cta{transform:translateY(115%);opacity:0;pointer-events:none}
    }

@media (max-width:820px){
      .menu-toggle{display:grid!important;font-size:0!important;color:transparent!important;text-indent:-9999px!important;overflow:hidden}
      .menu-toggle .menu-toggle-icon{display:flex!important;position:relative;z-index:1;text-indent:0}
      .menu-toggle .menu-toggle-icon span{display:block!important}
    }

@media (min-width:821px){
      .hero-copy{padding-bottom:112px}
    }
