:root{--accent:#7c885b;--panel:#667348;--paper:#fffef9;--serif:'Pozivnice Cormorant Garamond',Georgia,serif;--sans:'Pozivnice Manrope',system-ui,sans-serif;--names-font:'Pozivnice Great Vibes';--body-font:'Pozivnice Cormorant Garamond';--name-scale:1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#e9e6df;color:#494a3e;font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--body-font);font-weight:500;line-height:1.12}h2{font-size:42px;margin-bottom:22px}h2 em{font-weight:400;color:var(--accent)}h3{font-size:29px;margin-bottom:12px}.invite-body.is-closed{overflow:hidden}.invitation-paper{max-width:510px;margin:auto;min-height:100dvh;background-color:var(--paper);position:relative;overflow:hidden;box-shadow:0 0 70px #3f362312;outline:0}.invitation-paper:before{content:'';position:absolute;inset:12px;border:1px solid #7c885b15;border-color:color-mix(in srgb,var(--accent) 14%,transparent);z-index:1;pointer-events:none}.invitation-hero{position:relative;isolation:isolate}.floral-top{position:absolute;top:0;left:0;width:100%;height:170px;object-fit:cover;object-position:top;pointer-events:none;z-index:1}.invite-intro{padding:178px 35px 38px;text-align:center;position:relative;z-index:2}.invite-eyebrow{font:500 9px/1.8 var(--sans);letter-spacing:.19em;display:block;color:var(--accent);margin-bottom:24px}.couple-names{font-family:var(--names-font);font-size:calc(91px * var(--name-scale));line-height:1.1;font-weight:400;color:var(--accent);margin:28px auto 20px;max-width:100%;position:relative;letter-spacing:0}.couple-names span{display:block;padding:7px 8px;overflow-wrap:anywhere}.couple-names i{font:italic 29px var(--serif);display:block;font-weight:400;margin:1px 0 0;opacity:.65}.font-comforter .couple-names{font-size:calc(103px * var(--name-scale))}.font-marck .couple-names{font-size:calc(76px * var(--name-scale))}.font-bad-script .couple-names{font-size:calc(69px * var(--name-scale))}.font-caveat .couple-names{font-size:calc(91px * var(--name-scale))}.font-pattaya .couple-names,.font-lobster .couple-names{font-size:calc(75px * var(--name-scale))}.font-amatic .couple-names{font-size:calc(99px * var(--name-scale));letter-spacing:.04em}.font-serif .couple-names{font-size:calc(78px * var(--name-scale))}.font-lora .couple-names{font-size:calc(64px * var(--name-scale))}.font-modern .couple-names{font-size:calc(53px * var(--name-scale))}.wedding-label{font:italic 21px/1.6 var(--body-font);color:#85856e;margin:18px 0}.hero-scroll{display:flex;flex-direction:column;gap:10px;align-items:center;color:var(--accent);font:15px var(--sans);text-decoration:none;opacity:.75;margin:25px auto 0;width:50px}.hero-scroll span{width:1px;height:24px;background:currentColor}.scene-crop{width:100%;height:480px;overflow:hidden;position:relative;margin:0 auto;background:var(--paper);border-radius:0 0 48% 48%/0 0 12% 12%;box-shadow:0 12px 0 0 var(--paper),0 14px 0 0 #b5b59e66,0 23px 0 0 var(--paper),0 27px 8px -1px #8d8d7226;z-index:2}.scene-crop img{position:absolute;width:100%;max-width:none;height:auto;top:-385px;left:0}.couple-photo{margin:0 30px 25px;position:relative;padding:9px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:48% 48% 47% 47%/28% 28% 22% 22%}.couple-photo img{width:100%;height:450px;object-fit:cover;border-radius:inherit}.hero-botanical{height:180px;margin-top:0;position:relative;overflow:hidden}.hero-botanical img{height:100%;width:100%;object-fit:cover;object-position:bottom}.inv-section{padding:60px 43px;text-align:center;position:relative;isolation:isolate}.inv-section p{font:400 19px/1.8 var(--body-font);margin-bottom:24px;color:#72735f;overflow-wrap:anywhere}.intro-message{padding-top:75px;padding-bottom:65px}.intro-message h2{font-family:var(--names-font);font-size:43px;font-weight:400;color:var(--accent);margin:18px 0 25px}.intro-message>p{max-width:330px;margin:0 auto;line-height:1.85}.small-ornament,.ornament{display:block;color:var(--accent);margin:0 auto 16px}.small-ornament svg,.ornament svg{height:52px;width:52px;display:block;margin:auto}.fine-divider{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--accent);opacity:.55;margin:35px auto 0;font-size:15px}.fine-divider:before,.fine-divider:after{content:'';width:50px;height:1px;background:currentColor}.wedding-date-panel{padding:105px 37px 110px;text-align:center;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#ffffff22,transparent 65%),linear-gradient(145deg,color-mix(in srgb,var(--panel) 88%,#fff),var(--panel));color:#fffef3}.floral-panel .panel-flowers{position:absolute;left:0;width:100%;height:100px;object-fit:cover;pointer-events:none;z-index:2}.panel-flowers.top{top:-1px;object-position:bottom}.panel-flowers.bottom{bottom:-1px;object-position:top}.wedding-date-panel .invite-eyebrow{color:#fffde1ba;font-size:8px;position:relative;z-index:1;margin-bottom:5px}.date-year{position:absolute;top:90px;left:0;right:0;font:500 125px/1 var(--serif);font-style:italic;opacity:.11;letter-spacing:-.06em;pointer-events:none}.date-month{font:400 78px/1.2 var(--names-font);margin:20px 0 6px;position:relative;z-index:1;color:#fffbe9}.full-wedding-date{font:500 10px/1.7 var(--sans);letter-spacing:.12em;opacity:.85;margin:14px 0 29px}.full-wedding-date>span{margin:0 7px}.date-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:350px;margin:auto;position:relative;z-index:1}.date-week>div{display:flex;flex-direction:column;gap:12px;align-items:center;position:relative}.date-week span{font:italic 15px var(--serif);opacity:.75}.date-week time{font:400 22px/1 var(--serif);width:38px;height:38px;display:grid;place-items:center;border-radius:50%}.date-week .is-wedding-day time{color:var(--panel);background:#fffef3;box-shadow:0 0 0 5px #fffef31c}.date-week .is-wedding-day span{opacity:1}.date-flourish{width:65px;height:70px;display:block;margin:12px auto -3px;color:#fffbd9b5}.calendar-menu{font:500 10px var(--sans);margin:15px auto 0;max-width:260px;position:relative;z-index:4;color:var(--panel)}.calendar-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:23px;padding:13px 22px;background:#fffef5;border-radius:999px;box-shadow:0 4px 12px #26301814}.calendar-menu summary::-webkit-details-marker{display:none}.calendar-menu summary span{font-size:16px;font-weight:400}.calendar-menu a{display:block;margin-top:4px;padding:13px;background:#fffef8;border:1px solid #f4f2df;text-decoration:none;border-radius:5px}.calendar-menu small{font-size:9px;line-height:1.7;display:block;background:#fffef8;padding:13px;margin-top:4px;border-radius:5px}.schedule{padding-top:70px;padding-bottom:45px;background:radial-gradient(ellipse at 0% 25%,#cbd5ad19,transparent 65%)}.schedule:before,.schedule:after,.intro-message:before,.album-section:before{content:'';position:absolute;pointer-events:none;z-index:-1;background-image:var(--floral-top);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.28;width:310px;height:140px;left:-214px;top:30%;transform:rotate(90deg)}.schedule:after{left:auto;right:-214px;top:70%;transform:rotate(-90deg)}.intro-message:before{top:15%;left:auto;right:-230px;opacity:.24}.script-heading{font-family:var(--names-font);font-size:66px;font-weight:400;line-height:1.25;color:var(--accent);margin:5px auto 8px}.section-subtitle{font:italic 18px var(--body-font)!important;margin-bottom:42px!important}.event{position:relative;padding:0 8px}.event-icon{color:var(--accent);display:block;margin:0 auto 16px}.event-icon svg{height:59px;width:59px;margin:auto;display:block}.event-time{font:500 10px var(--sans);letter-spacing:.18em;color:var(--accent);display:block;margin-bottom:13px}.event h3{font:600 27px var(--body-font);color:var(--accent);margin:0 0 12px}.event p{font-size:19px;line-height:1.6;margin-bottom:22px;color:#4d513e}.event small{display:block;font:400 11px/1.8 var(--sans);color:#858774;margin-top:7px}.map-link{text-transform:none;font:500 11px var(--sans);color:#fffef5;background:linear-gradient(130deg,color-mix(in srgb,var(--panel) 85%,#fff),var(--panel));border:1px solid transparent;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:170px;text-decoration:none;padding:11px 22px;box-shadow:0 3px 10px #52603c12}.map-link svg{width:16px;height:16px;flex-shrink:0}.event-connector{height:48px;background:linear-gradient(var(--accent),var(--accent));width:1px;opacity:.24;display:block;margin:25px auto}.countdown-section{padding:35px 26px 70px}.countdown-section h2{font:500 30px var(--body-font);color:#777e60;margin-bottom:24px}.countdown{display:flex;justify-content:center;gap:14px;margin:0}.countdown>div{width:72px;height:72px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 72%,#fff),var(--panel));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fffef0;box-shadow:0 4px 10px #55623c21}.countdown strong{font:500 29px/1 var(--serif);font-variant-numeric:tabular-nums}.countdown span{font:500 6px var(--sans);letter-spacing:.09em;text-transform:uppercase;margin-top:7px}.countdown-note{font:italic 20px var(--body-font)!important;color:var(--accent)!important;margin:22px 0 0!important}.rsvp-section{padding:120px 38px 120px;background:radial-gradient(ellipse at 0% 0%,#ffffff19,transparent 65%),linear-gradient(145deg,color-mix(in srgb,var(--panel) 90%,#fff),var(--panel));color:#fffef0;overflow:hidden}.rsvp-section>.invite-eyebrow{color:#fffde1bb;font-size:8px;margin-bottom:18px}.rsvp-section h2{font:500 43px/1.07 var(--body-font);margin-bottom:22px;color:#fffef0}.rsvp-section h2 em{color:#fffef0;font-family:var(--names-font);font-style:normal;font-size:1.35em;font-weight:400;line-height:1.4;display:inline-block}.rsvp-section>p{color:#fffef0d9;font:400 12px/1.8 var(--sans);margin-bottom:24px}.rsvp-section>p strong{font-weight:600;display:block;color:#fffef0;margin-top:2px}.rsvp-form{display:flex;flex-direction:column;gap:14px;margin-top:28px;position:relative;z-index:3}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{width:100%;border:1px solid #ffffff45;border-radius:8px;padding:14px 16px;background:#fffef7;color:#444b36;font:400 12px/1.6 var(--sans);min-width:0;box-shadow:0 2px 4px #2934200a}.rsvp-form input:focus,.rsvp-form textarea:focus{outline:2px solid #fffbd7;outline-offset:3px}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#8b8d7e}.rsvp-form label{font:400 11px/1.6 var(--sans);display:flex;flex-direction:column;gap:9px;text-align:left;color:#fffef0}.rsvp-form fieldset{border:0;padding:0;margin:10px 0;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.rsvp-form legend{text-align:center;font:400 19px var(--body-font);margin-bottom:17px;width:100%;color:#fffef0}.rsvp-form fieldset label{display:flex;flex-direction:row;gap:8px;align-items:center;font-size:10px;border:1px solid #ffffff55;border-radius:99px;padding:11px 15px;cursor:pointer;background:#ffffff09}.rsvp-form fieldset label:has(input:checked){background:#fffef0;color:var(--panel);border-color:#fffef0}.rsvp-form input[type=radio]{accent-color:var(--panel);width:15px;height:15px;margin:0}#party-fields{display:flex;flex-direction:column;gap:14px}.invite-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--panel);border:1px solid var(--panel);border-radius:999px;padding:14px 23px;font:500 11px var(--sans);color:#fffef0;text-decoration:none;min-height:46px}.rsvp-form .invite-button{background:#fffef0;color:var(--panel);border-color:#fffef0;margin-top:8px;box-shadow:0 5px 14px #23321520;font-weight:600}.invite-button:disabled{opacity:.65;cursor:wait}.invite-button.outline{background:transparent;color:var(--panel);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.rsvp-status{font:400 12px/1.7 var(--sans)!important;margin:0!important;color:#fffbe1!important}.preview-rsvp-note{display:block;border:1px dashed color-mix(in srgb,var(--accent) 35%,transparent);background:#ffffff55;border-radius:8px;padding:12px 14px;font:400 10px/1.7 var(--sans);color:#82866b;margin:20px 0 0}.rsvp-section .preview-rsvp-note{background:#ffffff0b;border-color:#fffef05c;color:#fffef0bd;font-size:9px}.closed-rsvp{border:1px solid #fffef04d;padding:22px;border-radius:10px}.album-section{padding-top:70px;padding-bottom:40px}.album-section:before{left:auto;right:-235px;top:35%}.album-section .small-ornament svg{width:46px;height:46px}.album-section h2{font-size:39px;line-height:1.18}.album-section h2 em{font-family:var(--names-font);font-size:1.3em;font-style:normal;display:inline-block;margin-top:7px}.album-section p{font-size:18px}.invitation-closing{padding:40px 43px 20px}.invitation-closing p{font:italic 21px/1.8 var(--body-font);margin:28px 0 25px}.closing-names{font:400 48px/1.5 var(--names-font);color:var(--accent);display:block;overflow-wrap:anywhere}.floral-bottom{height:180px;object-fit:cover;object-position:bottom;width:100%;margin-top:0;pointer-events:none}.invitation-footer{text-align:center;font:400 9px var(--sans);letter-spacing:.07em;color:#95937f;padding:18px;background:#ffffff55}.invitation-footer a{text-decoration:none}.demo-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:510px;margin:auto;font:9px var(--sans);padding:12px 15px;background:var(--panel);color:#fffef1}.demo-bar a{color:inherit;text-decoration:none}.demo-bar>span{opacity:.65}.invite-announcement{display:flex;gap:12px;align-items:center;margin:50px 25px 0;padding:15px 20px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:#ffffff8a;border-radius:10px}.invite-announcement span{font-size:24px;color:var(--accent)}.invite-announcement p{margin:0;font:400 11px/1.8 var(--sans);color:#706c5d}.rsvp-form label.notification-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font:400 9px/1.7 var(--sans);text-align:left;color:#fffef0ce}.rsvp-form label.notification-consent input{width:15px;height:15px;padding:0;margin-top:2px;flex-shrink:0;accent-color:#fffef0}.body-font-manrope .inv-section p{font-size:14px;line-height:1.9}.body-font-lora .inv-section p{font-size:16px;line-height:1.85}.body-font-manrope .event h3,.body-font-lora .event h3{font-size:23px}.body-font-manrope .rsvp-section h2{font-size:32px}.body-font-manrope .album-section h2{font-size:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.envelope-overlay{position:fixed;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .7s,visibility .7s;overflow:hidden}.envelope-overlay video{height:100dvh;width:100%;max-width:490px;object-fit:cover;display:block}.envelope-overlay.opening .open-invitation{opacity:0;pointer-events:none}.envelope-overlay.opened{opacity:0;visibility:hidden;pointer-events:none}.open-invitation{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);width:300px;max-width:85%;border:1px solid #d3c5ad8c;border-radius:12px;background:#fffaf0f0;backdrop-filter:blur(8px);padding:18px 22px;color:#897456;transition:opacity .3s;box-shadow:0 7px 25px #49391f14}.open-invitation>span{display:block;font-size:9px;letter-spacing:.18em}.open-invitation strong{font:29px var(--serif);display:block;margin-top:8px;font-weight:400;overflow-wrap:anywhere}.open-invitation i{font-style:normal;display:block;font-size:17px;margin-top:5px;animation:float 2s ease-in-out infinite}.skip-envelope{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #ddd3c3;border-radius:30px;padding:10px 20px;font-size:12px;color:#887658}.classic-envelope{width:320px;height:220px;position:relative;background:#e8ddca;border-radius:6px;box-shadow:0 15px 55px #6e563a26;isolation:isolate}.classic-envelope:before{content:'';position:absolute;inset:0;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:#f1e9dc;z-index:2}.classic-envelope:after{content:'';position:absolute;width:280px;height:170px;left:20px;top:20px;background:#fffcf6;z-index:1;transition:transform 1s .3s}.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 60%);background:#d4c6ad;transform-origin:top;transition:transform 1s;z-index:3}.envelope-seal{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:48px;height:48px;background:var(--accent);color:white;display:grid;place-items:center;font-size:25px;border-radius:50%;z-index:4;box-shadow:0 2px 7px #67513344;transition:opacity .3s}.envelope-names{position:absolute;left:0;right:0;bottom:28px;text-align:center;font:25px var(--serif);color:var(--accent);z-index:4}.opening .envelope-flap{transform:rotateX(180deg);z-index:0}.opening .envelope-seal{opacity:0}.opening .classic-envelope:after{transform:translateY(-80px)}.classic-mode .open-invitation{bottom:10%}.music-toggle{position:fixed;right:max(18px,calc((100vw - 490px)/2 + 15px));bottom:20px;z-index:50;width:43px;height:43px;border:1px solid #e6dfd2;background:var(--accent);color:white;border-radius:50%;font-size:21px;box-shadow:0 5px 15px #332b1922;display:grid;place-items:center}.music-toggle[aria-pressed=true]{animation:music-pulse 3s ease-in-out infinite}.music-off{position:absolute;left:12px;top:6px;font-size:25px}.music-toggle[aria-pressed=true] .music-off{display:none}.open-invitation{bottom:8%}.open-invitation strong,.envelope-names{font-family:var(--names-font);font-size:35px;font-weight:400}.classic-mode .open-invitation{bottom:9%}.music-toggle{right:max(18px,calc((100vw - 510px)/2 + 15px));background:var(--panel);border-color:#ffffff99;width:39px;height:39px;font-size:19px;box-shadow:0 2px 12px #2c33262b}.music-off{left:10px;top:4px}
@media(max-width:400px){.floral-top{height:145px}.invite-intro{padding:152px 30px 30px}.couple-names{font-size:calc(81px * var(--name-scale));margin-top:21px}.couple-names span{padding:6px 4px}.couple-names i{font-size:26px}.wedding-label{font-size:19px}.invite-eyebrow{font-size:8px;letter-spacing:.17em}.scene-crop{height:370px}.scene-crop img{top:-292px}.couple-photo{margin-left:25px;margin-right:25px}.couple-photo img{height:355px}.hero-botanical{height:145px}.inv-section{padding-left:33px;padding-right:33px}.intro-message{padding-top:65px;padding-bottom:55px}.inv-section p{font-size:18px}.wedding-date-panel{padding:98px 27px 103px}.floral-panel .panel-flowers{height:85px}.date-year{font-size:107px;top:85px}.date-month{font-size:68px}.date-week{gap:3px}.date-week span{font-size:14px}.date-week time{width:34px;height:34px;font-size:21px}.script-heading{font-size:59px}.event p{font-size:18px}.event h3{font-size:27px}.countdown-section{padding-left:22px;padding-right:22px}.countdown{gap:12px}.countdown>div{width:65px;height:65px}.countdown strong{font-size:27px}.rsvp-section{padding-top:105px;padding-bottom:105px}.rsvp-section h2{font-size:39px}.rsvp-section>p{font-size:11px}.rsvp-form fieldset{gap:8px}.rsvp-form fieldset label{font-size:9px;padding:10px 13px}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form textarea{font-size:11px}.album-section h2{font-size:36px}.invitation-closing p{font-size:20px}.closing-names{font-size:44px}.floral-bottom{height:155px}.classic-envelope{width:285px;height:195px}.classic-envelope:after{width:245px;height:150px}.font-marck .couple-names{font-size:calc(67px * var(--name-scale))}.font-bad-script .couple-names{font-size:calc(61px * var(--name-scale))}.font-serif .couple-names{font-size:calc(68px * var(--name-scale))}.font-lora .couple-names{font-size:calc(55px * var(--name-scale))}.font-modern .couple-names{font-size:calc(47px * var(--name-scale))}.font-pattaya .couple-names,.font-lobster .couple-names{font-size:calc(67px * var(--name-scale))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
