@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-cyrillic-400-normal.1j66mrznmjy8v.woff2)format("woff2"),url(../media/cormorant-garamond-cyrillic-400-normal.3inys_a6icas8.woff)format("woff")}
@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-latin-400-normal.1fm7t8dmldrtt.woff2)format("woff2"),url(../media/cormorant-garamond-latin-400-normal.38f0-_0_stt74.woff)format("woff")}
@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-cyrillic-400-italic.0px4qoz9egig_.woff2)format("woff2"),url(../media/cormorant-garamond-cyrillic-400-italic.44q2zfn8guwbv.woff)format("woff")}
@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-latin-400-italic.1zhb_kb4w2oq1.woff2)format("woff2"),url(../media/cormorant-garamond-latin-400-italic.3qhckdzyyfe93.woff)format("woff")}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-cyrillic-400-normal.1kar6y_w7xc92.woff2)format("woff2"),url(../media/manrope-cyrillic-400-normal.2ow5pljymqch1.woff)format("woff")}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(../media/manrope-latin-400-normal.2xa18tgv2np2i.woff2)format("woff2"),url(../media/manrope-latin-400-normal.16uzrbq5-8z5v.woff)format("woff")}
:root{--ink:#0b0a0a;--charcoal:#171315;--wine:#32191f;--gold:#c2a58c;--ivory:#f1e7dd;--rose:#8f6974;--line:#c2a58c30;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Manrope", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--ink);color:var(--ivory);font-family:var(--sans);margin:0;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--gold);background:var(--gold);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:14px 22px;transition:background .2s,color .2s;display:inline-flex}button:hover,.button:hover{background:var(--ivory)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ivory);outline-offset:5px}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.05}h1{letter-spacing:-.03em;font-size:clamp(48px,6vw,88px)}h2{font-size:32px}em{font-weight:400}input,textarea,select{border:1px solid var(--line);color:var(--ivory);background:#171315;border-radius:0;width:100%;min-height:48px;padding:13px 14px}textarea{resize:vertical;line-height:1.7}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}::selection{background:var(--gold);color:var(--ink)}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-size:10px;line-height:1.8}.wordmark{font-family:var(--serif);letter-spacing:.06em;white-space:nowrap;font-size:26px}.wordmark span{margin-left:10px;font-size:15px}.muted{color:#b4a4a4}.small{font-size:12px}.text-button{color:var(--gold);border:0;border-bottom:1px solid var(--line);background:0 0;padding:10px 0;font-size:12px}.text-button:hover{color:var(--ivory);background:0 0}.error{color:#ffc6c6;background:#451e26;border-left:2px solid #d78696;padding:14px 18px}.notice{color:var(--gold);font-size:13px}.warning{color:#ecd1ae;border:1px solid var(--line);padding:16px;font-size:13px}.fine-rule{background:var(--gold);width:48px;height:1px;margin:35px auto}.ambient{pointer-events:none;background:radial-gradient(at 74% 32%,#5a283744,#0000 55%),radial-gradient(at 15% 70%,#32191f55,#0000 55%);position:absolute;inset:0}.landing{flex-direction:column;min-height:100svh;padding:36px 5vw;display:flex;position:relative;overflow:hidden}.landing>:not(.ambient){position:relative}.landing-center{text-align:center;margin:auto;padding:80px 0}.landing-center h1{margin:25px 0;font-size:clamp(70px,10vw,150px)}.landing-center h1 em{color:var(--gold)}.landing-center>p:not(.eyebrow){line-height:1.9}.landing-footer{letter-spacing:.2em;justify-content:space-between;gap:20px;font-size:9px;display:flex}.unavailable{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:28px;display:flex}.unavailable h1{margin:28px 0}.unavailable p{max-width:500px}.guest{background:radial-gradient(at 50% 55%,#261a20 0,#0b0a0a 70%);min-height:100svh;position:relative;overflow:hidden}.guest-header{z-index:2;border-bottom:1px solid #c2a58c15;justify-content:space-between;align-items:center;padding:30px 5vw;display:flex;position:relative}.botanical{width:700px;max-width:90vw;height:auto;color:var(--rose);opacity:.17;pointer-events:none;position:absolute;top:100px;right:-160px;transform:rotate(-15deg)}.ceremony{flex-direction:column;align-items:center;min-height:740px;padding:38px 20px 42px;display:flex;position:relative}.arrival-copy{text-align:center;transition:opacity 1s}.arrival-copy h1{margin:12px 0 10px;font-size:clamp(50px,5vw,74px)}.arrival-copy h1 em{color:var(--gold)}.arrival-copy .eyebrow{font-size:9px}.envelope-scene{perspective:1400px;width:min(540px,85vw);height:310px;margin:36px 0 12px;position:relative}.envelope{width:100%;height:100%;transform-style:preserve-3d;filter:drop-shadow(0 35px 35px #0009);position:relative;transform:rotate(-5deg)}.envelope-back{background:#3e222a;border:1px solid #84576580;border-radius:2px;position:absolute;inset:0;box-shadow:inset 0 0 70px #100b1077}.envelope-pocket{z-index:4;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:linear-gradient(170deg,#56323e,#321c24 75%);border-bottom:1px solid #a56d5c50;position:absolute;inset:0}.envelope-side{z-index:3;background:linear-gradient(130deg,#4e2d39,#2b1720);position:absolute;inset:0}.envelope-side.left{clip-path:polygon(0 0,55% 60%,0 100%)}.envelope-side.right{clip-path:polygon(100% 0,45% 60%,100% 100%);background:linear-gradient(220deg,#51313d,#321923)}.envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;filter:drop-shadow(0 4px 2px #0005);background:linear-gradient(170deg,#68424b,#42242e 85%);height:65%;position:absolute;inset:0}.envelope-flap:after{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(160deg,#0000,#e7bda31a);position:absolute;inset:2px}.seal{z-index:6;color:#432a21;background:conic-gradient(from 20deg,#93715a,#dac3a5,#b49172,#e2c9aa,#95715a);border:3px double #d6b89a;border-radius:50%;flex-direction:column;gap:0;width:68px;height:68px;min-height:0;padding:0;display:flex;position:absolute;top:48%;left:calc(50% - 34px);transform:rotate(5deg);box-shadow:0 4px 8px #0007,inset 0 0 0 4px #70533c33}.seal span{font-family:var(--serif);font-size:34px;line-height:1}.seal small{letter-spacing:.15em;font-size:6px}.seal:hover{background:conic-gradient(from 70deg,#a98c71,#f0dcc4,#b49172,#e2c9aa,#95715a)}.envelope-name{z-index:5;text-align:center;font-family:var(--serif);color:#e6cfc0;overflow-wrap:anywhere;margin:0;font-size:clamp(22px,4vw,30px);font-style:italic;line-height:1.1;position:absolute;bottom:9%;left:8%;right:8%}.inner-card{z-index:2;color:#32191f;background:#f1e7dd;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:9% 7% 4%;box-shadow:0 0 20px #0005}.inner-card .eyebrow{color:#705046}.inner-card strong{font-family:var(--serif);font-size:90px;font-weight:400;line-height:1.1}.inner-card em{font-family:var(--serif);text-align:center;font-size:22px}.opening-control{text-align:center;min-height:90px;margin-top:25px}.opening-control .text-button{letter-spacing:.18em;gap:30px}.opening-control p{margin-top:18px;font-size:10px}.skip{color:var(--gold);background:0 0;border:0;min-height:40px;padding:0;font-size:11px}.opening .arrival-copy{opacity:0}.is-opening .envelope{animation:5s cubic-bezier(.22,.61,.36,1) forwards camera}.is-opening .seal{animation:1.1s forwards seal-release}.is-opening .envelope-flap{animation:1.5s ease-in-out .7s forwards flap}.is-opening .inner-card{animation:3s cubic-bezier(.22,.61,.36,1) 1.7s forwards card-rise}.is-opening .envelope-pocket,.is-opening .envelope-side,.is-opening .envelope-back,.is-opening .envelope-name{animation:1.4s 3.2s forwards paper-away}.is-opening .envelope-flap{backface-visibility:hidden}@keyframes camera{0%{transform:rotate(-5deg)}30%{transform:rotate(0)scale(1.04)}75%{opacity:1;transform:rotate(0)scale(1.04)}to{opacity:0;transform:rotate(0)scale(1.1)}}@keyframes seal-release{0%,25%{opacity:1;transform:rotate(5deg)scale(1)}60%{filter:brightness(1.4);transform:rotate(15deg)scale(1.12)}to{opacity:0;transform:translateY(35px)rotate(20deg)scale(.9)}}@keyframes flap{0%{z-index:5;transform:rotateX(0)}49%{z-index:5}50%{z-index:1}to{z-index:1;transform:rotateX(180deg)}}@keyframes card-rise{0%{z-index:2;transform:translateY(0)}50%{z-index:2;transform:translateY(-80%)rotate(-2deg)}51%{z-index:7}to{z-index:7;transform:translateY(-15%)rotate(0)scale(1.2)}}@keyframes paper-away{to{opacity:0;transform:translateY(80px)}}.invitation{max-width:1080px;margin:auto;padding:60px 60px 30px;position:relative}.editorial-heading{text-align:center;border-bottom:1px solid var(--line);margin-bottom:50px;padding-bottom:24px;position:relative}.editorial-heading h1{letter-spacing:.035em;margin:30px 0 0;font-size:clamp(70px,13vw,160px);font-weight:400;line-height:.9}.editorial-heading h1:focus{outline:none}.roman{font-family:var(--serif);letter-spacing:-.055em;color:var(--gold);opacity:.85;font-size:clamp(120px,22vw,260px);font-weight:400;line-height:.9}.edition{text-align:left;letter-spacing:.16em;color:var(--gold);font-size:8px;line-height:2;position:absolute;bottom:32px;right:0}.invitation-content{max-width:640px;margin:auto}.salutation{font-family:var(--serif);overflow-wrap:anywhere;margin:0 0 28px;font-size:42px;font-style:italic;line-height:1.2}.body-copy{white-space:pre-wrap;overflow-wrap:anywhere;color:#decec8;font-size:15px;line-height:2}.personal{font-family:var(--serif);color:var(--gold);margin-top:30px;font-size:26px;font-style:italic;line-height:1.5}.event-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:30px;margin:40px 0;padding:30px 0;display:grid}.event-details>div{flex-direction:column;gap:8px;display:flex}.event-details strong{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.2}.event-details span:not(.eyebrow){color:#c7b6b2;overflow-wrap:anywhere;font-size:12px}.signature{white-space:pre-wrap;margin:30px 0;font-size:12px}.signature em{font-family:var(--serif);color:var(--gold);margin-top:4px;font-size:42px;display:block}.personal-note{white-space:pre-wrap;color:var(--gold);overflow-wrap:anywhere;font-size:13px}.guest-actions{flex-wrap:wrap;align-items:center;gap:25px;margin:35px 0 45px;display:flex}.guest-actions .button{font-size:12px}.rsvp{border-top:1px solid var(--line);padding-top:28px}.rsvp>div{flex-wrap:wrap;gap:10px;display:flex}.rsvp button{color:var(--ivory);border-color:var(--line);background:0 0;padding:10px 15px;font-size:12px}.rsvp button:hover,.rsvp button.selected{background:var(--gold);color:var(--ink);border-color:var(--gold)}.guest-footer{text-align:center;max-width:600px;margin:0 auto;padding:22px 24px 30px;position:relative}.guest-footer p{color:#a08f91;margin-top:18px;font-size:9px;line-height:1.9}.guest-error{max-width:640px;margin:15px auto;position:relative}.preview-banner{z-index:10;color:var(--ink);background:#c2a58c;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:6px 15px;font-size:10px;display:flex;position:relative}.preview-banner button{border-color:#0b0a0a55;min-height:32px;padding:4px 12px;font-size:10px}.login{background:radial-gradient(at 75% 40%,#32191f88,#0000 65%);flex-direction:column;justify-content:space-between;align-items:center;min-height:100svh;padding:35px 25px;display:flex}.login form{width:min(420px,100%);padding:55px 0}.login h1{margin:25px 0 35px;font-size:64px}.login h1 em{color:var(--gold)}.login form>button{width:100%;margin-top:12px}.field{margin-bottom:22px;display:block}.field>span{color:var(--gold);margin-bottom:9px;font-size:11px;display:block}.admin{background:#100d0f;min-height:100svh}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding:20px 4vw;display:flex}.admin-header nav{gap:30px;font-size:12px;display:flex}.admin-header nav a{color:#b4a4a4;padding:12px 0}.admin-header nav a[aria-current]{color:var(--ivory);border-bottom:1px solid var(--gold)}.admin-main{max-width:1450px;min-height:75svh;margin:auto;padding:60px 4vw 80px}.page-title{justify-content:space-between;align-items:center;gap:20px;margin:18px 0 40px;display:flex}.page-title h1{overflow-wrap:anywhere;margin:0;font-size:clamp(40px,4vw,64px)}.page-title .button{flex-shrink:0;font-size:12px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(9,1fr);margin-bottom:50px;display:grid}.stats>div{border-right:1px solid var(--line);flex-direction:column;padding:22px 14px;display:flex}.stats>div:first-child{padding-left:0}.stats>div:last-child{border-right:0}.stats span{color:#b4a4a4;font-size:10px}.stats strong{font-family:var(--serif);font-size:42px;font-weight:400;line-height:1.4}.list-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.list-heading h2{margin:0;font-size:30px}.filters{gap:15px;margin-bottom:25px;display:flex}.filters input{max-width:380px}.filters select{max-width:240px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:#b4a4a4;border-bottom:1px solid var(--line);padding:14px 12px;font-size:10px;font-weight:400}td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:220px;padding:22px 12px}td:first-child{font-family:var(--serif);min-width:170px;font-size:23px}td a:hover{color:var(--gold)}.badge{border:1px solid var(--line);white-space:nowrap;padding:5px 9px;font-size:10px}.empty{text-align:center;border-bottom:1px solid var(--line);padding:70px 20px}.empty h2{font-size:38px}.table-scroll+.small{margin-top:20px}.admin-footer{border-top:1px solid var(--line);font-family:var(--serif);justify-content:space-between;padding:25px 4vw;font-size:18px;display:flex}.admin-footer span{font-family:var(--sans);letter-spacing:.2em;font-size:8px}.editor-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:80px;max-width:1100px;display:grid}.editor-grid form>.muted{margin-bottom:30px;font-size:12px}.editor-aside{border-left:1px solid var(--line);padding-left:35px}.editor-aside h2{font-size:35px}.editor-aside .button{width:100%;font-size:12px}.management{grid-template-columns:1fr 1fr;gap:10px;margin:25px 0;display:grid}.management button{color:var(--ivory);border-color:var(--line);background:0 0;padding:10px;font-size:11px}.management button:hover{background:#32191f}.opening-info{border-block:1px solid var(--line);margin-bottom:35px;padding:20px 0;font-size:12px;line-height:1.8}.opening-info dt{color:#b4a4a4;margin-top:10px;font-size:10px}.opening-info dd{margin:2px 0}.timeline{border-left:1px solid var(--line);margin:0 0 20px;padding:0;list-style:none}.timeline li{padding:0 0 22px 20px;font-size:12px;position:relative}.timeline li:before{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:-3px}.timeline time,.timeline span{color:#b4a4a4;font-size:10px;display:block}.editor-aside>.text-button{text-align:left;justify-content:flex-start;width:100%;margin-top:12px;display:block}.danger{color:#f0a5b5}.settings-form{max-width:850px}.settings-form>.muted{font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.check{align-items:center;gap:12px;margin:20px 0;display:flex}.check input{width:18px;height:18px;min-height:0;accent-color:var(--gold)}@media (max-width:700px){.guest-header{padding:20px 22px}.guest-header .wordmark{font-size:21px}.guest-header>.eyebrow{letter-spacing:.13em;font-size:7px}.ceremony{min-height:680px;padding-top:42px}.envelope-scene{aspect-ratio:1.7;height:auto;margin-top:48px;margin-bottom:16px}.arrival-copy h1{font-size:56px}.seal{width:56px;height:56px;top:44%;left:calc(50% - 28px)}.seal span{font-size:28px}.envelope-name{font-size:24px;bottom:9%}.opening-control{margin-top:25px}.inner-card strong{font-size:66px}.inner-card em{font-size:18px}.inner-card .eyebrow{font-size:8px}.invitation{padding:42px 24px 20px}.editorial-heading{margin-bottom:35px;padding-bottom:25px}.editorial-heading h1{font-size:clamp(65px,19vw,120px)}.roman{font-size:clamp(120px,39vw,200px)}.edition{text-align:center;margin-top:24px;font-size:7px;display:block;position:static}.edition br{display:none}.salutation{font-size:34px}.body-copy{font-size:14px;line-height:1.9}.personal{font-size:25px}.event-details{grid-template-columns:1fr;gap:22px;margin:28px 0;padding:25px 0}.event-details strong{font-size:28px}.guest-actions{justify-content:center;gap:20px}.guest-actions .button{width:100%}.rsvp>div{flex-direction:column}.rsvp button{min-height:48px}.guest-footer{padding-bottom:max(25px, env(safe-area-inset-bottom))}.botanical{opacity:.12;max-width:120vw;top:140px;right:-120px}.admin-header{flex-wrap:wrap;gap:10px;padding:16px 22px}.admin-header nav{order:3;gap:25px;width:100%}.admin-header>.text-button{font-size:10px}.admin-main{padding:35px 22px 50px}.page-title{flex-direction:column;align-items:flex-start;margin-bottom:30px}.page-title h1{font-size:43px}.stats{grid-template-columns:repeat(3,1fr);margin-bottom:35px}.stats>div{border-bottom:1px solid var(--line);padding:14px!important}.stats strong{font-size:35px}.stats span{font-size:9px}.list-heading h2{font-size:25px}.filters{flex-direction:column}.filters input,.filters select{max-width:100%}.editor-grid{grid-template-columns:1fr;gap:35px}.editor-aside{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.form-grid{grid-template-columns:1fr}.admin-footer span{text-align:right;max-width:120px}.landing-footer{font-size:7px}.guest-error{margin:15px 22px}.landing-center h1{font-size:70px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.long-name .envelope-flap{height:50%}.long-name .envelope-pocket{clip-path:polygon(0 0,50% 43%,100% 0,100% 100%,0 100%)}.long-name .seal{top:35%}.long-name .envelope-name{font-size:16px;line-height:1.25}.guest-header .wordmark{white-space:normal;overflow-wrap:anywhere;max-width:65%;line-height:1.2}.editorial-heading h1{overflow-wrap:anywhere}.guest-footer p{font-size:11px}@media (max-width:700px){.envelope-scene.long-name{aspect-ratio:1.25}}
