@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=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){height:100dvh;max-height:100dvh;overflow:hidden}.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{height:100%;max-height:100dvh;padding:max(10px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(10px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));z-index:2;box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:relative}.seal-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,2vh,16px);width:min(440px,94vw);height:100%;max-height:calc(100dvh - 20px);animation:.85s both coverIn;display:flex}.envelope-closeup{--flap-tip:46%;aspect-ratio:4/5;background:#efe2cf;border-radius:36px;flex:auto;width:min(440px,92vw);min-height:0;max-height:min(520px,100dvh - 130px);position:relative;overflow:hidden;box-shadow:0 40px 90px #3a2a1833,inset 0 0 0 1px #c4a56659,inset 0 1px #fffc}.envelope-body{pointer-events:none;background:linear-gradient(#faf4ea 0%,#efe2cf 55%,#e8d5b8 100%);position:absolute;inset:0}.envelope-side{pointer-events:none;z-index:1;width:50.5%;height:58%;position:absolute;bottom:0}.envelope-side-left{clip-path:polygon(0 0,0 100%,100% 100%);background:linear-gradient(145deg,#e4cdaa8c,#f5e8d226);left:0}.envelope-side-right{clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(215deg,#e4cdaa8c,#f5e8d226);right:0}.envelope-bottom-flap{pointer-events:none;z-index:1;clip-path:polygon(0 100%,50% 18%,100% 100%);background:linear-gradient(#f5e8d214,#dcc6a273);height:42%;position:absolute;bottom:0;left:0;right:0}.envelope-top-flap{height:var(--flap-tip);pointer-events:none;z-index:3;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#fffdf8 0%,#f5e8cf 100%);position:absolute;top:0;left:0;right:0;box-shadow:0 6px 14px #4e3a2714}.envelope-top-flap:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none;background:linear-gradient(128deg,#785a371a 0%,#0000 22%),linear-gradient(232deg,#785a371a 0%,#0000 22%);position:absolute;inset:0}.envelope-top-flap:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#a2804e59,#0000);height:1px;position:absolute;bottom:0;left:10%;right:10%}.envelope-closeup:before{content:"";z-index:4;pointer-events:none;border:1px solid #b2915c2e;border-radius:28px;position:absolute;inset:20px}.paper-texture{opacity:.32;z-index:2;pointer-events:none;background:repeating-linear-gradient(108deg,#8a6c4407 0 1px,#0000 1px 14px),radial-gradient(circle at 42% 22%,#ffffff8c,#0000 38%);position:absolute;inset:0}.wax-seal{left:50%;top:var(--flap-tip);z-index:5;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:radial-gradient(circle at 32% 22%,#ff8c8ca6,#0000 26%),radial-gradient(circle at 72% 78%,#32000080,#0000 32%),radial-gradient(at 50% 55%,#d4222a 0%,#b01018 38%,#7a0008 72%,#5c0006 100%);border:none;border-radius:48% 52% 50% 50%/52% 48%;width:116px;height:116px;transition:transform .16s,box-shadow .16s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 18px 36px #64000061,0 5px 12px #8b000047,inset 0 7px 14px #ff787852,inset 0 -12px 20px #28000073}.wax-seal:active{transform:translate(-50%,-50%)scale(.9);box-shadow:0 8px 18px #64000052,0 2px 6px #8b000038,inset 0 10px 18px #ff787838,inset 0 -6px 12px #2800008c}.wax-seal-stamp{animation:.52s cubic-bezier(.34,1.35,.64,1) sealStamp}.wax-seal-stamp .seal-ripple{animation:.55s ease-out sealRipple}.wax-seal:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 28% 18%,#ffbebe73,#0000 38%);position:absolute;inset:0}.seal-ripple{border-radius:inherit;pointer-events:none;opacity:0;border:2px solid #c828288c;position:absolute;inset:-2px;transform:scale(1)}.wax-seal:hover{transform:translate(-50%,-50%)scale(1.04);box-shadow:0 22px 44px #6400006b,0 7px 16px #8b000052,inset 0 7px 14px #ff787852,inset 0 -12px 20px #28000073}.seal-inner{border-radius:inherit;pointer-events:none;border:2px solid #3c00003d;position:absolute;inset:9px}.seal-monogram{z-index:1;letter-spacing:.1em;text-indent:.1em;color:#2d0000c7;text-shadow:0 1px 1px #ffa0a059,0 -1px 2px #14000066;pointer-events:none;place-items:center;font-family:Cinzel,serif;font-size:18px;font-weight:700;display:grid;position:absolute;inset:0}.touch-text{letter-spacing:.02em;color:#7a6248;flex-shrink:0;max-width:92vw;margin:0;font-family:Playfair Display,serif;font-size:clamp(15px,3.8vw,22px);font-style:italic;line-height:1.35}.seal-cover-opening .envelope-closeup{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);box-shadow:0 18px 36px #64000061,0 5px 12px #8b000047,inset 0 7px 14px #ff787852,inset 0 -12px 20px #28000073}38%{transform:translate(-50%,-42%)scale(.86);box-shadow:0 6px 14px #64000047,0 1px 4px #8b000033,inset 0 12px 20px #ff78782e,inset 0 -4px 10px #28000094}62%{transform:translate(-50%,-50%)scale(.94)}to{transform:translate(-50%,-50%)scale(1);box-shadow:0 18px 36px #64000061,0 5px 12px #8b000047,inset 0 7px 14px #ff787852,inset 0 -12px 20px #28000073}}@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){.seal-cover{padding:max(8px, env(safe-area-inset-top,0px)) 10px max(8px, env(safe-area-inset-bottom,0px)) 10px}.seal-card{gap:8px;max-height:calc(100dvh - 12px)}.envelope-closeup{border-radius:28px;max-height:calc(100dvh - 118px)}.envelope-closeup:before{border-radius:22px;inset:14px}.wax-seal{width:clamp(88px,22vw,106px);height:clamp(88px,22vw,106px)}.seal-monogram{font-size:clamp(14px,3.6vw,16px)}.touch-text{font-size:clamp(14px,3.6vw,18px)}.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}}
