@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/wedding-0.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/wedding-1.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/wedding-2.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/wedding-3.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/wedding-4.ttf)format("truetype")}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/wedding-5.ttf)format("truetype")}:root{--wine:#7b2337;--wine-dark:#671a2d;--olive:#323824;--olive-light:#697057;--ink:#484131;--paper:#f7eddb;--gold:#a68b5e;--line:#d4b99a;--script:"Great Vibes","Cormorant Garamond",cursive;--serif:"Cormorant Garamond",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{color:var(--ink);font:400 20px/1.3 var(--serif);-webkit-font-smoothing:antialiased;background:#282d20;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}:is(button:focus-visible,a:focus-visible){outline-offset:5px;outline:2px solid #b18c51}:is(input:focus-visible,select:focus-visible,textarea:focus-visible){outline:2px solid var(--olive-light);outline-offset:2px}img{max-width:100%;display:block}button{color:inherit}p,h1,h2,h3{margin:0}button svg,a svg{flex-shrink:0}section[id]{scroll-margin-top:80px}.wedding-site{background:var(--paper);max-width:1600px;margin:0 auto;overflow:clip;box-shadow:0 0 100px #10120a60}.script{font-family:var(--script);color:var(--wine);font-weight:400;line-height:1.2}.eyebrow,.small-heading{text-transform:uppercase;letter-spacing:2.2px;font-weight:600}.eyebrow{font-size:17px}.small-heading{color:var(--wine);letter-spacing:1.3px;font-size:17px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.skip-link{background:var(--paper);z-index:100;padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.floral{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3;object-fit:contain;position:absolute}.heart-rule{color:var(--wine);justify-content:center;align-items:center;gap:7px;width:150px;max-width:60%;margin:24px auto;display:flex}.heart-rule span{opacity:.65;background:linear-gradient(90deg,#0000,currentColor);flex:1;height:1px}.heart-rule span:last-child{transform:rotate(180deg)}.heart-rule svg{flex-shrink:0;width:11px;height:11px}.section-title{text-align:center;z-index:4;font-size:clamp(38px,3.25vw,54px);position:relative}.button{text-transform:uppercase;letter-spacing:1.25px;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:16px 25px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.olive{background:var(--olive);color:#f6e8d3;border-color:#a88f68}.button.olive:hover{background:#485039}.button.wine{background:var(--wine);color:#fcf0e1;box-shadow:0 3px 8px #6c283218}.button.wine:hover{background:#922d44}.button:disabled{cursor:wait;opacity:.7;transform:none}.text-button{text-underline-offset:4px;color:var(--wine);background:0 0;border:0;align-items:center;gap:7px;padding:8px;font-size:15px;text-decoration:underline;display:inline-flex}.rotate{transform:rotate(180deg)}.site-header{color:#f3e4c8;z-index:30;background:radial-gradient(at 45% 20%,#45492d,#292f20 80%);border-bottom:1px solid #c5ac79a0;justify-content:flex-end;align-items:center;gap:35px;height:76px;padding:0 38px 0 16%;display:flex;position:sticky;top:0}.nav-links{flex:1;justify-content:center;align-items:center;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;padding:0 20px;font-size:13px;text-decoration:none;transition:color .2s;position:relative}.nav-links a+a:before{content:"";border-left:1px solid #baa47670;height:15px;position:absolute;top:0;left:0}.nav-links a:hover{color:#d5b984}.language-select{border:1px solid #b8a37c;border-radius:30px;flex-shrink:0;align-items:center;width:75px;height:34px;padding:0 9px;display:flex;position:relative}.language-select select{-webkit-appearance:none;appearance:none;color:#eddec0;outline-offset:5px;cursor:pointer;background:0 0;border:0;width:100%;padding:5px 4px;font-size:14px}.language-select option{background:var(--olive);color:#fff}.language-select svg{pointer-events:none;position:absolute;right:10px}.mobile-monogram,.menu-toggle{display:none}.invitation-grid{background-color:#f7eddb;background-image:radial-gradient(at 15% 20%,#fff8e8b0,#0000 56%),radial-gradient(at 70% 80%,#e9d5b34a,#0000 60%);grid-template-columns:34% 27% 39%;display:grid;position:relative}.story-column,.details-column{border-left:7px double #fffbef;min-width:0;position:relative;box-shadow:-2px 0 5px #a68e6626}.scene-column{isolation:isolate;flex-direction:column;min-width:0;display:flex;position:relative}.scene-column:before{content:"";pointer-events:none;z-index:4;border:1px solid #c5ab7b55;position:absolute;inset:10px}.hero-scene{background:url(/art/garden.webp) top/100% 100% no-repeat;flex-direction:column;min-height:1180px;display:flex;position:relative}.hero-flowers{z-index:35;width:69%;top:-76px;left:-47px;transform:rotate(-3deg)}.hero-copy{z-index:4;text-align:center;padding:100px 28px 0;position:relative}.couple-names{font:400 clamp(66px,6.75vw,110px)/.99 var(--script);color:var(--wine);text-shadow:0 1px #fff7;flex-direction:column;align-items:center;margin:25px 0 33px;display:flex}.couple-names span{display:block}.couple-names em{font:400 .7em/.85 var(--script);margin:3px 0 4px}.wedding-date{color:var(--wine);letter-spacing:3px;font-size:26px;font-weight:600}.wedding-date i{padding:0 4px;font-style:normal}.wedding-place{margin-top:4px;font-size:22px}.wedding-place span{padding:0 5px}.hero-copy>.heart-rule{margin:23px auto}.hero-message{text-wrap:balance;text-shadow:0 1px #fff9;max-width:270px;margin:0 auto;font-size:26px;font-style:italic;line-height:1.2}.envelope-area{text-align:center;background:linear-gradient(#0000 65%,#f6ead8c0);margin-top:auto;padding:120px 5px 20px;position:relative}.envelope-button{isolation:isolate;background:0 0;border:0;width:100%;max-width:530px;margin:0 auto;padding:0;transition:transform .5s;display:block;position:relative}.envelope-button:hover{transform:translateY(-8px)rotate(-2deg)}.envelope-image{z-index:2;filter:drop-shadow(0 14px 9px #302a1c40);width:100%;position:relative}.envelope-letter{z-index:1;background:#f9f0dc;border:1px solid #c6ae88;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px;transition:transform .6s;display:flex;position:absolute;inset:25% 17% 10%;box-shadow:0 0 5px #0002}.envelope-letter .script{font-size:25px}.envelope-letter>span:not(.script){letter-spacing:2px;font-size:14px}.envelope-letter svg{color:var(--wine)}.envelope-button:hover .envelope-letter{transform:translateY(-25%)}.envelope-button.was-opened .envelope-letter{transform:translateY(-40%)}.envelope-hint{z-index:4;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;margin:0 auto 4px;padding:8px 20px;font-size:15px;display:flex;position:relative}.play-circle{border:1px solid var(--wine);width:35px;height:35px;color:var(--wine);background:#fff7e8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.play-circle svg{margin-left:2px}.countdown-frame{text-align:center;background:#f5e9d1b0;border:1px solid #ccb18755;margin:0 18px;padding:26px 18px 21px;position:relative;box-shadow:inset 0 0 0 4px #fff6}.countdown{grid-template-columns:repeat(4,1fr);gap:3px;margin-top:8px;display:grid}.countdown>div+div{border-left:1px solid #c6a9863b}.countdown strong{color:var(--wine);font-variant-numeric:tabular-nums;font-size:34px;font-weight:500;line-height:1.1;display:block}.countdown span{text-transform:uppercase;letter-spacing:.4px;margin-top:6px;font-size:12px;display:block}.location-section{text-align:center;isolation:isolate;flex-direction:column;flex:1;align-items:center;min-height:400px;padding:0 20px 48px;display:flex;position:relative;overflow:hidden}.location-section .heart-rule{margin:6px auto 18px}.venue-name{margin:12px 0 4px;font-size:62px;line-height:1.1}.location-section>p:not(.small-heading){font-size:18px}.location-landscape{z-index:-1;background:linear-gradient(#f7eddb 0%,#f7eddb00 42%),url(/art/garden.webp) 50% 73%/cover;position:absolute;inset:135px 0 0}.map-button{z-index:5;border-radius:50px;max-width:100%;margin-top:auto;padding:14px 20px;font-size:13px;position:relative}.location-flowers{width:70%;bottom:-130px;left:-85px;transform:rotate(-8deg)}.invitation-section{text-align:center;isolation:isolate;min-height:620px;padding:95px 29px 220px;position:relative;overflow:hidden}.invitation-outline{z-index:-1;border:1px solid #c9b08980;border-radius:48% 48% 0 0/80px 80px 0 0;position:absolute;inset:52px 16px 20px;box-shadow:0 0 0 5px #e5cc9e18,inset 0 0 0 5px #faf3e880}.invitation-section p:not(.signature){z-index:4;max-width:290px;margin:28px auto;font-size:22px;line-height:1.3;position:relative}.invitation-section .heart-rule{margin:18px auto 26px}.signature{white-space:nowrap;z-index:4;font-size:36px;position:relative;margin-top:44px!important}.invitation-corner{width:64%;top:-58px;right:-72px;transform:rotate(90deg)}.invitation-bouquet{width:98%;bottom:-110px;left:-60px;transform:rotate(-18deg)}.program-section{padding:0 20px 160px;position:relative;overflow:hidden}.program-section>.heart-rule:first-child{margin:0 auto 22px}.program-section .section-title{white-space:nowrap;font-size:clamp(35px,3.1vw,49px)}.timeline{margin:0;padding:32px 0 0;list-style:none}.timeline li{grid-template-columns:65px 1fr;column-gap:21px;min-height:130px;display:grid}.timeline-icon{color:#a5814c;justify-content:center;align-items:flex-start;padding-top:4px;display:flex}.timeline-icon>svg{stroke-width:1.1px;width:48px;height:48px}.timeline-text{border-left:1px solid #a9696b;padding:0 0 25px 22px;position:relative}.timeline-dot{background:var(--wine);border-radius:50%;width:8px;height:8px;position:absolute;top:9px;left:-4.5px;box-shadow:0 0 0 3px #f8eedc}.timeline time{color:var(--wine);margin-bottom:4px;font-size:22px;font-weight:600;line-height:1.2;display:block}.timeline h3{font-size:20px;font-weight:500;line-height:1.2}.timeline p{margin-top:3px;font-size:19px;line-height:1.25}.timeline li:nth-child(5){min-height:130px}.timeline li:last-child{min-height:115px}.timeline li:last-child .timeline-text{padding-bottom:8px}.schedule-note{color:#807560;text-align:center;margin:2px 0 24px;font-size:15px;font-style:italic}.program-section>.heart-rule{margin:12px auto 24px}.closing-message{text-align:center;color:#5c6145;max-width:240px;margin:0 auto;font-size:31px;line-height:1.3}.program-flowers{width:85%;bottom:-90px;left:-50px;transform:rotate(-8deg)}.details-column>section{position:relative}.dress-section{text-align:center;border-bottom:1px solid #c8ad7b85;padding:24px 20px 14px}.dress-heading{justify-content:center;align-items:center;gap:0;margin-bottom:8px;display:flex}.dress-heading .section-title{white-space:nowrap;font-size:57px}.sprig{color:#666c46;flex-shrink:1;width:75px;height:45px}.sprig.flip{transform:scaleX(-1)}.dress-section>p{max-width:480px;margin:auto;padding:0 4px;font-size:20px;line-height:1.3}.attire-image{object-fit:contain;mix-blend-mode:multiply;width:calc(100% + 20px);max-width:none;margin:12px -10px 4px}.palette-box{background:#ecdbc24f;border:1px solid #e7d3b768;border-radius:7px;margin:5px 0 0;padding:14px 12px 20px}.palette-box>p{margin-bottom:15px;font-size:17px}.palette-swatches{justify-content:center;gap:8px;display:flex}.palette-swatches>span{aspect-ratio:1;border-radius:50%;flex:1;width:42px;max-width:46px;height:42px;box-shadow:inset 0 0 2px #0001}.palette-toggle{opacity:.85;font-size:14px}.extended-palette{text-align:left;padding:8px 20px 10px}.palette-family{justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px;font-size:18px;display:flex}.palette-family>div{gap:8px;width:65%;display:flex}.palette-family>div>span{border-radius:20px;flex:1;height:23px}.extended-palette>p{text-align:center;padding:10px 0;font-size:16px;font-style:italic}.gifts-section{text-align:center;border-bottom:1px solid #b89c7285;padding:25px 25px 22px;overflow:hidden}.gift-heading{justify-content:center;align-items:center;gap:16px;margin-bottom:7px;display:flex}.gift-heading>svg{stroke-width:1.2px;width:45px;height:45px}.gifts-section>p{z-index:4;max-width:490px;margin:0 auto 15px;font-size:20px;line-height:1.3;position:relative}.gift-note{z-index:4;text-align:left;color:var(--wine);background:#e9d3b558;border:1px solid #e7cdb165;border-radius:6px;align-items:center;gap:15px;margin-top:19px;padding:16px 19px;display:flex;position:relative}.gift-note>p{font-size:18px;line-height:1.2}.no-flowers{border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;width:49px;height:49px;display:grid;position:relative}.no-flowers:after{content:"";background:var(--wine);width:46px;height:1px;position:absolute;transform:rotate(-50deg)}.gift-flowers{z-index:5;width:55%;bottom:-70px;right:-210px;transform:rotate(180deg)}.rsvp-section{isolation:isolate;padding:28px 28px 75px;overflow:hidden}.rsvp-heading{padding-top:4px;position:relative}.rsvp-heading>.sprig{width:60px;position:absolute;top:-14px;left:-16px;transform:rotate(-50deg)}.rsvp-heading .section-title{white-space:nowrap;letter-spacing:-.5px;font-size:clamp(36px,3.25vw,54px)}.rsvp-intro{text-align:center;z-index:4;max-width:460px;margin:14px auto 19px;font-size:20px;line-height:1.3;position:relative}.rsvp-form{z-index:4;position:relative}.attendance-options{border:0;flex-wrap:wrap;gap:13px 15px;margin:0 0 19px;padding:0;display:flex}.attendance-options>label{cursor:pointer;align-items:center;gap:7px;font-size:16px;display:flex}.attendance-options>label:first-of-type{min-width:30%}.attendance-options input{-webkit-appearance:none;appearance:none;background:#fff8ec;border:1px solid #b8a480;border-radius:50%;flex-shrink:0;place-content:center;width:21px;height:21px;margin:0;display:grid}.attendance-options input:checked:before{content:"";background:var(--olive);border-radius:50%;width:12px;height:12px}.attendance-options input:checked{border-color:var(--olive-light)}.attendance-options .decline-option{color:#736651;font-size:15px}.attendance-options .decline-option input{width:18px;height:18px}.attendance-options .decline-option input:checked:before{width:10px;height:10px}.form-field{margin-bottom:15px}.form-field label{margin-bottom:5px;font-size:18px;line-height:1.25;display:block}.form-field label small{font-size:15px}.required{color:var(--wine)}.form-field input,.form-field select,.form-field textarea{color:#514b3d;background:#fffaf28a;border:1px solid #d4c2a9;border-radius:3px;width:100%;min-height:42px;padding:9px 12px;font-size:17px;box-shadow:inset 0 1px 3px #5b452606}.form-field input::placeholder,.form-field textarea::placeholder{color:#a49a88;opacity:1}.form-field textarea{resize:vertical;min-height:65px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.submit-button{width:86%;min-height:48px;margin:24px auto 0;padding:15px 10px;display:flex}.deadline{z-index:4;justify-content:center;align-items:center;gap:9px;margin:18px auto 0;font-size:15px;display:flex;position:relative}.deadline svg{color:var(--wine);stroke-width:1.5px;flex-shrink:0}.privacy-note{color:#86765e;text-align:center;z-index:4;max-width:340px;margin:12px auto 0;font-size:13px;position:relative}.rsvp-flowers{z-index:2;width:55%;bottom:-125px;right:-75px;transform:rotate(180deg)}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-error{color:var(--wine);background:#f3dfd2;border:1px solid #9c5964;padding:12px 14px;font-size:18px}.reply-success{text-align:center;z-index:5;padding:32px 10px 28px;position:relative}.success-icon{width:60px;height:60px;color:var(--olive);border:1px solid #a3a383;border-radius:50%;place-items:center;margin-bottom:18px;display:inline-grid}.reply-success h3{font-size:41px}.reply-success p{max-width:350px;margin:15px auto 25px;font-size:21px}.site-footer{color:#dbcca7;isolation:isolate;background:radial-gradient(at 40% 20%,#444a2d,#272e20 85%);border-top:1px solid #bca477;justify-content:center;align-items:center;min-height:190px;padding:32px 18%;display:flex;position:relative;overflow:hidden}.footer-center{text-align:center}.footer-names{color:#d5be8d;white-space:nowrap;font-size:43px}.site-footer .heart-rule{color:#d5be8d;width:300px;max-width:95%;margin:8px auto}.footer-date{white-space:nowrap;letter-spacing:.5px;font-size:17px}.footer-date i{padding:0 5px;font-style:normal}.footer-date>span{background:#ad956367;width:1px;height:18px;margin:0 15px -4px;display:inline-block}.footer-languages{z-index:5;text-align:center;position:absolute;top:65px;right:14%}.footer-languages>button{color:#ddd1b5;opacity:.7;background:0 0;border:0;border-right:1px solid #a99c7360;padding:0 13px;font-size:15px}.footer-languages>button:last-of-type{border-right:0}.footer-languages>button.selected{opacity:1;color:#fff4da}.footer-languages .heart-rule{width:105px;max-width:100%;margin:12px auto}.footer-flowers-left{width:28%;max-width:370px;top:-20px;left:-35px}.footer-flowers-right{width:25%;max-width:320px;bottom:-80px;right:-15px;transform:rotate(180deg)}.music-button{z-index:35;color:#f6e9cc;background:#313925f0;border:1px solid #b9a377;border-radius:40px;align-items:center;gap:8px;max-width:180px;padding:12px 14px;font-size:14px;transition:background .2s;display:flex;position:fixed;bottom:21px;left:21px;box-shadow:0 3px 15px #19201030}.music-button:hover{background:#475036}.music-button span{display:none}:is(.music-button:hover span,.music-button:focus-visible span){display:inline}.music-button.is-playing svg{animation:2s infinite music-pulse}@keyframes music-pulse{0%,to{opacity:.5}50%{opacity:1}}.invitation-dialog{color:var(--ink);background:var(--paper);border:1px solid #bda274;width:min(480px,100% - 32px);max-height:90dvh;padding:0;overflow:auto;box-shadow:0 20px 100px #141b12a0}.invitation-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18200fd1}.invitation-dialog[open]{animation:.45s both letter-open}.dialog-paper{text-align:center;background:radial-gradient(#fff8e7,#f2e2c8);border:7px double #d6bea080;padding:65px 39px 35px;position:relative;overflow:hidden}.dialog-close{z-index:10;background:#f7ecd9;border:1px solid #ba9c72;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:10px;right:10px}.dialog-flower{width:55%;top:-50px;left:-45px}.dialog-paper h2{z-index:4;margin:25px auto 0;font-size:62px;line-height:1.1;position:relative}.dialog-paper h2 em{font-size:43px}.dialog-paper>p{z-index:4;position:relative}.dialog-paper>p:not(.eyebrow):not(.wedding-date):not(.dialog-signature){margin:15px auto;font-size:21px}.dialog-paper>.wedding-date{margin-top:30px}.dialog-paper>.button{z-index:4;margin:15px 0;position:relative}.dialog-signature{margin-top:12px;font-size:29px}@keyframes letter-open{0%{opacity:0;transform:translateY(35px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.lang-ru .script{font-family:var(--serif);font-style:italic;font-weight:400}.lang-ru .couple-names{font-family:var(--script)}.lang-ru .signature,.lang-ru .footer-names,.lang-ru .venue-name{font-family:var(--script);font-style:normal}.lang-ru .section-title{white-space:normal;font-size:34px}.lang-ru .rsvp-heading .section-title{font-size:36px}.lang-ru .nav-links a{padding:0 13px;font-size:12px}.lang-ru .program-section .section-title{font-size:33px}@media (min-width:1500px){.hero-scene{min-height:1260px}.invitation-section{min-height:700px;padding-top:110px;padding-bottom:240px}.timeline li{min-height:140px}.program-section{padding-bottom:185px}.timeline li:last-child{min-height:140px}.dress-section{padding-top:35px}.gifts-section{padding-top:32px;padding-bottom:30px}.rsvp-section{padding-top:34px}.envelope-area{padding-top:160px}}@media (min-width:1001px) and (max-width:1250px){body{font-size:18px}.site-header{gap:15px;padding-left:12%}.nav-links a{padding:0 13px;font-size:12px}.hero-copy{padding-top:95px}.hero-scene{min-height:1100px}.hero-message{max-width:230px;font-size:24px}.couple-names{font-size:7vw}.wedding-date{font-size:23px}.signature{font-size:29px}.invitation-section{padding-left:22px;padding-right:22px}.invitation-section p:not(.signature){font-size:20px}.timeline li{grid-template-columns:48px 1fr;gap:12px;min-height:120px}.timeline-icon>svg{width:39px;height:39px}.timeline-text{padding-left:16px}.timeline h3,.timeline p{font-size:18px}.program-section{padding-left:12px;padding-right:12px}.dress-heading .section-title{font-size:47px}.dress-section>p,.gifts-section>p,.rsvp-intro{font-size:18px}.palette-swatches{gap:6px}.palette-swatches>span{height:auto}.rsvp-section{padding-left:20px;padding-right:20px}.rsvp-heading .section-title{font-size:40px}.attendance-options>label{font-size:15px}.form-field label{font-size:16px}.footer-languages{top:65px;right:10%}.footer-languages>button{padding:0 10px}.footer-names{font-size:37px}.gift-note{padding:14px 12px}.gift-note>p{font-size:17px}}@media (max-width:1000px){html{scroll-padding-top:70px}body{background:var(--paper)}.wedding-site{max-width:700px}.site-header{justify-content:flex-start;gap:18px;height:64px;padding:0 22px}.mobile-monogram{font:32px var(--script);white-space:nowrap;margin-right:auto;text-decoration:none;display:block}.mobile-monogram span{margin:0 3px;font-size:23px}.language-select{order:1;width:66px;height:32px}.menu-toggle{color:#efe0c3;background:0 0;border:0;order:2;place-items:center;margin-left:2px;padding:5px;display:grid}.nav-links{background:#303724;border-bottom:1px solid #b49b6c;flex-direction:column;gap:0;padding:15px 25px 24px;display:none;position:absolute;top:64px;left:0;right:0;box-shadow:0 10px 15px #19210b25}.nav-links.menu-open{display:flex}.nav-links a{text-align:center;width:100%;padding:12px;font-size:15px}.nav-links a+a:before{display:none}.invitation-grid{grid-template-columns:1fr}.story-column,.details-column{box-shadow:none;border-left:0}.scene-column:before{inset:9px}.hero-scene{background-position:top;background-size:cover;min-height:1060px}.hero-flowers{z-index:5;width:61%;max-width:320px;top:-52px;left:-55px}.hero-copy{padding:93px 24px 0}.eyebrow{letter-spacing:3px;font-size:16px}.couple-names{margin:27px 0;font-size:clamp(84px,16vw,119px)}.hero-message{max-width:285px;font-size:27px}.wedding-date{font-size:25px}.wedding-place{font-size:22px}.envelope-area{padding:135px 15px 25px}.envelope-button{width:100%;max-width:480px}.envelope-hint{font-size:15px}.countdown-frame{align-self:center;width:calc(100% - 38px);max-width:560px;padding:25px 22px}.countdown strong{font-size:37px}.countdown span{font-size:12px}.location-section{flex:initial;min-height:405px;padding-bottom:45px}.location-section .small-heading{margin-top:1px}.location-section .heart-rule{margin-top:7px}.location-landscape{background-position:50% 72%;background-size:cover;inset:130px 0 0}.location-flowers{width:58%;bottom:-135px;left:-65px}.map-button{padding:15px 25px;font-size:14px}.invitation-section{border-top:7px double #e6d1b285;min-height:635px;padding:88px 45px 195px}.section-title{font-size:55px}.invitation-outline{border-radius:48% 48% 0 0/95px 95px 0 0;inset:40px 25px 12px}.invitation-section p:not(.signature){max-width:370px;margin-top:25px;font-size:24px}.signature{font-size:40px;margin-top:35px!important}.invitation-corner{width:52%;top:-50px;right:-65px}.invitation-bouquet{width:77%;max-width:420px;bottom:-140px;left:-50px}.program-section{padding:0 35px 160px}.program-section .section-title{font-size:52px}.timeline{max-width:440px;margin:auto;padding-top:34px}.timeline li{grid-template-columns:70px 1fr;gap:23px;min-height:125px}.timeline-text{padding-left:28px}.timeline-icon>svg{width:50px;height:50px}.timeline time{font-size:24px}.timeline h3{font-size:23px}.timeline p{font-size:21px}.timeline li:nth-child(5){min-height:125px}.timeline li:last-child{min-height:110px}.closing-message{max-width:290px;font-size:36px}.program-flowers{width:65%;max-width:350px;bottom:-100px;left:-50px}.dress-section{border-top:7px double #e1c9a67d;padding:40px 25px 18px}.dress-heading .section-title{font-size:62px}.dress-heading .sprig{max-width:75px}.dress-section>p{max-width:520px;padding:0 10px;font-size:22px}.attire-image{width:calc(100% + 30px);margin:16px -15px 8px}.palette-box{margin:5px 0;padding:15px 15px 21px}.palette-box>p{font-size:18px}.palette-swatches{gap:9px}.palette-swatches>span{max-width:48px;height:auto}.palette-toggle{padding:10px;font-size:16px}.extended-palette{padding-top:15px}.palette-family{font-size:21px}.gifts-section{padding:30px 31px}.gift-heading{gap:15px;margin-bottom:15px;font-size:60px}.gift-heading>svg{width:44px;height:44px}.gifts-section>p{max-width:490px;margin-bottom:18px;font-size:22px}.gift-note{max-width:520px;margin:24px auto 0;padding:18px 20px}.gift-note>p{font-size:20px}.gift-flowers{width:57%;bottom:-105px;right:-200px}.rsvp-section{padding:38px 31px 95px}.rsvp-heading .section-title{font-size:clamp(42px,7.5vw,57px)}.rsvp-heading>.sprig{width:52px;top:-20px;left:-17px}.rsvp-intro{max-width:500px;margin:15px auto 25px;font-size:22px}.rsvp-form{max-width:510px;margin:auto}.attendance-options{gap:15px 18px;margin-bottom:25px}.attendance-options>label{font-size:17px}.attendance-options .decline-option{font-size:16px}.form-field{margin-bottom:20px}.form-field label{margin-bottom:7px;font-size:20px}.form-field label small{font-size:17px}.form-field input,.form-field select,.form-field textarea{min-height:46px;padding:10px 12px;font-size:19px}.form-field textarea{min-height:85px}.submit-button{width:94%;min-height:51px;margin-top:25px;font-size:15px}.deadline{margin-top:22px;font-size:16px}.privacy-note{max-width:370px;font-size:15px}.rsvp-flowers{width:60%;bottom:-165px;right:-75px}.site-footer{min-height:240px;padding:35px 20px 80px;display:flex}.footer-names{z-index:4;font-size:41px;position:relative}.footer-date{z-index:4;font-size:15px;position:relative}.footer-date>span{margin:0 9px -4px}.footer-languages{white-space:nowrap;inset:auto auto 23px 50%;transform:translate(-50%)}.footer-languages .heart-rule{display:none}.footer-languages>button{padding:0 16px;font-size:14px}.footer-flowers-left{width:41%;max-width:245px;top:-21px;left:-67px}.footer-flowers-right{width:42%;max-width:240px;bottom:-75px;right:-55px}.music-button{padding:10px;bottom:15px;left:13px}.music-button:hover span{display:none}.lang-ru .section-title,.lang-ru .program-section .section-title{font-size:41px}.lang-ru .rsvp-heading .section-title{font-size:40px}.lang-ru .nav-links a{padding:12px;font-size:15px}.lang-ru .signature{font-size:37px}}@media (max-width:420px){.hero-scene{min-height:1000px}.hero-copy{padding-top:94px}.couple-names{margin:28px 0;font-size:84px}.hero-message{max-width:250px;font-size:25px}.envelope-area{padding-top:125px;padding-left:4px;padding-right:4px}.envelope-hint{padding-left:12px;padding-right:12px;font-size:14px}.small-heading{font-size:15px}.countdown-frame{padding-left:12px;padding-right:12px}.countdown strong{font-size:34px}.countdown span{font-size:11px}.location-section{min-height:365px}.invitation-section{padding-left:29px;padding-right:29px}.signature{font-size:34px}.program-section{padding-left:19px;padding-right:19px}.program-section .section-title{font-size:47px}.timeline li{grid-template-columns:57px 1fr;gap:21px}.timeline-text{padding-left:24px}.timeline h3{font-size:22px}.timeline p{font-size:20px}.dress-section{padding-left:17px;padding-right:17px}.dress-section>p{font-size:20px}.dress-heading .section-title{font-size:56px}.dress-heading .sprig{width:57px}.palette-box{padding-left:11px;padding-right:11px}.palette-swatches{gap:7px}.palette-box>p{font-size:17px}.gifts-section{padding-left:23px;padding-right:23px}.gifts-section>p{font-size:21px}.gift-note{gap:12px;padding:16px 13px}.gift-note>p{font-size:18px}.no-flowers{width:43px;height:43px}.no-flowers:after{width:39px}.rsvp-section{padding-left:23px;padding-right:23px}.rsvp-heading .section-title{letter-spacing:-.8px;font-size:40px}.rsvp-intro{font-size:21px}.rsvp-heading>.sprig{width:45px;top:-22px;left:-12px}.attendance-options>label{font-size:16px}.attendance-options{column-gap:11px}.attendance-options input{width:20px;height:20px}.form-field label{font-size:18px}.form-field label small{font-size:16px}.form-field input,.form-field select,.form-field textarea{font-size:18px}.deadline{gap:7px;font-size:14px}.deadline svg{width:16px}.footer-names{font-size:35px}.footer-date{letter-spacing:0;font-size:14px}.footer-date i{padding:0 3px}.footer-date>span{margin:0 8px -4px}.lang-ru .section-title{font-size:35px}.lang-ru .rsvp-heading .section-title{font-size:34px}.dialog-paper{padding:60px 25px 30px}.dialog-paper h2{font-size:58px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (min-width:1001px){.details-column{flex-direction:column;display:flex}.rsvp-section{flex:1}.program-section{padding-bottom:210px}.program-flowers{bottom:-135px}.location-landscape{background-position:bottom;background-repeat:no-repeat;background-size:100%}.hero-message{isolation:isolate;position:relative}.hero-message:before{content:"";filter:blur(13px);z-index:-1;background:#f7eddbb0;position:absolute;inset:-12px -14px}}@media (max-width:1000px){.program-flowers{bottom:-135px}.program-section{padding-bottom:185px}}.couple-names .bride-name{display:block}.bride-name>small{font:400 .61em/1.05 var(--script);margin-bottom:1px;display:block}.signature{white-space:normal;font-size:33px;line-height:1.2}.footer-names{white-space:normal;font-size:36px}.footer-center{max-width:650px}.dialog-bride{white-space:nowrap;font-size:.72em;display:inline-block}.dialog-signature{font-size:26px}.envelope-letter .script{text-wrap:balance;font-size:22px}@media (max-width:1000px){.footer-center{max-width:100%}.footer-names{text-wrap:balance;max-width:360px;margin:auto;font-size:34px}.site-footer{min-height:255px;padding-bottom:75px}.signature{font-size:37px}.couple-names{margin-top:22px}.hero-copy{padding-top:86px}.hero-scene{min-height:1100px}}@media (max-width:420px){.signature{font-size:34px}.footer-names{max-width:290px;font-size:31px}.dialog-bride{font-size:.68em}.hero-scene{min-height:1060px}}.animated-envelope{aspect-ratio:1.65;width:100%;color:var(--wine);isolation:isolate;cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;border:0;margin:0;padding:0;display:block;position:relative;overflow:visible}.animated-envelope:disabled{cursor:default;opacity:1}.animated-envelope:focus-visible{outline-offset:13px;border-radius:8px;outline:2px solid #c2a374}.envelope-art{transform-style:flat;transition:transform .4s;display:block;position:absolute;inset:0}.envelope-back,.envelope-pocket{background:#64623d url(/art/stationery-texture.webp) 50%/700px 700px;border-radius:4px;display:block;position:absolute;inset:0}.envelope-back{z-index:0;border:1px solid #5d6037;box-shadow:0 20px 45px #26301130,inset 0 0 22px #17200d1c}.envelope-pocket{z-index:7;clip-path:polygon(0 31%,50% 72%,100% 31%,100% 100%,0 100%);box-shadow:inset 0 -20px 40px #15200830}.envelope-pocket:after{content:"";background:linear-gradient(165deg,#f5edca0b,#0000 45%,#18220d30);position:absolute;inset:0}.envelope-top-flap{transform-origin:50% 0;z-index:11;-webkit-backface-visibility:hidden;backface-visibility:hidden;height:79%;display:block;position:absolute;top:0;left:0;right:0}.flap-front{clip-path:polygon(0 0,100% 0,100% 12%,50% 100%,0 12%);-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#5c6134 url(/art/stationery-paper.webp) top/100% 126.582%;display:block;position:absolute;inset:0}.flap-lettering{color:#e5d7b3;width:80%;font:400 clamp(23px,2.2vw,33px)/1.12 var(--script);text-shadow:0 1px 4px #1d2b1733;flex-direction:column;align-items:center;display:flex;position:absolute;top:12%;left:10%}.flap-lettering small{font:400 11px/1.5 var(--serif);letter-spacing:1.2px;text-transform:uppercase;color:#d7cba4;margin-bottom:8px}.flap-lettering>i{margin:4px 0;font-size:.52em;font-style:normal;line-height:.85}.flap-lettering>span{display:block}.wax-seal{aspect-ratio:1;z-index:14;--seal-end:5%;width:17%;display:block;position:absolute;top:73%;left:50%;transform:translate(-50%,-50%)}.wax-seal>img{object-fit:contain;width:100%;height:100%}.envelope-botanical{z-index:10;pointer-events:none;width:45%;position:absolute;bottom:-14%;right:-7%;transform:rotate(180deg)}.rising-card{z-index:3;opacity:0;transform-origin:50% 100%;background:radial-gradient(at 30% 30%,#fff9e9,#eee0c4);border:1px solid #bda67d;border-radius:2px;flex-direction:column;justify-content:flex-start;align-items:center;height:92%;padding-top:12%;display:flex;position:absolute;top:7%;left:44%;right:5%;overflow:hidden;transform:translateY(0)rotate(5deg);box-shadow:2px -8px 19px #18200c32}.rising-card-frame{pointer-events:none;border:1px solid #b5a16d;position:absolute;inset:4%;box-shadow:inset 0 0 0 4px #faf3de,inset 0 0 0 5px #d3c5a1}.rising-card-eyebrow{text-transform:uppercase;letter-spacing:1.5px;font:500 10px var(--serif);color:#75714e;z-index:1;margin-bottom:10px;position:relative}.rising-card-names{font:400 clamp(19px,1.9vw,28px)/1.15 var(--script);z-index:1;color:var(--wine);flex-direction:column;align-items:center;display:flex;position:relative}.rising-card-names>i{margin:2px 0;font-size:.65em;font-style:normal;line-height:.85}.rising-card-names>span{white-space:nowrap;display:block}.rising-card-rule{width:36%;color:var(--wine);z-index:1;justify-content:center;align-items:center;gap:6px;margin:9px 0;display:flex;position:relative}.rising-card-rule>span{background:#b28b74;flex:1;height:1px}.rising-card-rule>svg{width:8px;height:8px}.rising-card-date{font:600 11px var(--serif);letter-spacing:2px;z-index:1;position:relative}.rising-card-location{color:#665e47;z-index:1;margin-top:3px;font-size:11px;position:relative}.card-botanical{opacity:.8;width:58%;position:absolute;bottom:-9%;right:-8%;transform:rotate(180deg)}.keepsake-card{z-index:2;opacity:0;background:#f3e9d3;border-radius:47% 47% 2px 2px/25% 25% 2px 2px;flex-direction:column;align-items:center;width:45%;height:85%;padding:7% 4% 3%;display:flex;position:absolute;top:10%;left:7%;overflow:hidden;transform:translateY(0)rotate(-11deg);box-shadow:-4px -7px 18px #25300d38}.keepsake-border{border:1px solid #c4b383;border-radius:47% 47% 1px 1px/25% 25% 1px 1px;position:absolute;inset:5%;box-shadow:0 0 0 4px #fffcf080,0 0 0 5px #c9bd9455}.keepsake-oval{background:radial-gradient(#fffbed,#ded8bb);border:1px solid #b9a879;border-radius:50%;place-items:center;width:91%;height:73%;display:grid;position:relative;overflow:hidden}.keepsake-oval>img{opacity:.88;width:110%;position:absolute;bottom:-50%;left:-45%;transform:rotate(-8deg)}.keepsake-oval>span{font:400 clamp(45px,5.8vw,90px) var(--script);color:var(--wine);z-index:1;margin-right:8px;position:relative}.keepsake-message{font:400 clamp(16px,1.8vw,26px) var(--script);color:#7c674b;z-index:1;margin-top:8%;position:relative}.keepsake-date{font:500 clamp(8px,.75vw,12px) var(--serif);letter-spacing:1px;color:#8d7b59;z-index:1;margin-top:4px}.burgundy-liner{z-index:5;opacity:0;background:radial-gradient(at 35% 0,#9a3f4d,#6d2033 60%,#51142b);border-radius:48% 48% 0 0/35% 35% 0 0;height:60%;display:block;position:absolute;top:30%;left:23%;right:20%;box-shadow:inset 0 0 0 1px #b0605c}.burgundy-liner>span{letter-spacing:2px;color:#ecd6b8;text-align:center;font-size:clamp(9px,1.1vw,15px);position:absolute;top:22%;left:0;right:0}.envelope-opening .wax-seal{animation:1.6s 50ms both seal-settle}.envelope-opening .envelope-top-flap{animation:1.45s cubic-bezier(.4,.02,.2,1) .2s both flap-unfold}.envelope-opening .rising-card{animation:1.9s cubic-bezier(.22,.72,.22,1) 1.02s both main-card-rise}.envelope-opening .keepsake-card{animation:1.9s cubic-bezier(.22,.72,.22,1) 1.25s both keepsake-rise}.envelope-opening .burgundy-liner{animation:1.25s .8s both liner-reveal}@keyframes seal-settle{0%{transform:translate(-50%,-50%)scale(1)}20%{transform:translate(-50%,-50%)scale(.93)}to{transform:translate(-50%,var(--seal-end)) scale(.88)}}@keyframes flap-unfold{0%{opacity:1;transform:perspective(1400px)rotateX(0)}75%{opacity:1}to{opacity:0;transform:perspective(1400px)rotateX(-178deg)}}@keyframes main-card-rise{0%{opacity:0;transform:translateY(0)rotate(5deg)}12%{opacity:1}to{opacity:1;transform:translateY(-69%)rotate(4deg)}}@keyframes keepsake-rise{0%{opacity:0;transform:translateY(0)rotate(-11deg)}12%{opacity:1}to{opacity:1;transform:translateY(-61%)rotate(-13deg)}}@keyframes liner-reveal{0%{opacity:0;transform:translateY(9%)}to{opacity:1;transform:translateY(0)}}.inline-envelope{width:90%;max-width:430px;margin:0 auto 22px;padding-top:35px;position:relative}.inline-envelope .envelope-art{transform:rotate(-5deg)}.inline-envelope .flap-lettering{font-size:clamp(22px,1.8vw,28px)}.inline-envelope .keepsake-oval>span{font-size:clamp(38px,4vw,63px)}@media (hover:hover) and (pointer:fine){.animated-envelope:not(:disabled):hover .envelope-art{transform:translateY(-5px)}.inline-envelope .animated-envelope:not(:disabled):hover .envelope-art{transform:rotate(-3deg)translateY(-5px)}}.opening-dialog{width:100%;max-width:none;height:100%;max-height:none;color:#474b32;isolation:isolate;z-index:100;background:#64623d;border:0;height:100svh;margin:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}.opening-dialog:not([open]){display:none}.opening-dialog::backdrop{background:#64623d;transition:background 1.9s .65s}.opening-in-progress::backdrop{background:#e9ddc4}.opening-paper{background:#64623d url(/art/stationery-texture.webp) 50%/700px 700px;position:absolute;inset:0}.opening-paper:before,.opening-paper:after{content:"";pointer-events:none;position:absolute;inset:0}.opening-paper:before{background:radial-gradient(at 50% 35%,#0000,#1d291354)}.opening-paper:after{opacity:0;background:radial-gradient(at 50% 35%,#fff9ef,#e9ddc4);transition:opacity 1.9s .65s}.opening-in-progress .opening-paper:after{opacity:1}.opening-toolbar{left:43px;right:43px;top:max(30px,env(safe-area-inset-top));z-index:22;align-items:center;gap:20px;display:flex;position:absolute}.opening-monogram{font:34px var(--script);color:#e7d9b6;margin-right:auto}.opening-monogram i{font-size:.7em;font-style:normal}.opening-toolbar .language-select{border-color:#c8bb8c}.opening-toolbar .language-select select{color:#e7d9b6}.opening-toolbar .language-select option{color:#394227;background:#f7eddb}.opening-toolbar .language-select svg{color:#e7d9b6}.opening-skip{color:#e7d9b6;font:500 15px var(--serif);text-underline-offset:4px;background:0 0;border:0;padding:8px 0;text-decoration:underline}.opening-monogram,.opening-skip,.opening-toolbar .language-select select,.opening-toolbar .language-select svg{transition:color 1.5s 1s}.opening-in-progress .opening-monogram,.opening-in-progress .opening-skip,.opening-in-progress .language-select select,.opening-in-progress .language-select svg{color:#616443}.opening-heading{text-align:center;z-index:12;transition:opacity .5s;position:absolute;top:12%;left:20px;right:20px}.opening-heading>p{font:400 32px var(--script);color:#e3d7af}.opening-heading>span{font:500 12px var(--serif);letter-spacing:3px;color:#d8c79e;margin-top:11px;display:block}.opening-in-progress .opening-heading{opacity:0}.opening-scene{z-index:3;--scene-shift:4svh;--scene-scale:.6;width:min(100vw,1280px);position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)scale(1.05)}.opening-scene .envelope-back{box-shadow:none}.opening-scene .envelope-botanical{opacity:0}.opening-in-progress .opening-scene{animation:3.2s cubic-bezier(.35,.1,.2,1) .25s both cover-reframe}.opening-in-progress .envelope-botanical{animation:1.8s 1.15s both botanical-unfold}@keyframes cover-reframe{0%{transform:translate3d(-50%,-50%,0) scale(var(--cover-scale,1.05))}to{transform:translate3d(-50%,calc(-50% + var(--scene-shift)),0) scale(var(--scene-scale))}}@keyframes botanical-unfold{0%{opacity:0;transform:rotate(184deg)translateY(-12px)}to{opacity:1;transform:rotate(180deg)}}.envelope-large .flap-lettering{font-size:clamp(25px,3vw,43px);top:11%}.envelope-large .flap-lettering small{margin-bottom:12px;font-size:clamp(11px,1.05vw,15px)}.envelope-large .rising-card-names{font-size:clamp(23px,3.3vw,44px)}.envelope-large .rising-card-eyebrow{margin-bottom:17px;font-size:clamp(10px,1.05vw,14px)}.envelope-large .rising-card-date{font-size:clamp(12px,1.2vw,17px)}.envelope-large .rising-card-location{font-size:clamp(10px,1.1vw,15px)}.envelope-large .rising-card-rule{margin:16px 0}.opening-caption{text-align:center;z-index:20;color:#e6d6b2;flex-direction:column;align-items:center;gap:9px;transition:color 1.4s 1s;display:flex;position:absolute;bottom:4.5%;left:20px;right:20px}.opening-caption>p{max-width:380px;margin:0;font-size:17px;line-height:1.25}.opening-caption>span:last-child{font:400 24px var(--script);color:#d2bb86}.opening-in-progress .opening-caption{color:#736649}.opening-in-progress .opening-caption>span:last-child{color:#917949}.opening-seal-hint{background:#e1d0a1;border-radius:50%;width:5px;height:5px;margin-bottom:9px;box-shadow:0 0 0 6px #f3e3b717}.opening-in-progress .opening-seal-hint{visibility:hidden}.opening-settled .opening-seal-hint{display:none}.opening-settled .opening-caption>p{font:400 26px/1.1 var(--script);color:#756340;margin:0 0 2px}.opening-settled .opening-caption{gap:10px}.opening-discover{letter-spacing:1px;min-height:43px;padding:12px 22px;font-size:12px;animation:.4s both caption-appear}.opening-leaving{animation:.45s forwards cover-fade}@keyframes caption-appear{0%{opacity:0}to{opacity:1}}@keyframes cover-fade{to{opacity:0}}.replay-opening{color:#cdb58b;font:400 14px var(--serif);text-underline-offset:3px;background:0 0;border:0;margin-top:12px;padding:4px 10px;text-decoration:underline}.couple-names:focus{outline:none}[data-motion=pending],[data-motion=visible]{opacity:1;transform:none}[data-motion=visible]{animation:.6s both section-appear}@keyframes section-appear{0%{opacity:.75}to{opacity:1}}.site-entered .hero-copy>.eyebrow,.site-entered .couple-names,.site-entered .hero-copy>.wedding-date,.site-entered .hero-copy>.wedding-place,.site-entered .hero-message{animation:.6s both caption-appear}@media (min-width:1001px){.opening-scene .envelope-botanical{width:35%;bottom:-11%;right:-2%}.opening-scene .wax-seal{--seal-end:15%;width:14%}.opening-scene .envelope-back{box-shadow:0 25px 50px #29301426}}@media (max-width:1000px){.opening-scene{--scene-shift:10svh;--scene-scale:.78;width:min(105vw,880px);top:55%}.opening-heading{top:13%}.opening-toolbar{left:28px;right:28px;top:max(27px,env(safe-area-inset-top));gap:14px}.opening-monogram{font-size:32px}.opening-skip{font-size:14px}.opening-caption{bottom:7%}.envelope-large .flap-lettering{font-size:clamp(26px,3.8vw,38px)}.envelope-large .rising-card-names{font-size:clamp(21px,3vw,35px)}.envelope-large .rising-card-eyebrow{margin-bottom:12px;font-size:10px}.envelope-large .rising-card-date{font-size:13px}.envelope-large .rising-card-location{font-size:11px}.keepsake-oval>span{font-size:64px}.inline-envelope{width:86%;max-width:430px}.inline-envelope .rising-card-names{font-size:20px}.inline-envelope .keepsake-oval>span{font-size:43px}.site-footer{min-height:270px;padding-bottom:90px}}@media (max-width:480px){.opening-scene{--scene-shift:3svh;--scene-scale:.9;width:110vw;top:54%}.opening-heading{top:16%}.opening-heading>p{font-size:29px}.opening-toolbar{gap:12px;left:25px;right:25px}.opening-toolbar .language-select{width:59px}.opening-skip{font-size:13px}.opening-monogram{font-size:29px}.opening-caption{bottom:12%}.opening-caption>p{max-width:285px;font-size:15px}.opening-caption>span:last-child{font-size:23px}.envelope-large .flap-lettering{font-size:27px;top:12%}.envelope-large .flap-lettering small{margin-bottom:6px;font-size:10px}.envelope-large .flap-lettering>i{margin:2px 0}.envelope-large .rising-card-names{font-size:22px}.rising-card{padding-top:13%}.envelope-large .rising-card-eyebrow{letter-spacing:1px;margin-bottom:8px;font-size:8px}.envelope-large .rising-card-rule{width:40%;margin:10px 0}.envelope-large .rising-card-date{letter-spacing:1px;font-size:10px}.envelope-large .rising-card-location{font-size:9px}.keepsake-oval>span{font-size:52px}.keepsake-message{font-size:19px}.keepsake-date{font-size:9px}.wax-seal{width:18%}.opening-settled .opening-caption>p{font-size:25px}.opening-discover{padding:12px 19px;font-size:11px}.burgundy-liner>span{letter-spacing:1px;font-size:10px}.inline-envelope .flap-lettering{font-size:23px}.inline-envelope .rising-card-names{font-size:18px}.inline-envelope .keepsake-oval>span{font-size:41px}.inline-envelope .keepsake-message{font-size:16px}.replay-opening{margin-top:10px;font-size:13px}}@media (max-height:620px) and (min-width:700px){.opening-heading{top:12%}.opening-heading>p{font-size:26px}.opening-scene{--scene-shift:13svh;--scene-scale:.56;width:min(95vw,1000px)}.opening-caption{bottom:3%}.opening-settled .opening-caption>p{display:none}.opening-discover{min-height:37px;padding:10px 18px;font-size:11px}}@media (prefers-reduced-motion:reduce){.envelope-art,.opening-paper:after{transition:none}[data-motion=visible],.site-entered .hero-copy>*{animation:none}.opening-leaving{opacity:0}}.venue-map-dialog{color:#484131;text-align:left;background:#f7eddb;border:1px solid #bba078;border-radius:9px;width:min(920px,100vw - 32px);max-width:none;max-height:90dvh;padding:0;overflow:auto;box-shadow:0 24px 100px #121b0b80}.venue-map-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#18200fd4}.venue-map-dialog[open]{animation:.35s letter-open}.venue-map-header{background:radial-gradient(at 30% 10%,#fff9eb,#f1e1c5);justify-content:space-between;align-items:flex-start;gap:18px;padding:28px 32px 22px;display:flex}.venue-map-kicker{letter-spacing:2px;color:#948160;font-size:13px}.venue-map-header h2{margin:8px 0 12px;font-size:44px;line-height:1.15}.venue-map-header p{align-items:center;gap:8px;font-size:19px;line-height:1.3;display:flex}.venue-map-header p svg{color:var(--wine);flex-shrink:0}.venue-map-close{background:#faf1e0;border:1px solid #bea782;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.venue-map-frame{background:#e7e3d3;border:0;width:100%;height:min(48vh,420px);min-height:260px;display:block}.venue-map-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:22px 30px;display:flex}.venue-map-actions .button{border-radius:6px;font-size:13px}.venue-directions{color:#4b573c;background:0 0;border:1px solid #ae9871}.venue-directions:hover{background:#e8ddc5}@media (max-width:600px){.venue-map-dialog{width:calc(100vw - 24px);max-height:92dvh}.venue-map-header{gap:8px;padding:23px 20px 20px}.venue-map-header h2{font-size:35px}.venue-map-header p{font-size:17px}.venue-map-close{width:33px;height:33px}.venue-map-kicker{font-size:12px}.venue-map-frame{height:40dvh;min-height:250px}.venue-map-actions{gap:10px;padding:19px}.venue-map-actions .button{width:100%;padding:13px 12px;font-size:13px}.lang-ru .venue-map-header h2{font-size:29px}}.burgundy-liner{aspect-ratio:100/95;height:auto;box-shadow:none;filter:drop-shadow(0 3px 5px #38102530);background:0 0;border-radius:0;top:22%;left:25%;right:25%}.burgundy-liner>svg{width:100%;height:100%;overflow:visible}.burgundy-liner text{font:13px Georgia,serif}.invitation-dialog{width:min(560px,100% - 24px);max-height:92dvh}.dialog-paper{padding:58px 30px 35px}.dialog-paper h2{font-size:70px}.dialog-paper .dialog-bride{white-space:normal;font-size:.7em;line-height:1.1}.dialog-paper .eyebrow{font-size:15px}.dialog-paper .wedding-date{font-size:25px}.dialog-paper .dialog-signature{font-size:34px;line-height:1.3}@media (max-width:480px){.dialog-paper{padding:52px 20px 28px}.dialog-paper h2{font-size:58px}.dialog-paper>p:not(.eyebrow):not(.wedding-date):not(.dialog-signature){font-size:23px;line-height:1.4}.dialog-paper .dialog-signature{font-size:31px}.envelope-large .rising-card-names{font-size:26px}.envelope-large .rising-card-date{letter-spacing:1px;font-size:13px}.envelope-large .rising-card-location{font-size:12px}.envelope-large .rising-card-eyebrow{letter-spacing:.8px;font-size:11px}.inline-envelope .rising-card-names{font-size:22px}.inline-envelope .rising-card-date,.inline-envelope .rising-card-location{font-size:12px}}.rising-card{height:106%;padding-top:10%;top:-1%;left:32%;right:2%}.envelope-large .rising-card-names{font-size:54px;line-height:1.12}.envelope-large .rising-card-eyebrow{letter-spacing:1px;margin-bottom:13px;font-size:17px}.envelope-large .rising-card-date{letter-spacing:1px;font-size:21px}.envelope-large .rising-card-location{margin-top:7px;font-size:19px}.inline-envelope .rising-card-names{font-size:30px}.inline-envelope .rising-card-eyebrow{letter-spacing:.7px;font-size:13px}.inline-envelope .rising-card-date{letter-spacing:1px;font-size:16px}.inline-envelope .rising-card-location{font-size:15px}.dialog-paper>p:not(.eyebrow):not(.wedding-date):not(.dialog-signature){font-size:26px;line-height:1.45}@media (max-width:1000px){.envelope-large .rising-card-names{font-size:43px}.envelope-large .rising-card-eyebrow{font-size:16px}.envelope-large .rising-card-date{font-size:19px}.envelope-large .rising-card-location{font-size:17px}}@media (max-width:480px){.envelope-large .rising-card-names{font-size:34px}.envelope-large .rising-card-eyebrow{margin-bottom:10px;font-size:14px}.envelope-large .rising-card-date{font-size:18px}.envelope-large .rising-card-location{margin-top:5px;font-size:16px}.envelope-large .rising-card-rule{margin:11px 0}.inline-envelope .rising-card-names{font-size:29px}.inline-envelope .rising-card-eyebrow{font-size:12px}.inline-envelope .rising-card-date{font-size:16px}.inline-envelope .rising-card-location{font-size:14px}.dialog-paper>p:not(.eyebrow):not(.wedding-date):not(.dialog-signature){font-size:25px;line-height:1.42}}.wedding-music{text-align:center;isolation:isolate;padding:32px 16px 26px;position:relative}.wedding-music audio{display:none}.record-eyebrow{letter-spacing:.22em;color:#927b57;text-transform:uppercase;font-size:11px}.record-heading{color:var(--wine);max-width:300px;margin:10px auto 20px;font-size:35px;font-weight:400;line-height:1.15}.record-sleeve{width:min(100%,280px);margin:0 auto 18px;padding:15px 6px;position:relative}.record-sleeve-lines{background:#f5ead7;border:1px solid #ad9374;position:absolute;inset:6px 5px 0 25px;transform:rotate(7deg);box-shadow:0 8px 16px #483b2720}.record-sleeve-lines:before{content:"";border:3px double #7c2638;position:absolute;inset:9px}.vinyl-record{aspect-ratio:1;color:#fff3d8;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#171717;border:1px solid #242222;border-radius:50%;place-items:center;width:100%;padding:0;display:grid;position:relative;box-shadow:0 12px 22px #281f2738}.vinyl-grooves{background:conic-gradient(from 30deg,#fff0 0deg,#ffffff20 42deg,#0000 75deg 170deg,#ffffff25 222deg,#0000 258deg),repeating-radial-gradient(circle,#161616 0 2px,#303030 2.5px 3px,#191919 3.5px 5px);border-radius:50%;animation:18s linear infinite paused vinyl-spin;position:absolute;inset:3px}.vinyl-record.is-playing .vinyl-grooves{animation-play-state:running}.vinyl-lettering{fill:#f1e7cd;letter-spacing:2px;text-transform:uppercase;width:100%;height:100%;font-family:Georgia,serif;font-size:17px;position:absolute;inset:0}.vinyl-label{aspect-ratio:1;background:radial-gradient(circle at 35% 20%,#b65e63,#7c2638 65%,#4c1424);border:2px solid #bd8b68;border-radius:50%;outline:5px solid #47282a;flex-direction:column;justify-content:center;align-items:center;width:39%;display:flex;position:relative;box-shadow:inset 0 0 0 5px #7b2937}.vinyl-monogram{letter-spacing:.16em;margin-bottom:8px;font-size:11px}.vinyl-play{place-items:center;display:grid}.vinyl-play svg{stroke-width:1px;width:25px;height:25px}.vinyl-year{letter-spacing:.2em;margin-top:7px;font-size:9px}.vinyl-record:focus-visible{outline-offset:7px;outline:3px solid #a9854e}.record-track{color:var(--wine);margin-top:20px;font-size:19px}.record-track span{color:#6b6755;letter-spacing:.1em;margin-top:4px;font-size:13px;display:block}.record-hint{color:#6b6755;margin-top:10px;font-size:14px;line-height:1.4}.record-status{color:var(--wine);min-height:20px;margin-top:8px;font-size:14px;line-height:1.4}@keyframes vinyl-spin{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.vinyl-record:hover .vinyl-label{filter:brightness(1.13)}}@media (prefers-reduced-motion:reduce){.vinyl-grooves{animation:none}}.schedule-journey{isolation:isolate;max-width:420px;margin:24px auto 10px;position:relative}.schedule-ribbon{z-index:-1;color:#b69370;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.schedule-ribbon path{stroke:currentColor;stroke-width:1.2px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.program-section .timeline{max-width:none;margin:0;padding:0}.program-section .timeline li,.program-section .timeline li:nth-child(5),.program-section .timeline li:last-child{text-align:center;flex-direction:column;align-items:center;gap:10px;width:80%;min-height:160px;margin-left:0;padding:12px 8px 20px;display:flex;position:relative}.program-section .timeline-icon{color:#9c7948;background:#f7eddb;border:1px solid #c3ab82;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;padding:10px;display:grid;position:relative;box-shadow:0 0 0 6px #f7eddb80}.program-section .timeline-icon>svg{stroke-width:1.15px;width:35px;height:35px}.program-section .timeline-text{background:radial-gradient(#f7eddb 50%,#f7eddb00 75%);border:0;width:100%;padding:8px 10px 10px;position:relative}.program-section .timeline-dot{display:none}.program-section .timeline time{letter-spacing:.04em;margin:0 0 7px;font-size:26px;line-height:1.2}.program-section .timeline h3{color:#673744;font-size:21px;font-weight:500;line-height:1.15}.program-section .timeline p{color:#665e4b;max-width:230px;margin:6px auto 0;font-size:17px;line-height:1.3}.program-section .timeline .schedule-moment .timeline-icon{border-style:dashed}.program-section .timeline .schedule-finish .timeline-icon{color:#fff0d6;background:#6f2637;border-color:#6f2637;box-shadow:0 0 0 5px #b9967725}.program-section .timeline .schedule-finish time{font-size:34px}.program-section .schedule-note{max-width:290px;margin:12px auto 24px;font-size:15px;line-height:1.4}.timeline li[data-motion=visible]{animation:.65s ease-out both schedule-arrive}.timeline li[data-motion=visible] .timeline-icon{animation:.8s ease-out both schedule-icon}@keyframes schedule-arrive{0%{opacity:.75;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes schedule-icon{0%{transform:scale(.91)}to{transform:scale(1)}}@media (min-width:1001px) and (max-width:1200px){.program-section .timeline h3{font-size:19px}.program-section .timeline p{font-size:16px}.record-heading{font-size:30px}}@media (prefers-reduced-motion:reduce){.timeline li[data-motion=visible],.timeline li[data-motion=visible] .timeline-icon{animation:none}}.schedule-journey[data-motion=visible] .schedule-ribbon path{animation:2.4s ease-out both schedule-ribbon-flow}@keyframes schedule-ribbon-flow{0%{stroke-dashoffset:64px;opacity:.4}to{stroke-dashoffset:0;opacity:1}}@media (prefers-reduced-motion:reduce){.schedule-journey[data-motion=visible] .schedule-ribbon path{animation:none}}.schedule-follow-heart{z-index:5;pointer-events:none;filter:drop-shadow(0 3px 4px #542b3c40);will-change:transform;width:38px;height:37px;position:absolute;top:0;left:0;transform:translate(160px)translate(-50%,-50%)}.schedule-follow-heart svg{width:100%;height:100%;display:block;overflow:visible}.schedule-follow-heart path{fill:#7c2638;stroke:#d3af86;stroke-width:1.3px}.schedule-follow-heart text{fill:#fff1d5;letter-spacing:-1px;font:10px Georgia,serif}.program-section .timeline li[data-current] .timeline-icon{border-color:#8f693d;box-shadow:0 0 0 6px #a9854e24}.schedule-ribbon path{stroke-dasharray:none;stroke-width:1px;opacity:.8}@media (prefers-reduced-motion:reduce){.schedule-follow-heart{will-change:auto}}.program-section .timeline li,.program-section .timeline li:nth-child(5),.program-section .timeline li:last-child{width:74%;margin-bottom:40px;margin-left:0}.program-section .timeline li:nth-child(2n){margin-left:26%}.program-section .timeline li:last-child{margin-bottom:0}.schedule-follow-heart{width:32px;height:31px}.opening-readable-letter{z-index:16;overscroll-behavior:contain;text-align:center;color:#4c4131;background:radial-gradient(at 35% 20%,#fffaf0,#f3e5cc);border:6px double #cbb48a;width:min(540px,100% - 32px);padding:25px 30px 30px;animation:.4s ease-out both readable-letter-appear;position:absolute;top:100px;bottom:135px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 15px 45px #3f332324}.opening-readable-letter>p{font:500 26px/1.4 var(--serif);max-width:440px;margin:17px auto}.opening-readable-letter h2{font:400 53px/1.15 var(--script);color:var(--wine);margin:10px 0 22px}.opening-readable-letter h2 span{margin-top:7px;display:block}.opening-letter-heart{width:27px;height:27px;color:var(--wine);margin:auto}.opening-readable-letter>.opening-letter-eyebrow{letter-spacing:2px;text-transform:uppercase;margin:8px 0;font-size:15px}.opening-readable-letter>.opening-letter-date{letter-spacing:2px;color:var(--wine);margin-top:24px;font-size:27px}.opening-readable-letter>.opening-letter-venue{margin-bottom:0;font-size:24px}.opening-settled .opening-scene{opacity:0;pointer-events:none;transition:opacity .25s}.opening-settled .opening-caption{gap:10px;bottom:3%}.opening-settled .opening-caption>p{font-size:27px}.invitation-section>p:not(.signature){color:#49412f;font-size:25px;font-weight:500;line-height:1.45}.dialog-paper>p:not(.eyebrow):not(.wedding-date):not(.dialog-signature){font-size:28px;font-weight:500;line-height:1.4}.palette-family>span{font-size:23px}@keyframes readable-letter-appear{0%{opacity:.5}to{opacity:1}}@media (max-width:480px){.opening-readable-letter{padding:22px 20px 28px;top:90px;bottom:135px}.opening-readable-letter>p{margin:18px auto;font-size:25px;line-height:1.4}.opening-readable-letter h2{margin:10px 0 24px;font-size:43px}.opening-readable-letter>.opening-letter-date{font-size:26px}.opening-readable-letter>.opening-letter-venue{font-size:23px}.opening-settled .opening-caption>p{font-size:25px}.invitation-section>p:not(.signature){font-size:26px}.dialog-paper>p:not(.eyebrow):not(.wedding-date):not(.dialog-signature){font-size:28px}}@media (max-height:650px){.opening-readable-letter{top:76px;bottom:110px}.opening-settled .opening-caption>p{display:none}}@media (prefers-reduced-motion:reduce){.opening-readable-letter{animation:none}.opening-settled .opening-scene{transition:none}}.opening-dialog .opening-heading>p{font-size:43px;line-height:1.15}.opening-dialog .opening-heading>span{letter-spacing:3px;margin-top:17px;font-size:19px;font-weight:600}.opening-dialog .envelope-large .flap-lettering{font-size:64px;line-height:1.08;top:9%}.opening-dialog .envelope-large .flap-lettering small{letter-spacing:1px;margin-bottom:9px;font-size:22px}.opening-dialog:not(.opening-in-progress) .opening-caption>p{max-width:470px;font-size:23px;line-height:1.35}.opening-dialog:not(.opening-in-progress) .opening-caption>span:last-child{font-size:34px;line-height:1.2}@media (max-width:1000px){.opening-dialog .envelope-large .flap-lettering{font-size:48px}.opening-dialog .envelope-large .flap-lettering small{font-size:18px}}@media (max-width:480px){.opening-dialog .opening-heading>p{font-size:39px}.opening-dialog .opening-heading>span{font-size:18px}.opening-dialog .envelope-large .flap-lettering{font-size:42px;top:9%}.opening-dialog .envelope-large .flap-lettering small{margin-bottom:7px;font-size:15px}.opening-dialog:not(.opening-in-progress) .opening-caption{gap:12px;bottom:5.5%}.opening-dialog:not(.opening-in-progress) .opening-caption>p{max-width:330px;font-size:22px;line-height:1.35}.opening-dialog:not(.opening-in-progress) .opening-caption>span:last-child{font-size:32px}.opening-toolbar .opening-skip,.opening-toolbar .language-select select{font-size:16px}.opening-monogram{font-size:33px}}@media (max-height:650px){.opening-dialog:not(.opening-in-progress) .opening-heading{top:13%}.opening-dialog .opening-heading>p{font-size:31px}.opening-dialog .opening-heading>span{margin-top:10px;font-size:16px}.opening-dialog:not(.opening-in-progress) .opening-caption{bottom:3%}.opening-dialog:not(.opening-in-progress) .opening-caption>p{font-size:18px}.opening-dialog:not(.opening-in-progress) .opening-caption>span:last-child{font-size:27px}}@media (min-width:1001px){.opening-dialog:not(.opening-in-progress) .opening-scene{--cover-scale:.8;transform:translate(-50%,-50%) scale(var(--cover-scale))}}
