/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#251b18;--muted:#776760;--cream:#f7f0e3;--paper:#fffaf1;--wine:#831229;--wine-dark:#61091e;--blush:#d8b8ac;--sage:#70776d;--line:#3e261f2e;--serif:Georgia, "Times New Roman", serif;--script:"Segoe Script", "Bradley Hand", "Brush Script MT", cursive;--sans:"Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img{max-width:100%;display:block}::selection{background:var(--wine);color:var(--paper)}.wedding-page{min-height:100vh;overflow:clip}.wedding-nav{z-index:20;width:min(1280px,100% - 48px);color:var(--paper);border-bottom:1px solid #fffaf152;justify-content:space-between;align-items:center;margin:0 auto;padding:24px 0;display:flex;position:absolute;inset:0 0 auto}.wedding-monogram{font-family:var(--serif);letter-spacing:.12em;font-size:22px;text-decoration:none}.wedding-monogram span{color:var(--blush);font-style:italic}.wedding-nav-links{gap:32px;display:flex}.wedding-nav-links a{letter-spacing:.13em;text-transform:uppercase;font-size:13px;text-decoration:none;position:relative}.wedding-nav-links a:after{content:"";background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.wedding-nav-links a:hover:after,.wedding-nav-links a:focus-visible:after{transform:scaleX(1)}.wedding-hero{background:radial-gradient(circle at 8% 10%, #ffffff14, transparent 28%), radial-gradient(circle at 95% 80%, #d8b8ac33, transparent 30%), var(--wine-dark);min-height:100svh;color:var(--paper);grid-template-columns:minmax(0,.9fr) minmax(420px,.76fr);align-items:center;gap:clamp(40px,8vw,140px);padding:132px max(7vw,48px) 80px;display:grid;position:relative}.wedding-hero:before{opacity:.13;content:"";filter:contrast(1.4);mix-blend-mode:soft-light;background-image:url(/photos/close.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-copy,.hero-photo-wrap{z-index:1;position:relative}.eyebrow{color:var(--wine);letter-spacing:.23em;text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:650}.eyebrow.light{color:#e7c8bd}.hero-copy h1{max-width:720px;font-family:var(--serif);letter-spacing:-.065em;flex-direction:column;margin:0;font-size:clamp(76px,9.5vw,154px);font-weight:400;line-height:.73;display:flex}.hero-ampersand{color:var(--blush);font-family:var(--script);letter-spacing:0;align-self:center;margin:14px 12% 12px 0;font-size:.45em;font-style:italic;line-height:1}.hero-lead{color:#fffaf1d1;max-width:560px;font-family:var(--serif);margin:40px 0 32px;font-size:clamp(18px,2vw,23px);line-height:1.55}.primary-button,.submit-button{background:var(--paper);min-height:54px;color:var(--wine-dark);cursor:pointer;letter-spacing:.11em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 28px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.primary-button:hover,.primary-button:focus-visible,.submit-button:hover,.submit-button:focus-visible{background:#efd9d1;transform:translateY(-2px)}.hero-photo-wrap{justify-self:center;width:min(100%,500px)}.hero-photo-frame{aspect-ratio:.76;background:#fffaf11a;border:1px solid #fffaf194;padding:14px;position:relative;overflow:hidden;transform:rotate(2.2deg);box-shadow:0 36px 90px #20000861}.hero-photo-frame img{object-fit:cover;object-position:center;filter:grayscale()contrast(1.08);width:100%;height:100%}.photo-caption{color:#fffaf1bd;width:84%;font-family:var(--script);text-align:center;margin:28px auto 0;font-size:18px;line-height:1.45;transform:rotate(-1deg)}.doodle{z-index:2;color:var(--blush);font-family:var(--script);font-size:74px;line-height:1;position:absolute}.doodle-one{top:-44px;left:-48px;transform:rotate(-18deg)}.doodle-two{color:var(--paper);font-size:54px;bottom:54px;right:-52px;transform:rotate(21deg)}.scroll-cue{z-index:1;color:#fffaf1a6;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;text-decoration:none;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scroll-cue span:last-child{font-size:18px}.announcement-section{background:linear-gradient(#251b1808 1px, transparent 1px), linear-gradient(90deg, #251b1808 1px, transparent 1px), var(--cream);background-size:32px 32px;padding:clamp(72px,10vw,150px) max(5vw,24px)}.paper-panel{background:var(--paper);grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(48px,8vw,100px);width:min(1100px,100%);margin:0 auto;padding:clamp(40px,7vw,92px);display:grid;box-shadow:0 32px 90px #3d1f171f}.script-title{color:var(--wine);font-family:var(--script);margin:0 0 14px;font-size:clamp(30px,5vw,54px);line-height:1.2;transform:rotate(-2deg)}.announcement-copy h2,.section-heading h2,.dress-copy h2,.rsvp-intro h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(46px,6vw,80px);font-weight:400;line-height:.98}.announcement-copy>p:not(.script-title){max-width:560px;color:var(--muted);margin:28px 0;font-size:18px;line-height:1.7}.handwritten-line{color:var(--wine);font-family:var(--script);align-items:center;gap:16px;font-size:20px;display:flex}.handwritten-line span:nth-child(2){font-size:38px}.childhood-memories{flex-direction:column;justify-self:center;width:min(500px,100%);padding:16px 0 8px;display:flex}.childhood-card{background:#fdfbf6;width:72%;margin:0;padding:14px 14px 30px;box-shadow:0 18px 42px #251b182e}.childhood-card img{aspect-ratio:.83;object-fit:cover;filter:grayscale()contrast(1.03);width:100%}.childhood-card figcaption{color:var(--wine-dark);font-family:var(--script);text-align:center;margin-top:18px;font-size:17px}.childhood-card-sofia{transform:rotate(-3deg)}.childhood-card-egor{align-self:flex-end;width:78%;margin-top:-110px;transform:rotate(3.5deg)}.childhood-card-egor img{aspect-ratio:1.16;object-position:center 42%}.childhood-note{z-index:1;color:var(--wine-dark);font-family:var(--script);text-align:center;align-self:center;margin:28px 0 0;font-size:19px;line-height:1.4;transform:rotate(-1deg)}.details-section{background:var(--paper);padding:clamp(80px,11vw,160px) max(6vw,24px)}.section-heading{text-align:center;max-width:780px;margin:0 auto 70px}.section-heading>p:last-child{max-width:680px;color:var(--muted);margin:24px auto 0;font-size:18px;line-height:1.7}.details-grid{grid-template-columns:repeat(3,1fr);gap:20px;width:min(1220px,100%);margin:0 auto;display:grid}.detail-card{border:1px solid var(--line);background:#f7f0e361;min-height:360px;padding:44px 36px;position:relative}.detail-number{color:var(--wine);font-family:var(--serif);font-size:14px;display:block}.detail-label{color:var(--wine);letter-spacing:.2em;text-transform:uppercase;margin:74px 0 10px;font-size:11px;font-weight:700}.detail-card h3{font-family:var(--serif);margin:0;font-size:30px;font-weight:400}.detail-card>p:last-child{color:var(--muted);margin:18px 0 0;line-height:1.65}.detail-card:after{color:#83122929;content:"♡";font-family:var(--script);font-size:52px;position:absolute;bottom:24px;right:30px}.dress-code-section{background:var(--wine-dark);color:var(--paper);grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);align-items:center;gap:80px;padding:clamp(76px,10vw,140px) max(9vw,32px);display:grid}.dress-copy{max-width:720px}.dress-copy>p:last-child{color:#fffaf1b8;max-width:640px;margin:26px 0 0;font-size:18px;line-height:1.7}.palette{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.palette span{aspect-ratio:1;border:2px solid #fffaf1b8;border-radius:50%;width:clamp(54px,6vw,76px);box-shadow:0 10px 30px #19000633}.gallery-section{background:var(--cream);padding:clamp(88px,11vw,160px) max(5vw,24px)}.gallery-heading{margin-bottom:44px}.photo-collage{grid-template-rows:repeat(16,minmax(24px,4vw));grid-template-columns:repeat(12,1fr);width:min(1180px,100%);margin:0 auto;display:grid;position:relative}.collage-item{border:9px solid var(--paper);margin:0;position:relative;overflow:hidden;box-shadow:0 18px 40px #391e1626}.collage-item img{object-fit:cover;filter:grayscale()contrast(1.04);width:100%;height:100%;transition:filter .3s,transform .5s}.collage-item:hover img{filter:grayscale(.25);transform:scale(1.025)}.collage-item-1{z-index:2;grid-area:1/1/8/5;transform:rotate(-2deg)}.collage-item-2{z-index:3;grid-area:2/5/9/10;transform:rotate(1.5deg)}.collage-item-3{z-index:1;grid-area:1/9/7/13;transform:rotate(3deg)}.collage-item-4{z-index:3;grid-area:8/2/15/6;transform:rotate(2deg)}.collage-item-5{z-index:2;grid-area:9/6/17/10;transform:rotate(-2.2deg)}.collage-item-6{z-index:1;grid-area:7/9/14/13;transform:rotate(1deg)}.collage-note{z-index:5;color:var(--wine);font-family:var(--script);text-align:center;grid-area:14/1/17/6;align-self:center;font-size:clamp(20px,3vw,34px);transform:rotate(-3deg)}.rsvp-section{background:radial-gradient(circle at 15% 70%, #d8b8ac2e, transparent 25%), var(--wine);color:var(--paper);grid-template-columns:minmax(320px,.82fr) minmax(460px,1.18fr);align-items:start;gap:clamp(48px,8vw,120px);padding:clamp(80px,11vw,160px) max(8vw,28px);display:grid}.rsvp-intro{position:sticky;top:60px}.rsvp-intro>p:nth-of-type(2){color:#fffaf1c2;max-width:520px;margin:28px 0 0;font-size:18px;line-height:1.7}.large-heart{color:#fffaf13d;font-family:var(--script);margin-top:54px;font-size:150px;line-height:1;display:block;transform:rotate(-12deg)}.rsvp-form,.rsvp-success{background:var(--paper);color:var(--ink);padding:clamp(28px,5vw,58px);box-shadow:0 30px 80px #28000a47}.rsvp-form{gap:28px;display:grid}.form-field{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.form-field>span,.form-field>legend{color:var(--wine-dark);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.form-field>legend{margin-bottom:12px}.form-field input,.form-field select,.form-field textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:14px 4px;transition:border-color .16s,box-shadow .16s}.form-field textarea{resize:vertical;min-height:120px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--wine);box-shadow:0 1px 0 var(--wine)}.choice-grid,.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.choice-card{border:1px solid var(--line);cursor:pointer;text-align:center;place-items:center;gap:4px;min-height:132px;padding:20px;transition:border-color .16s,background-color .16s,transform .16s;display:grid;position:relative}.choice-card input{opacity:0;width:1px;height:1px;position:absolute}.choice-card>span{color:var(--wine);font-family:var(--script);font-size:44px;line-height:1}.choice-card>strong{font-size:14px}.choice-card:hover{border-color:var(--wine);transform:translateY(-2px)}.choice-card:has(input:focus-visible){border-color:var(--wine);transform:translateY(-2px)}.choice-card:has(input:checked){border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);background:#83122914}.submit-button{background:var(--wine);width:100%;color:var(--paper);margin-top:6px}.submit-button:hover,.submit-button:focus-visible{background:var(--wine-dark)}.submit-button:disabled{cursor:wait;opacity:.6;transform:none}.privacy-note{color:var(--muted);text-align:center;margin:-14px 0 0;font-size:12px}.form-error{border-left:3px solid var(--wine);color:var(--wine-dark);background:#83122914;margin:0;padding:12px 14px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.rsvp-success{text-align:center;place-content:center;min-height:460px;display:grid}.rsvp-success>span{color:var(--wine);font-family:var(--script);font-size:78px}.rsvp-success h3{font-family:var(--serif);margin:8px 0 14px;font-size:38px;font-weight:400}.rsvp-success p{max-width:430px;color:var(--muted);margin:0 auto 28px;line-height:1.6}.text-button{color:var(--wine);cursor:pointer;text-underline-offset:5px;background:0 0;border:0;font-size:13px;font-weight:700;text-decoration:underline}.wedding-footer{background:var(--cream);color:var(--wine-dark);text-align:center;padding:72px 24px}.footer-script{font-family:var(--script);margin:0 0 12px;font-size:clamp(26px,4vw,42px)}.footer-names{font-family:var(--serif);letter-spacing:.08em;margin:0;font-size:22px}.wedding-footer>span{font-family:var(--script);margin-top:18px;font-size:34px;display:block}.admin-page{background:#f4eee5;min-height:100vh;padding:48px 24px 80px}.admin-shell{width:min(1240px,100%);margin:0 auto}.admin-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.admin-header h1{font-family:var(--serif);margin:4px 0 0;font-size:clamp(38px,5vw,64px);font-weight:400}.admin-kicker{color:var(--wine);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.admin-actions{gap:10px;display:flex}.admin-button{border:1px solid var(--wine);background:var(--wine);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.admin-button.secondary{color:var(--wine);background:0 0}.admin-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.admin-stat{border:1px solid var(--line);background:var(--paper);padding:24px}.admin-stat span{color:var(--muted);font-size:12px}.admin-stat strong{color:var(--wine-dark);font-family:var(--serif);margin-top:8px;font-size:40px;font-weight:400;display:block}.admin-table-wrap{border:1px solid var(--line);background:var(--paper);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:960px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:16px 14px;font-size:13px}.admin-table th{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.admin-table tr:last-child td{border-bottom:0}.status-pill{color:#315630;white-space:nowrap;background:#e4eee2;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.no{color:#7c2230;background:#f4e2e3}.admin-login{place-content:center;width:min(520px,100%);min-height:70vh;margin:0 auto;display:grid}.admin-login-card{background:var(--paper);padding:42px;box-shadow:0 24px 70px #321e1721}.admin-login-card h1{font-family:var(--serif);margin:8px 0 12px;font-size:42px;font-weight:400}.admin-login-card>p{color:var(--muted);margin:0 0 26px;line-height:1.6}.admin-login-form{gap:16px;display:grid}.admin-login-form label{color:var(--wine-dark);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:12px;font-weight:700;display:grid}.admin-login-form input{border:1px solid var(--line);background:#fff;outline:none;min-height:50px;padding:0 14px}.admin-login-form input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #8312291a}.admin-empty{border:1px solid var(--line);background:var(--paper);text-align:center;padding:72px 24px}.admin-empty span{color:var(--wine);font-family:var(--script);font-size:58px}.admin-empty h2{font-family:var(--serif);margin:8px 0;font-size:30px;font-weight:400}.admin-empty p{color:var(--muted);margin:0}.admin-error{color:var(--wine);margin:0;font-size:13px}@media (width<=920px){.wedding-hero{grid-template-columns:1fr;gap:72px;padding-left:7vw;padding-right:7vw}.hero-copy{padding-top:40px}.hero-copy h1{max-width:630px}.hero-photo-wrap{width:min(82vw,480px)}.paper-panel,.dress-code-section,.rsvp-section{grid-template-columns:1fr}.childhood-memories{justify-self:center;width:min(500px,100%)}.details-grid{grid-template-columns:1fr}.detail-card{min-height:280px}.detail-label{margin-top:40px}.dress-code-section{gap:54px}.palette{justify-content:flex-start}.rsvp-intro{position:static}.large-heart{display:none}.admin-stats{grid-template-columns:1fr 1fr}}@media (width<=640px){.wedding-nav{width:calc(100% - 32px);padding-top:18px}.wedding-nav-links{gap:14px}.wedding-nav-links a{font-size:9px}.wedding-hero{min-height:auto;padding:118px 22px 82px}.hero-copy h1{font-size:clamp(68px,24vw,112px)}.hero-lead{margin-top:30px;font-size:17px}.primary-button{width:100%;font-size:11px}.hero-photo-wrap{width:min(88vw,430px)}.doodle-one{left:-28px}.doodle-two{right:-24px}.scroll-cue{display:none}.announcement-section,.details-section,.gallery-section{padding-left:16px;padding-right:16px}.paper-panel{gap:48px;padding:36px 22px}.childhood-card{padding:10px 10px 24px}.childhood-card-egor{margin-top:-72px}.childhood-note{margin-top:24px;font-size:17px}.announcement-copy h2,.section-heading h2,.dress-copy h2,.rsvp-intro h2{font-size:46px}.section-heading{margin-bottom:42px}.detail-card{padding:32px 26px}.dress-code-section,.rsvp-section{padding-left:20px;padding-right:20px}.palette span{width:50px}.photo-collage{grid-template-rows:none;grid-template-columns:1fr 1fr;gap:10px;display:grid}.collage-item{aspect-ratio:.78;border-width:6px;grid-area:auto;transform:none}.collage-item:nth-child(3n){aspect-ratio:1.2;grid-column:1/-1}.collage-note{grid-area:auto/1/auto/-1;padding:30px 0 12px}.rsvp-form,.rsvp-success{padding:28px 20px}.choice-grid,.form-row{grid-template-columns:1fr}.admin-page{padding:32px 14px 60px}.admin-header{flex-direction:column;align-items:flex-start}.admin-actions{width:100%}.admin-button{flex:1}.admin-stats{grid-template-columns:1fr 1fr}.admin-stat{padding:18px}.admin-login-card{padding:30px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
