@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{color:#3a2e24;-webkit-font-smoothing:antialiased;background:#f3ebe0;margin:0;font-family:Cormorant Garamond,serif;overflow-x:hidden}button,a{font-family:inherit}#invite-music{display:none}.music-toggle{top:max(14px, env(safe-area-inset-top,0px));right:max(14px, env(safe-area-inset-right,0px));z-index:20;color:#8a7048;cursor:pointer;background:#fffcf6e0;border:1px solid #b8945859;border-radius:999px;width:42px;height:42px;font-size:18px;line-height:1;transition:transform .2s,background .2s;position:fixed;box-shadow:0 8px 20px #4e3a271f}.music-toggle:hover{background:#fffcf6fa;transform:scale(1.05)}.music-toggle-on{color:#a07840;border-color:#c4a05a8c}.page{background:radial-gradient(circle at 18% 12%,#d4af5f2e,#0000 28%),radial-gradient(circle at 82% 88%,#a8844e24,#0000 32%),linear-gradient(165deg,#faf4ea 0%,#efe2cf 48%,#e6d5bc 100%);min-height:100dvh;position:relative;overflow-x:hidden}.page:not(.opened-page){background:#ebe4d8;width:100%;height:100dvh;max-height:100dvh;overflow:hidden}.page:not(.opened-page) .ambient{display:none}.ambient{pointer-events:none;filter:blur(18px);border-radius:999px;animation:8s ease-in-out infinite ambientDrift;position:fixed}.ambient-one{background:#d6b56a59;width:320px;height:320px;top:-120px;right:-100px}.ambient-two{background:#b08a5238;width:260px;height:260px;animation-delay:1.4s;bottom:60px;left:-110px}.ambient-three{background:#fff8eb8c;width:180px;height:180px;animation-delay:2.2s;top:42%;left:50%;transform:translate(-50%)}.seal-cover{--meet-y:50%;--flap-side:38%;--env-offset-y:0;--paper:#ebe4d8;--paper-deep:#e2dace;--paper-light:#f2ece4;z-index:2;background:var(--paper);width:100%;height:100%;max-height:100dvh;animation:.85s both coverIn;position:relative;overflow:hidden}.envelope-viewport{position:absolute;inset:0;overflow:hidden}.envelope-scene{z-index:2;transform:translateY(var(--env-offset-y));position:absolute;inset:0}.env-paper{background:var(--paper);position:absolute;inset:0}.env-paper:after{content:"";opacity:.24;pointer-events:none;background:repeating-linear-gradient(0deg,#826e5505 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#826e5504 0 1px,#0000 1px 4px);position:absolute;inset:0}.env-flap-lines{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.env-fold-line{stroke-width:.42px;stroke-linecap:round}.env-fold-line-top{stroke:#1c18146b}.env-fold-line-bottom{stroke:#7d695257;stroke-width:.58px}.wax-seal{left:50%;top:var(--meet-y);z-index:6;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:min(32vmin,30vh);min-width:108px;height:min(32vmin,30vh);min-height:108px;box-shadow:none;background:0 0;border:none;border-radius:50%;padding:0;transition:transform .16s,filter .16s;position:absolute;transform:translate(-50%,-50%)}.wax-seal-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.wax-seal:active{transform:translate(-50%,-50%)scale(.95)}.wax-seal-stamp{animation:.52s cubic-bezier(.34,1.35,.64,1) sealStamp}.wax-seal-stamp .seal-ripple{animation:.55s ease-out sealRipple}.seal-ripple{border-radius:inherit;pointer-events:none;opacity:0;border:2px solid #a8823a66;position:absolute;inset:-2px;transform:scale(1)}@media (hover:hover){.wax-seal:hover{transform:translate(-50%,-50%)scale(1.015)}}.touch-text{left:0;right:0;bottom:max(7vh, calc(22px + env(safe-area-inset-bottom,0px)));z-index:6;text-align:center;letter-spacing:.01em;color:#8a7862;margin:0;padding:0 24px;font-family:Great Vibes,cursive;font-size:min(6.2vmin,4.8vh);line-height:1.15;position:absolute}.seal-cover-opening .envelope-viewport{animation:.85s cubic-bezier(.16,1,.3,1) forwards coverOpen}.seal-cover-opening .wax-seal{animation:.62s forwards sealOpen}.seal-cover-opening .touch-text{animation:.42s forwards fadeDown}.invitation-wrapper{z-index:2;justify-content:center;min-height:100vh;padding:20px 12px 40px;display:flex;position:relative}.invitation{text-align:center;background:linear-gradient(#fffcf6fa,#fcf6ecfc),radial-gradient(circle at 50% 0,#dcbc7647,#0000 34%);border-radius:34px;width:min(440px,100%);padding:52px 28px 38px;animation:.78s cubic-bezier(.16,1,.3,1) both invitationIn;position:relative;overflow:hidden;box-shadow:0 42px 95px #3a2a1833,inset 0 0 0 1px #c4a56661,inset 0 1px #ffffffd9}.frame{pointer-events:none;border-radius:inherit;position:absolute}.frame-outer{border:1px solid #b8945847;inset:10px}.frame-inner{border:1px solid #b8945824;inset:18px}.corner{pointer-events:none;width:72px;height:72px;position:absolute}.corner:before,.corner:after{content:"";background:linear-gradient(90deg,#c4a05a,#c4a05a59);position:absolute}.corner-top-left{top:24px;left:22px}.corner-top-left:before{width:52px;height:1px;top:0;left:0}.corner-top-left:after{width:1px;height:52px;top:0;left:0}.corner-top-right{top:24px;right:22px}.corner-top-right:before{width:52px;height:1px;top:0;right:0}.corner-top-right:after{width:1px;height:52px;top:0;right:0}.corner-bottom-left{bottom:24px;left:22px}.corner-bottom-left:before{width:52px;height:1px;bottom:0;left:0}.corner-bottom-left:after{width:1px;height:52px;bottom:0;left:0}.corner-bottom-right{bottom:24px;right:22px}.corner-bottom-right:before{width:52px;height:1px;bottom:0;right:0}.corner-bottom-right:after{width:1px;height:52px;bottom:0;right:0}.eyebrow{letter-spacing:.38em;text-transform:uppercase;color:#a88958;text-indent:.38em;margin:0;font-family:Cinzel,serif;font-size:11px}.script-title{background:linear-gradient(135deg,#8f6f3f 0%,#c9a962 45%,#8f6f3f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:10px 0 0;font-family:Playfair Display,serif;font-size:42px;font-style:italic;font-weight:500;line-height:1}.ornament{justify-content:center;align-items:center;gap:14px;width:min(260px,80%);margin:22px auto 28px;display:flex}.ornament span{background:linear-gradient(90deg,#0000,#a8844e8c,#0000);flex:1;height:1px}.ornament em{color:#c4a05a;letter-spacing:.2em;font-size:11px;font-style:normal}.ornament-bottom{margin:28px auto 18px}.couple-block{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:28px;display:grid}.person{background:linear-gradient(#fffcf580,#f7eede59);border-top:1px solid #a8844e38;border-bottom:1px solid #a8844e38;padding:18px 8px 16px}.person-name{color:#3f3228;margin:0;font-family:Playfair Display,serif;font-size:34px;font-weight:500;line-height:1}.person-surname{letter-spacing:.06em;color:#9a7848;margin:8px 0 0;font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic;font-weight:600}.couple-amp{color:#c4a05a;padding:0 2px;font-family:Playfair Display,serif;font-size:28px;font-style:italic}.invite-note{color:#5c4a3a;width:88%;margin:0 auto 32px;font-size:20px;line-height:1.6}.section-label{letter-spacing:.34em;text-transform:uppercase;color:#a88958;text-indent:.34em;margin-bottom:16px;font-family:Cinzel,serif;font-size:10px;display:block}.date-section{background:linear-gradient(145deg,#fffbf3eb,#f4e8d2b8),radial-gradient(circle at 50% 0,#d4af5f1f,#0000 55%);border:1px solid #b8945847;border-radius:22px;width:92%;margin:0 auto 32px;padding:26px 18px 24px;box-shadow:inset 0 1px #ffffffb3}.date-main{grid-template-columns:1fr auto 1fr;align-items:center;gap:0;margin-top:4px;display:grid}.date-main-cell{flex-direction:column;justify-content:center;align-items:center;min-height:96px;display:flex}.date-main-day strong{letter-spacing:-.03em;background:linear-gradient(#6b5230 0%,#c9a962 55%,#7a5c32 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-size:84px;font-weight:500;line-height:.9;display:block}.date-main-divider{background:linear-gradient(#0000,#a8844e73,#0000);width:1px;height:72px}.date-main-meta{gap:4px}.date-month{color:#4a3a2c;font-family:Playfair Display,serif;font-size:32px;font-style:italic;font-weight:500;line-height:1.05}.date-year{letter-spacing:.24em;text-indent:.24em;color:#9a7848;font-family:Cinzel,serif;font-size:20px}.date-split{border-top:1px solid #a8844e2e;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:22px;padding-top:20px;display:grid}.date-split-item{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.date-split-label{letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:#a88958;font-family:Cinzel,serif;font-size:9px}.date-split-divider{background:linear-gradient(#0000,#a8844e59,#0000);width:1px;height:52px}.date-weekday{letter-spacing:.06em;color:#6b5642;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600}.date-time-value{letter-spacing:.06em;background:linear-gradient(#5c4528 0%,#c9a962 50%,#6b5230 100%);color:#0000;filter:drop-shadow(0 2px 6px #a8844e33);-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-size:36px;font-weight:600;line-height:1;display:block}.countdown-section{background:linear-gradient(#fffcf6d9,#f5ebdaa6);border:1px solid #b8945838;border-radius:22px;margin:0 auto 34px;padding:26px 16px 20px}.countdown-title{color:#8a7048;margin:0 0 18px;font-family:Playfair Display,serif;font-size:24px;font-style:italic}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.countdown-item{background:#fffcf6e0;border:1px solid #b8945829;border-radius:16px;padding:14px 6px 12px;box-shadow:inset 0 1px #fffc}.countdown-item strong{letter-spacing:.04em;color:#4a3a2c;font-family:Cinzel,serif;font-size:26px;font-weight:600;display:block}.countdown-item span{letter-spacing:.12em;text-transform:uppercase;color:#9a8468;margin-top:4px;font-size:11px;display:block}.place-section{border-top:1px solid #b8945838;padding:28px 12px 8px}.place-section h2{color:#3f3228;margin:0 0 10px;font-family:Playfair Display,serif;font-size:30px;font-weight:500}.place-section p{color:#6b5642;max-width:300px;margin:0 auto;font-size:16px;line-height:1.55}.map-button{color:#fffaf2;letter-spacing:.18em;text-indent:.18em;text-transform:uppercase;background:linear-gradient(135deg,#c4a05a 0%,#967040 100%);border-radius:999px;justify-content:center;align-items:center;min-width:180px;height:48px;margin-top:24px;padding:0 28px;font-family:Cinzel,serif;font-size:11px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 16px 32px #78582a3d}.map-button:hover{transform:translateY(-1px);box-shadow:0 20px 38px #78582a4d}.final-note{color:#7a6248;width:84%;margin:0 auto;font-size:18px;font-style:italic}@keyframes coverIn{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes coverOpen{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(6px);transform:scale(1.04)translateY(-20px)}}@keyframes sealStamp{0%{transform:translate(-50%,-50%)scale(1)}38%{transform:translate(-50%,-42%)scale(.88)}62%{transform:translate(-50%,-50%)scale(.95)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes sealRipple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes sealOpen{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}45%{transform:translate(-50%,-50%)scale(1.08)}to{opacity:0;transform:translate(-50%,-50%)scale(.76)}}@keyframes fadeDown{to{opacity:0;transform:translateY(10px)}}@keyframes invitationIn{0%{opacity:0;filter:blur(6px);transform:translateY(38px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes ambientDrift{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@media (width<=480px){.touch-text{bottom:max(6vh,22px)}.invitation-wrapper{padding:12px 8px 32px}.invitation{border-radius:28px;padding:46px 18px 34px}.script-title{font-size:36px}.couple-block{gap:4px}.person-name{font-size:28px}.person-surname{font-size:17px}.couple-amp{font-size:22px}.date-section{width:96%;padding:24px 12px 22px}.date-main-day strong{font-size:68px}.date-main-divider{height:60px}.date-month{font-size:26px}.date-year{font-size:17px}.date-time-value{font-size:30px}.date-weekday{font-size:20px}.countdown{gap:6px}.countdown-item strong{font-size:22px}}
