@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNextCyr-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNextCyr-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNextCyr-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNextCyr-Demi.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Avenir Next;src:url(/assets/fonts/AvenirNextCyr-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#0a0a0a;--text:#fff;--gold:#d4a84b;--gold-light:#f0ca6e;--gold-dark:#a67b1a;--gold-gradient:linear-gradient(180deg, #f3d48a 0%, #c9922e 55%, #a67b1a 100%);--font:"Avenir Next", "Avenir Next Cyr", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}button,input,select,textarea{font-family:inherit}img{max-width:100%;display:block}::selection{color:#fff;background:#d4a84b59}.cover-shell{z-index:40;background:#050505;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.cover{background:#0a0a0a;justify-content:center;align-items:center;width:100%;max-width:430px;height:100%;display:flex;position:relative;overflow:hidden;container-type:size}.cover__frame{aspect-ratio:1080/2341;flex-shrink:0;width:min(100cqw,46.1341cqh);position:relative;container:cover/inline-size}.cover__img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.cover__name{text-align:center;pointer-events:none;z-index:2;width:82%;position:absolute;top:23.5%;left:50%;transform:translate(-50%)}.cover__name span{color:#fff;letter-spacing:.01em;font-kerning:normal;word-break:break-word;text-shadow:0 2px 10px #0000008c;font-family:Avenir Next,Avenir Next Cyr,sans-serif;font-size:3.7037cqi;font-style:normal;font-weight:500;line-height:4.44444cqi;display:block}@supports not (font-size:1cqi){.cover__name span{font-size:calc(40px * min(100vw, 430px) / 1080);line-height:calc(48px * min(100vw, 430px) / 1080)}}.cover__open{cursor:pointer;z-index:3;background:0 0;border:none;width:100%;height:auto;position:absolute;inset:52% 0 0}@media (width>=768px){.cover{box-shadow:0 0 80px #000000a6}}@supports not (width:1cqw){.cover__frame{width:min(100%,46.1341dvh);max-height:100%}}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal{color:#f2f2f2;background:#141414;border:1px solid #c5a0598c;border-radius:22px;width:min(360px,100%);max-height:min(90svh,720px);padding:1.6rem 1.35rem 1.35rem;position:relative;overflow:auto;box-shadow:0 24px 60px #0000008c}.modal__header{text-align:center}.modal h2{letter-spacing:.08em;color:#c5a059;margin:0 0 .45rem;font-size:1.65rem;font-weight:600}.modal__lead{color:#ffffffd1;margin:0;font-size:.9rem;line-height:1.4}.modal__divider{background:linear-gradient(90deg,#0000 0%,#c5a05959 18%,#c5a059 50%,#c5a05959 82%,#0000 100%);width:100%;height:1px;margin:1.1rem 0 1.15rem}.modal__form{flex-direction:column;gap:1.15rem;display:flex}.modal__fieldset{border:none;flex-direction:column;gap:.7rem;margin:0;padding:0;display:flex}.modal__fieldset legend{color:#ffffffeb;margin-bottom:.15rem;padding:0;font-size:.92rem;line-height:1.4}.req{color:#e25555}.modal__hint{color:#ffffff73;margin:-.25rem 0 .15rem;font-size:.78rem;line-height:1.35}.modal__radio-row{flex-wrap:wrap;gap:1.5rem;display:flex}.modal__radio{cursor:pointer;color:#ffffffeb;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;font-size:.95rem;display:flex}.modal__radio input{opacity:0;pointer-events:none;position:absolute}.modal__radio-mark{border:1.5px solid #ffffff8c;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;transition:border-color .15s;display:grid}.modal__radio-mark:after{content:"";background:#c5a059;border-radius:50%;width:9px;height:9px;transition:transform .15s;transform:scale(0)}.modal__radio input:checked+.modal__radio-mark{border-color:#c5a059}.modal__radio input:checked+.modal__radio-mark:after{transform:scale(1)}.modal__radio input:focus-visible+.modal__radio-mark{box-shadow:0 0 0 3px #c5a05940}.modal__field{color:#ffffffeb;flex-direction:column;gap:.45rem;font-size:.92rem;display:flex}.modal__field input{appearance:none;color:#fff;background:#00000040;border:1px solid #c5a0598c;border-radius:10px;padding:.8rem .9rem;font-size:.95rem}.modal__field select{appearance:none;color:#fff;cursor:pointer;background:#00000040 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c5a059' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E") right .9rem center no-repeat;border:1px solid #c5a0598c;border-radius:10px;padding:.8rem 2.2rem .8rem .9rem;font-size:.95rem}.modal__field select option{color:#fff;background:#141414}.modal__field input::placeholder{color:#ffffff59}.modal__field input:focus,.modal__field select:focus{border-color:#c5a059;outline:none;box-shadow:0 0 0 3px #c5a05926}.modal__submit--gold{color:#111;background:linear-gradient(#f3d48a 0%,#e0b45a 40%,#c9922e 70%,#a67b1a 100%);border:none;box-shadow:0 8px 24px #00000073,inset 0 1px #ffffff73,inset 0 -2px 4px #0003}.modal__submit--gold:hover:not(:disabled){filter:brightness(1.03);background:linear-gradient(#f7dca0 0%,#e8c06a 40%,#d09e36 70%,#b38622 100%)}.modal--partner .modal__field span{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb8;font-size:.72rem;font-weight:600}.modal__error{color:#ff8e8e;text-align:center;margin:0;font-size:.85rem}.modal__submit{appearance:none;color:#fff;letter-spacing:.02em;cursor:pointer;background:0 0;border:1px solid #c5a059;border-radius:10px;width:100%;margin-top:.15rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,color .15s}.modal__submit:hover:not(:disabled){background:#c5a0591f}.modal__submit:disabled{opacity:.6;cursor:wait}.modal__cancel{appearance:none;color:#c5a059bf;cursor:pointer;background:0 0;border:none;margin:0 auto;padding:.15rem;font-size:.95rem}.modal__cancel:hover{color:#c5a059}.modal__success{text-align:center;padding:.35rem .15rem .15rem}.modal__success h2{margin-bottom:0}.modal__success p{color:#fffc;margin:0 0 1.35rem;font-size:.95rem;line-height:1.55}.invitation-shell{z-index:30;background:#050505;justify-content:center;display:flex;position:fixed;inset:0}.invitation--pages{scroll-snap-type:y mandatory;scroll-snap-stop:always;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#0a0a0a;width:100%;max-width:430px;height:100dvh;margin:0 auto;overflow:hidden auto}.invitation--pages::-webkit-scrollbar{display:none}.invite-page{scroll-snap-align:start;scroll-snap-stop:always;background:#0a0a0a;justify-content:center;align-items:center;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden;container-type:size}.invite-page__frame{aspect-ratio:1080/2341;flex-shrink:0;width:min(100cqw,46.1341cqh);position:relative}.invite-page__frame img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.invite-page__rsvp{cursor:pointer;z-index:2;background:0 0;border:none;border-radius:999px;width:min(30%,180px);height:3.6%;min-height:44px;position:absolute;top:43.2%;left:50%;transform:translate(-50%)}.invite-page__map{z-index:2;width:58.2%;height:18%;position:absolute;top:50.5%;left:50%;transform:translate(-50%)}.invite-page__map-frame{background:#fff;border-radius:14px;width:100%;height:100%;overflow:hidden}.invite-page__map iframe{border:0;width:100%;height:100%;display:block}@media (width>=768px){.invitation--pages{box-shadow:0 0 80px #0009}}@supports not (width:1cqw){.invite-page__frame{width:min(100%,46.1341dvh);max-height:100%}}.app{background:#050505;justify-content:center;min-height:100%;display:flex}.invitation{background:#0a0a0a;width:100%;max-width:430px;margin:0 auto}.section{text-align:center;background-color:#0a0a0a;background-image:url(/assets/corners-bg.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,5vw,2rem);display:flex;position:relative;overflow:hidden}.section__inner{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex;position:relative}.gold-btn{appearance:none;cursor:pointer;color:#111;letter-spacing:.04em;background:linear-gradient(#f3d48a 0%,#e0b45a 40%,#c9922e 70%,#a67b1a 100%);border:none;border-radius:999px;padding:.9rem 2.6rem;font-size:.95rem;font-weight:700;transition:transform .2s,filter .2s;box-shadow:0 8px 24px #00000073,inset 0 1px #ffffff73,inset 0 -2px 4px #0003}.gold-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.gold-btn:active{transform:translateY(1px)}.divider{background:linear-gradient(90deg,#0000 0%,#d4a84b26 15%,#e0b45a 50%,#d4a84b26 85%,#0000 100%);width:min(220px,70%);height:1px;margin:1.35rem auto;box-shadow:0 0 8px #e0b45a59}.scroll-hint{z-index:2;animation:2.2s ease-in-out infinite bounce;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.scroll-hint__diamond{border:1px solid #ffffff8c;justify-content:center;align-items:center;width:52px;height:52px;display:flex;transform:rotate(45deg)}.scroll-hint__diamond span{letter-spacing:.16em;text-transform:uppercase;color:#ffffffe6;font-size:.58rem;font-weight:300;transform:rotate(-45deg)}@keyframes bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,7px)}}.invite-loading{color:#ffffffbf;letter-spacing:.04em;justify-content:center;align-items:center;font-size:.95rem;display:flex}.event__inner{padding-bottom:2.5rem}.event__eyebrow,.event__context,.event__motto,.event__salutation,.event__invite{color:#fffffff2;font-size:clamp(.88rem,3.2vw,.98rem);font-weight:400;line-height:1.55}.event__eyebrow{margin-bottom:.35rem}.event__headline{letter-spacing:.04em;margin:.15rem 0 .35rem;font-size:clamp(1.15rem,4.4vw,1.4rem);font-weight:700}.event__context{margin-bottom:.2rem}.event__motto{margin-bottom:1.1rem}.event__salutation{margin-bottom:.45rem}.event__invite{max-width:320px;margin:0 auto}.event__block-title{margin-bottom:.65rem;font-size:clamp(1.05rem,4vw,1.25rem);font-weight:700}.event__detail{margin-bottom:.15rem;font-size:clamp(.88rem,3.2vw,.98rem);font-weight:500;line-height:1.5}.event__note{color:#ffffffc7;max-width:300px;margin-top:.45rem;font-size:clamp(.72rem,2.6vw,.8rem);line-height:1.45}.gifts__copy{max-width:340px;margin-bottom:1.75rem;font-size:clamp(.9rem,3.3vw,1rem);line-height:1.6}.gifts__grid{grid-template-columns:1fr 1fr;gap:.75rem .7rem;width:100%;max-width:340px;padding-bottom:2.5rem;display:grid}.gift-card{text-align:center;background:linear-gradient(#0d0d0d,#0d0d0d) padding-box padding-box,linear-gradient(#f3d48abf,#a67b1a26 40%,#a67b1a8c) border-box;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-height:64px;padding:.85rem .65rem;font-size:clamp(.78rem,2.9vw,.88rem);font-weight:700;line-height:1.25;display:flex;box-shadow:0 6px 18px #00000059,inset 0 1px #ffdc961f}.gift-card--wide{grid-column:1/-1;justify-self:center;width:min(100%,220px)}.rsvp{justify-content:flex-start;min-height:100svh;padding-top:clamp(3rem,8vh,4.5rem);padding-bottom:0}.rsvp__inner{flex:1;justify-content:flex-start;padding-bottom:1rem}.rsvp__copy{max-width:340px;margin-bottom:1.15rem;font-size:clamp(.9rem,3.3vw,1rem);line-height:1.6}.rsvp__copy strong{font-weight:700}.rsvp__copy--contact{margin-bottom:1.15rem}.rsvp__copy--closing{margin-bottom:1.5rem}.rsvp__btn{letter-spacing:.12em;min-width:150px;margin-bottom:1.5rem}.rsvp__map{border-radius:14px;width:min(100%,320px);margin-bottom:1.5rem;transition:transform .25s;display:block;overflow:hidden;box-shadow:0 10px 30px #0006}.rsvp__map:hover{transform:scale(1.015)}.rsvp__map img{width:100%;height:auto}.rsvp__vehicles{width:100%;max-width:430px;margin-top:auto;position:relative}.rsvp__vehicles-fade{z-index:1;pointer-events:none;background:linear-gradient(#0a0a0a 0%,#0000 100%);height:45%;position:absolute;inset:0 0 auto}.rsvp__vehicles img{width:100%;height:auto}.admin-login{color:#fff;background:radial-gradient(circle at top,#2a2112 0%,#0b0b0b 55%);place-items:center;min-height:100vh;padding:1.5rem;font-family:Avenir Next,Segoe UI,sans-serif;display:grid}.admin-login__card{background:#141414;border:1px solid #d4a84b40;border-radius:18px;flex-direction:column;gap:.85rem;width:min(400px,100%);padding:2rem 1.5rem;display:flex}.admin-login__brand{letter-spacing:.3em;color:#e0b45a;font-weight:700}.admin-login__card h1{margin:0;font-size:1.5rem}.admin-login__sub{color:#fff9;margin-bottom:.5rem;font-size:.9rem}.admin-login label,.admin-form label{color:#ffffffb3;flex-direction:column;gap:.35rem;font-size:.8rem;display:flex}.admin-login input,.admin-form input,.admin-form select,.admin-form textarea,.admin-toolbar input,.admin-toolbar select{color:#fff;font:inherit;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;padding:.75rem .85rem}.admin-login button,.admin-form button[type=submit],.admin-btn{appearance:none;cursor:pointer;color:#111;background:linear-gradient(#f3d48a,#c9922e);border:none;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.2rem;font-weight:700;text-decoration:none;display:inline-flex}.admin{color:#fff;background:#0b0b0b;grid-template-columns:240px 1fr;min-height:100vh;font-family:Avenir Next,Segoe UI,sans-serif;display:grid}.admin__sidebar{background:#121212;border-right:1px solid #ffffff0f;flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;display:flex}.admin__brand strong{color:#e0b45a;letter-spacing:.08em;display:block}.admin__brand span{color:#ffffff8c;font-size:.8rem}.admin__sidebar nav{flex-direction:column;gap:.35rem;display:flex}.admin__sidebar a{color:#ffffffbf;border-radius:10px;padding:.7rem .85rem;text-decoration:none}.admin__sidebar a.active,.admin__sidebar a:hover{color:#fff;background:#e0b45a1f}.admin__logout,.admin-btn--ghost,.admin-actions button,.admin-toolbar button{appearance:none;color:#fff;cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff24;border-radius:999px;padding:.55rem .9rem}.admin__logout{margin-top:auto}.admin__main{padding:1.5rem;overflow:auto}.admin-page__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.admin-page__header h1{margin:0 0 .25rem;font-size:1.5rem}.admin-page__header p,.muted{color:#ffffff8c;font-size:.9rem}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.admin-stat,.admin-card{background:#141414;border:1px solid #ffffff0f;border-radius:16px;padding:1rem 1.1rem}.admin-stat span{color:#ffffff8c;margin-bottom:.35rem;font-size:.8rem;display:block}.admin-stat strong{font-size:1.6rem}.admin-card{margin-bottom:1rem}.admin-card h2{margin:0 0 .85rem;font-size:1.05rem}.admin-links{flex-direction:column;gap:.55rem;list-style:none;display:flex}.admin-links code{color:#e0b45a;font-size:.85rem}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.admin-form--stack{grid-template-columns:1fr;max-width:640px}.admin-form__actions{grid-column:1/-1;gap:.5rem;display:flex}.admin-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.admin-table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff0f;padding:.75rem .5rem}.admin-badge{color:#e0b45a;background:#e0b45a26;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;display:inline-block}.admin-actions{flex-wrap:wrap;gap:.35rem;display:flex}.admin-actions .danger{color:#ff8f8f;border-color:#ff646466}.linkish{appearance:none;color:#e0b45a;cursor:pointer;text-align:left;font:inherit;word-break:break-all;background:0 0;border:none;max-width:220px}.rsvp-pill{text-transform:uppercase;background:#ffffff14;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.rsvp-pill--confirmed{color:#7dffb0;background:#46b46e33}.rsvp-pill--declined{color:#ff9b9b;background:#dc505033}.admin-error{color:#ff8f8f}.admin-success{color:#7dffb0}.admin-drawer-backdrop{z-index:50;background:#0000008c;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-drawer{background:#141414;border-left:1px solid #e0b45a33;width:min(420px,100%);height:100%;padding:1.25rem;overflow:auto}.admin-drawer header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.admin-drawer header h2{margin:0;font-size:1.1rem}.admin-drawer header button{appearance:none;color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.5rem}.admin-detail{flex-direction:column;gap:.85rem;display:flex}.admin-detail div{border-bottom:1px solid #ffffff0f;padding-bottom:.65rem}.admin-detail dt{color:#ffffff80;margin-bottom:.2rem;font-size:.75rem}.admin-detail dd{margin:0;font-size:.95rem}.admin-detail a{color:#e0b45a}.modal__error{color:#ff8f8f;font-size:.85rem}@media (width<=900px){.admin{grid-template-columns:1fr}.admin__sidebar{border-bottom:1px solid #ffffff0f;border-right:none}.admin-form{grid-template-columns:1fr}}
