@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(./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(./cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-italic-Y14P-dkT.woff2) format("woff2"),url(./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(./cormorant-garamond-cyrillic-500-italic-DVnfXoMy.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-500-italic-C9gO-8KC.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-cyrillic-ext-500-italic-ClXnudBg.woff2) format("woff2"),url(./cormorant-garamond-cyrillic-ext-500-italic-DakTmaFY.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff")}:root{--bg: #04060c;--bg-2: #0a1224;--bg-3: #0e1930;--gold: #d9b26a;--gold-light: #f1dcae;--text: #f4f1ea;--muted: rgba(244, 241, 234, .64);--faint: rgba(244, 241, 234, .38);--line: rgba(217, 178, 106, .3);--serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--pad: clamp(22px, 6.5vw, 40px);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--ease: cubic-bezier(.22, .61, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{margin:0;min-height:100vh;min-height:100svh;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}html.intro-open,html.intro-open body{overflow:hidden;height:100%}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit}img,video{display:block;max-width:100%}:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.kicker{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--text);transition:background-color .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),opacity .35s var(--ease);user-select:none;-webkit-user-select:none}.btn:active{transform:scale(.98)}.btn--gold{border-color:transparent;color:#1a1408;background:linear-gradient(180deg,#f1dcae,#d9b26a 55%,#c79a4f);box-shadow:0 0 0 1px #ffecbe59 inset,0 10px 40px -10px #d9b26a8c}.btn[disabled]{opacity:.55;cursor:default}@media(hover:hover){.btn:not(.btn--gold):not([disabled]):hover{border-color:var(--gold);color:var(--gold-light)}.btn--gold:not([disabled]):hover{transform:translateY(-1px)}}.intro-open .lang{position:fixed}.lang{position:absolute;z-index:60;top:calc(var(--safe-top) + 10px);left:calc(var(--pad) - 10px);display:flex;padding:3px;border-radius:999px;border:1px solid rgba(244,241,234,.14);background:#04060c6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .5s ease}.is-flying .lang{opacity:0;pointer-events:none}.lang__btn{min-width:46px;height:38px;padding:0 12px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.16em;color:var(--muted);transition:color .3s var(--ease),background-color .3s var(--ease)}.lang__btn[aria-pressed=true]{color:#1a1408;background:var(--gold)}.lang__btn:after{content:"";position:absolute;inset:-4px 0}.lang__btn{position:relative}.flash{position:fixed;inset:0;z-index:80;opacity:0;pointer-events:none}.flash--on{opacity:1;pointer-events:auto}.intro{position:fixed;inset:0;z-index:50;overflow:hidden;background:radial-gradient(120% 80% at 50% 62%,#142c5c80,#080e1e00 60%),linear-gradient(180deg,#03050a,#050a16 60%,#04060c);touch-action:manipulation}.intro__stars{position:absolute;left:-10%;top:-10%;width:120%;height:120%;animation:stars-drift 160s linear infinite alternate;transition:transform 4.4s cubic-bezier(.6,0,.9,.5)}@keyframes stars-drift{0%{translate:-2.5% -1.5%}to{translate:2.5% 1.5%}}.intro__earth{position:absolute;will-change:transform;transition:opacity .9s ease}.intro__fallback{width:100%;height:100%}.intro__pin{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff3d6;box-shadow:0 0 6px 2px #ffdc96f2,0 0 18px 6px #f0b45a8c}.intro__pin:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(255,214,140,.9);animation:pin-pulse 1.8s ease-out infinite}@keyframes pin-pulse{0%{transform:scale(1);opacity:.9}to{transform:scale(4.2);opacity:0}}.intro--lite-flight .intro__pin{transition:transform var(--flight, 4.4s) cubic-bezier(.7,0,.95,.55);transform:scale(.16)}.intro--lite-flight .intro__pin:after{animation:none;opacity:0}.intro__gl{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}.intro__gl canvas{display:block;width:100%;height:100%}.intro--gl .intro__gl{opacity:1}.intro--gl .intro__earth{opacity:0;transition-delay:.5s}.intro--gl-now .intro__gl,.intro--gl-now .intro__earth{transition:none}.intro__veil{position:absolute;inset:-20%;opacity:0;pointer-events:none;background:radial-gradient(40% 30% at 30% 35%,#fffffff2,#fff0 70%),radial-gradient(45% 35% at 72% 60%,#fffffff2,#fff0 70%),radial-gradient(50% 40% at 45% 75%,#ecf0f8e6,#fff0 72%),radial-gradient(60% 50% at 55% 40%,#f6f2eae6,#fff0 75%)}.intro__veil:after{content:"";position:absolute;inset:0;background:#f6f2ea;opacity:0}.intro--lite-flight .intro__veil{animation:veil-in var(--flight, 4.4s) cubic-bezier(.5,0,.9,.6) forwards}.intro--lite-flight .intro__veil:after{animation:veil-fill var(--flight, 4.4s) linear forwards}@keyframes veil-in{0%,55%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(2.4)}}@keyframes veil-fill{0%,78%{opacity:0}to{opacity:1}}.intro__ui{position:absolute;inset:0;transition:opacity .6s ease}.intro--leaving .intro__ui{opacity:0;pointer-events:none}.intro--leaving .intro__stars{transform:scale(1.16)}.intro__top{position:absolute;top:calc(var(--safe-top) + 10px);right:calc(var(--pad) - 10px)}.intro__skip{min-height:44px;padding:0 14px;font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .3s var(--ease)}@media(hover:hover){.intro__skip:hover{color:var(--text)}}.intro__text{position:absolute;left:0;right:0;top:calc(var(--safe-top) + 58px);height:calc(var(--text-bottom, 30vh) - var(--safe-top) - 50px);padding:0 var(--pad);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;animation:rise 1.4s var(--ease) both}.intro__title{font-family:var(--serif);font-weight:500;font-size:clamp(33px,9.6vw,56px);line-height:1.02;letter-spacing:-.005em;text-wrap:balance;max-width:11em}.intro__sub{font-size:14.5px;line-height:1.45;color:var(--muted);max-width:19em;text-wrap:balance}.intro__bottom{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + clamp(26px,6.5vh,64px));display:flex;justify-content:center;padding:0 var(--pad);animation:rise 1.4s .25s var(--ease) both}.intro__land{min-width:min(100%,250px);min-height:58px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-height:600px){.intro__sub{display:none}}@media(prefers-reduced-motion:reduce){.intro__stars,.intro__pin:after,.intro__text,.intro__bottom{animation:none}}.page{position:relative;background:radial-gradient(90% 40% at 50% 34%,#12244c8c,#04060c00 70%),radial-gradient(90% 30% at 50% 78%,#12244c66,#04060c00 70%),var(--bg)}.cover{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:var(--bg-2)}.cover__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12)}.cover--in .cover__media{animation:cover-settle 9s cubic-bezier(.16,.6,.3,1) both}.cover--in.cover--flash .cover__media{animation:cover-settle 9s cubic-bezier(.16,.6,.3,1) both,cover-expose 2.8s cubic-bezier(.3,0,.3,1) both}.cover__media--placeholder{--rest-filter: saturate(.85) brightness(.8);filter:var(--rest-filter)}@keyframes cover-expose{0%{filter:saturate(.55) brightness(2.3)}to{filter:var(--rest-filter, saturate(1) brightness(1))}}.cover--in.cover--flash .cover__shade{animation:fade 2.6s .3s ease both}@keyframes cover-settle{0%{transform:scale(1.22)}to{transform:scale(1.02)}}.cover__shade{position:absolute;inset:0;background:linear-gradient(180deg,#04060c8c,#04060c00 26%),linear-gradient(180deg,rgba(4,6,12,0) 34%,rgba(4,6,12,.72) 70%,var(--bg) 100%)}.cover__content{position:relative;width:100%;padding:0 var(--pad) calc(var(--safe-bottom) + clamp(96px,17vh,150px));text-align:center}.cover__content>*{opacity:0;transform:translateY(18px)}.cover--in .cover__content>*{animation:rise 1.5s var(--ease) both}.cover--in .cover__content>:nth-child(1){animation-delay:.7s}.cover--in .cover__content>:nth-child(2){animation-delay:.9s}.cover--in .cover__content>:nth-child(3){animation-delay:1.2s}.cover--in .cover__content>:nth-child(4){animation-delay:1.35s}.cover__name{margin:10px 0 14px;font-family:var(--serif);font-weight:500;font-size:clamp(88px,29vw,190px);line-height:.92;letter-spacing:-.02em;text-shadow:0 4px 60px rgba(4,6,12,.6)}.cover__date{font-family:var(--serif);font-size:clamp(24px,7vw,34px);line-height:1.2;color:var(--gold-light)}.cover__place{margin-top:8px;font-size:13.5px;letter-spacing:.08em;color:var(--muted)}.cover__scroll{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + 20px);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);opacity:0}.cover--in .cover__scroll{animation:fade 1.4s 2.2s ease both}.cover__scroll i{width:1px;height:30px;background:linear-gradient(180deg,var(--gold),rgba(217,178,106,0));transform-origin:top;animation:scroll-line 2.6s ease-in-out infinite}@keyframes scroll-line{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}to{transform:scaleY(1);opacity:0}}@keyframes fade{0%{opacity:0}to{opacity:1}}.section{width:100%;max-width:600px;margin:0 auto;padding:clamp(84px,22vw,150px) var(--pad)}.section__title{font-family:var(--serif);font-weight:500;font-size:clamp(44px,13vw,64px);line-height:1;letter-spacing:-.01em;margin-bottom:clamp(34px,9vw,52px)}.reveal{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.reveal.is-in{opacity:1;transform:none}.invite{min-height:86vh;min-height:86svh;display:flex;flex-direction:column;justify-content:center}.invite__lead{margin-top:26px;font-family:var(--serif);font-weight:500;font-size:clamp(34px,10vw,50px);line-height:1.08;letter-spacing:-.01em;text-wrap:balance}.invite__body{margin-top:30px;font-size:17px;color:var(--muted);max-width:30em}.invite__aside{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:23px;line-height:1.3;color:var(--gold-light)}.details__list{margin:0;border-top:1px solid var(--line)}.details__row{padding:24px 0 26px;border-bottom:1px solid var(--line)}.details__row dt{font-size:11.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.details__row dd{margin:0;display:flex;flex-direction:column;gap:6px}.details__big{font-family:var(--serif);font-weight:500;font-size:clamp(29px,8.4vw,38px);line-height:1.1}.details__small{font-size:15px;color:var(--muted)}.details__quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(25px,7.2vw,32px);line-height:1.18;color:var(--gold-light)}.details__text{font-size:17px;color:var(--text)}.details__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.details__actions .btn{padding:0 12px;letter-spacing:.18em}.photos__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photos__item{position:relative;aspect-ratio:3 / 4;overflow:hidden;border-radius:3px;background:var(--bg-3)}.photos__item:first-child,.photos__item:last-child:nth-child(2n){grid-column:1 / -1;aspect-ratio:4 / 3}.photos__item img{width:100%;height:100%;object-fit:cover}.photos__item--empty{display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;border:1px solid rgba(217,178,106,.18);background:radial-gradient(80% 60% at 50% 0%,#203a7080,#0e193000 70%),var(--bg-3);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}.photos__caption{margin-top:22px;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--muted)}.countdown{text-align:center}.count__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}.count__cell{display:flex;flex-direction:column;align-items:center;gap:10px}.count__cell+.count__cell{border-left:1px solid var(--line)}.count__num{font-family:var(--serif);font-weight:500;font-size:clamp(60px,19vw,96px);line-height:.9;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum","tnum"}.count__label{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}.count__started{margin-top:26px;font-family:var(--serif);font-size:clamp(32px,9.5vw,46px);line-height:1.1}.rsvp__deadline{margin:-18px 0 38px;font-size:15px;color:var(--muted)}.rsvp__form{display:flex;flex-direction:column;gap:34px}.field{display:flex;flex-direction:column}.field__label,.choice__label{font-size:11.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.field__input{width:100%;margin-top:6px;padding:10px 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.2;outline:none;transition:border-color .3s var(--ease);-webkit-appearance:none;appearance:none}.field__input::placeholder{color:var(--faint);opacity:1}.field__input:focus{border-color:var(--gold)}.field__error{margin-top:10px;font-size:14px;color:#f0a58c}.rsvp__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.choice__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.choice__btn{min-height:60px;padding:0 10px;border:1px solid var(--line);border-radius:999px;font-family:var(--serif);font-weight:500;font-size:24px;line-height:1;color:var(--text);transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}.choice__btn[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1a1408}.choice__btn[disabled]{opacity:.6}.choice--drinks:not([hidden]){animation:rise .7s var(--ease) both}.rsvp__send,.done__button{width:100%;min-height:60px}.rsvp__fail{margin-bottom:-14px;font-size:15px;color:#f0a58c}.rsvp__demo{margin-top:-14px;font-size:12.5px;line-height:1.5;color:var(--faint);text-align:center}.done:not([hidden]),.saved:not([hidden]){animation:rise .9s var(--ease) both}.done__title{font-family:var(--serif);font-weight:500;font-size:clamp(48px,14vw,68px);line-height:1;color:var(--gold-light)}.done__text{margin-top:20px;font-size:17px;color:var(--text);max-width:28em}.done__button{margin-top:30px}.done .rsvp__fail{margin:20px 0 -10px}.done__note{margin-top:16px;font-size:13.5px;color:var(--faint);text-align:center}.saved{margin-bottom:8px}.saved__line{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-family:var(--serif);font-weight:500;font-size:clamp(34px,10vw,46px);line-height:1.08;overflow-wrap:anywhere}.saved__answer{font-style:italic;color:var(--gold-light)}.rsvp__change{margin-top:30px;min-height:44px;font-size:11.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.footer{display:flex;justify-content:center;padding:10px var(--pad) calc(var(--safe-bottom) + 54px)}.footer__replay{min-height:44px;padding:0 8px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--faint);transition:color .3s var(--ease)}@media(hover:hover){.footer__replay:hover,.rsvp__change:hover{color:var(--gold-light)}}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.cover__media,.cover--in .cover__media,.cover--in.cover--flash .cover__media,.cover--in.cover--flash .cover__shade,.cover--in .cover__content>*,.cover--in .cover__scroll,.cover__scroll i,.choice--drinks:not([hidden]),.done:not([hidden]),.saved:not([hidden]){animation:none;transform:none}.cover__content>*,.cover__scroll{opacity:1;transform:none}.reveal{transition:none}}
