@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-ext-400-normal-CsjMq8GN.woff2) format("woff2"),url(/assets/great-vibes-latin-ext-400-normal-wh4xxCIu.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-italic-CE7zdTnu.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-italic-CalKM9tT.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-italic-DVnfXoMy.woff2) format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-italic-C9gO-8KC.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-300-normal-BgP24wlQ.woff2) format("woff2"),url(/assets/montserrat-latin-300-normal-sTRdVzlf.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-latin-ext-300-normal-DiDe5dVi.woff2) format("woff2"),url(/assets/montserrat-latin-ext-300-normal-BCbSOsYO.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/montserrat-cyrillic-300-normal-DyQnI4ta.woff2) format("woff2"),url(/assets/montserrat-cyrillic-300-normal-BVP0yxL_.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff")}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--cream: #f5f0e6;--paper: #ede6d4;--line: #ddd3bc;--ink: #3a3828;--olive: #5b6046;--olive-d: #43472f;--sage: #8e9473;--muted: #706c58;--gold: #b08f2a;--gold-d: #8c6d18;--gold-l: #e2c878;--blush: #e9cfcb;--rose: #b0675c;--gold-g: linear-gradient(135deg, #7a5c10 0%, #96751a 34%, #a88626 55%, #96751a 78%, #7a5c10 100%);--serif: "Cormorant Garamond", "Times New Roman", serif;--script: "Great Vibes", "Cormorant Garamond", cursive;--sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;background:#e7e0cf}body{font-family:var(--sans);font-weight:300;color:var(--ink);background:#e7e0cf;overflow-x:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}html.locked,html.locked body{overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.ico{display:inline-grid;place-items:center;width:20px;height:20px;flex:none}.ico svg{width:100%;height:100%}[hidden]{display:none!important}.script{font-family:var(--script);font-weight:400}html[lang=ru] .script{font-family:var(--serif);font-style:italic;font-weight:500}.gold{background:var(--gold-g);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.art{--aw: max(100%, 56.25svh );position:absolute;left:50%;top:50%;width:var(--aw);aspect-ratio:9 / 16;margin:calc(var(--aw) * -.8889) 0 0 calc(var(--aw) * -.5)}.art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;background:var(--gold-g);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}#confetti{position:fixed;inset:0;width:100%;height:100%;z-index:95;pointer-events:none}#fx{position:fixed;inset:0;width:100%;height:100%;z-index:55;pointer-events:none;opacity:0}.ui{position:fixed;z-index:70;top:calc(var(--safe-t) + 12px);left:0;right:0;width:min(100%,520px);margin:0 auto;padding:0 14px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;opacity:0;transform:translateY(-10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.ui.is-on{opacity:1;transform:none}.ui>*{pointer-events:auto}.lang,.music{background:#f5f0e6f0;border:1px solid rgba(91,96,70,.28);color:var(--olive-d)}.lang{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px}.lang button{position:relative;z-index:1;background:none;border:0;padding:0 15px;min-height:42px;font-size:13px;font-weight:500;letter-spacing:.1em;color:var(--olive-d);transition:color .3s}.lang button.on{color:var(--cream)}.lang__thumb{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--olive);transition:transform .45s var(--ease)}.lang[data-active=uz] .lang__thumb{transform:translate(100%)}.music{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.bars{display:flex;align-items:center;gap:2.5px;height:16px}.bars i{display:block;width:2px;height:3px;border-radius:2px;background:currentColor;transition:height .3s}.music.is-playing .bars i{animation:eq .9s ease-in-out infinite}.music.is-playing .bars i:nth-child(2){animation-delay:-.3s}.music.is-playing .bars i:nth-child(3){animation-delay:-.6s}.music.is-playing .bars i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%,to{height:3px}50%{height:15px}}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.intro{position:fixed;inset:0;z-index:60;overflow:hidden;background:#e9e1cf;touch-action:none;overscroll-behavior:none}.intro__bg{position:absolute;inset:-6%;background:url(/art/door.webp) center / cover;filter:blur(26px) saturate(.85);opacity:.5}.intro__stage{position:absolute;top:0;bottom:0;left:50%;width:min(100vw,56.25svh);transform:translate(-50%);overflow:hidden;background:#efe8d8;box-shadow:0 0 70px #3c382840}.intro__art{transform-origin:50% 57.5%;will-change:transform}.behind{position:absolute;inset:0}.behind>img{position:absolute;left:28.1%;top:24.1%;width:43.8%;height:58.3%;object-fit:cover;display:block}.behind .glow{position:absolute;inset:0;background:radial-gradient(ellipse 30% 30% at 50% 56%,#fff9e6fa,#fff4d6b3 60%,#fff4d680)}.door3d{position:absolute;inset:0;perspective:1200px;perspective-origin:50% 57.5%}.leaf{position:absolute;inset:0;will-change:transform}.leaf--l{transform-origin:28.5% 50%}.leaf--r{transform-origin:71.5% 50%}.leaf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.dove{position:absolute;left:51%;top:38.5%;width:30%;aspect-ratio:1;margin:-15% 0 0 -15%;pointer-events:none;will-change:transform}.dove img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.dove__a{transform-origin:50% 60%;animation:bob 3.6s ease-in-out infinite}.dove__b{opacity:0;transform-origin:50% 60%}@keyframes bob{50%{transform:translateY(-3.5%) rotate(-2deg)}}.seal{position:absolute;left:50%;top:57.5%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:1.5px solid rgba(255,248,222,.95);background:radial-gradient(circle at 35% 28%,#f6e7ae,#c9a646 58%,#a5841f);color:#fff9e4;display:grid;place-items:center;box-shadow:0 6px 22px #5a460a73,inset 0 0 0 4px #96761859;transition:transform .3s var(--ease)}.seal svg{width:50px;height:34px}.seal::selection{background:none}.intro__art{cursor:pointer}.seal:active{transform:scale(.92)}.seal:before,.seal:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(255,244,205,.9);animation:ripple 2.6s ease-out infinite;pointer-events:none}.seal:after{animation-delay:1.3s}@keyframes ripple{0%{transform:scale(1);opacity:.8}to{transform:scale(2.1);opacity:0}}.intro__veil{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 57.5%,#fffaf0,#f7f1e3 60%,#f1e9d6)}.intro__plate{position:absolute;left:0;right:0;bottom:0;padding:120px 22px calc(var(--safe-b) + 30px);text-align:center;pointer-events:none;background:linear-gradient(to top,#f5f0e6f7,#f5f0e6e6 52%,#f5f0e600)}.intro__title{font-size:clamp(44px,13vw,62px);line-height:1.02;text-wrap:balance;padding:.05em .1em .12em}.intro__guest{margin-top:8px;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--olive-d)}.intro__hint{margin-top:10px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;color:var(--olive);animation:hint 2.6s ease-in-out infinite}@keyframes hint{50%{opacity:.5}}@media (max-height: 740px){.intro__plate{padding-top:70px}.intro__title{font-size:clamp(36px,11vw,46px)}.intro__hint{font-size:18px;margin-top:6px}}#app{position:relative;z-index:1;max-width:520px;margin:0 auto}.hero{position:sticky;top:0;z-index:1;height:100vh;height:100svh;overflow:hidden;background:#e9e1cf}.hero__art>img{animation:kb 26s ease-in-out infinite alternate}@keyframes kb{0%{transform:scale(1.03)}to{transform:scale(1.11) translateY(-1.2%)}}.hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#f5f0e6fa,#f5f0e6f0 30%,#f5f0e680 45%,#f5f0e600 57%)}.spark{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(circle,#fffbe8 0 12%,#fff4c800 62%),linear-gradient(#fffbe8,#fffbe8) 50% 50% / 1.5px 100% no-repeat,linear-gradient(#fffbe8,#fffbe8) 50% 50% / 100% 1.5px no-repeat;animation:twinkle 3.4s ease-in-out infinite}.spark--s{width:14px;height:14px;margin:-7px 0 0 -7px;animation-delay:-1.2s;animation-duration:4.2s}.spark--s+.spark--s{animation-delay:-2.4s}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(25deg)}}.hero__inner{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:0 20px calc(var(--safe-b) + 4.5svh);will-change:transform}.hero__kicker{font-family:var(--serif);font-style:italic;font-weight:500;font-size:25px;color:var(--olive-d);margin-bottom:2px}.hero__names{font-size:clamp(66px,21vw,104px);line-height:.98}.name{display:block;padding:.08em .12em .18em;--p: 100%;filter:drop-shadow(0 0 10px rgba(245,240,230,.95)) drop-shadow(0 0 3px rgba(245,240,230,.9));-webkit-mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 16%))}.amp{display:flex;align-items:center;justify-content:center;gap:16px;margin:-6px 0 -4px}.amp em{font-family:var(--script);font-style:normal;font-size:44px;line-height:1;color:var(--gold)}html[lang=ru] .amp em{font-family:var(--serif);font-style:italic}.amp i{display:block;width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.amp i:last-child{background:linear-gradient(270deg,transparent,var(--gold))}.hero__names{font-size:clamp(60px,19vw,96px)}.hero__chips{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:360px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid rgba(150,117,26,.55);border-radius:12px;background:#f5f0e6eb;color:var(--olive-d);font-family:var(--serif);font-weight:500;font-size:19px;line-height:1;transition:transform .25s var(--ease),background .25s,border-color .25s}.chip .ico{width:18px;height:18px;color:var(--gold-d)}.chip:hover{background:#fff;border-color:var(--gold-d)}.chip:active{transform:scale(.96)}.chip--wide{flex:1 1 100%}.hero__scroll{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:18px;color:var(--olive);text-decoration:none}.hero__scroll svg{width:10px;height:26px;animation:arrow 1.8s var(--ease) infinite}.hero__scroll span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes arrow{0%{transform:translateY(-6px);opacity:0}40%{opacity:1}to{transform:translateY(8px);opacity:0}}.sheet{position:relative;z-index:2;background:var(--cream);border-radius:240px 240px 0 0/64px 64px 0 0;box-shadow:0 -30px 60px #3c382838;overflow:hidden;overflow:clip}.garland{position:absolute;top:0;z-index:3;width:64%;height:250px;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}.garland img{display:block;width:100%}.garland--l{left:-9%}.garland--r{right:-9%;transform:scaleX(-1)}.js [data-reveal]{opacity:0;transform:translateY(30px)}.scene{position:relative;height:150vh;height:150svh;background:#e9e1cf}.scene__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.scene__img{position:absolute;inset:-3%;will-change:transform}.scene__img img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}.scene__pin:after{content:"";position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(to top,#f5f0e6fa 12%,#f5f0e6db 38%,#f5f0e600);pointer-events:none}.scene__quote{position:absolute;z-index:2;left:0;right:0;bottom:calc(var(--safe-b) + 7svh);padding:.05em 30px .15em;text-align:center;font-size:clamp(34px,10vw,48px);line-height:1.16;text-wrap:balance;filter:drop-shadow(0 0 10px rgba(245,240,230,.9))}.wr{--p: 100%;-webkit-mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 16%))}.sec{position:relative;padding:84px 24px;text-align:center}.h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,9vw,44px);letter-spacing:.02em;line-height:1.15;color:var(--olive-d)}.rule{display:block;width:150px;height:14px;margin:16px auto 0;transform-origin:center;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 14' fill='none' stroke='%23B08F2A' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M2 7H58M92 7H148'/%3E%3Cpath d='M75 1 82 7 75 13 68 7Z'/%3E%3Ccircle cx='62' cy='7' r='1.3' fill='%23B08F2A' stroke='none'/%3E%3Ccircle cx='88' cy='7' r='1.3' fill='%23B08F2A' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat}.flourish{display:block;width:150px;height:18px;margin:0 auto 24px;color:var(--gold);overflow:visible}.flourish [pathLength]{stroke-dasharray:100;stroke-dashoffset:100}.sheet-paper{position:relative;isolation:isolate}.sheet-paper:before,.sheet-paper:after{content:"";position:absolute;left:0;right:0;width:100%;aspect-ratio:9 / 16;z-index:-1;pointer-events:none;background:url(/art/paper.webp) center / 100% 100% no-repeat}.sheet-paper:before{top:0;-webkit-mask-image:linear-gradient(#000 50%,transparent 96%);mask-image:linear-gradient(#000 50%,transparent 96%)}.sheet-paper:after{display:none}.paper--m:before{transform:scaleX(-1)}.paper--m:after{transform:scale(-1)}.flyer{position:absolute;left:0;top:0;width:84px;z-index:4;pointer-events:none;will-change:transform;filter:drop-shadow(0 6px 10px rgba(60,56,40,.2))}.rsvp__dove{display:block;width:96px;margin:-6px auto 4px;animation:bob 4s ease-in-out infinite}.flyup{position:fixed;left:50%;bottom:14%;width:130px;margin-left:-65px;z-index:96;pointer-events:none}.glimmer{position:absolute;z-index:0;border-radius:50%;background:#ffe9a8;box-shadow:0 0 10px 3px #ffe28cb3;opacity:0;animation:twinkle var(--d, 3.5s) ease-in-out infinite;pointer-events:none}.ww{display:inline-block}.card{position:relative;padding:30px 26px 86px;text-align:center}.invite__title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,8.6vw,38px);line-height:1.14;color:var(--olive-d);margin-bottom:22px;text-wrap:balance}.invite__p{max-width:24em;margin:0 auto 20px;font-family:var(--serif);font-weight:500;font-size:clamp(21px,5.8vw,25px);line-height:1.42;color:var(--olive)}.invite__p.is-strong{color:var(--olive-d)}.card__label{margin:34px 0 10px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:23px;color:var(--muted)}.when{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--serif);font-weight:500;font-size:clamp(32px,9.4vw,44px);line-height:1.1}.when b{font-weight:500;white-space:nowrap;background:var(--gold-g);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:lining-nums tabular-nums}.when i{width:1px;height:.85em;background:var(--gold);opacity:.55}.where{margin:16px 0 38px;font-family:var(--serif);font-weight:500;font-size:clamp(26px,7.4vw,31px);color:var(--olive-d);line-height:1.2}.where small{display:block;margin-top:4px;font-size:20px;font-style:italic;color:var(--muted);font-weight:500}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);max-width:400px;margin:40px auto 0;row-gap:4px}.cal__dow{font-size:13px;letter-spacing:.06em;color:#6a7050;font-weight:500;padding:6px 0 16px}.cal__d{position:relative;height:46px;display:grid;place-items:center;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--olive-d)}.cal__d span{position:relative;z-index:2}.cal__d.is-event span{color:#fff;font-weight:500}.cal__heart{position:absolute;z-index:1;width:58px;height:58px;left:50%;top:50%;margin:-29px 0 0 -29px;overflow:visible;filter:drop-shadow(0 6px 10px rgba(154,83,73,.35))}.cal__ripple{position:absolute;z-index:0;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:1px solid var(--rose);opacity:0}.cal__add{margin-top:38px}.cal__add p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;color:var(--muted);margin-bottom:16px}.cal__btns{display:flex;gap:10px;max-width:400px;margin:0 auto}.cal__btns .btn{flex:1;height:52px;letter-spacing:.02em;font-size:14px;padding:0 8px}.btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;height:56px;border-radius:12px;border:1px solid var(--line);background:#fbf8f0;color:var(--olive-d);font-size:14px;letter-spacing:.03em;font-weight:500;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}.btn:hover{border-color:var(--gold)}.btn:active{transform:scale(.975)}.btn .ico{color:var(--gold-d);width:18px;height:18px}.btn--ghost{background:#fbf8f0}.btn--map{box-shadow:0 8px 24px -14px #3c38284d}.btn--primary{border:0;color:var(--cream);background:var(--olive);box-shadow:0 14px 28px -14px #43472fcc}.btn--primary:hover{background:var(--olive-d)}.btn--primary[disabled]{opacity:.7;pointer-events:none}.blessing{padding:80px 28px 100px;overflow:hidden}.blessing:before{content:"";position:absolute;left:50%;top:30px;width:420px;height:420px;margin-left:-210px;border-radius:50%;background:radial-gradient(circle,rgba(201,166,70,.16),transparent 68%);pointer-events:none}.blessing__dove{position:relative;display:block;width:136px;margin:0 auto 10px;animation:bob 3.8s ease-in-out infinite}.blessing__label{position:relative;font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;color:var(--gold-d)}.blessing__text{position:relative;max-width:21em;margin:20px auto 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(27px,7.4vw,34px);line-height:1.38;color:var(--olive-d)}.blessing__amen{position:relative;margin-top:26px;font-family:var(--script);font-size:44px;line-height:1;color:var(--gold-d)}html[lang=ru] .blessing__amen{font-family:var(--serif);font-style:italic;font-size:34px}.venue{background:var(--cream)}.venue__art{position:relative;width:min(80vw,330px);aspect-ratio:3 / 4;margin:34px auto 30px;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 0 0 7px var(--cream),0 0 0 8px var(--gold),0 30px 50px -30px #3c382880}.venue__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;display:block;will-change:transform}.venue__name{font-family:var(--serif);font-weight:500;font-size:clamp(30px,8.4vw,38px);color:var(--olive-d);line-height:1.15}.venue__addr{margin-top:10px;color:var(--muted);font-family:var(--serif);font-weight:500;font-size:21px}.venue__btns{display:grid;gap:12px;max-width:400px;margin:34px auto 0}.count{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:90px 20px 96px;text-align:center;color:var(--cream);overflow:hidden;background:linear-gradient(#0a0e1238,#0a0e1280),url(/art/night.webp) center 38% / cover}.tile[data-unit=s]{animation:secglow 1s ease-in-out infinite}@keyframes secglow{50%{border-color:#f6e2a0;box-shadow:0 0 26px #f6e2a061}}.ecg{display:block;width:240px;height:40px;margin:0 auto 22px;color:var(--gold-l);overflow:visible;position:relative}.ecg path{stroke-dasharray:100;stroke-dashoffset:100}.count__title{position:relative;font-size:clamp(46px,13vw,60px);line-height:1.08;color:#f6e3a6;padding:.04em .1em .12em;text-shadow:0 2px 22px rgba(30,26,12,.6)}.count__tiles{position:relative;display:flex;justify-content:center;gap:12px;margin-top:34px;perspective:800px}.tile{position:relative;width:74px;padding:18px 0 14px;border-radius:12px;background:#2220166b;border:1px solid rgba(246,226,160,.62);display:flex;flex-direction:column;align-items:center;gap:10px}.tile:not(:last-child):after{content:"";position:absolute;right:-9px;top:42%;width:4px;height:4px;border-radius:50%;background:var(--gold-l);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.tile .num{position:relative;height:1.1em;width:100%;font-family:var(--serif);font-weight:500;font-size:42px;line-height:1.1;color:var(--gold-l);overflow:hidden;font-variant-numeric:lining-nums tabular-nums}.tile .num span{position:absolute;inset:0;display:block;text-align:center}.tile>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#f5f0e6e6;font-weight:500}.count__msg{position:relative;margin-top:30px}.count__msg h3{font-family:var(--serif);font-weight:500;font-size:clamp(30px,8.4vw,38px);color:var(--gold-l)}.count__msg p{margin-top:10px;color:#f5f0e6cc;font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px}.count:not([data-state=before]) .count__tiles{display:none}.rsvp{background:var(--cream)}.rsvp__sub{max-width:28em;margin:20px auto 0;color:var(--muted);font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.4}.rsvp__form{max-width:400px;margin:36px auto 0;display:grid;gap:12px;text-align:left}.opts{display:grid;gap:10px}.opt{position:relative;display:block}.opt input{position:absolute;opacity:0;inset:0}.opt__card{display:flex;align-items:center;gap:14px;min-height:56px;padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:#fbf8f0;transition:border-color .3s,background .3s,transform .3s var(--ease),box-shadow .3s}.opt__card .ico{color:var(--sage);transition:color .3s,transform .5s var(--ease)}.opt__card b{font-weight:500;font-size:14.5px}.opt:active .opt__card{transform:scale(.98)}.opt input:checked+.opt__card{border-color:var(--olive);background:#eef0e2;box-shadow:0 12px 28px -18px #43472fb3}.opt input:checked+.opt__card .ico{color:var(--olive-d);transform:scale(1.15)}.opt input:focus-visible+.opt__card{outline:2px solid var(--gold);outline-offset:2px}.field{position:relative;margin-top:6px}.field input{width:100%;height:58px;padding:22px 18px 6px;border-radius:12px;border:1px solid var(--line);background:#fbf8f0;font-size:16px;outline:none;transition:border-color .3s,box-shadow .3s}.field textarea{display:block;width:100%;min-height:108px;padding:28px 18px 12px;border-radius:12px;border:1px solid var(--line);background:#fbf8f0;font-size:16px;line-height:1.55;outline:none;resize:none;transition:border-color .3s,box-shadow .3s}.field input:focus,.field textarea:focus{border-color:var(--olive);box-shadow:0 0 0 4px #8e947338}.field label{position:absolute;left:19px;top:19px;font-size:15px;color:#6e6a57;pointer-events:none;transition:all .25s var(--ease);transform-origin:left top;max-width:88%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-11px) scale(.72);color:var(--olive);max-width:120%}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.rsvp__err{min-height:18px;font-size:12.5px;color:#9a4a3f;text-align:center}.rsvp__tg{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:6px;border-radius:12px;background:var(--olive);color:var(--cream);font-size:14px;font-weight:500;letter-spacing:.03em;text-decoration:none}.rsvp__tg:hover{background:var(--olive-d)}.rsvp__done{max-width:400px;margin:36px auto 0;padding:32px 24px;border-radius:12px;background:#fbf8f0;border:1px solid var(--line);text-align:center;box-shadow:0 24px 50px -34px #3c382866}.rsvp__done svg{width:64px;height:64px;color:var(--olive);margin-bottom:12px}.rsvp__done circle,.rsvp__done path{stroke-dasharray:100;stroke-dashoffset:100}.rsvp__done h3{font-family:var(--serif);font-weight:500;font-size:32px;color:var(--olive-d)}.rsvp__done p{margin-top:8px;color:var(--muted);font-family:var(--serif);font-weight:500;font-size:19px}.rsvp__change{margin-top:18px;min-height:44px;background:none;border:0;font-size:14px;letter-spacing:.04em;color:var(--olive);border-bottom:1px solid currentColor}.foot .garland{height:230px}.foot{position:relative;padding:96px 24px calc(var(--safe-b) + 64px);text-align:center;background:linear-gradient(var(--cream),var(--paper));overflow:hidden}.foot__door{width:min(62vw,250px);aspect-ratio:3 / 4;margin:0 auto 34px;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 0 0 7px var(--cream),0 0 0 8px var(--gold)}.foot__door img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;display:block}.foot__text{font-size:clamp(42px,12vw,54px);line-height:1.08;padding:.04em .1em .12em}.foot__with{margin-top:14px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;color:var(--muted)}.foot__names{margin-top:2px;font-size:clamp(52px,15vw,70px);line-height:1.05;padding:.04em .1em .14em}.foot__credit{margin-top:36px;font-size:13px;letter-spacing:.04em;color:var(--muted)}.foot__credit a{display:inline-block;padding:12px 6px 1px;color:var(--olive-d);text-decoration:none;border-bottom:1px solid rgba(91,96,70,.4);transition:color .3s,border-color .3s}.foot__credit a:hover,.foot__credit a:focus-visible{color:var(--gold-d);border-color:var(--gold-d)}.is-anim{transition:none!important}.hero__rays{position:absolute;left:-60%;right:-60%;top:-60%;aspect-ratio:1;z-index:1;pointer-events:none;opacity:.38;mix-blend-mode:screen;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,246,214,.9) 0 3deg,transparent 3deg 13deg);-webkit-mask-image:radial-gradient(closest-side,#000 0,transparent 100%);mask-image:radial-gradient(closest-side,#000 0,transparent 100%);animation:spin 120s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chap{position:relative;height:290vh;height:290svh;background:#e9e1cf}.chap__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}.chap__bg{position:absolute;inset:0}.chap__img{position:absolute;left:0;top:0;width:100%;height:72%;object-fit:cover;object-position:50% 42%;display:block;will-change:transform,opacity}.chap__img+.chap__img{opacity:0}.chap__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#f5f0e6 0 300px,#f5f0e6ed 380px,#f5f0e600 560px)}.chap__dots{position:absolute;z-index:3;right:14px;top:38%;transform:translateY(-50%);display:grid;gap:8px;list-style:none}.chap__dots li{width:7px;height:7px;border-radius:4px;background:#f5f0e6d9;border:1px solid var(--gold);transition:height .4s var(--ease),background .4s}.chap__dots li.on{height:24px;background:var(--gold)}.chap__panels{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;padding:0 22px calc(var(--safe-b) + 26px)}.chap__panel{grid-area:1 / 1;align-self:end;display:flex;flex-direction:column;align-items:center;text-align:center}.chap__panel+.chap__panel{opacity:0}.chap__k{font-family:var(--serif);font-style:italic;font-weight:500;font-size:23px;color:var(--muted);margin-bottom:4px}.chap__date{display:flex;align-items:center;justify-content:center;gap:14px}.chap__day{font-family:var(--serif);font-weight:500;font-size:clamp(120px,36vw,168px);line-height:.82;letter-spacing:-.04em;font-variant-numeric:lining-nums;background:var(--gold-g);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.chap__mon{font-size:clamp(54px,16vw,76px);line-height:1;padding:.06em .1em .16em}.chap__sub{margin-top:4px;font-family:var(--serif);font-weight:500;font-size:clamp(22px,6.2vw,27px);color:var(--olive-d)}.chap__time{display:flex;align-items:center;justify-content:center;gap:16px}.clock{width:74px;height:74px;flex:none;color:var(--gold-d)}.chap__clock{font-family:var(--serif);font-weight:500;font-size:clamp(84px,25vw,118px);line-height:.9;letter-spacing:-.02em;font-variant-numeric:lining-nums}.chap .venue__btns{width:100%;max-width:400px;margin:16px auto 0;gap:8px}.chap .venue__btns .btn{height:48px;min-height:48px}.chap .venue__name{font-size:clamp(32px,9vw,40px)}.chap .venue__addr{margin-top:6px;font-size:20px}.dock{position:fixed;z-index:65;left:50%;bottom:calc(var(--safe-b) + 12px);width:min(calc(100% - 24px),480px);transform:translate(-50%,160%);display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:6px;padding:6px;background:#f5f0e6f7;border:1px solid rgba(176,143,42,.45);border-radius:12px;box-shadow:0 16px 40px -18px #3c382899;opacity:0;pointer-events:none;transition:transform .6s var(--ease),opacity .4s}.dock.is-on{transform:translate(-50%);opacity:1;pointer-events:auto}.dock__b{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 6px;border:0;border-radius:9px;background:transparent;color:var(--olive-d);font-size:13.5px;font-weight:500;letter-spacing:.02em;text-decoration:none;transition:transform .25s var(--ease),background .25s}.dock__b:hover{background:#b08f2a1f}.dock__b:active{transform:scale(.96)}.dock__b .ico{width:18px;height:18px;color:var(--gold-d)}.dock__b--main{background:var(--olive);color:var(--cream)}.dock__b--main:hover{background:var(--olive-d)}.dock__b--main .ico{color:var(--gold-l)}.intro.is-loading .intro__stage:after{content:"";position:absolute;left:50%;top:50%;width:64px;height:44px;margin:-22px 0 0 -32px;z-index:5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 32' fill='none' stroke='%2396751a' stroke-width='2.2'%3E%3Ccircle cx='17' cy='16' r='11'/%3E%3Ccircle cx='31' cy='16' r='11'/%3E%3C/svg%3E") center / contain no-repeat;animation:breathe 1.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.skip{position:fixed;left:12px;top:-64px;z-index:100;padding:12px 16px;border-radius:12px;background:var(--olive);color:var(--cream);font-size:14px;text-decoration:none;transition:top .2s}.skip:focus{top:12px}@media (min-width: 640px){body:before{content:"";position:fixed;inset:0;z-index:-1;background:url(/art/hands.webp) center / cover;filter:blur(28px) saturate(.85);opacity:.38;transform:scale(1.12);pointer-events:none}}.cal__ring{position:absolute;z-index:3;left:50%;top:50%;width:44px;margin:-15px 0 0 -22px;color:var(--gold);opacity:0;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(120,90,10,.35))}@media (min-width: 640px){#app{box-shadow:0 0 90px #3c382833}}@media (prefers-reduced-motion: reduce){.hero__rays,.tile[data-unit=s]{animation:none!important}.chap{height:auto}.chap__pin{position:relative;height:auto;overflow:visible}.chap__bg,.chap__veil,.chap__dots{display:none}.chap__panels{position:relative;display:block;padding:40px 22px 60px}.chap__panel{margin-bottom:40px}.chap__panel+.chap__panel{opacity:1}.hero__art>img,.dove__a,.spark,.seal:before,.seal:after,.intro__hint,.hero__scroll svg,.venue__pin span,.tile:not(:last-child):after{animation:none!important}}
