@font-face{font-family:"Wedding Serif";src:url(/fonts/CormorantGaramond-cyrillic.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Wedding Serif";src:url(/fonts/CormorantGaramond-latin.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Wedding Sans;src:url(/fonts/Manrope-cyrillic.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Wedding Sans;src:url(/fonts/Manrope-latin.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fbfaf8;--text: #2b2520;--accent: #8a6b5a;--muted: #5f5a55;--paper: rgba(255, 252, 247, .72);--line: rgba(43, 37, 32, .22);--shadow: 0 24px 70px rgba(68, 47, 35, .14);--serif: "Wedding Serif", "Times New Roman", Georgia, serif;--sans: "Wedding Sans", "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;width:100%;overflow-x:clip}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}a{color:inherit}.invite-page{min-height:100vh;overflow-x:clip;background:var(--bg)}.invite-reveal-shell{opacity:0;transform:scale(1.01);transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.2,.76,.18,1)}.invite-reveal-shell.is-ready{opacity:1;transform:scale(1)}.invite-loading-page{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.16),transparent 31%),linear-gradient(180deg,#24211f,#56514c 48%,#161514);color:#fffaf6;opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s linear .9s;z-index:50}.invite-loading-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000006b,#0000001f 46%,#0000008f),radial-gradient(circle at center,#00000014,#00000085)}.invite-loading-page.is-hidden{opacity:0;pointer-events:none;visibility:hidden}.invite-loading-content{width:min(600px,calc(100% - 40px));min-height:min(680px,100svh);position:relative;display:grid;grid-template-rows:auto 1fr auto;align-items:center;text-align:center;z-index:1;animation:loadingBreath 2.8s ease-in-out infinite alternate}.invite-loading-title{align-self:end;font:500 clamp(2rem,5.5vw,3.4rem) var(--serif);line-height:.95;letter-spacing:.025em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.26)}.invite-loading-initials{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:clamp(22px,8vw,56px);color:#ffffffb3;font:400 clamp(7.4rem,24vw,12rem) / .65 var(--serif)}.invite-loading-initials i{display:block;width:1px;height:clamp(150px,32vh,250px);background:#ffffff80}.invite-loading-mark{width:44px;height:44px;justify-self:center;align-self:start;border:1px solid rgba(255,255,255,.28);border-top-color:#ffffffdb;border-radius:999px;animation:spin .9s linear infinite}.hero{min-height:100svh;display:grid;place-items:center;padding:clamp(30px,7vh,74px) 20px clamp(38px,8vh,76px);position:relative;color:#fff;isolation:isolate}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.18),transparent 34%),linear-gradient(145deg,#5d5650,#9c9790 48%,#35312e);transform:translateZ(0);z-index:-3}.hero.is-cover-loading:before{animation:coverGlow 2.4s ease-in-out infinite alternate}.hero-cover-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--cover-image);background-size:cover;background-position:center;opacity:0;transform:scale(1.018);transition:opacity .9s ease,transform 1.8s ease;z-index:-2}.hero.is-cover-ready .hero-cover-layer{opacity:1;transform:scale(1)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000006b,#0003 40%,#00000085),radial-gradient(circle at center,#0000000f,#00000080);z-index:-1}.hero-inner{width:min(600px,100%);min-height:calc(100svh - clamp(68px,15vh,150px));position:relative;display:grid;grid-template-rows:auto 1fr auto;align-items:center;text-align:center;z-index:1}.initials{grid-row:2;align-self:center;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:clamp(22px,8vw,56px);color:#fff;font-size:clamp(7.4rem,24vw,12rem);font-family:var(--serif);line-height:.65;font-style:normal;font-weight:400;opacity:0;transform:translate3d(0,18px,0) scale(.985);animation:fadeRise 1.45s .28s cubic-bezier(.2,.76,.18,1) forwards}.initials i{display:block;width:1px;height:clamp(150px,32vh,250px);background:#ffffffd1;transform-origin:center;animation:lineGrow 1.55s .64s cubic-bezier(.2,.76,.18,1) both}.hero-title{grid-row:1;align-self:end;text-transform:uppercase;letter-spacing:.025em;opacity:0;transform:translate3d(0,14px,0) scale(.99);animation:fadeRise 1.35s .08s cubic-bezier(.2,.76,.18,1) forwards}.hero-title h1{margin:0;font-weight:500;font-family:var(--serif);font-size:clamp(2rem,6.8vw,3.6rem);line-height:.95;text-shadow:0 2px 18px rgba(0,0,0,.24)}.hero-date{grid-row:3;align-self:start;margin:0;font-family:var(--serif);font-size:clamp(1.85rem,6.4vw,2.95rem);font-weight:500;line-height:.95;letter-spacing:.025em;text-transform:uppercase;font-variant-numeric:lining-nums;text-shadow:0 2px 18px rgba(0,0,0,.28);opacity:0;transform:translate3d(0,14px,0) scale(.99);animation:fadeRise 1.35s .52s cubic-bezier(.2,.76,.18,1) forwards}.section{width:min(760px,calc(100% - 36px));margin:0 auto;padding:86px 0}.section.compact{padding-top:70px;padding-bottom:48px}.section-title{margin:0 0 36px;text-align:center;text-transform:uppercase;letter-spacing:.09em;font-family:var(--serif);font-size:clamp(2.2rem,6vw,3.9rem);font-weight:700;line-height:.92}.lead{width:min(610px,100%);margin:0 auto;text-align:center;font-size:clamp(1rem,2.2vw,1.18rem);line-height:1.55;font-family:var(--sans);font-weight:300}.personal-note{margin:0 auto 18px;text-align:center;color:var(--accent);font-size:1.1rem}.countdown-section{padding-top:112px;position:relative}.countdown-section:before{content:"";position:absolute;top:0;left:50%;width:1px;height:76px;background:var(--text);transform-origin:top;animation:lineGrow 1.4s ease both}.countdown-section:after{content:"";display:block;width:min(160px,38vw);height:1px;margin:62px auto 0;background:var(--line)}.countdown-section .section-title{margin-bottom:50px;font-size:clamp(1.45rem,3.8vw,2.2rem);letter-spacing:.08em}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,5vw,62px);width:min(640px,100%);margin:0 auto}.count-cell{min-height:118px;border:0;display:grid;place-items:center;align-content:center;gap:18px;padding:0}.count-cell strong{font-family:var(--serif);font-size:clamp(3rem,9vw,4.8rem);font-weight:400;line-height:.76;font-variant-numeric:tabular-nums}.count-cell span{font:400 .95rem var(--sans);color:var(--text);text-transform:none;letter-spacing:0}.timeline{position:relative;width:min(680px,100%);margin:26px auto 0}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:86px;width:1px;background:var(--line)}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:26px;padding:24px 0}.timeline-time{color:var(--accent);font-family:var(--serif);font-size:1.35rem}.timeline-copy h3{margin:0 0 8px;font:500 1.1rem var(--sans);text-transform:uppercase;letter-spacing:.08em}.timeline-copy p,.location p,.details p,.dress p{margin:0;line-height:1.55;font-size:1.05rem}.location{text-align:center}.map-frame{margin:28px auto 0;width:min(760px,100%);aspect-ratio:16 / 9;border:1px solid var(--line);overflow:hidden;background:#e8ded3}.map-frame iframe{width:100%;height:100%;border:0}.details{width:min(660px,100%);margin:0 auto;text-align:center}.detail-separator{margin:24px 0;color:var(--accent);font-size:1.8rem}.contacts{text-align:center}.contact-list{width:min(560px,100%);margin:34px auto 0;border-top:1px solid var(--line)}.contact-item{min-height:82px;display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-align:left}.contact-item span{grid-column:1 / -1;color:var(--accent);font:.78rem var(--sans);text-transform:uppercase;letter-spacing:.14em}.contact-item strong{font:400 1.35rem var(--serif)}.contact-item a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}.rsvp-card,.admin-panel,.login-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.rsvp-card{width:min(680px,100%);margin:0 auto;padding:clamp(22px,4vw,42px)}.choice-grid{display:grid;gap:12px}.choice-grid{grid-template-columns:repeat(3,1fr)}.pill-choice{border:1px solid var(--line);border-radius:6px;background:#ffffff85;color:var(--text);padding:13px 12px;text-align:center;transition:border-color .2s ease,transform .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.pill-choice:hover{transform:translateY(-2px);border-color:var(--accent)}.pill-choice.active{background:color-mix(in srgb,var(--accent) 18%,white);border-color:var(--accent)}.plus-one-choice{margin-top:14px;min-height:62px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:6px;background:#ffffff85;color:var(--text);transition:border-color .2s ease,transform .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.plus-one-choice:hover{transform:translateY(-2px);border-color:var(--accent)}.plus-one-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.plus-one-choice span{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:4px;background:#ffffffad}.plus-one-choice span:after{content:"";width:10px;height:6px;border-left:2px solid #fffaf6;border-bottom:2px solid #fffaf6;opacity:0;transform:translateY(-1px) rotate(-45deg)}.plus-one-choice strong{font-weight:300}.plus-one-choice.active{background:color-mix(in srgb,var(--accent) 18%,white);border-color:var(--accent)}.plus-one-choice.active span{background:var(--accent)}.plus-one-choice.active span:after{opacity:1}.form-field{display:grid;gap:8px;margin-top:22px}.form-field label,.field-label{font:.78rem var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.form-field input,.form-field textarea,.form-field select,.admin-panel input,.admin-panel textarea{width:100%;border:0;border-radius:6px 6px 0 0;border-bottom:1px solid var(--line);background:#ffffff85;padding:13px 12px;color:var(--text)}.form-field textarea,.admin-panel textarea{min-height:110px;resize:vertical}.submit-btn,.admin-btn{border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fffaf6;min-height:48px;padding:0 24px;text-transform:uppercase;letter-spacing:.14em;font:.78rem var(--sans);transition:transform .2s ease,background .2s ease}.submit-btn:hover,.admin-btn:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--accent) 82%,black)}.submit-btn{width:100%;margin-top:26px}.submit-btn.secondary{background:transparent;color:var(--accent)}.submit-btn.secondary:hover{background:#8a6b5a14}.rsvp-card .submit-btn.secondary{margin-top:12px}.rsvp-summary{text-align:center}.rsvp-summary-mark{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 18px;border:1px solid color-mix(in srgb,var(--accent) 42%,white);border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,white);color:var(--accent);font-size:1.25rem}.rsvp-summary-kicker{margin:0 0 12px;color:var(--accent);font:.78rem var(--sans);letter-spacing:.14em;text-transform:uppercase}.rsvp-summary h3{margin:0;font:500 clamp(1.9rem,5vw,3.1rem) var(--serif);line-height:.98;text-transform:uppercase;letter-spacing:.025em}.rsvp-summary-note{margin:18px 0 0;color:var(--accent);font:.86rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.form-status{min-height:22px;margin-top:12px;text-align:center;color:var(--accent)}.final{min-height:40vh;display:grid;place-items:center;text-align:center;text-transform:uppercase;letter-spacing:.16em;font:500 clamp(1.3rem,5vw,3rem) var(--serif)}.reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s ease,transform 1.1s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal.is-visible .count-cell{animation:fadeRise .9s ease both}.reveal.is-visible .count-cell:nth-child(2){animation-delay:.08s}.reveal.is-visible .count-cell:nth-child(3){animation-delay:.16s}.reveal.is-visible .count-cell:nth-child(4){animation-delay:.24s}.admin-shell{min-height:100vh;background:#f4eee7;font-family:var(--sans);color:#28231f}.admin-nav{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:18px clamp(18px,4vw,46px);border-bottom:1px solid rgba(0,0,0,.12);background:#ffffffb8;position:sticky;top:0;z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.admin-links{display:flex;gap:12px;flex-wrap:wrap}.admin-links a,.admin-links button{border:0;background:transparent;text-decoration:none;color:#493b32;padding:8px 0}.admin-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 70px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-grid.single-field{grid-template-columns:1fr}.admin-panel{padding:22px}.admin-panel h2,.admin-panel h3{margin-top:0}.admin-upload{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:18px;align-items:end;margin-top:22px}.cover-preview{width:100%;aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(0,0,0,.12);background:#ffffff80;color:#7a6f68;text-align:center}.cover-preview img{width:100%;height:100%;object-fit:cover}.form-field small{color:#7a6f68}.admin-fixed-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.admin-fixed-summary span{border:1px solid rgba(138,107,90,.22);background:#ffffff73;padding:10px 12px;color:#493b32;font:.82rem var(--sans)}.admin-editor-section{margin-top:34px}.admin-section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.admin-section-head h2{margin:0}.admin-repeat-card{border:1px solid rgba(0,0,0,.12);background:#ffffff61;padding:16px;margin-top:12px}.repeat-actions{align-self:end;justify-content:end}.move-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-btn.ghost{background:transparent;color:var(--accent)}.admin-btn.icon-btn{width:48px;padding:0;font-size:1.1rem;line-height:1}.admin-btn:disabled{cursor:not-allowed;opacity:.42;transform:none}.admin-btn.ghost:hover{background:#8a6b5a14}.admin-btn.danger{background:transparent;color:#8f3328;border-color:#8f332880}.admin-btn.danger:hover{background:#8f332814}.admin-table{width:100%;border-collapse:collapse;background:#ffffff94}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid rgba(0,0,0,.1);text-align:left;vertical-align:top}.login-page{min-height:100vh;display:grid;place-items:center;background:#f4eee7;padding:18px;font-family:var(--sans)}.login-card{width:min(420px,100%);padding:28px}@keyframes fadeRise{0%{opacity:0;transform:translate3d(0,18px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes coverGlow{0%{filter:saturate(.86) brightness(.92)}to{filter:saturate(1.05) brightness(1.04)}}@keyframes loadingBreath{0%{opacity:.72;transform:scale(.992)}to{opacity:.98;transform:scale(1)}}@keyframes stretch{0%,to{transform:scaleY(.65);transform-origin:top}50%{transform:scaleY(1)}}@keyframes lineGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@media(min-width:721px){.hero:before{background-position:center 36%}}@media(max-width:720px){.hero{min-height:100svh;padding:38px 18px 50px}.hero-inner{min-height:calc(100svh - 88px)}.initials{gap:clamp(18px,8vw,34px);font-size:clamp(6.5rem,28vw,9.5rem)}.initials i{height:clamp(140px,30vh,210px)}.countdown{gap:24px}.timeline:before{left:58px}.timeline-item{grid-template-columns:86px 1fr;gap:18px}.choice-grid,.admin-grid,.admin-upload{grid-template-columns:1fr}.contact-item{grid-template-columns:1fr;text-align:center}.contact-item a{justify-self:center}.section{padding:64px 0;width:min(100% - 32px,760px)}.section.compact{padding-top:54px}.countdown-section{padding-top:96px}.count-cell strong{font-size:clamp(2.3rem,14vw,4rem)}.count-cell span{font-size:.78rem}.admin-nav{align-items:flex-start;flex-direction:column}.admin-table{display:block;overflow-x:auto}}
