@font-face{font-family:The Seasons;src:url(/fonts/TheSeasons-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:The Seasons;src:url(/fonts/TheSeasons-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:The Seasons;src:url(/fonts/TheSeasons-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--burgundy-deep:#1a0101;--burgundy-mid:#4a0404;--burgundy-light:#6b1515;--gold:#d4af37;--gold-light:#f5e6a3;--gold-dark:#8b6914;--gold-metallic:linear-gradient(180deg, #f5e6a3 0%, #e8c84a 18%, #d4af37 38%, #a8841e 52%, #d4af37 68%, #f0d878 85%, #c9a227 100%);--cream:#f8f0e0;--kraft:#c9a87c;--kraft-dark:#a08050;--font-seasons:"The Seasons", "Cormorant Garamond", Georgia, serif;--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-seasons);background:var(--burgundy-deep);color:var(--gold);min-height:100dvh;overflow:hidden}.page-loader{z-index:50;transition:opacity .75s var(--ease-out-expo), visibility .75s;background:radial-gradient(80% 60%,#3a0606 0%,#2d0505 55%,#1a0101 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.page-loader__inner{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.page-loader__ring{border:1.5px solid #d4af3733;border-top-color:var(--gold);border-right-color:#f5e6a3b3;border-radius:50%;width:48px;height:48px;animation:.9s linear infinite loader-spin;box-shadow:0 0 18px #d4af3733}.page-loader__text{letter-spacing:.35em;text-transform:uppercase;opacity:.85;font-size:.85rem}.page-loader__text:after{content:"";animation:1.4s steps(4,end) infinite loader-dots}@keyframes loader-spin{to{transform:rotate(360deg)}}@keyframes loader-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.invitation-bg{z-index:0;background-color:#2d0505;background-image:radial-gradient(90% 70% at 0 0,#4a0a0a73 0%,#0000 62%),radial-gradient(80% 55% at 100% 0,#0c01018c 0%,#0000 58%),radial-gradient(80% 55% at 0 100%,#0c01018c 0%,#0000 58%),radial-gradient(90% 70% at 100% 100%,#4a0a0a73 0%,#0000 62%),radial-gradient(80% 60%,#3a0606 0%,#2d0505 55%,#1a0101 100%);position:fixed;inset:0}.sparkles{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sparkle{width:var(--size,8px);height:var(--size,8px);opacity:0;animation:sparkle-fall var(--duration,12s) linear infinite;animation-delay:var(--delay,0s);background:radial-gradient(circle,#fff5d2 0%,#f5e6a3d9 35%,#d4af3780 60%,#0000 75%);border-radius:50%;position:absolute;top:-30px;box-shadow:0 0 8px #f5e6a3b3,0 0 16px #d4af3759}.sparkle:before,.sparkle:after{content:"";background:#fff5d2d9;border-radius:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sparkle:before{width:calc(var(--size,8px) * 2.8);height:2px}.sparkle:after{width:2px;height:calc(var(--size,8px) * 2.8)}@keyframes sparkle-fall{0%{opacity:0;transform:translateY(0)translate(0)scale(.7)}8%{opacity:var(--sparkle-opacity,.6)}85%{opacity:calc(var(--sparkle-opacity,.6) * .75)}to{transform:translateY(105vh) translateX(var(--drift,0px)) scale(1);opacity:0}}.sound-toggle{z-index:20;letter-spacing:.15em;opacity:.75;border:1px solid #0000;border-radius:999px;padding:.5rem .75rem;font-size:.7rem;transition:opacity .2s}.sound-toggle:not(.is-playing){animation:2.8s ease-in-out infinite sound-glow}.sound-toggle__label{z-index:1;position:relative}.sound-toggle:hover,.sound-toggle:focus-visible{opacity:1}.sound-toggle.is-playing{opacity:.75;border-color:#d4af3733;animation:none}@keyframes sound-glow{0%,to{opacity:.6;text-shadow:0 0 4px #d4af3726;border-color:#d4af371a;box-shadow:0 0 #d4af3700}50%{opacity:1;text-shadow:0 0 10px #f5e6a38c,0 0 18px #d4af3740;border-color:#d4af3773;box-shadow:0 0 14px #d4af3733}}.sound-toggle--inline{z-index:1;position:relative}@media (prefers-reduced-motion:reduce){.sparkle{animation:none;display:none}.sound-toggle:not(.is-playing){opacity:.85;animation:none}}.gold-metallic{background:var(--gold-metallic);-webkit-text-fill-color:transparent;color:#0000;background-clip:text}.gold-text{color:var(--gold)}.cream-text{color:var(--cream)}.florish{color:var(--gold);margin-inline:auto;display:block}.florish--sm{width:120px;height:auto}.florish--md{width:180px;height:auto}.florish--lg{width:220px;height:auto}.divider-line{align-items:center;gap:.75rem;width:100%;max-width:280px;margin-inline:auto;display:flex}.divider-line:before,.divider-line:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);flex:1;height:1px}.header-block{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.header-block__name{letter-spacing:.04em;color:var(--cream);margin-bottom:.25rem;font-size:clamp(1.6rem,5vw,2.2rem);font-style:italic;font-weight:400}.header-block__title{letter-spacing:.12em;font-size:clamp(2.8rem,10vw,4.5rem);font-weight:700;line-height:1}.header-block__subtitle{letter-spacing:.35em;text-transform:uppercase;font-size:clamp(.75rem,2.5vw,.95rem);font-weight:400}.header-block__date{letter-spacing:.25em;margin-top:.5rem;font-size:clamp(.9rem,3vw,1.1rem)}.cover{z-index:10;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .9s var(--ease-out-expo), visibility .9s;flex-direction:column;justify-content:center;align-items:center;padding:clamp(1.25rem,4vw,2.5rem) clamp(1rem,4vw,2rem);display:flex;position:fixed;inset:0}.cover.is-ready{opacity:1;visibility:visible;pointer-events:auto}.cover__content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(1.5rem,5vw,2.5rem);width:100%;max-width:420px;display:flex}.cover__header{flex-direction:column;align-items:center;width:100%;display:flex}.cover__header-image{object-fit:contain;width:min(100%,380px);height:auto}.cover__envelope-zone{flex-direction:column;align-items:center;gap:clamp(.75rem,3vw,1.25rem);width:100%;display:flex}.cover.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.cover__frame{pointer-events:none;position:absolute;inset:clamp(.75rem,3vw,1.5rem)}.cover__frame-corner{pointer-events:none;width:clamp(140px,38vw,220px);height:auto;position:absolute}.cover__frame-corner--tl{top:0;left:0}.cover__frame-corner--br{bottom:0;right:0}.cover__bottom-text{letter-spacing:.16em;text-transform:uppercase;text-align:center;opacity:.95;text-shadow:0 1px 4px #00000073;margin-top:1.25rem;font-size:clamp(.85rem,2.6vw,1.05rem);font-weight:700}.envelope-trigger{perspective:800px;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;padding:0;display:flex;position:relative}.envelope-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:4px}.envelope{filter:drop-shadow(0 10px 22px #00000080);width:clamp(220px,65vw,300px);height:clamp(160px,42vw,210px);position:relative}.envelope__body{background:linear-gradient(145deg, #fff8e647 0%, transparent 32%), linear-gradient(200deg, transparent 55%, #5032142e 100%), linear-gradient(160deg, #e4d2aa 0%, #d4b888 28%, var(--kraft) 55%, #b89568 82%, var(--kraft-dark) 100%);border:1px solid #5c3e1c6b;border-radius:3px 3px 5px 5px;position:absolute;inset:0;box-shadow:inset 0 1px #fff6,inset 0 -3px 6px #3c230a2e,inset 1px 0 #ffffff29,inset -1px 0 #3c230a1f}.envelope__body:before,.envelope__body:after{content:"";width:50%;height:58%;position:absolute;bottom:0}.envelope__body:before{clip-path:polygon(0 100%,100% 0,100% 100%);background:linear-gradient(135deg,#0000 42%,#ffffff24 48%,#0000 54%),linear-gradient(160deg,#fff5dc1f 0%,#0000 40%),linear-gradient(200deg,#c9a87c 0%,#b08a58 55%,#8f6e42 100%);left:0;box-shadow:inset 2px -1px #ffffff1f}.envelope__body:after{clip-path:polygon(0 0,100% 100%,0 100%);background:linear-gradient(225deg,#0000 42%,#ffffff24 48%,#0000 54%),linear-gradient(200deg,#fff5dc1a 0%,#0000 40%),linear-gradient(160deg,#c9a87c 0%,#a88252 55%,#85653c 100%);right:0;box-shadow:inset -2px -1px #ffffff1a}.envelope__flap{background:linear-gradient(180deg, #fffaeb59 0%, transparent 28%), linear-gradient(180deg, #edd9b4 0%, #d4b888 42%, var(--kraft) 72%, #9a7848 100%);clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top;height:55%;transition:transform .9s var(--ease-out-expo);z-index:2;filter:drop-shadow(0 3px 4px #00000038)drop-shadow(0 1px #fff3);border-top:1px solid #ffffff47;position:absolute;top:0;left:0;right:0}.envelope__seal{object-fit:contain;filter:drop-shadow(0 2px 6px #00000073);z-index:3;pointer-events:none;width:clamp(48px,13vw,64px);height:auto;transition:opacity .4s ease, transform .6s var(--ease-out-expo);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.envelope__flower{z-index:4;pointer-events:none;filter:drop-shadow(0 3px 6px #00000059);width:clamp(80px,22vw,110px);height:auto;transition:opacity .6s;position:absolute}.envelope__flower--right{top:-18%;right:-12%}.envelope__flower--left{bottom:-15%;left:-14%}.envelope-trigger__cta{z-index:5;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;color:var(--burgundy-mid);opacity:.95;text-shadow:0 1px 2px #fff5dc59;pointer-events:none;font-size:clamp(.55rem,1.8vw,.7rem);font-weight:700;transition:opacity .3s;position:absolute;bottom:.3rem;left:50%;transform:translate(-50%)}.envelope-trigger:hover .envelope-trigger__cta,.envelope-trigger:focus-visible .envelope-trigger__cta{opacity:1}.cover.is-opening .envelope-trigger__cta{opacity:0;transition:opacity .35s}.cover.is-opening .envelope__flap{transform:rotateX(160deg)}.cover.is-opening .envelope__seal{opacity:0;transform:translate(-50%,-80%)scale(.5)}.cover.is-opening .envelope__flower{opacity:0}.cover.is-opening .envelope{animation:.6s .7s forwards envelope-fade}@keyframes envelope-fade{to{opacity:0;transform:scale(.92)translateY(20px)}}.invitation{z-index:5;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1s .5s var(--ease-out-expo), visibility 0s 1.5s;position:fixed;inset:0;overflow:hidden auto}.invitation.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 1s .5s var(--ease-out-expo), visibility 0s 0s}.scroll-hint{z-index:12;pointer-events:none;opacity:0;transition:opacity .5s var(--ease-out-expo), transform .5s var(--ease-out-expo);flex-direction:column;align-items:center;gap:.55rem;display:flex;position:fixed;bottom:clamp(1.5rem,6vw,2.5rem);left:50%;transform:translate(-50%)translateY(12px)}.scroll-hint.is-visible{opacity:1;animation:2.4s ease-in-out infinite scroll-hint-pulse;transform:translate(-50%)translateY(0)}.scroll-hint__text{letter-spacing:.32em;text-transform:uppercase;opacity:.9;font-size:clamp(.8rem,2.8vw,.95rem)}.scroll-hint__icon{width:clamp(1.6rem,5vw,2rem);height:clamp(1.6rem,5vw,2rem);color:var(--gold);opacity:.95;animation:2.4s ease-in-out infinite scroll-hint-bounce}@keyframes scroll-hint-bounce{0%,to{opacity:.75;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}@keyframes scroll-hint-pulse{0%,to{filter:drop-shadow(0 0 #d4af3700)}50%{filter:drop-shadow(0 0 8px #d4af3740)}}@media (prefers-reduced-motion:reduce){.scroll-hint.is-visible,.scroll-hint__icon{animation:none}}.invitation__sound.sound-toggle{z-index:2;margin-top:.15rem;position:relative}.invitation__ornament{object-fit:contain;pointer-events:none;width:min(100%,380px);height:auto;margin-inline:auto;display:block}.invitation__ornament--top{width:min(100%,420px);transform:scaleY(-1)}.invitation__ornament--bottom{opacity:0;transition:opacity .9s .15s var(--ease-out-expo), transform .9s .15s var(--ease-out-expo);flex-shrink:0;margin-top:auto;transform:translateY(24px)}.invite-section--rsvp.is-inview .invitation__ornament--bottom{opacity:1;transform:translateY(0)}.invite-section{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(2.5rem,8vw,4rem) clamp(1rem,5vw,2rem);display:flex;position:relative}.invite-section__content{text-align:center;opacity:0;width:100%;max-width:420px;transition:opacity .9s var(--ease-out-expo), transform .9s var(--ease-out-expo);will-change:opacity, transform;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1.5rem,5vw,2.25rem);display:flex;transform:translateY(56px)scale(.96)}.invite-section.is-inview .invite-section__content{opacity:1;transform:translateY(0)scale(1)}.invite-section--hero{justify-content:flex-start;gap:0;padding-top:0}.invite-section__top{opacity:0;width:100%;max-width:420px;transition:opacity .9s var(--ease-out-expo), transform .9s var(--ease-out-expo);flex-direction:column;flex-shrink:0;align-items:center;display:flex;transform:translateY(-16px)}.invite-section--hero.is-inview .invite-section__top{opacity:1;transform:translateY(0)}.invite-section--hero .invite-section__content{flex:1;justify-content:center;gap:clamp(1rem,3vw,1.5rem)}.invite-section__header-image{object-fit:contain;filter:drop-shadow(0 8px 24px #00000059);width:min(100%,380px);height:auto}.invite-section--rsvp{justify-content:center;gap:clamp(1rem,3vw,1.5rem);padding-bottom:0}.invite-section--rsvp .invite-section__content{flex:1;justify-content:center}.invitation__body-text{text-align:center;letter-spacing:.02em;max-width:380px;font-size:clamp(1.05rem,3.6vw,1.3rem);font-weight:400;line-height:1.7}.invite-section--message .invitation__body-text{max-width:400px;font-size:clamp(1.25rem,4.4vw,1.55rem);line-height:1.7}.date-block{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem 1.25rem;width:100%;max-width:400px;display:grid}.date-block__side{flex-direction:column;align-items:center;gap:.45rem;min-width:0;display:flex}.date-block__side-label{letter-spacing:.22em;text-align:center;font-size:clamp(1rem,3.4vw,1.25rem);line-height:1.2}.date-block__side-rule{background:linear-gradient(90deg, transparent 0%, #d4af3759 15%, var(--gold) 50%, #d4af3759 85%, transparent 100%);width:100%;max-width:5.5rem;height:1px;display:block;box-shadow:0 0 4px #d4af3740}.date-block__day{letter-spacing:.04em;padding-bottom:.08em;font-size:clamp(5rem,20vw,7.5rem);font-weight:700;line-height:1.05;display:block;overflow:visible}.invite-section--details .invite-section__content{gap:clamp(2.75rem,8vw,4rem)}.location-block{text-align:center}.location-block__venue{letter-spacing:.08em;text-underline-offset:6px;font-size:clamp(1.6rem,5.5vw,2.1rem);font-weight:700;text-decoration:underline #f8f0e08c;transition:opacity .2s}.location-block__venue:hover{opacity:.8}.location-block__hint{opacity:.9;margin-top:.55rem;font-size:clamp(1.3rem,4.6vw,1.6rem);font-style:italic}.dress-code{text-align:center}.dress-code__title{margin-bottom:.75rem;font-size:clamp(1.4rem,5vw,1.75rem);font-style:italic}.dress-code__detail{opacity:.95;font-size:clamp(1.3rem,4.6vw,1.6rem);line-height:1.7}.gift-block{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.gift-block__icon{width:96px;height:auto;color:var(--gold)}.gift-block__text{text-align:center;max-width:340px;font-size:clamp(1.3rem,4.6vw,1.6rem);line-height:1.55}.rsvp-block{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.rsvp-block__ornament{object-fit:contain;filter:drop-shadow(0 6px 18px #00000059);width:min(100%,360px);height:auto;display:block}.rsvp-block__hint{opacity:.9;font-size:clamp(1.3rem,4.6vw,1.6rem);font-style:italic}.rsvp-block__note{text-align:center;opacity:.95;max-width:380px;font-size:clamp(1.25rem,4.4vw,1.5rem);line-height:1.6}.whatsapp-links{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:340px;display:flex}.whatsapp-link{letter-spacing:.12em;border:1px solid #d4af3773;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;width:100%;padding:.9rem 1.4rem;font-size:clamp(1.15rem,4vw,1.35rem);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:flex}.whatsapp-link:hover,.whatsapp-link:focus-visible{background:#d4af371a;border-color:#d4af37bf;transform:scale(1.02);box-shadow:0 0 12px #d4af3726}.whatsapp-link__icon{opacity:.9;flex-shrink:0;width:1.35rem;height:1.35rem}.whatsapp-link__number{font-weight:400}
