@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500&display=swap";
@font-face{font-family:Nautica;src:url(/fonts/Nautica.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0d0307;--panel:#1b070e;--panel2:#270b14;--gold:#d7b66d;--gold-hi:#f0d58c;--text:#f3eadb;--muted:#b8a99a;--wine:#5e1020}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.opening{z-index:1000;overscroll-behavior:none;touch-action:none;isolation:isolate;opacity:1;visibility:visible;background:#100308;width:100%;height:100svh;min-height:680px;transition:opacity .52s,visibility linear;position:fixed;inset:0;overflow:hidden}.opening-leaving{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .52s,visibility 0s linear .52s}.opening-bg{object-fit:cover;object-position:center 40%;z-index:0;filter:saturate(.88)contrast(1.04);width:100%;height:100%;position:absolute;inset:0}.opening-shade{z-index:1;background:linear-gradient(#0701041f,#0701040d 45%,#0901054d 57%,#080104eb 79%,#0d0307 100%);position:absolute;inset:0}.opening-border{z-index:5;pointer-events:none;border:1px solid #d7b66dcc;position:absolute;inset:18px;box-shadow:inset 0 0 0 1px #000000b3}.opening-emblem{z-index:4;filter:drop-shadow(0 4px 12px #000);width:68px;height:68px;position:absolute;top:9%;left:50%;transform:translate(-50%)}.opening-copy{z-index:6;text-align:center;width:min(92%,420px);position:absolute;bottom:4.5vh;left:50%;transform:translate(-50%)}.opening-kicker,.opening-copy h1,.opening-copy .divider,.opening-copy .date,.opening-copy .guest,.opening-copy .cta{opacity:0;visibility:hidden}.opening-border{opacity:0;clip-path:inset(0 100% 100% 0)}.opening-bg{opacity:1;visibility:visible}.kicker{letter-spacing:.35em;color:var(--gold-hi);margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:12px}.opening h1{color:var(--gold-hi);text-shadow:0 5px 28px #000;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(58px,12vw,88px);font-weight:500;line-height:.78}.opening h1 span{margin:6px 0;font-size:.42em;line-height:1.1;display:block}.divider{opacity:.85;width:250px;max-width:80%;margin:14px auto 2px}.date{letter-spacing:.18em;color:#f3eadb;margin:5px 0 15px;font-size:11px}.guest{text-shadow:0 3px 12px #000;flex-direction:column;gap:2px;margin-bottom:16px;display:flex}.guest span{font-size:11px}.guest strong{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:26px;font-weight:500}.cta{border:1px solid var(--gold);color:var(--gold-hi);letter-spacing:.12em;background:#1f050de0;border-radius:999px;padding:12px 25px;font-size:11px;box-shadow:0 12px 30px #0006}.cta b{margin-left:5px}.experience{background:var(--bg);overflow:hidden}.experience-preload{visibility:hidden;opacity:0;pointer-events:none}.experience-ready{visibility:visible;opacity:1;pointer-events:auto;animation:.35s ease-out both experience-in}@keyframes experience-in{0%{opacity:0}to{opacity:1}}.opening-kicker{z-index:6;text-align:center;letter-spacing:.35em;width:90%;color:var(--gold-hi);text-shadow:0 3px 16px #000;font-family:Cormorant Garamond,serif;font-size:12px;position:absolute;top:9%;left:50%;transform:translate(-50%)}.cta.is-loading{opacity:.62;cursor:wait}.music{z-index:100;border:1px solid var(--gold);width:44px;height:44px;color:var(--gold-hi);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0308c7;border-radius:50%;position:fixed;top:18px;right:18px}.scene,.section-scene{isolation:isolate;perspective:1200px;min-height:100svh;position:relative;overflow:hidden}.scene-photo,.scene-shade,.scene-emblem,.scene-roses,.section-rose,.section-bg{pointer-events:none;position:absolute}.scene-photo{object-fit:cover;object-position:center 40%;z-index:0;filter:saturate(.84);width:100%;height:100%;inset:0}.scene-shade{z-index:1;background:linear-gradient(#0801041f,#08010440 52%,#090105f5 100%);inset:0}.scene-roses{z-index:3;opacity:.96;mix-blend-mode:normal;filter:saturate(1.02)contrast(1.03)drop-shadow(0 10px 20px #00000059);width:245px;bottom:-8%}.scene-roses.left{left:-85px}.scene-roses.right{right:-85px}.scene-content{z-index:5;text-align:center;width:90%;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.scene-content h2{color:var(--gold-hi);margin:5px 0;font-family:Cormorant Garamond,serif;font-size:56px;font-weight:500;line-height:.9}.scene-content h2 span{font-size:.55em}.scene-content p:last-child{letter-spacing:.18em;font-size:11px}.section-scene{background:radial-gradient(circle at 50% 20%,#350c18 0,#19050c 45%,#0f0308 100%);min-height:auto;padding:80px 18px}.wedding-gift-scene{background:#0f0308!important}.wedding-gift-panel{background:radial-gradient(circle at 50% 20%,#350c18 0,#19050c 45%,#0f0308 100%)}.section-bg{opacity:.18;z-index:0;background:url(/ornaments/gold-dust.png) 50%/cover no-repeat;inset:0}.section-inner{z-index:3;width:min(520px,100%);transform-style:preserve-3d;margin:auto;position:relative}.section-divider{opacity:.82;width:230px;margin:0 auto 6px;display:block}.section-inner>h2{text-align:center;color:var(--gold-hi);margin:0 0 28px;font-family:Cormorant Garamond,serif;font-size:38px;font-weight:500}.section-rose{z-index:1;opacity:.9;filter:saturate(1.02)contrast(1.03)drop-shadow(0 10px 18px #00000059);width:215px;bottom:-65px;right:-82px}.wedding-intro{text-align:center;width:min(520px,92%);color:var(--muted);margin:0 auto 30px;font-family:Cormorant Garamond,serif;font-size:15px;line-height:1.7}.wedding-intro p{margin:0 auto 10px}.wedding-intro .wedding-greeting{color:var(--gold-hi);letter-spacing:.02em;text-shadow:0 2px 12px #00000059;font-size:clamp(16px,2.4vw,21px);font-weight:500;line-height:1.35}.couple{grid-template-columns:1fr;gap:24px;display:grid;position:relative}.person{text-align:center;isolation:isolate;border:0;border-radius:16px;padding:24px 10px 38px;position:relative;overflow:visible}.portrait{box-sizing:border-box;border:1px solid var(--gold);z-index:2;background:#0f030838;border-radius:50%/24%;width:169px;height:300px;margin:auto;padding:5px;position:relative;overflow:hidden}.person-ornament{z-index:1;object-fit:contain;pointer-events:none;opacity:.38;filter:saturate(.9)contrast(1.02)drop-shadow(0 7px 13px #0000006b);width:128px;height:128px;position:absolute}.person:first-child .person-ornament{top:-42px;right:-48px;transform:rotate(-7deg)}.person:last-child .person-ornament{bottom:-42px;left:-48px;transform:rotate(7deg)}.portrait{z-index:2}.person h3,.person p{z-index:2;position:relative}.person h3{color:var(--gold-hi);margin:40px 0 3px;font-family:Cormorant Garamond,serif;font-size:27px}.person p{color:var(--muted);max-width:250px;margin:auto;font-size:11px;line-height:1.6}.person-fullname{z-index:2;color:var(--gold-hi);letter-spacing:.02em;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:18px;line-height:1.35;position:relative}.center-emblem{opacity:.7;width:58px;height:58px;margin:auto}.timeline{gap:4px;padding:4px 0 12px;display:grid;position:relative}.story{grid-template-columns:62px 1fr;gap:15px;min-height:116px;padding:24px 8px 28px 0;display:grid;position:relative;overflow:visible}.story-line{pointer-events:none;height:1px;position:absolute;bottom:0;left:27px;right:0;overflow:hidden}.story-line span{background:linear-gradient(90deg,#d7b66d14,var(--gold),#d7b66d14);transform-origin:0;width:100%;height:100%;display:block}.story-ornament{z-index:0;object-fit:contain;pointer-events:none;opacity:.16;filter:saturate(.8)contrast(1.08)drop-shadow(0 8px 14px #00000073);mix-blend-mode:screen;width:92px;height:106px;position:absolute}.story-left .story-ornament{top:8px;right:-8px;transform:rotate(-14deg)}.story-right .story-ornament{bottom:4px;left:4px;transform:scaleX(-1)rotate(-10deg)}.node{z-index:2;border:1px solid var(--gold);width:52px;height:52px;color:var(--gold-hi);background:radial-gradient(circle at 35% 30%,#3a0e1b,#16040a 72%);border-radius:50%;justify-content:center;align-items:center;font-family:Cormorant Garamond,serif;font-size:14px;display:flex;position:relative;box-shadow:0 0 0 5px #d7b66d09,0 8px 18px #00000047}.story-copy{z-index:2;padding-right:18px;position:relative}.story h3{color:var(--gold-hi);margin:2px 0 5px;font-family:Cormorant Garamond,serif;font-size:22px;line-height:1.05}.story p{color:var(--muted);max-width:410px;margin:0;font-size:12px;line-height:1.65}.story:last-child .story-line{display:none}.story-title{z-index:3;text-align:center;width:min(520px,100%);color:var(--gold-hi);letter-spacing:.01em;text-shadow:0 4px 18px #00000059;margin:0 auto 30px;font-family:Nautica,serif;font-size:46px;font-weight:400;line-height:1.05;position:relative}.story-scene{padding:50px}.story-scene>.timeline{z-index:3;width:min(520px,100%);margin:0 auto;position:relative}.countdown{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.counter{text-align:center;background:linear-gradient(145deg,#310b17,#18050b);border:1px solid #d7b66d59;border-radius:10px;padding:24px 8px}.counter strong{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:48px;font-weight:500;display:block}.counter span{color:var(--muted);letter-spacing:.12em;font-size:10px}.events{grid-template-columns:1fr;gap:15px;display:grid}.event{text-align:center;background:#1f070eb3;border:1px solid #d7b66d59;border-radius:13px;padding:25px 20px}.event>span{color:var(--gold-hi)}.event h3{color:var(--gold-hi);margin:8px 0;font-family:Cormorant Garamond,serif;font-size:24px}.event b,.event small{display:block}.event small{color:var(--gold);margin-top:5px}.event p{color:var(--muted);font-size:11px;line-height:1.6}.event button{border:1px solid var(--gold);color:var(--gold-hi);background:0 0;border-radius:999px;padding:8px 14px;font-size:9px}.gallery{grid-template-columns:repeat(2,1fr);align-items:start;gap:7px;display:grid}.gallery-item{background:#1a050c;border:1px solid #d7b66d47;border-radius:6px;align-self:start;height:auto;padding:3px;overflow:hidden}.gallery-item img{object-fit:initial;width:100%;height:auto;display:block}.form{gap:10px;display:grid}.wishes-form{margin-bottom:15px}.form input,.form select,.form textarea{width:100%;color:var(--text);background:#19050c;border:1px solid #d7b66d4d;border-radius:8px;outline:none;padding:12px}.form .cta{justify-self:center}.gifts{gap:10px;display:grid}.gift{background:#1a050c;border:1px solid #d7b66d4d;border-radius:10px;gap:4px;padding:15px;display:grid}.gift b{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:20px}.gift span,.gift small{color:var(--muted);font-size:11px}.gift button{border:1px solid var(--gold);color:var(--gold-hi);background:0 0;border-radius:999px;justify-self:start;padding:6px 13px;font-size:9px}.wishes{overscroll-behavior:contain;gap:12px;max-height:330px;padding-right:4px;display:grid;overflow-y:auto}.wishes article{background:#1b060e;border:1px solid #d7b66d40;border-radius:10px;padding:17px}.wishes b{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:18px}.wishes p{color:var(--muted);font-size:11px;line-height:1.65}.closing{text-align:center;justify-content:center;align-items:center;min-height:70svh;display:flex;position:relative;overflow:hidden}.closing>img:first-child{object-fit:cover;object-position:center 42%;filter:saturate(.75);width:100%;height:100%;position:absolute;inset:0}.closing-shade{background:#0a0105ad;position:absolute;inset:0}.closing-copy{z-index:100;position:relative}.script{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:34px;font-style:italic}.closing-thanks{font-family:Nautica,serif;font-size:42px;font-style:normal}.closing-copy h2{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:50px;font-weight:500}.closing-copy p{margin:6px}.closing-rose{z-index:2;opacity:.94;filter:saturate(1.02)contrast(1.03)drop-shadow(0 10px 20px #00000061);width:285px;position:absolute;bottom:-45px;right:-90px}.story-scene .story:nth-child(2n) .story-copy,.story-scene .story:nth-child(odd) .story-copy{text-align:left}@media (min-width:900px){.story{grid-template-columns:72px 1fr;min-height:130px;padding-left:8px;padding-right:22px}.story-line{left:35px}.story-ornament{opacity:.18;width:116px;height:126px}.story-left .story-ornament{top:8px;right:8px}.story-right .story-ornament{bottom:5px;left:24px}.story-copy{padding-right:28px}.opening-copy{bottom:7vh}.opening-kicker{font-size:14px;top:8%}.opening-emblem{width:80px;height:80px;top:8%}.scene-content h2{font-size:72px}.scene-roses{width:390px}.scene-roses.left{left:-90px}.scene-roses.right{right:-90px}.section-scene{padding:110px 30px}.section-inner{width:min(620px,100%)}.section-corner{width:min(620px,100% - 60px);top:109px}.couple{grid-template-columns:1fr 58px 1fr;align-items:center}.center-emblem{grid-column:2}.person:first-child{grid-column:1}.person:last-child{grid-column:3}.events{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene *{transition:none!important}.experience-ready{animation:none!important}}.section-corner{z-index:10;object-fit:contain;object-position:center top;opacity:.34;pointer-events:none;mix-blend-mode:screen;width:min(520px,100% - 36px);height:auto;position:absolute;top:79px;left:50%;transform:translate(-50%)}.opening-emblem,.scene-emblem,.center-emblem{object-fit:contain;filter:drop-shadow(0 5px 14px #000000a6)}.opening-emblem,.scene-emblem{mix-blend-mode:screen}.scene-roses,.section-rose,.closing-rose{mix-blend-mode:normal;filter:drop-shadow(0 12px 22px #00000073)}.section-rose{opacity:.68;width:300px;bottom:-70px;right:-90px}.section-rose-top{z-index:20;opacity:.78;pointer-events:none;transform-origin:50%;mix-blend-mode:normal;filter:drop-shadow(0 12px 22px #00000073);width:300px;height:auto;position:absolute;top:-70px;left:-90px;right:auto;transform:scaleY(-1)}.section-inner{background:linear-gradient(#270a134d,#0c03082e);border:1px solid #d7b66d2e;border-radius:18px;padding:34px 20px 38px;box-shadow:inset 0 0 40px #0000003d,0 18px 60px #0000002e}@media (min-width:900px){.section-inner{padding:46px 36px 50px}.section-corner{width:min(720px,100%);height:auto}.section-rose{width:380px;bottom:-100px;right:-110px}.section-rose-top{width:380px;top:-100px;left:-110px;right:auto}}.scene-petals{z-index:4;opacity:.42;pointer-events:none;filter:drop-shadow(0 5px 10px #0006);width:230px;position:absolute;top:30%;right:8%}.section-lantern{opacity:.48;pointer-events:none;filter:drop-shadow(0 8px 15px #00000080);width:120px;position:absolute;top:82px;right:-35px}.section-single-rose{opacity:.34;pointer-events:none;width:90px;position:absolute;top:72px;left:-38px;transform:rotate(-12deg)}.with-panel-accent:after{content:"";z-index:-1;opacity:.16;pointer-events:none;background:url(/ornaments/panel-accent.png) 50%/100% 100% no-repeat;position:absolute;inset:18px}@media (max-width:700px){.scene-petals{width:180px;top:28%;right:1%}.section-lantern{width:105px;top:92px;right:-45px}}@media (min-width:900px){.person-ornament{opacity:.4;width:145px;height:145px}.person:first-child .person-ornament{top:-50px;right:-54px}.person:last-child .person-ornament{bottom:-50px;left:-54px}}@media (max-width:899px){.person-ornament{opacity:.32;width:108px;height:108px}.person:first-child .person-ornament{top:-34px;right:-38px}.person:last-child .person-ornament{bottom:-34px;left:-38px}}.couple{position:relative}.person{isolation:isolate;position:relative;overflow:visible}.person-ornament{z-index:1;pointer-events:none;position:absolute}.person>.portrait{z-index:2;position:relative}.person>.portrait>img{z-index:2;object-fit:cover;border-radius:50%/24%;width:100%;height:100%;display:block;position:relative}.person:first-child>.person-ornament{width:150px;height:150px;inset:50% auto auto 50%;transform:translate(52px,-112px)rotate(-7deg)}.person:last-child>.person-ornament{width:150px;height:150px;inset:50% auto auto 50%;transform:translate(-202px,38px)rotate(7deg)}@media (max-width:899px){.person:first-child>.person-ornament{width:132px;height:132px;transform:translate(42px,-98px)rotate(-7deg)}.person:last-child>.person-ornament{width:132px;height:132px;transform:translate(-174px,28px)rotate(7deg)}}.opening-emblem,.divider,.scene-emblem,.scene-roses,.center-emblem,.section-rose,.section-rose-top,.section-corner,.section-divider,.section-lantern,.section-single-rose,.person-ornament,.closing-rose{z-index:30;pointer-events:none}.person-ornament{z-index:10}.person>.portrait{z-index:20}.person>.portrait>img{z-index:21}.person h3,.person p{z-index:5}.section-rose,.section-rose-top,.section-corner{z-index:30}.section-inner>.section-divider,.section-inner>.section-lantern,.section-inner>.section-single-rose{z-index:35}.scene-roses{z-index:25}.scene-emblem{z-index:24}.center-emblem{z-index:30;position:relative}.opening-emblem{z-index:20}.divider{z-index:20;position:relative}.closing-rose{z-index:20}.hero-scene .scene-content,.scene-content[data-content]{z-index:40}.closing .closing-copy{z-index:100;isolation:isolate;position:relative}.section-scene>.section-ornament-layer{z-index:100;pointer-events:none;isolation:isolate;position:absolute;inset:0}.section-ornament-layer .section-rose,.section-ornament-layer .section-rose-top,.section-ornament-layer .section-corner,.section-ornament-layer .section-lantern,.section-ornament-layer .section-single-rose{z-index:101}.section-ornament-layer .section-rose-top{top:-70px;left:-90px;right:auto}.section-ornament-layer .section-rose{bottom:-65px}.section-ornament-layer .section-corner{top:34px}.section-ornament-layer .section-lantern,.section-ornament-layer .section-single-rose{width:min(520px,100% - 36px);height:0;left:50%;transform:translate(-50%)}.section-ornament-layer .section-lantern{object-fit:contain;object-position:right top;width:min(520px,100% - 36px);height:auto;padding-right:0;top:0;left:50%;right:auto;transform:translate(-50%)}.section-ornament-layer .section-single-rose{object-fit:contain;object-position:left top;width:min(520px,100% - 36px);height:auto;top:72px;left:50%;transform:translate(-50%)}.section-ornament-layer .section-lantern{clip-path:inset(0)}@media (min-width:900px){.section-ornament-layer .section-rose-top{top:-100px;left:-110px;right:auto}.section-ornament-layer .section-rose{bottom:-100px}.section-ornament-layer .section-corner{width:min(620px,100% - 60px);top:46px}.section-ornament-layer .section-lantern,.section-ornament-layer .section-single-rose{width:min(620px,100% - 60px)}.section-ornament-layer .section-lantern{top:46px}}.section-scene>.section-ornament-layer{--section-panel-width:min(520px,calc(100% - 36px))}.section-ornament-layer .section-lantern{top:34px;right:calc((100% - var(--section-panel-width))/2 - 35px);object-fit:contain;opacity:.48;filter:drop-shadow(0 8px 15px #00000080);width:120px;height:auto;position:absolute;left:auto;transform:none}.section-ornament-layer .section-single-rose{top:72px;left:calc((100% - var(--section-panel-width))/2 - 38px);object-fit:contain;opacity:.34;width:90px;height:auto;position:absolute;right:auto;transform:rotate(-12deg)}@media (max-width:700px){.section-ornament-layer .section-lantern{top:30px;right:calc((100% - var(--section-panel-width))/2 - 45px);width:105px}}@media (min-width:900px){.section-scene>.section-ornament-layer{--section-panel-width:min(620px,calc(100% - 60px))}}.section-ornament-layer .section-corner,.section-ornament-layer .section-lantern{z-index:101;top:118px!important}@media (min-width:700px){.section-ornament-layer .section-corner,.section-ornament-layer .section-lantern{top:122px!important}}.section-scene>.section-ornament-layer .section-corner{pointer-events:none;z-index:101!important;width:min(520px,100% - 36px)!important;height:auto!important;position:absolute!important;top:80px!important;left:50%!important;right:auto!important;transform:translate(-50%)!important}@media (min-width:900px){.section-scene>.section-ornament-layer .section-corner{width:min(620px,100% - 60px)!important;top:110px!important}}.section-scene{isolation:isolate;position:relative;overflow:hidden}.section-scene>.section-inner{z-index:3;position:relative}.section-scene>.section-ornament-layer{pointer-events:none;isolation:isolate;position:absolute;inset:0;z-index:50!important}.section-scene>.section-ornament-layer>img{pointer-events:none;position:absolute;z-index:51!important}.section-scene>.section-ornament-layer>.section-rose-top{top:-70px!important;left:-90px!important;right:auto!important}.section-scene>.section-ornament-layer>.section-rose{bottom:-65px!important}.section-scene>.section-ornament-layer>.section-corner{z-index:52!important;top:80px!important}.section-scene>.section-ornament-layer>.section-lantern,.section-scene>.section-ornament-layer>.section-single-rose{z-index:51!important}@media (min-width:900px){.section-scene>.section-ornament-layer>.section-rose-top{top:-100px!important;left:-110px!important;right:auto!important}.section-scene>.section-ornament-layer>.section-rose{bottom:-100px!important}.section-scene>.section-ornament-layer>.section-corner{top:110px!important}}.hero-scene .scene-content,.scene-content[data-content]{position:absolute;z-index:100!important}.closing .closing-copy{position:relative;z-index:100!important}.section-scene>.section-ornament-layer>.section-lantern{top:50%!important;bottom:auto!important;right:calc((100% - var(--section-panel-width))/2 - 35px)!important;z-index:51!important;width:120px!important;height:auto!important;left:auto!important;transform:translateY(-50%)!important}@media (max-width:700px){.section-scene>.section-ornament-layer>.section-lantern{top:50%!important;right:calc((100% - var(--section-panel-width))/2 - 45px)!important;width:105px!important;transform:translateY(-50%)!important}}@media (min-width:900px){.section-scene>.section-ornament-layer>.section-lantern{top:50%!important;right:calc((100% - var(--section-panel-width))/2 - 35px)!important;width:120px!important;transform:translateY(-50%)!important}}.section-scene>.section-ornament-layer>.section-single-rose{top:50%!important;bottom:auto!important;left:calc((100% - var(--section-panel-width))/2 - 38px)!important;z-index:10001!important;width:90px!important;height:auto!important;right:auto!important;transform:translateY(-50%)rotate(-12deg)!important}@media (max-width:700px){.section-scene>.section-ornament-layer>.section-single-rose{left:calc((100% - var(--section-panel-width))/2 - 42px)!important;width:78px!important}}@media (min-width:900px){.section-scene>.section-ornament-layer>.section-single-rose{left:calc((100% - var(--section-panel-width))/2 - 38px)!important;width:90px!important}}html{scroll-behavior:smooth;overscroll-behavior-y:none}body{overflow-x:hidden}.scene,.section-scene{backface-visibility:hidden}.scene-content,.section-inner,.section-ornament-layer,.section-divider{will-change:transform, opacity}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.scene *,.section-scene *{transition:none!important;animation:none!important}}.hero-scene .scene-content{z-index:5;top:55%;bottom:auto;transform:translate(-50%)}.hero-scene .hero-quote{z-index:4;text-align:center;color:#f4e2b8e6;pointer-events:none;width:min(620px,82%);position:absolute;top:23%;left:50%;transform:translate(-50%)}.hero-scene .hero-quote p{letter-spacing:.01em;text-shadow:0 2px 16px #00000080;margin:0 auto 10px;font-family:Cormorant Garamond,serif;font-size:clamp(15px,2.15vw,20px);font-weight:400;line-height:1.55}.hero-scene .hero-quote span{letter-spacing:.14em;color:var(--gold-hi);opacity:.92;font-family:Cormorant Garamond,serif;font-size:clamp(12px,1.55vw,15px);display:block}@media (max-width:600px){.hero-scene .hero-quote{width:86%;top:17%}.hero-scene .hero-quote p{font-size:13px;line-height:1.48}.hero-scene .hero-quote span{letter-spacing:.11em;font-size:10px}.hero-scene .scene-content{width:90%;top:58%}}@media (min-width:900px){.hero-scene .hero-quote{width:min(680px,68%);top:22%}.hero-scene .scene-content{top:55%}}.hero-scene .scene-content h2{letter-spacing:.04em;text-shadow:0 3px 22px #0000006b;margin:8px 0 12px;font-size:clamp(72px,11vw,108px);font-weight:500;line-height:.78}.hero-scene .scene-content h2 span{vertical-align:.16em;opacity:.9;margin:0 .16em;font-size:.42em}@media (max-width:600px){.hero-scene .scene-content h2{letter-spacing:.03em;margin:7px 0 11px;font-size:76px}.hero-scene .scene-content h2 span{margin:0 .13em;font-size:.38em}}@media (max-width:600px){.hero-scene .scene-content{top:60%}}@media (min-width:900px){.hero-scene .scene-content{top:60%}}.hero-scene .scene-content h2{margin-top:0}.hero-scene .scene-content{top:80%;bottom:auto}@media (max-width:600px){.hero-scene .scene-content{top:80%}}@media (min-width:900px){.hero-scene .scene-content{top:80%}}.center-emblem{object-fit:contain;opacity:.98;filter:drop-shadow(0 8px 16px #0000006b);width:108px;height:108px}@media (max-width:600px){.center-emblem{width:96px;height:96px}}.couple-ampersand{z-index:4;width:92px;height:92px;color:var(--gold-hi);text-shadow:0 2px 10px #00000073,0 0 18px #d7b66d2e;flex:0 0 92px;justify-content:center;align-items:center;margin:0 -2px;font-family:Cormorant Garamond,Times New Roman,serif;font-size:72px;font-weight:400;line-height:1;display:flex;position:relative}.couple-ampersand:before,.couple-ampersand:after{content:"";background:linear-gradient(90deg,#0000,#d7b66db8);width:34px;height:1px;position:absolute;top:50%}.couple-ampersand:before{right:calc(100% - 8px)}.couple-ampersand:after{left:calc(100% - 8px);transform:rotate(180deg)}@media (max-width:600px){.couple-ampersand{flex-basis:62px;width:62px;height:62px;margin:0;font-size:52px}.couple-ampersand:before,.couple-ampersand:after{width:22px}}.couple-ampersand{object-fit:contain;filter:drop-shadow(0 8px 14px #00000061);opacity:.98;flex:0 0 112px;width:112px;height:112px;margin:0 -4px;display:block}@media (max-width:600px){.couple-ampersand{flex-basis:82px;width:82px;height:82px;margin:0}}.couple{grid-template-columns:1fr}.couple>.couple-ampersand{object-fit:contain;grid-column:1;place-self:center;width:112px;height:112px;margin:0}@media (min-width:900px){.couple{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:center;column-gap:16px}.couple>.couple-ampersand{grid-area:1/2;place-self:center}.couple>.person:first-child{grid-area:1/1}.couple>.person:last-child{grid-area:1/3}}@media (max-width:899px){.couple{grid-template-columns:1fr;row-gap:20px}.couple>.couple-ampersand{grid-area:auto/1;place-self:center;width:88px;height:88px}}.experience .scene:not(.closing) .reveal-item,.experience .scene:not(.closing) .section-divider,.experience .scene:not(.closing) .section-inner>h2,.experience .scene:not(.closing) .story-title,.experience .scene:not(.closing) .scene-content>h2,.experience .scene:not(.closing) .scene-content>p,.experience .scene:not(.closing) .hero-quote,.experience .scene:not(.closing) .scene-roses,.experience .scene:not(.closing) .section-ornament-layer>img,.experience .scene:not(.closing) .story-ornament{visibility:hidden;will-change:transform,opacity,filter}.experience .section-ornament-layer>img{will-change:transform,opacity,filter}.experience .section-inner{opacity:1}.experience,.experience .scene,.experience .section-scene{overflow-x:hidden}@media (prefers-reduced-motion:reduce){.experience .scene:not(.closing) .reveal-item,.experience .scene:not(.closing) .section-divider,.experience .scene:not(.closing) .section-inner>h2,.experience .scene:not(.closing) .story-title,.experience .scene:not(.closing) .scene-content>h2,.experience .scene:not(.closing) .scene-content>p,.experience .scene:not(.closing) .hero-quote,.experience .scene:not(.closing) .scene-roses,.experience .scene:not(.closing) .section-ornament-layer>img,.experience .scene:not(.closing) .story-ornament{visibility:visible;opacity:1!important;filter:none!important;transform:none!important}}.closing-copy{text-align:center;color:#fff8eceb;width:min(620px,100% - 44px);padding:42px 28px 46px}.closing-copy .script{letter-spacing:.02em;color:var(--gold-hi);text-shadow:0 3px 18px #00000073;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(38px,7vw,58px);font-style:italic;font-weight:500;line-height:1}.closing-divider span{background:linear-gradient(90deg,#0000,#d7b66dbf);flex:1;height:1px}.closing-divider span:last-child{background:linear-gradient(90deg,#d7b66dbf,#0000)}.closing-divider b{color:var(--gold-hi);font-size:11px;font-weight:400}.closing-copy .closing-message{letter-spacing:.015em;color:#fff8ece6;text-shadow:0 2px 12px #00000080;max-width:520px;margin:0 auto;font-family:Cormorant Garamond,serif;font-size:clamp(17px,2.5vw,21px);line-height:1.7}.closing-copy .wedding-greeting{letter-spacing:.025em;color:var(--gold-hi);text-shadow:0 2px 12px #00000073;margin:25px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(15px,2.1vw,19px);font-weight:500;line-height:1.45}.closing-copy h2{letter-spacing:.14em;color:var(--gold-hi);text-shadow:0 3px 18px #00000080;margin:19px 0 5px;font-family:Cormorant Garamond,serif;font-size:clamp(31px,5vw,48px);font-weight:500;line-height:1.05}.closing-copy h2 span{letter-spacing:0;margin:0 .12em;font-style:italic;font-weight:400;display:inline-block}.closing-copy .closing-date{letter-spacing:.16em;color:#fff8ecd1;font-family:Cormorant Garamond,serif;font-size:15px;display:block}@media (max-width:600px){.closing{min-height:76svh}.closing-copy{width:min(100% - 30px,520px);padding:34px 18px 42px}.closing-copy .closing-message{line-height:1.6}.closing-rose{width:235px;bottom:-35px;right:-92px}}.rsvp-status{text-align:center;margin:.8rem 0 0;font-size:.82rem;line-height:1.6}.rsvp-status.success,.rsvp-status.error{opacity:.9}.form button:disabled{opacity:.6;cursor:wait}.wish-attendance{opacity:.58;letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem;font-size:.72rem;display:block}.wishes-empty{text-align:center;opacity:.7;line-height:1.7}.event-map-button{border:1px solid var(--gold);color:var(--gold-hi);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-family:inherit;font-size:9px;line-height:normal;text-decoration:none;display:inline-flex}.event-map-button:hover,.event-map-button:focus-visible{color:var(--gold-hi);text-decoration:none}.save-date-scene{z-index:3;text-align:center;width:min(520px,100%);margin:34px auto 0;padding:8px 12px 6px;position:relative}.save-date-title{color:var(--gold-hi);letter-spacing:.18em;margin:0;font-family:Nautica,serif;font-size:25px;font-weight:500}.save-date-divider{color:var(--gold);opacity:.8;margin:10px 0 15px;font-size:14px;line-height:1}.save-date-countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(390px,94%);margin:0 auto 20px;display:grid}.save-date-counter{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2a071257;border:1px solid #d7b66d42;border-radius:9px;min-width:0;padding:9px 5px 8px;box-shadow:inset 0 0 18px #00000024}.save-date-counter strong{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:25px;font-weight:500;line-height:1;display:block}.save-date-counter span{color:#f4e2b8ad;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:8px;display:block}.save-date-button{border:1px solid var(--gold);color:var(--gold-hi);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-family:inherit;font-size:10px;line-height:normal;text-decoration:none;transition:background .25s,transform .25s;display:inline-flex}.save-date-button:hover,.save-date-button:focus-visible{color:var(--gold-hi);background:#d7b66d14;text-decoration:none;transform:translateY(-1px)}@media (max-width:600px){.save-date-scene{margin-top:28px;padding-inline:4px}.save-date-title{letter-spacing:.15em;font-size:22px}.save-date-countdown{gap:5px;width:min(330px,96%);margin-bottom:18px}.save-date-counter{border-radius:7px;padding:8px 3px 7px}.save-date-counter strong{font-size:21px}.save-date-counter span{margin-top:3px;font-size:7px}}.gift-intro{text-align:center;width:min(480px,100%);color:var(--muted);margin:0 auto 20px;font-family:Cormorant Garamond,serif;font-size:15px;line-height:1.65}.gift-reveal-button{border:1px solid var(--gold);color:var(--gold-hi);letter-spacing:.08em;cursor:pointer;background:#d7b66d0f;border-radius:999px;margin:8px auto 0;padding:10px 18px;font-family:Cormorant Garamond,serif;font-size:12px;transition:background .25s,transform .25s,box-shadow .25s;display:block}.gift-reveal-button:hover{background:#d7b66d1f;transform:translateY(-1px);box-shadow:0 5px 18px #0000002e}.gift-details{gap:10px;animation:.55s both giftDetailsIn;display:grid}.gift-detail-item{visibility:visible;opacity:1;filter:none;animation:none;transform:none}.gift-details .gift a{color:var(--gold-hi);font-size:11px;text-decoration:none}.gift-address{text-align:center;color:var(--muted);border-top:1px solid #d7b66d38;margin:16px 0 0;padding:14px 15px}.gift-address b{color:var(--gold-hi);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:500;display:block}.gift-address p{margin:0;font-size:11px;line-height:1.6}.gift-copy-address{border:1px solid var(--gold);color:var(--gold-hi);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:999px;margin:10px auto 0;padding:7px 14px;font-size:9px;transition:background .25s,transform .25s,box-shadow .25s;display:block}.gift-copy-address:hover{background:#d7b66d1f;transform:translateY(-1px);box-shadow:0 5px 18px #0000002e}@keyframes giftDetailsIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes giftCardIn{0%{opacity:0;filter:blur(6px);transform:translateY(24px)}to{opacity:1;filter:blur();transform:translateY(0)}}h2{font-size:38px}h2,.scene-content h2,.section-inner>h2,.story-title,.save-date-title,.closing-copy h2{font-weight:400;font-family:Nautica,serif!important}.hero-scene .scene-content h2,.closing-copy h2{font-weight:500;font-family:Cormorant Garamond,Georgia,serif!important}.hero-scene .scene-content h2 span,.closing-copy h2 span{font-family:inherit}.hero-scene .scene-photo{display:none!important}.save-date-title{letter-spacing:.01em;font-weight:400;font-size:38px!important}@media (max-width:600px){.save-date-title{letter-spacing:.01em;font-size:38px!important}}.gift-intro-break{height:10px;display:block}.closing-copy h2.closing-thanks{letter-spacing:.01em;font-style:normal;font-family:Nautica,serif!important;font-size:42px!important;font-weight:400!important}.closing-copy.reveal-group{flex-direction:column;justify-content:center;min-height:62vh;display:flex}@media (max-width:899px){.closing-copy.reveal-group{min-height:66vh}}.hero-scene{isolation:isolate;touch-action:pan-y;position:relative;overflow:clip;background:0 0!important}.hero-scene:before{content:"";z-index:0;pointer-events:none;backface-visibility:hidden;background:url(/photo/first.jpg) 50% 40%/cover no-repeat;width:100vw;height:100dvh;position:fixed;inset:0;transform:translate(0,0)}.hero-scene .scene-shade{z-index:1}.hero-scene .scene-roses{z-index:3}.hero-scene .scene-content,.hero-scene .hero-quote{z-index:5}@supports (-webkit-touch-callout:none){.hero-scene:before{background-position:50% 40%;background-size:cover;height:100dvh}}html,body{overflow-x:hidden}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent}.hero-viewport-bg{z-index:0;pointer-events:none;opacity:0;visibility:hidden;backface-visibility:visible;background:url(/photo/first.jpg) 50% 40%/cover no-repeat;width:100vw;height:100dvh;transition:opacity .35s,visibility 0s linear .35s;position:fixed;inset:0;transform:none!important}.hero-viewport-bg.is-visible{opacity:1;visibility:visible;transition:opacity .35s}.experience{z-index:1;position:relative;background:0 0!important}.hero-scene{background:0 0!important}.hero-scene:before{content:none!important;display:none!important}@supports (-webkit-touch-callout:none){.hero-viewport-bg{background-position:50% 40%;background-size:cover;height:100dvh}}.wedding-gift-panel{position:relative;overflow:hidden}.wedding-gift-panel .wedding-gift-rose{pointer-events:none;z-index:0;opacity:.72;filter:drop-shadow(0 10px 18px #00000061);transform-origin:50%;width:min(360px,92%);height:auto;position:absolute;left:50%}.wedding-gift-panel .wedding-gift-rose-top{top:-72px;transform:translate(-50%)scaleY(-1)}.wedding-gift-panel .wedding-gift-rose-bottom{bottom:-72px;transform:translate(-50%)}.wedding-gift-panel>h2,.wedding-gift-panel>.gift-intro,.wedding-gift-panel>.gift-reveal-button,.wedding-gift-panel>.gift-details{z-index:2;position:relative}@media (max-width:700px){.wedding-gift-panel .wedding-gift-rose{width:min(320px,94%)}.wedding-gift-panel .wedding-gift-rose-top{top:-58px}.wedding-gift-panel .wedding-gift-rose-bottom{bottom:-58px}}@media (min-width:900px){.wedding-gift-panel .wedding-gift-rose{width:380px}.wedding-gift-panel .wedding-gift-rose-top{top:-82px}.wedding-gift-panel .wedding-gift-rose-bottom{bottom:-82px}}.bride-groom-scene>.section-ornament-layer>.section-rose-top.left{top:-70px!important;left:-90px!important;right:auto!important;transform:scaleY(-1)!important}.bride-groom-scene>.section-ornament-layer>.section-rose-top.right{top:-70px!important;left:auto!important;right:-90px!important;transform:scale(-1)!important}.bride-groom-scene>.section-ornament-layer>.section-rose.left,.moments-scene>.section-ornament-layer>.section-rose.left{bottom:-65px!important;left:-90px!important;right:auto!important;transform:scaleX(-1)!important}.bride-groom-scene>.section-ornament-layer>.section-rose.right,.moments-scene>.section-ornament-layer>.section-rose.right{bottom:-65px!important;left:auto!important;right:-90px!important;transform:none!important}@media (min-width:900px){.bride-groom-scene>.section-ornament-layer>.section-rose-top.left{top:-100px!important;left:-110px!important}.bride-groom-scene>.section-ornament-layer>.section-rose-top.right{top:-100px!important;right:-110px!important}.bride-groom-scene>.section-ornament-layer>.section-rose.left,.moments-scene>.section-ornament-layer>.section-rose.left{bottom:-100px!important;left:-110px!important}.bride-groom-scene>.section-ornament-layer>.section-rose.right,.moments-scene>.section-ornament-layer>.section-rose.right{bottom:-100px!important;right:-110px!important}}.closing-divider{justify-content:center;align-items:center;width:120px;height:14px;margin:12px auto 18px;display:flex;position:relative}.closing-divider:before{content:"";background:linear-gradient(90deg,#0000,#dcb46ee6 18% 82%,#0000);width:100%;height:1px;display:block}.closing-divider:after{content:"◆";color:#dcb46e;background:#0f0308;padding:0 7px;font-size:8px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.couple-closing-divider{margin-top:5px;margin-bottom:5px}.closing-scene-divider{opacity:.82;justify-content:center;align-items:center;gap:12px;width:min(210px,60%);margin:18px auto 22px;display:flex}.admin-shell{min-height:100svh;color:var(--text);isolation:isolate;background:radial-gradient(circle at 50% 0,#350c18 0,#19050c 34%,#0d0307 78%);position:relative;overflow:hidden}.admin-shell:before{content:"";opacity:.12;pointer-events:none;z-index:-1;background:url(/ornaments/gold-dust.png) 50%/cover no-repeat;position:fixed;inset:0}.admin-container{z-index:5;width:min(1120px,100% - 32px);margin:auto;padding:38px 0 60px;position:relative}.admin-header{border-bottom:1px solid #d7b66d2e;justify-content:space-between;align-items:flex-end;gap:24px;padding:10px 0 28px;display:flex}.admin-kicker{letter-spacing:.24em;color:var(--gold);font-family:Cormorant Garamond,serif;font-size:11px}.admin-header h1{color:var(--gold-hi);margin:8px 0 10px;font-family:Nautica,Cormorant Garamond,serif;font-size:clamp(44px,6vw,66px);font-weight:400;line-height:.9}.admin-header p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.admin-header-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-ghost{color:var(--gold-hi);letter-spacing:.08em;background:#14040ab8;border:1px solid #d7b66d66;border-radius:999px;padding:9px 15px;font-size:10px}.admin-ghost:hover{background:#3a0e1be6}.admin-stats{grid-template-columns:repeat(4,1fr);gap:10px;padding:20px 0;display:grid}.admin-stat{background:linear-gradient(145deg,#310b17b8,#11040ad1);border:1px solid #d7b66d33;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;box-shadow:inset 0 0 24px #0000002e}.admin-stat span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.admin-stat strong{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:30px;font-weight:500}.admin-stat.review{border-color:#d7b66d7a}.admin-stat.approve{border-color:#71b48059}.admin-stat.denny{border-color:#be5a5a4d}.admin-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12040ab3;border:1px solid #d7b66d26;border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin:4px 0 18px;padding:10px;display:flex}.admin-tabs{flex-wrap:wrap;gap:4px;display:flex}.admin-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 11px;font-size:10px}.admin-tabs button:hover{color:var(--gold-hi)}.admin-tabs button.active{color:var(--gold-hi);background:#d7b66d1c;box-shadow:inset 0 0 0 1px #d7b66d29}.admin-tabs span{opacity:.6;margin-left:4px}.admin-search{width:260px;color:var(--text);background:#14040a;border:1px solid #d7b66d40;border-radius:999px;outline:none;padding:10px 14px;font-size:11px}.admin-search:focus{border-color:var(--gold)}.admin-list{gap:10px;display:grid}.admin-wish-card{background:linear-gradient(145deg,#270a13c2,#0d0307eb);border:1px solid #d7b66d33;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:17px 18px;transition:border-color .2s,transform .2s;display:grid;box-shadow:0 12px 32px #0000002e}.admin-wish-card:hover{border-color:#d7b66d66;transform:translateY(-1px)}.admin-wish-top{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.admin-wish-top h2{color:var(--gold-hi);margin:0 0 2px;font-family:Cormorant Garamond,serif;font-size:25px;font-weight:500}.admin-date{color:#88786e;font-size:9px}.admin-meta{color:#a99687;gap:7px;margin:10px 0 7px;font-size:9px;display:flex}.admin-message{color:var(--text);white-space:pre-wrap;word-break:break-word;max-width:760px;margin:0;font-size:12px;line-height:1.65}.admin-message em{color:var(--muted)}.admin-status{letter-spacing:.1em;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;padding:6px 9px;font-size:8px;display:inline-flex}.admin-status.review{color:var(--gold-hi);background:#d7b66d12;border-color:#d7b66d59}.admin-status.approve{color:#b8d9bf;background:#71b48012;border-color:#71b48059}.admin-status.denny{color:#dfabab;background:#be5a5a12;border-color:#be5a5a59}.admin-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:230px;display:flex}.admin-actions button{letter-spacing:.06em;background:0 0;border-radius:8px;padding:9px 11px;font-size:9px}.admin-approve{color:#b8d9bf;border:1px solid #71b48073}.admin-approve:hover{background:#71b4801a}.admin-deny{color:#dfabab;border:1px solid #be5a5a66}.admin-deny:hover{background:#be5a5a1a}.admin-reset{width:100%;color:var(--muted);border:1px solid #d7b66d38}.admin-actions button:disabled{opacity:.45;cursor:wait}.admin-alert{color:#e4b7b7;background:#5a102040;border:1px solid #be5a5a59;border-radius:9px;padding:10px 12px;font-size:10px;line-height:1.5}.admin-alert-wide{margin-bottom:12px}.admin-empty{min-height:170px;color:var(--muted);text-align:center;border:1px dashed #d7b66d33;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.admin-empty strong{color:var(--gold-hi);font-family:Cormorant Garamond,serif;font-size:24px;font-weight:500}.admin-footer{color:#75655c;letter-spacing:.2em;justify-content:center;align-items:center;gap:10px;margin-top:45px;font-size:8px;display:flex;position:relative}.admin-footer img{object-fit:contain;opacity:.55;width:34px;height:34px}.admin-floral{z-index:0;pointer-events:none;opacity:.23;filter:drop-shadow(0 12px 24px #00000080);width:270px;position:fixed}.admin-floral.left{top:-30px;left:-105px}.admin-floral.right{bottom:-30px;right:-105px;transform:scaleX(-1)}.admin-corner{z-index:1;pointer-events:none;opacity:.16;width:280px;position:fixed}.admin-corner.top{top:-75px;right:-85px}.admin-corner.bottom{bottom:-75px;left:-85px;transform:rotate(180deg)}.admin-loading{min-height:100svh;color:var(--gold);letter-spacing:.25em;background:#0d0307;place-items:center;font-size:10px;display:grid}.admin-login-shell{place-items:center;padding:24px;display:grid}.admin-login-card{z-index:5;text-align:center;background:linear-gradient(145deg,#270a13eb,#0d0307f5);border:1px solid #d7b66d47;border-radius:18px;width:min(440px,100%);padding:42px 32px 30px;position:relative;box-shadow:0 30px 80px #00000073,inset 0 0 40px #00000038}.admin-emblem{object-fit:contain;opacity:.8;filter:drop-shadow(0 5px 14px #000000a6);width:58px;height:58px}.admin-login-card h1{color:var(--gold-hi);margin:9px 0 10px;font-family:Nautica,Cormorant Garamond,serif;font-size:50px;font-weight:400;line-height:.95}.admin-divider{opacity:.8;width:190px;margin:0 auto 12px;display:block}.admin-login-card>p{color:var(--muted);max-width:330px;margin:0 auto 24px;font-size:11px;line-height:1.65}.admin-login-form{text-align:left;gap:8px;display:grid}.admin-login-form label{color:var(--gold);letter-spacing:.08em;font-size:10px}.admin-login-form input{width:100%;color:var(--text);background:#12040a;border:1px solid #d7b66d47;border-radius:9px;outline:none;padding:12px}.admin-login-form input:focus{border-color:var(--gold)}.admin-primary{border:1px solid var(--gold);color:var(--gold-hi);letter-spacing:.14em;background:linear-gradient(#4a1221e6,#230812e6);border-radius:999px;margin-top:4px;padding:12px;font-size:10px}.admin-primary:disabled{opacity:.5;cursor:wait}.admin-back{color:#9c8c80;margin-top:20px;font-size:9px;text-decoration:none;display:inline-block}.admin-back:hover{color:var(--gold-hi)}@media (max-width:760px){.admin-container{width:min(100% - 22px,1120px);padding-top:22px}.admin-header{flex-direction:column;align-items:flex-start}.admin-header-actions{width:100%}.admin-header-actions button{flex:1}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search{width:100%}.admin-wish-card{grid-template-columns:1fr;gap:14px}.admin-actions{justify-content:flex-start;max-width:none}.admin-actions button{flex:1}.admin-reset{width:auto}.admin-floral{opacity:.18;width:200px}.admin-corner{width:200px}.admin-login-card{padding:34px 22px 26px}.admin-wish-top{gap:8px}.admin-wish-top h2{font-size:22px}}.admin-main-tabs{background:#12040ab8;border:1px solid #d7b66d26;border-radius:13px;gap:8px;margin:22px 0 18px;padding:6px;display:flex}.admin-main-tabs button{color:var(--muted);letter-spacing:.08em;background:0 0;border:0;border-radius:9px;flex:1;padding:12px 14px;font-size:10px}.admin-main-tabs button.active{color:var(--gold-hi);background:linear-gradient(#5814289e,#260813b8);box-shadow:inset 0 0 0 1px #d7b66d2e}.admin-main-tabs span{opacity:.7;margin-left:5px}.admin-section-kicker{color:var(--gold);letter-spacing:.18em;font-size:9px}.admin-generator{background:linear-gradient(145deg,#300b17bf,#0f0308eb);border:1px solid #d7b66d33;border-radius:15px;grid-template-columns:1fr minmax(420px,1.2fr);align-items:end;gap:24px;margin:4px 0 18px;padding:20px;display:grid;box-shadow:0 18px 40px #00000029}.admin-generator h2{color:var(--gold-hi);margin:6px 0;font-family:Cormorant Garamond,serif;font-size:27px;font-weight:500}.admin-generator p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.admin-guest-form{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.admin-guest-form input{min-width:0;color:var(--text);background:#12040a;border:1px solid #d7b66d40;border-radius:9px;outline:none;padding:11px 12px;font-size:11px}.admin-guest-form input:focus{border-color:var(--gold)}.admin-guest-form .admin-primary{white-space:nowrap;margin:0}.admin-guest-list{gap:10px;display:grid}.admin-guest-card{background:linear-gradient(145deg,#270a13c7,#0d0307f0);border:1px solid #d7b66d33;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:17px 18px;display:grid;box-shadow:0 12px 32px #0000002e}.admin-guest-name{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-guest-name h2{color:var(--gold-hi);margin:0;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:500}.admin-guest-phone{color:var(--text);margin-top:6px;font-size:11px}.admin-guest-url{color:#9c8878;word-break:break-all;margin-top:7px;font-size:9px}.admin-guest-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:390px;display:flex}.admin-guest-actions button,.admin-guest-actions a{letter-spacing:.05em;white-space:nowrap;background:0 0;border-radius:8px;padding:9px 10px;font-size:8px;text-decoration:none}.admin-wa{color:#b8d9bf;border:1px solid #71b48073}.admin-wa:hover{background:#71b4801a}.admin-copy{color:var(--gold-hi);border:1px solid #d7b66d40}.admin-copy:hover{background:#d7b66d14}.admin-delete{color:#dfabab;border:1px solid #be5a5a66}.admin-delete:hover{background:#be5a5a1a}.admin-alert.success{color:#b8d9bf;background:#71b48012;border-color:#71b48059}.rsvp-status.error{color:#e4b7b7;background:#5a102038;border:1px solid #be5a5a59;border-radius:9px;padding:10px;font-size:10px;line-height:1.5}.form input:disabled{opacity:.55;cursor:not-allowed}@media (max-width:900px){.admin-generator{grid-template-columns:1fr}.admin-guest-form{grid-template-columns:1fr 1fr}.admin-guest-form .admin-primary{grid-column:1/-1}.admin-guest-card{grid-template-columns:1fr}.admin-guest-actions{justify-content:flex-start;max-width:none}}@media (max-width:560px){.admin-main-tabs{flex-direction:column}.admin-guest-form{grid-template-columns:1fr}.admin-guest-actions button,.admin-guest-actions a{flex:1}.admin-generator{padding:16px}.admin-guest-card{padding:14px}}
