/* Shared invitation behavior. Intentionally scoped away from the sales page. */
[hidden]{display:none!important}html,body{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body.entry-locked{overflow:hidden}.entry-locked .audio-fab,.entry-locked .topbar{visibility:hidden}
.invitation-entry{position:fixed!important;inset:0!important;z-index:1000!important;display:grid;place-items:center;overflow:hidden;opacity:1!important;transform:none!important;transition:none;background:#f4ecdf;isolation:isolate;padding:28px}
.invitation-entry .entry-copy{position:relative;z-index:3;text-align:center;width:min(100%,440px);transition:opacity .5s,transform .8s;color:#513b30}
.invitation-entry h2{font:400 clamp(44px,9vw,72px)/1.08 Georgia,serif;letter-spacing:-1.5px;margin:28px 0}.invitation-entry h2 em{display:block;font-size:.6em;font-style:italic;margin:12px 0;color:#967d50}.entry-kicker{font:10px/1.7 Arial,sans-serif;letter-spacing:2.4px;text-transform:uppercase}.entry-copy>p:not(.entry-kicker){font:italic 16px/1.6 Georgia,serif}.entry-copy small{display:block;font:10px/1.5 Arial;letter-spacing:1.5px;margin-top:20px;text-transform:uppercase}
.paper-door{position:absolute;inset:0 50% 0 0;background:#f6f0e5 url('/momentos/assets/azahar-botanical-optimized.webp') left center/200% 100%;box-shadow:inset -1px 0 #ad916e50;transition:transform 1.45s cubic-bezier(.65,0,.25,1)}.paper-door.door-right{inset:0 0 0 50%;background-position:right center;box-shadow:inset 1px 0 #ad916e50}.opening-scene .entry-copy{padding:26px 12px;background:radial-gradient(ellipse,#f6f0e5 35%,#f6f0e5ee 55%,transparent 72%)}
.entry-seal.open-invitation{position:static;width:78px;height:78px;min-height:0;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:2px;margin-top:24px;border:4px double #b68d68;border-radius:50%;background:radial-gradient(circle at 35% 25%,#aa715a,#6b3e32);color:#f8e3bd;font:22px Georgia;box-shadow:0 5px 10px #44291e30,inset 0 0 0 3px #e4bc7f44;cursor:pointer}.entry-seal span{font-size:14px}.opening-scene.is-open .door-left{transform:translateX(-101%)}.opening-scene.is-open .door-right{transform:translateX(101%)}.invitation-entry.is-open .entry-copy{opacity:0;transform:translateY(-16px);pointer-events:none}.opening-scene.is-open{background:transparent}
.candle-gate{background:#211b17}.candle-backdrop{position:absolute;inset:0;background:linear-gradient(#211b1744,#211b17a0 35%,#211b17c9 75%),url('/momentos/assets/valentina-daniel-preboda-tulum-candles-optimized.webp') center/cover;transition:transform 1.6s,opacity 1.6s}.candle-gate .entry-copy{color:#fff5e7;text-shadow:0 2px 15px #0008}.candle-gate h2 em{color:#ead3a3}.candle-gate .gate-open{padding:16px 23px;margin-top:26px;background:#f4e7d3;color:#34241d;border:1px solid #f3dfb8;border-radius:2px;font:12px Arial;letter-spacing:1px;cursor:pointer}.gate-open span{margin-left:12px}.candle-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 26% 76%,#edb65f50,transparent 35%);animation:living-light 3.7s ease-in-out infinite alternate}.candle-gate.is-open{animation:entry-away 1.6s both}.candle-gate.is-open .candle-backdrop{transform:scale(1.12);opacity:0}
.floral-arrangement{background:#eee5d7!important;border:0!important;box-shadow:none!important;border-radius:48% 48% 2px 2px;display:grid;place-items:center;min-height:330px!important}.floral-arrangement:before,.floral-arrangement:after,.floral-side:before,.floral-side:after{display:none!important}.floral-arrangement img{width:85%;height:310px;object-fit:contain;transform-origin:50% 90%;animation:botanical-breeze 7s ease-in-out infinite}.floral-side{background:url('/momentos/assets/azahar-sprig-optimized.webp') center/contain no-repeat!important;width:70px!important;height:210px!important;opacity:.85;animation:botanical-breeze 7s ease-in-out infinite!important}.floral-side i,.candle-side{display:none!important}
.living-candles{position:relative!important;overflow:hidden;border-radius:48% 48% 0 0;background:#312218!important;min-height:340px!important;box-shadow:none!important}.living-candles:before,.living-candles:after{display:none!important}.living-candles img{display:block;width:100%;height:420px;object-fit:cover;animation:table-breathe 15s ease-in-out infinite alternate}.living-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 67%,#ffc57570,transparent 17%),radial-gradient(ellipse at 58% 54%,#ffe0a14a,transparent 15%);mix-blend-mode:screen;animation:living-light 2.6s ease-in-out infinite alternate;opacity:.25;transition:opacity 1s}body.candles-lit .living-glow{opacity:1}.living-candles img{filter:brightness(.8);transition:filter 1s}body.candles-lit .living-candles img{filter:brightness(1)}
.gallery-grid figure,.photo-strip figure{height:auto!important;aspect-ratio:auto!important;margin:0!important;overflow:hidden}.gallery-grid img,.photo-strip img{display:block;width:100%;height:auto!important;object-fit:contain!important;transform:none!important;filter:none!important}.photo-strip{align-items:start}.form-message{white-space:pre-line;font-weight:400}.reply-actions{display:flex;gap:8px;flex-wrap:wrap}.reply-actions button{padding:12px;min-height:44px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}.entry-copy button:focus-visible{outline:3px solid #bd964e;outline-offset:8px}
@keyframes botanical-breeze{0%,100%{rotate:-2deg}50%{rotate:2deg;translate:0 -3px}}@keyframes living-light{0%{filter:brightness(.85)}33%{filter:brightness(1.12)}65%{filter:brightness(.95)}100%{filter:brightness(1.18)}}@keyframes table-breathe{to{transform:scale(1.035)}}@keyframes entry-away{0%,65%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(max-width:600px){.invitation-entry{padding:22px}.invitation-entry h2{font-size:49px}.entry-copy>p:not(.entry-kicker){font-size:15px}.entry-kicker{font-size:9px}.floral-side{width:35px!important}.floral-arrangement img{height:270px}.living-candles img{height:340px}.photo-strip{grid-template-columns:1fr!important;padding:24px!important;gap:20px!important}.gallery-grid{gap:20px}.cover h1{font-size:clamp(49px,16vw,80px)}.hero h1{overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.opening-scene:before,.opening-scene:after{display:none!important}

/* Laura / Miguel: photographic editorial folio, distinct from botanical doors. */
.editorial-entry.invitation-entry{padding:0;background:transparent;perspective:1600px;overflow:hidden}
.editorial-sheet{position:absolute;inset:0;display:grid;grid-template-rows:54% 46%;background:#f5eddf;transform-origin:left center;backface-visibility:hidden;transition:transform 1.6s cubic-bezier(.65,.02,.25,1),opacity 1.4s;box-shadow:12px 0 40px #28180f30}
.editorial-photo{position:relative;min-height:0;overflow:hidden;margin:20px 20px 0}.editorial-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%;display:block}.editorial-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1d1b1799)}.editorial-photo>span{position:absolute;bottom:14px;left:0;right:0;z-index:1;text-align:center;color:#fff;font:9px Arial;letter-spacing:2.6px}
.editorial-copy{text-align:center;padding:22px 20px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#51382e}.editorial-copy .entry-kicker{font-size:8px;letter-spacing:1.5px;margin:0}.editorial-entry .editorial-copy h2{font:400 clamp(35px,8vw,64px)/1.05 Georgia;margin:15px 0;letter-spacing:-1.8px;color:#51382e}.editorial-copy h2 i{font-size:.65em;color:#a27b4d;font-weight:400}.editorial-copy>p:not(.entry-kicker){font:italic 15px Georgia;margin:0 0 20px}.editorial-open.open-invitation{position:static;display:inline-flex;align-items:center;gap:25px;min-height:44px;border:0;border-top:1px solid #b49a7880;border-radius:0;padding:12px 0 0;background:transparent;color:#51382e;box-shadow:none;font:11px Arial;letter-spacing:1px;cursor:pointer}.editorial-open span{font-size:20px}.editorial-entry.is-open .editorial-sheet{transform:rotateY(-105deg);opacity:0}
@media(max-height:550px){.editorial-sheet{grid-template-rows:48% 52%}.editorial-copy{padding:12px}.editorial-entry .editorial-copy h2{font-size:34px;margin:10px 0}.editorial-copy>p:not(.entry-kicker){margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.editorial-sheet{transition:none!important}}

html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
main,section,header,footer{min-width:0;max-width:100%;box-sizing:border-box}
img,video{max-width:100%}input,select,textarea{min-width:0;max-width:100%;box-sizing:border-box}
.ambient{display:none!important}

@supports not (overflow:clip){html,body{overflow-x:hidden}}
