@font-face{font-family:instrumentSans;src:url(../media/InstrumentSans_latin-s.p.0pz0x0eczp58u.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:instrumentSans;src:url(../media/InstrumentSans_latin_ext-s.p.06cvo47x4w1en.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:instrumentSans;src:url(../media/InstrumentSans_latin_italic-s.p.0njo-ccz0qsxo.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:italic}@font-face{font-family:instrumentSans Fallback;src:local(Arial);ascent-override:97.0%;descent-override:25.0%;line-gap-override:0.0%;size-adjust:100.0%}.instrumentsans_8794170b-module__IpoIIG__className{font-family:instrumentSans,instrumentSans Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}.instrumentsans_8794170b-module__IpoIIG__variable{--font-sans:"instrumentSans", "instrumentSans Fallback", -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif}
:root{--plum:#7b1e5b;--plum-dark:#35172b;--lavender:#b58ac8;--ivory:#fff6e7;--gold:#d4af37;--muted:#7b6372;--ease:cubic-bezier(.4,0,.2,1);--sans:var(--font-sans),"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}h1,h2,h3,.gate-content h1,.welcome-copy h1,.section-heading h2,.rsvp-section h2{text-wrap:balance}p,li,blockquote,figcaption{text-wrap:pretty}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--plum-dark);font-family:var(--sans);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;cursor:pointer}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-transition{animation-duration:.5s;animation-timing-function:var(--ease);animation-fill-mode:both}.pt-fade{animation-name:ptFade}.pt-slide-up{animation-name:ptSlideUp}.pt-slide-left{animation-name:ptSlideLeft}.pt-slide-right{animation-name:ptSlideRight}.pt-push{animation-name:ptPush}.pt-scale{animation-name:ptScale}@keyframes ptFade{0%{opacity:0}to{opacity:1}}@keyframes ptSlideUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes ptSlideLeft{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@keyframes ptSlideRight{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}@keyframes ptPush{0%{opacity:0;transform:translateY(-16px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ptScale{0%{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}.reveal{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transform:translateY(28px)}.reveal-visible{opacity:1;transform:translateY(0)}.button-spinner{vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;margin-right:8px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.invitation-gate{background:#fff8ed;grid-template-rows:auto 1fr auto;min-height:100vh;padding:42px 54px;display:grid;position:relative;overflow:hidden}.paper-texture{opacity:.1;background-image:radial-gradient(var(--plum) .55px,transparent .55px);pointer-events:none;background-size:8px 8px;position:absolute;inset:0}.gate-header,.gate-footer{z-index:3;letter-spacing:.2em;text-transform:uppercase;color:#745c6c;justify-content:space-between;align-items:center;font-size:11px;display:flex;position:relative}.edition{align-items:center;gap:14px;display:flex}.edition:before{content:"";background:var(--gold);width:32px;height:1px}.gate-content{z-index:3;align-self:center;width:min(650px,58vw);margin-left:7%;position:relative}.reading-line{background:linear-gradient(var(--gold),var(--lavender) 72%,transparent);width:1px;position:absolute;top:3px;bottom:5px;left:-58px}.reading-line:before{content:"";border:1px solid var(--gold);background:#fff8ed;border-radius:50%;width:9px;height:9px;position:absolute;top:0;left:-4px}.reading-line:after{content:"";background:var(--plum);border-radius:50%;width:7px;height:7px;position:absolute;bottom:12px;left:-3px}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:#8c659e;margin:0 0 25px!important;font-size:12px!important}.gate-content h1{letter-spacing:-.06em;margin:0 0 28px;font-family:Georgia,serif;font-size:clamp(56px,6vw,82px);font-weight:400;line-height:.96}.gate-content h1 span{color:#9b71ac;font-size:.72em}.gate-copy{color:#705767;max-width:620px;margin:0 0 27px;font-family:Georgia,serif;font-size:20px;line-height:1.55}.date-row{align-items:center;gap:20px;margin-bottom:25px;display:flex}.date-row strong{color:var(--plum);font-family:Georgia,serif;font-size:19px;font-weight:400}.date-row i{background:var(--gold);width:34px;height:1px}.date-row span{letter-spacing:.18em;text-transform:uppercase;font-size:11px}.invite-form>label{letter-spacing:.18em;text-transform:uppercase;color:#785e6e;margin-bottom:8px;font-size:11px;display:block}.invite-form>div{gap:10px;display:flex}.invite-form input{width:210px;color:var(--plum-dark);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fffdf8;border:1px solid #d8c5d1;border-radius:999px;outline:none;padding:14px 18px}.invite-form input:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #b58ac825}.invite-form button,.primary-action,.rsvp-section button{background:var(--plum);color:var(--ivory);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease);border:0;border-radius:999px;padding:16px 28px;font-size:11px}.invite-form button:hover:not(:disabled),.primary-action:hover,.rsvp-section button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 32px #7b1e5b35}.invite-form button:active:not(:disabled),.rsvp-section button:active:not(:disabled){transform:translateY(0)scale(.98)}.invite-form button:disabled,.rsvp-section button:disabled{opacity:.65;cursor:not-allowed;transform:none}.invite-form [role=status]{color:#a02c65;margin:8px 0 0;font-size:13px}.lavender-arch{z-index:2;background:linear-gradient(160deg,#dbc8e4,var(--lavender));border-radius:150px 150px 28px 28px;place-items:center;width:18%;height:58%;display:grid;position:absolute;top:21%;right:7.5%;box-shadow:0 24px 65px #70435e1d}.lavender-arch:before{content:"";border:1px solid #fff9;border-radius:132px 132px 20px 20px;position:absolute;inset:20px}.lavender-arch:after{content:"";border:1px solid var(--gold);border-radius:50%;width:98px;height:98px;position:absolute;bottom:28px;right:-26px}.lavender-arch div{text-align:center;color:#fffaf1;z-index:2;position:relative}.lavender-arch strong{letter-spacing:-.055em;font-family:Georgia,serif;font-size:48px;font-weight:400;display:block}.lavender-arch span{letter-spacing:.2em;margin-top:12px;font-size:10px;display:block}.gate-footer span{text-transform:none;letter-spacing:0;font-family:Georgia,serif;font-size:14px}.gate-footer a{border-bottom:1px solid var(--gold);transition:color .2s var(--ease),border-color .2s var(--ease);padding-bottom:4px}.gate-footer a:hover{color:var(--plum)}.guest-site{background:var(--ivory);overflow-x:clip}.guest-nav{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff8edf2;border-bottom:1px solid #7b1e5b10;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex;position:sticky;top:0}.guest-nav .brand{color:var(--plum);transition:letter-spacing .25s var(--ease);font-family:Georgia,serif;font-size:26px}.guest-nav .brand:hover{letter-spacing:.02em}.nav-links{gap:30px;display:flex}.nav-links a{letter-spacing:.16em;text-transform:uppercase;transition:color .2s var(--ease);font-size:11px;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .25s var(--ease);position:absolute;bottom:-6px;left:0}.nav-links a:hover{color:var(--plum)}.nav-links a:hover:after{width:100%}.nav-toggle{cursor:pointer;width:42px;height:42px;transition:background-color .2s var(--ease),border-color .2s var(--ease);background:#fffdf8;border:1px solid #7b1e5b1f;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:none;position:relative}.nav-toggle span{background:var(--plum);width:18px;height:1.5px;transition:transform .3s var(--ease),opacity .2s var(--ease);border-radius:2px;display:block}.nav-toggle.is-open{background:var(--plum);border-color:var(--plum)}.nav-toggle.is-open span{background:var(--ivory)}.nav-toggle.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-drawer,.nav-drawer[hidden]{display:none}.welcome-section{background:radial-gradient(ellipse at 78% 34%,#f6ecf8 0,transparent 58%),var(--ivory);grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;min-height:calc(100vh - 76px);padding:clamp(20px,3vw,44px) 8vw clamp(48px,6vw,84px);display:grid;position:relative;overflow:hidden}.welcome-copy{z-index:2;align-self:center;max-width:660px;position:relative;transform:translateY(-168px)}@media (max-height:900px){.welcome-copy{transform:translateY(-96px)}}@media (max-height:800px){.welcome-copy{transform:translateY(-40px)}}@media (max-height:720px){.welcome-copy{transform:none}}.hello{color:#80687a;font-family:Georgia,serif}.welcome-copy h1,.section-heading h2,.rsvp-section h2{letter-spacing:-.055em;font-family:Georgia,serif;font-weight:400}.welcome-copy h1{animation:heroIn 1s var(--ease) both .1s;margin:20px 0 22px;font-size:clamp(56px,6.6vw,94px);line-height:.94}.welcome-lede{color:#6f5966;max-width:34ch;animation:heroIn 1s var(--ease) both .2s;margin:0 0 30px;font-family:Georgia,serif;font-size:clamp(19px,1.5vw,22px);line-height:1.55}.eyebrow-spray{width:74px;height:22px;color:var(--lavender);vertical-align:middle;flex:none}.welcome-copy .eyebrow{align-items:center;gap:12px;display:flex;margin:0 0 20px!important}.welcome-meta{animation:heroIn 1s var(--ease) both .3s;align-items:center;gap:22px;margin:0 0 32px;display:flex}.welcome-meta span{gap:5px;display:grid}.welcome-meta strong{color:var(--plum-dark);font:400 18px/1.3 Georgia,serif}.welcome-meta small{letter-spacing:.18em;text-transform:uppercase;color:#8c659e;font-size:10px}.welcome-meta i{background:linear-gradient(var(--gold),transparent);flex:none;width:1px;height:34px}.welcome-actions{animation:heroIn 1s var(--ease) both .45s;flex-wrap:wrap;align-items:center;gap:22px;display:flex}.primary-action{display:inline-block}.welcome-mark{z-index:2;animation:markIn 1.1s var(--ease) both .25s;place-self:center;justify-items:center;gap:20px;display:grid;position:relative}.welcome-crest{filter:drop-shadow(0 30px 60px #7444661f);width:min(430px,38vw);height:auto}.welcome-mark-caption{text-align:center;justify-items:center;gap:8px;margin:0;display:grid}.welcome-mark-caption span{letter-spacing:.2em;text-transform:uppercase;color:#8c6d9c;font-size:11px}.rings-mark{width:78px;height:auto;color:var(--plum);opacity:.75}.petal-field{pointer-events:none;z-index:1;position:absolute;inset:0}.petal{animation:petalDrift 15s var(--ease) infinite;position:absolute}@keyframes petalDrift{0%,to{opacity:.5;transform:translateY(0)rotate(0)}50%{opacity:.85;transform:translateY(-26px)rotate(16deg)}}@keyframes heroIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes markIn{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.countdown{gap:28px;margin:8px 0 30px;display:flex}.countdown div{text-align:center}.countdown strong{color:var(--plum);animation:tickPulse .4s var(--ease);font:400 38px/1 Georgia,serif;display:block}.countdown span{letter-spacing:.16em;text-transform:uppercase;color:#8c659e;margin-top:7px;font-size:10px;display:block}@keyframes tickPulse{0%{opacity:.5;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.calendar-link{letter-spacing:.14em;text-transform:uppercase;color:var(--plum);border-bottom:1px solid var(--gold);transition:color .2s var(--ease),border-color .2s var(--ease);margin-left:18px;font-size:11px}.calendar-link:hover{color:var(--gold);border-color:var(--plum)}.story-section,.travel-section{grid-template-columns:80px .8fr 1.2fr;gap:4vw;padding:120px 8vw;display:grid;position:relative}.section-number{color:var(--gold);padding-top:9px;font:14px Georgia,serif}.section-heading h2{margin:0;font-size:clamp(48px,5vw,74px);line-height:1}.story-copy{color:#6f5966;max-width:680px;font-family:Georgia,serif;font-size:18px;line-height:1.75}.story-copy .lead{color:var(--plum-dark);margin-top:0;font-size:25px;line-height:1.5}.story-copy blockquote{color:var(--plum);border-left:1px solid var(--gold);margin:42px 0 0;padding-left:28px;font-size:29px;line-height:1.35}.day-section{background:var(--plum-dark);color:var(--ivory);grid-template-columns:80px .8fr 1.2fr;gap:4vw;padding:120px 8vw;display:grid}.section-heading.light .eyebrow{color:#d0afd8}.section-heading.light h2{color:var(--ivory)}.timeline article{transition:padding-left .3s var(--ease);border-bottom:1px solid #fff2;grid-template-columns:100px 1fr;gap:25px;margin-bottom:28px;padding:0 0 28px;display:grid}.timeline article:hover{padding-left:6px}.timeline time{color:#d8b855;font:19px Georgia,serif}.timeline h3{margin:0 0 7px;font:400 28px Georgia,serif}.timeline strong{letter-spacing:.16em;text-transform:uppercase;color:#d3b6cf;font-size:10px}.timeline p{color:#d9cad2;margin:10px 0 0;font-family:Georgia,serif;font-size:16px;line-height:1.5}.travel-section{background:#fffaf2}.travel-grid{gap:18px;display:grid}.travel-grid article{transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);background:#fffdf8;border:1px solid #ccb8c435;padding:28px}.travel-grid article:hover{border-color:#ccb8c470;transform:translateY(-4px);box-shadow:0 22px 44px #7b1e5b1a}.travel-grid span{letter-spacing:.18em;text-transform:uppercase;color:#9973a5;font-size:11px}.travel-grid h3{margin:10px 0;font:400 26px Georgia,serif}.travel-grid p{color:#755f6c;font-family:Georgia,serif;font-size:17px;line-height:1.55}.travel-grid a{letter-spacing:.14em;text-transform:uppercase;color:var(--plum);border-bottom:1px solid var(--gold);transition:color .2s var(--ease),border-color .2s var(--ease);font-size:11px}.travel-grid a:hover{color:var(--gold);border-color:var(--plum)}.contact-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.contact-list li{border-top:1px solid #ccb8c440;gap:5px;padding-top:12px;display:grid}.contact-list li:first-child{border-top:0;padding-top:0}.contact-list strong{color:var(--plum-dark);letter-spacing:.01em;font:400 17px Georgia,serif}.contact-list span{align-items:center;gap:9px;display:flex}.contact-list i{color:#bda7b6;font-size:11px;font-style:normal}.rsvp-intro .rsvp-rule{width:190px;height:12px;color:var(--plum);opacity:.8;margin:26px 0 20px}.rsvp-seats{color:#6f5868;font-family:Georgia,serif;line-height:1.55;font-size:16px!important}.rsvp-seats strong{color:var(--plum);font-weight:400}.rsvp-seats span{letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-family:var(--sans);color:#8c6d9c;margin-top:6px;display:block}.rsvp-section{background:#e7d7eb;grid-template-columns:.8fr 1.2fr;gap:10vw;padding:120px 10vw;display:grid}.rsvp-section h2{margin:0 0 30px;font-size:clamp(58px,6vw,85px);line-height:.92}.rsvp-section>div>p:not(.eyebrow){color:#6f5868;font-family:Georgia,serif;font-size:19px;line-height:1.6}.rsvp-section form{background:#fffaf2;border-radius:4px;gap:20px;padding:38px;display:grid;box-shadow:0 30px 70px #5a26451a}.rsvp-section label{letter-spacing:.16em;text-transform:uppercase;color:#785f70;gap:8px;font-size:11px;display:grid}.rsvp-section fieldset{border:0;gap:10px;margin:0;padding:4px 0;display:grid}.rsvp-section legend{letter-spacing:.16em;text-transform:uppercase;color:#785f70;margin-bottom:9px;font-size:11px}.rsvp-section fieldset input,.permission-check input{width:auto;margin-top:2px}.rsvp-section input,.rsvp-section select,.rsvp-section textarea{color:var(--plum-dark);letter-spacing:0;text-transform:none;transition:border-color .2s var(--ease),background-color .2s var(--ease);background:0 0;border:0;border-bottom:1px solid #cbb6c3;outline:none;padding:13px 2px;font-size:15px}.rsvp-section input:focus,.rsvp-section select:focus,.rsvp-section textarea:focus{border-color:var(--plum);background:#fff}.rsvp-section textarea{resize:vertical;min-height:90px}.rsvp-section small{color:#8d7784;font-size:13px}.rsvp-section .permission-check{align-items:flex-start;gap:8px;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;display:flex!important}.rsvp-form{background:#fffaf2;border-radius:6px;gap:24px;padding:clamp(24px,3vw,38px);display:grid;box-shadow:0 30px 70px #5a26451a}.rsvp-steps{border-bottom:1px solid #e6d6e0;gap:6px;margin:0;padding:0 0 20px;list-style:none;display:flex}.rsvp-steps li{flex:1}.rsvp-steps button{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:6px 2px;display:flex}.rsvp-steps i{color:#8d7784;width:26px;height:26px;transition:all .25s var(--ease);background:#fff;border:1px solid #cbb6c3;border-radius:50%;flex:none;place-items:center;font-size:12px;font-style:normal;display:grid}.rsvp-steps span{letter-spacing:.14em;text-transform:uppercase;color:#8d7784;transition:color .25s var(--ease);font-size:11px}.rsvp-steps .current i{background:var(--plum);border-color:var(--plum);color:var(--ivory)}.rsvp-steps .current span{color:var(--plum-dark)}.rsvp-steps .complete i{color:#386049;background:#e3efe7;border-color:#8bbb9e}.rsvp-panel{animation:panelIn .4s var(--ease);gap:20px;display:grid}.rsvp-panel[hidden]{display:none}@keyframes panelIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.field{gap:8px;display:grid}.field-label{letter-spacing:.16em;text-transform:uppercase;color:#785f70;font-size:11px}.field-label em{color:#a08e99;letter-spacing:.1em;font-style:normal}.field-hint{color:#8d7784;letter-spacing:0;text-transform:none;font-size:12px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{color:var(--plum-dark);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #dbc9d4;border-radius:10px;outline:none;padding:14px 15px;font-size:15px}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #b58ac82e}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#b7a4b0}.rsvp-form textarea{resize:vertical;min-height:110px;line-height:1.6}.choice-set{border:0;gap:12px;margin:0;padding:0;display:grid}.choice-grid{gap:10px;display:grid}.choice-card{cursor:pointer;position:relative}.choice-card input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-card span{transition:all .25s var(--ease);background:#fff;border:1px solid #dbc9d4;border-radius:12px;gap:3px;padding:15px 17px;display:grid}.choice-card strong{color:var(--plum-dark);font:400 17px Georgia,serif}.choice-card em{color:#8d7784;font-size:12px;font-style:normal}.choice-card input:checked+span{border-color:var(--plum);background:#fdf6fa;transform:translateY(-1px);box-shadow:0 10px 26px #7b1e5b1f}.choice-card input:checked+span strong{color:var(--plum)}.choice-card input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.rsvp-nav{align-items:center;gap:12px;padding-top:4px;display:flex}.rsvp-nav .primary-action{margin-left:auto}.ghost-button{color:var(--plum);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:999px;padding:14px 24px;font-size:11px}.ghost-button:hover{background:#f8f0f4;transform:translateY(-1px)}.gift-prompt{text-align:center;border-top:1px solid #e6d6e0;justify-items:center;gap:10px;width:100%;margin-top:26px;padding-top:26px;display:grid}.gift-prompt-lead{color:var(--plum-dark);margin:0;font:400 24px Georgia,serif}.gift-prompt-note{color:#6f5868;max-width:46ch;margin:0;font-family:Georgia,serif;font-size:15px;line-height:1.6}.gift-prompt-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.event-checks{flex-wrap:wrap;gap:10px;display:flex}.event-pill{cursor:pointer;flex:auto;min-width:150px;position:relative}.event-pill input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.event-pill span{letter-spacing:0;text-transform:none;color:var(--plum-dark);transition:all .25s var(--ease);background:#fffdf8;border:1px solid #cbb6c3;border-radius:12px;flex-direction:column;gap:2px;padding:13px 16px;font-size:13px;display:flex}.event-pill span em{letter-spacing:.1em;text-transform:uppercase;color:#8d7784;font-size:10px;font-style:normal}.event-pill input:checked+span{background:var(--plum);border-color:var(--plum);color:var(--ivory);transform:translateY(-1px);box-shadow:0 10px 24px #7b1e5b30}.event-pill input:checked+span em{color:#e9c8de}.event-pill input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.event-pill input:disabled+span{opacity:.5;cursor:not-allowed}.event-pill input:disabled{cursor:not-allowed}.rsvp-success{text-align:center;animation:fadeUp .5s var(--ease) both;background:#fffaf2;justify-items:center;gap:10px;padding:30px 20px;display:grid}.success-check{width:74px;height:74px;margin-bottom:6px}.success-check-circle{stroke:var(--plum);stroke-width:2px;stroke-dasharray:151;stroke-dashoffset:151px;animation:drawCircle .6s var(--ease) forwards}.success-check-mark{stroke:var(--plum);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36px;animation:drawCheck .35s .5s var(--ease) forwards}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.success-title{color:var(--plum-dark);margin:0;font-family:Georgia,serif;font-size:26px}.success-note,.success-edit-link{color:#6f5868;max-width:44ch;margin:0;font-family:Georgia,serif;font-size:15px}.success-edit-link a{border-bottom:1px solid var(--gold);color:var(--plum)}.form-error{color:#a02c65;margin-top:4px;font-size:13px;display:block}.site-footer{background:var(--ivory);justify-content:space-between;align-items:end;padding:70px 8vw;display:flex}.site-footer strong{color:var(--plum);font:400 55px Georgia,serif}.site-footer p{text-align:center;font:18px/1.5 Georgia,serif}.site-footer a{letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--gold);transition:color .2s var(--ease),border-color .2s var(--ease);font-size:11px}.site-footer a:hover{color:var(--gold);border-color:var(--plum)}@media (max-width:900px){.invitation-gate{min-height:100svh;padding:28px 24px}.gate-header span:last-child{display:none}.gate-content{align-self:end;width:calc(100% - 30px);margin-bottom:90px;margin-left:30px}.gate-content h1{font-size:54px}.gate-copy{max-width:85%;font-size:17px}.lavender-arch{opacity:.85;width:130px;height:230px;top:14%;right:-25px}.lavender-arch strong{font-size:31px}.lavender-arch:after{width:65px;height:65px}.invite-form>div{flex-direction:column;align-items:flex-start}.invite-form input{width:min(280px,80vw)}.gate-footer a,.nav-links{display:none}.nav-toggle{display:flex}.nav-drawer.is-open{z-index:5;background:var(--ivory);max-height:calc(100dvh - 76px);animation:drawerIn .28s var(--ease) both;border-bottom:1px solid #7b1e5b1a;align-content:start;gap:0;padding:6px 7vw 18px;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 48px #35172b26}.nav-drawer a{color:var(--plum-dark);transition:color .2s var(--ease),padding-left .2s var(--ease);border-bottom:1px solid #7b1e5b14;padding:17px 4px;font-family:Georgia,serif;font-size:22px;display:block}.nav-drawer a:last-child{border-bottom:0}.nav-drawer a:hover,.nav-drawer a:active{color:var(--plum);padding-left:10px}@keyframes drawerIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.welcome-section{text-align:left;grid-template-columns:1fr;gap:44px;padding:60px 7vw 70px}.welcome-mark{order:-1;justify-self:center}.welcome-crest{width:min(300px,64vw)}.welcome-meta{gap:16px}.story-section,.travel-section,.day-section{grid-template-columns:35px 1fr;padding:80px 6vw}.story-copy,.timeline,.travel-grid{grid-column:2}.rsvp-section{grid-template-columns:1fr;padding:80px 6vw}.site-footer{text-align:center;flex-direction:column;align-items:center;gap:25px}}.give-page{background:#fff8ed;min-height:100vh;padding:35px 6vw 50px}.give-page nav{letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:14px;display:flex}.give-page nav strong{color:var(--plum);font:400 28px Georgia,serif}.give-page nav a{transition:color .2s var(--ease)}.give-page nav a:hover{color:var(--plum)}.give-page header{text-align:center;max-width:1000px;margin:100px auto 70px}.give-page header h1{letter-spacing:-.05em;margin:0 0 28px;max-width:20ch;margin-inline:auto;font:400 clamp(46px,5.2vw,74px)/1.02 Georgia,serif}.give-page header>p:last-child{color:#745e6b;max-width:620px;margin:auto;font:19px/1.6 Georgia,serif}.giving-grid{background:#d6c5cf;border:1px solid #d6c5cf;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1180px;margin:auto;display:grid}.giving-grid article{min-height:270px;transition:background-color .3s var(--ease),transform .3s var(--ease);background:#fffaf2;padding:34px}.giving-grid article:hover{background:#fffdf8;transform:translateY(-2px)}.giving-grid article>span{color:var(--gold);font:14px Georgia,serif}.giving-grid h2{margin:22px 0 12px;font:400 29px Georgia,serif}.giving-grid p{color:#725d69;font:16px/1.6 Georgia,serif}.giving-grid a,.giving-grid button{border:0;border-bottom:1px solid var(--gold);letter-spacing:.12em;text-transform:uppercase;color:var(--plum);transition:color .2s var(--ease),border-color .2s var(--ease);background:0 0;margin-top:15px;padding:0 0 5px;font-size:14px;display:inline-block}.giving-grid a:hover,.giving-grid button:hover:not(:disabled){color:var(--gold);border-color:var(--plum)}.giving-grid button:disabled{color:#998792}.give-page footer{text-align:center;margin-top:60px;font:18px Georgia,serif}.paystack-form{text-align:left;gap:10px;margin-top:16px;display:grid}.paystack-form label{letter-spacing:.1em;text-transform:uppercase;color:#785f70;gap:5px;font-size:13px;display:grid}.paystack-form input,.paystack-form textarea{color:#3c2835;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:7px;padding:9px 11px;font-size:14px}.paystack-form input:focus,.paystack-form textarea:focus{border-color:var(--lavender);outline:none;box-shadow:0 0 0 3px #b58ac825}.paystack-form textarea{resize:vertical;min-height:56px}.paystack-form button{background:var(--plum);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);border:0;border-radius:999px;justify-self:start;margin-top:4px;padding:11px 16px;font-size:13px}.paystack-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #7b1e5b30}.paystack-form small{color:#8d7784;font-size:14px}.admin-shell{color:#32202c;background:linear-gradient(#f7f3ee 0,#f2ece6 100%);grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#f8eee2;overscroll-behavior:contain;z-index:30;background:linear-gradient(#3d1b32 0,#2a1222 100%);border-right:1px solid #00000020;flex-direction:column;height:100dvh;padding:22px 18px 0;display:flex;position:sticky;top:0;overflow-y:auto}.admin-sidebar::-webkit-scrollbar{width:6px}.admin-sidebar::-webkit-scrollbar-thumb{background:#ffffff2b;border-radius:3px}.admin-sidebar nav{flex:none}.admin-sidebar-top{justify-content:space-between;align-items:baseline;margin-bottom:22px;display:flex}.admin-sidebar-top span{letter-spacing:.2em;text-transform:uppercase;color:#c7adbd;font-size:12px}.admin-brand{font:400 31px Georgia,serif}.admin-sidebar nav{gap:1px;display:grid}.admin-sidebar nav a{color:#d6c5cf;transition:background-color .2s var(--ease),color .2s var(--ease);border-radius:8px;padding:8px 12px;font-size:14px}.admin-sidebar nav a:hover,.admin-sidebar nav a:focus-visible{color:#fff;background:#fff1}.admin-user{border-top:1px solid #ffffff1f;gap:12px;min-width:0;margin-top:26px;padding:14px 8px 26px;display:grid}.admin-user-id{align-items:center;gap:10px;min-width:0;display:flex}.admin-user-id>div{gap:5px;min-width:0;display:grid}.admin-avatar{background:linear-gradient(150deg,var(--lavender),var(--plum));color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font:400 15px Georgia,serif;display:grid;box-shadow:0 2px 8px #00000030}.admin-user strong{color:#f8eee2;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.role-pill{letter-spacing:.1em;text-transform:uppercase;color:#dcc4d3;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;justify-self:start;padding:3px 9px;font-size:10px}.admin-user form{margin:0}.admin-user button{color:#d6c5cf;cursor:pointer;text-align:left;width:100%;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:flex}.admin-user button:hover{color:#fff;background:#ffffff1f;border-color:#ffffff3d}.admin-user button svg{opacity:.85;flex:none}.admin-main{min-width:0;padding:38px clamp(18px,4vw,58px) 80px}.admin-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.admin-header h1{margin:0 0 7px;font:400 clamp(36px,4vw,50px) Georgia,serif}.admin-header>div>p:last-child{color:#7c6875;margin:0;font-size:14px}.admin-header-actions{gap:8px;display:flex}.admin-header-actions a,.secondary-button,.task-create button,.guest-form>button,.team-card footer button{background:var(--plum);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:center;transition:transform .2s var(--ease),box-shadow .2s var(--ease);border:0;border-radius:999px;padding:12px 17px;font-size:13px}.admin-header-actions a:hover,.task-create button:hover,.guest-form>button:hover,.team-card footer button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #7b1e5b30}.admin-header-actions a:last-child{color:var(--plum);background:#fffaf4;border:1px solid #d9cad2}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0;display:grid}.status-grid article{min-width:0;transition:box-shadow .25s var(--ease),transform .25s var(--ease);background:#fffaf4;border:1px solid #e6dbe1;padding:21px}.status-grid article:hover{transform:translateY(-2px);box-shadow:0 14px 30px #7b1e5b14}.status-grid article>span{letter-spacing:.14em;text-transform:uppercase;color:#806a77;font-size:12px}.status-grid strong{margin:17px 0 10px;font:400 clamp(27px,3vw,36px) Georgia,serif;display:block}.status-grid strong small{color:#907a87;font-size:14px}.status-grid p{color:#897582;margin:9px 0 0;font-size:13px;line-height:1.45}.meter{background:#eadfe5;height:3px}.meter i{background:linear-gradient(90deg,var(--plum),var(--lavender));height:100%;transition:width .5s var(--ease);display:block}.admin-section{background:#fffdfa;border:1px solid #eadfe5;border-radius:12px;margin-top:18px;padding:clamp(18px,3vw,30px);scroll-margin-top:18px;box-shadow:0 1px 2px #7b1e5b0a,0 8px 24px #7b1e5b08}.section-bar{border-bottom:1px solid #eadfe5;justify-content:space-between;align-items:center;gap:20px;padding-bottom:16px;display:flex}.section-bar .eyebrow{margin:0!important}.section-bar h2,.user-management>header h2{margin:0;font:400 31px Georgia,serif}.section-bar .eyebrow,.user-management .eyebrow{margin-bottom:7px!important}.section-bar>span{color:#806a77;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.admin-create{background:#f5edf1;border:1px solid #e1d4db;margin-top:18px}.admin-create summary{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:15px 17px;font-size:13px;font-weight:700}.guest-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:0 17px 18px;display:grid}.guest-form label,.guest-fields label,.team-fields label,.add-user label{letter-spacing:.12em;text-transform:uppercase;color:#765f6d;gap:6px;font-size:12px;display:grid}.guest-form label small{color:#9b8994;font-size:12px}.guest-form input,.guest-form select,.guest-fields input,.guest-fields select,.task-create input,.task-create select,.team-fields input,.team-fields select,.add-user input,.add-user select{color:#3c2835;width:100%;min-width:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:7px;padding:10px 11px}.guest-form input:focus,.guest-form select:focus,.guest-fields input:focus,.task-create input:focus,.team-fields input:focus,.add-user input:focus{border-color:var(--lavender);outline:none;box-shadow:0 0 0 3px #b58ac825}.guest-form .access-options{grid-column:1/-1}.access-options{border:0;flex-wrap:wrap;gap:10px 17px;margin:0;padding:0;display:flex}.access-options legend{letter-spacing:.12em;text-transform:uppercase;color:#765f6d;width:100%;margin-bottom:7px;font-size:12px}.access-options label{text-transform:none;letter-spacing:0;align-items:center;gap:6px;font-size:13px;display:flex}.access-options input{width:auto}.guest-form>button{grid-column:1/-1;justify-self:start}.guest-list,.team-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.guest-card,.team-card{min-width:0;transition:box-shadow .25s var(--ease);background:#fff;border:1px solid #e4d9df;padding:17px}.guest-card:hover,.team-card:hover{box-shadow:0 12px 26px #7b1e5b14}.guest-card-head,.team-card>header{border-bottom:1px solid #eee5e9;justify-content:space-between;align-items:start;gap:15px;margin-bottom:14px;padding-bottom:14px;display:flex}.guest-card-head>div,.team-card>header>div{gap:5px;min-width:0;display:grid}.guest-card-head strong,.team-card>header strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.guest-card-head>div>span,.team-card>header>div>span{color:#826e7a;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.rsvp-chip,.team-card>header>span{letter-spacing:.08em;text-transform:uppercase;color:#765f6d;background:#eee6eb;border-radius:999px;flex:none;padding:6px 8px;font-size:12px}.rsvp-chip.attending,.team-card>header>span.active{color:#386049;background:#e3efe7}.rsvp-chip.declined,.team-card>header>span.paused{color:#8d4059;background:#f4e2e7}.guest-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.guest-fields label:last-child{grid-column:1/-1}.access-options.compact{margin:14px 0}.secondary-button{color:var(--plum);background:#fff;border:1px solid #d8c7d1;padding:10px 14px}.secondary-button:hover{background:#f8f0f4}.task-create{grid-template-columns:1fr 150px 145px auto;gap:9px;margin:18px 0;display:grid}.task-create button{padding-inline:19px}.task-list{border-top:1px solid #eee4e8}.task-list article{transition:background-color .2s var(--ease);border-bottom:1px solid #eee4e8;grid-template-columns:28px 1fr auto;align-items:center;gap:11px;padding:14px 0;display:grid}.task-list article:hover{background:#fffdf9}.task-list article.done{opacity:.55}.task-list article.done strong{text-decoration:line-through}.task-list article div{gap:4px;display:grid}.task-list strong{font-size:14px}.task-list span{color:#8c7784;font-size:13px}.task-toggle{width:20px;height:20px;color:var(--plum);cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease);background:#fff;border:1px solid #bba6b3;border-radius:50%;padding:0}.task-toggle:hover{border-color:var(--plum)}.empty-state{text-align:center;color:#806a77;padding:32px 18px}.empty-state strong{color:#4d3543;font:400 22px Georgia,serif}.empty-state p{font-size:14px;line-height:1.5}.admin-message{color:var(--plum);min-height:15px;margin:13px 0 0;font-size:13px}.access-denied{text-align:center;background:#fff8ed;place-content:center;min-height:100vh;padding:30px;display:grid}.access-denied strong{color:var(--plum);font:400 50px Georgia,serif}.access-denied h1{margin:25px 0 10px;font:400 42px Georgia,serif}.access-denied p{color:#765f6d}.access-denied a{color:var(--plum);margin-top:20px;text-decoration:underline}.user-management{margin-top:18px}.user-management>header{justify-content:space-between;align-items:end;gap:50px;margin-bottom:25px;display:flex}.user-management>header>p{color:#826e7a;max-width:430px;font-size:13px;line-height:1.5}.add-user{background:#f0e7ec;grid-template-columns:1fr 1.2fr 1fr 1fr auto;align-items:end;gap:12px;padding:18px;display:grid}.add-user button{background:var(--plum);color:#fff;text-transform:uppercase;letter-spacing:.12em;transition:transform .2s var(--ease);border:0;border-radius:999px;padding:11px 16px;font-size:13px}.add-user button:hover{transform:translateY(-1px)}.team-list{margin-top:18px}.team-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.team-card footer{justify-content:space-between;align-items:center;gap:14px;margin-top:15px;display:flex}.team-card footer button{padding:10px 14px}.login-shell{color:#36202f;background:radial-gradient(circle at 75% 20%,#cbb2dc 0,#0000 28%),#fff8ed;place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:#fffdf8;border:1px solid #e6d8df;width:min(440px,100%);padding:48px;box-shadow:0 25px 80px #5a26451c}.login-brand{color:var(--plum);margin-bottom:42px;font:400 38px Georgia,serif;display:inline-block}.login-card h1{margin:8px 0 12px;font:400 44px Georgia,serif}.login-card>p:not(.eyebrow){color:#765f6d;font-size:13px;line-height:1.65}.login-form{gap:17px;margin:30px 0 20px;display:grid}.login-form label{letter-spacing:.14em;text-transform:uppercase;gap:8px;font-size:13px;display:grid}.login-form input{color:#36202f;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d9c8d1;border-radius:7px;outline:none;padding:13px 14px}.login-form input:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #b58ac825}.login-form button{background:var(--plum);color:#fff;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);border:0;border-radius:999px;padding:14px 20px;font-size:13px}.login-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #7b1e5b30}.login-form button:disabled{opacity:.65}.login-message{min-height:18px;color:#7b1e5b!important;margin:0!important}.login-home{color:#795e6e;font-size:13px;text-decoration:underline}.status-toggle{grid-auto-flow:column;justify-content:start;align-items:center;letter-spacing:0!important;text-transform:none!important;gap:6px!important;font-size:13px!important;display:flex!important}.status-toggle input{width:auto}.user-message{color:var(--plum);min-height:15px;font-size:13px}.check-in{gap:16px;margin-top:20px;display:grid}.check-in>label{letter-spacing:.14em;text-transform:uppercase;color:#785f70;gap:6px;font-size:13px;display:grid}.check-in select{color:#36202f;background:#fff;border:1px solid #d9c8d1;border-radius:7px;padding:12px 14px}.check-in input{text-transform:uppercase;letter-spacing:2px;text-align:center;font-size:18px}.seating-assignments{margin-top:24px}.seating-assignments select{border:1px solid #d8c7d1;border-radius:7px;padding:6px 8px;font-size:14px}.wedding-day-banner{z-index:30;background:var(--plum);color:var(--ivory);text-align:center;padding:10px 5vw;position:sticky;top:0}.wedding-day-banner p{margin:2px 0;font:14px Georgia,serif}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-width:1180px;margin:20px auto;display:grid}.gallery-grid img{object-fit:cover;width:100%;height:220px;transition:transform .4s var(--ease);border-radius:4px}.gallery-grid img:hover{transform:scale(1.03)}.reveal-trigger{border:0;border-bottom:1px solid var(--gold);letter-spacing:.12em;text-transform:uppercase;color:var(--plum);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease);background:0 0;margin-top:15px;padding:0 0 5px;font-size:14px;display:inline-block}.reveal-trigger:hover{color:var(--gold);border-color:var(--plum)}.reveal-panel{color:#4d3543;margin-top:12px;font:15px/1.6 Georgia,serif}.reveal-panel p{margin:4px 0}.reveal-panel .reveal-group{font:11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#fff6e7;background:var(--plum);border-radius:6px;display:inline-block;margin:0 0 10px!important;padding:7px 12px!important}.reveal-block-start{border-top:2px solid #e0cfda;margin-top:22px;padding-top:20px}.blessing-form{text-align:left;gap:12px;margin-top:16px;display:grid}.blessing-form label{letter-spacing:.14em;text-transform:uppercase;color:#785f70;gap:5px;font-size:10px;display:grid}.blessing-form label small{text-transform:none;letter-spacing:0;color:#9b8994;font-size:9px}.blessing-form input,.blessing-form textarea{color:#3c2835;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:7px;padding:10px 12px;font-family:Georgia,serif;font-size:14px}.blessing-form input:focus,.blessing-form textarea:focus{border-color:var(--lavender);outline:none;box-shadow:0 0 0 3px #b58ac825}.blessing-form textarea{resize:vertical;line-height:1.6}.blessing-check{align-items:flex-start;gap:8px;font-family:Georgia,serif;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;display:flex!important}.blessing-check input{width:auto;margin-top:2px}.blessing-form button[type=submit]{background:var(--plum);color:#fff;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);border:0;border-radius:999px;justify-self:start;padding:12px 22px;font-size:10px}.blessing-form button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #7b1e5b30}.blessing-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.blessing-thanks{color:var(--plum);margin-top:16px;font:16px/1.6 Georgia,serif}.checkin-shell{color:#32202c;background:#f5f1ea;min-height:100vh;padding:0 0 60px}.checkin-header{color:#f8eee2;background:#35172b;flex-wrap:wrap;align-items:center;gap:20px;padding:20px clamp(16px,4vw,40px);display:flex}.checkin-header .login-brand{color:var(--ivory);margin:0;font-size:30px}.checkin-header h1{margin:0;font:400 30px Georgia,serif}.checkin-header .eyebrow{color:#d0afd8;margin:0 0 2px!important}.checkin-body{gap:16px;max-width:1100px;margin:0 auto;padding:20px clamp(12px,3vw,40px);display:grid}.arrivals-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.arrivals-list li{transition:background-color .2s var(--ease),opacity .2s var(--ease);background:#fff;border:1px solid #e4d9df;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.arrivals-list li.arrived{opacity:.75;background:#f2f7f3;border-color:#c6ddcd}.arrivals-list li>div{flex:1;gap:3px;min-width:0;display:grid}.arrivals-list strong{font-size:16px}.arrivals-list li>div span{color:#8c7784;font-size:12px}.arrivals-list button{background:var(--plum);color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-width:104px;transition:transform .15s var(--ease);border:0;border-radius:999px;flex:none;padding:12px 20px;font-size:11px}.arrivals-list button:active{transform:scale(.97)}.arrivals-list li.arrived button{color:#6d5664;background:#fff;border:1px solid #cdbcc6}.tab-bar a{color:#7c6875;border-bottom:2px solid #0000;padding:9px 15px;font-size:12px;text-decoration:none;display:inline-block}.tab-bar a.active{color:var(--plum);border-bottom-color:var(--plum);font-weight:700}.list-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 4px;display:flex}.search-input{color:#3c2835;min-width:220px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:999px;outline:none;flex:1;padding:11px 14px;font-size:14px}.search-input:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #b58ac825}.search-input::-webkit-search-cancel-button{cursor:pointer}.bulk-bar{background:#f0e7ec;border:1px solid #ddccd6;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 4px;padding:13px 16px;display:flex}.bulk-bar span{color:#5c4655;font-size:13px}.bulk-bar strong{color:var(--plum);font-size:16px}.bulk-bar select{color:#3c2835;background:#fff;border:1px solid #d8c7d1;border-radius:7px;padding:9px 12px;font-size:13px}.bulk-bar button{background:var(--plum);color:#fff;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;padding:10px 18px;font-size:11px}.bulk-bar button:disabled{opacity:.6;cursor:not-allowed}.seating-assignments article{grid-template-columns:auto 1fr auto}.seating-assignments input[type=checkbox]{width:17px;height:17px;accent-color:var(--plum);cursor:pointer}.attention-panel{border:1px solid #e6dbe1;border-left:3px solid var(--gold);background:#fffaf4;margin-top:18px;padding:20px 24px}.attention-panel .eyebrow{margin:0 0 12px!important}.attention-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.attention-panel li{align-items:center;gap:10px;font-size:14px;display:flex}.attention-panel li:before{content:"";background:var(--lavender);border-radius:50%;flex:none;width:6px;height:6px}.attention-panel li.urgent:before{background:#c2647f}.attention-panel a{color:#3c2835;transition:border-color .2s var(--ease),color .2s var(--ease);border-bottom:1px solid #0000}.attention-panel a:hover{color:var(--plum);border-bottom-color:var(--gold)}.attention-panel li.urgent a{color:#8d3554;font-weight:700}.activity-list{gap:2px;margin:16px 0 0;padding:0;list-style:none;display:grid}.activity-list li{transition:background-color .2s var(--ease);border-bottom:1px solid #eee4e8;border-radius:6px;align-items:flex-start;gap:14px;padding:13px 12px;display:flex}.activity-list li:hover{background:#fffdf9}.activity-list li.destructive{background:#fdf4f6}.activity-list li>div:nth-child(2){flex:1;gap:3px;min-width:0;display:grid}.activity-list strong{color:#3c2835;font-size:14px;font-weight:400}.activity-when{color:#9b8994;font-variant-numeric:tabular-nums;flex:0 0 110px;padding-top:2px;font-size:11px}.blessing-list{gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.blessing-list li{background:#fff;border:1px solid #e4d9df;border-radius:10px;padding:20px}.blessing-list blockquote{color:#3c2835;border-left:2px solid var(--gold);margin:0 0 14px;padding-left:16px;font:17px/1.65 Georgia,serif}.blessing-meta{border-top:1px solid #eee4e8;flex-wrap:wrap;align-items:center;gap:14px;padding-top:12px;display:flex}.blessing-meta>div:first-child{flex:1;gap:3px;min-width:0;display:grid}.blessing-meta strong{font-size:14px}.blessing-meta>div:first-child span{color:#8c7784;font-size:12px}.reveal-panel>div:first-child .reveal-group{margin-top:0!important}.reveal-row{border-bottom:1px solid #eadfe5;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;display:flex}.reveal-row span{overflow-wrap:anywhere}.reveal-panel .copy-button{color:var(--plum);font:600 11px/1 var(--sans);letter-spacing:.04em;text-transform:none;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);background:#fff;border:1px solid #ddccd6;border-radius:8px;flex:none;align-items:center;gap:6px;margin:0;padding:7px 12px;display:inline-flex}.reveal-panel .copy-button svg{flex:none;width:13px;height:13px}.reveal-panel .copy-button:hover{border-color:var(--lavender);background:#faf3f7;transform:translateY(-1px)}.reveal-panel .copy-button:active{transform:translateY(0)}.reveal-panel .copy-button:focus-visible{outline:2px solid var(--lavender);outline-offset:2px}.reveal-panel .copy-button.copied{color:#2f6a48;background:#e8f3ec;border-color:#8bbb9e}.reveal-qr{background:#fff;border:1px solid #eadfe5;border-radius:8px;margin-top:12px;padding:8px}.rsvp-manager-actions{align-items:center;gap:14px;margin:16px 0;display:flex}.rsvp-meta{color:#826e7a;margin:0 0 10px;font-size:14px}.admin-sidebar nav a.active{color:#fff;box-shadow:inset 2px 0 0 var(--gold);background:#ffffff1f}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{border-bottom:1px solid #eee4e8;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.activity-list li:last-child{border-bottom:0}.activity-list div{gap:4px;min-width:0;display:grid}.activity-list strong{font-size:14px}.activity-list span{color:#8c7784;font-size:13px}.flag-overdue{color:#a02c65;font-weight:400}.gift-message{color:#4d3543;margin:8px 0 0;font:15px/1.6 Georgia,serif}.tab-bar{border-bottom:1px solid #e6dbe1;flex-wrap:wrap;gap:4px;margin:20px 0 0;display:flex}.tab-bar button{letter-spacing:.1em;text-transform:uppercase;color:#8c7784;cursor:pointer;transition:all .2s var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 15px;font-size:12px}.tab-bar button:hover{color:var(--plum)}.tab-bar button.active{color:var(--plum);border-bottom-color:var(--plum)}.tab-blurb{color:#826e7a;margin:14px 0 0;font-size:13px}.record-form{background:#f5edf1;border:1px solid #e1d4db;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px;padding:18px;display:grid}.record-form label{letter-spacing:.1em;text-transform:uppercase;color:#765f6d;gap:6px;font-size:12px;display:grid}.record-form label.wide{grid-column:span 2}.record-form input,.record-form select{color:#3c2835;letter-spacing:0;text-transform:none;width:100%;min-width:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:7px;padding:11px 12px;font-size:14px}.record-form input:focus,.record-form select:focus{border-color:var(--lavender);outline:none;box-shadow:0 0 0 3px #b58ac825}.record-form .status-toggle{color:#5d4753;cursor:pointer;grid-column:1/-1;align-items:center;letter-spacing:0!important;text-transform:none!important;gap:9px!important;font-size:13px!important;display:flex!important}.record-form .status-toggle input{width:16px;height:16px;accent-color:var(--plum);flex:none}.record-form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.record-form-actions button{background:var(--plum);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);border:0;border-radius:999px;padding:12px 20px;font-size:11px}.record-form-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #7b1e5b30}.record-form-actions button:disabled{opacity:.6}.record-list{border-top:1px solid #eee4e8;margin:18px 0 0;padding:0;list-style:none}.record-list li{border-bottom:1px solid #eee4e8;align-items:center;gap:16px;padding:14px 0;display:flex}.record-list li>div:first-child{flex:1;gap:4px;min-width:0;display:grid}.record-list strong{font-size:14px}.record-list li>div:first-child span{color:#8c7784;overflow-wrap:anywhere;font-size:13px}.record-actions{flex:none;gap:8px;display:flex}.record-actions button{color:var(--plum);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:999px;padding:8px 14px;font-size:11px}.record-actions button:hover{background:#f8f0f4}.record-actions .danger{color:#a02c65;border-color:#e7cdd8}.record-actions .danger:hover{background:#fdf2f5}.give-rule{width:210px;height:12px;color:var(--plum);opacity:.8;margin:22px auto;display:block}.link-button{color:var(--plum);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:disabled{opacity:.5;cursor:not-allowed}.stay-teaser-list{gap:9px;margin:14px 0 16px;padding:0;list-style:none;display:grid}.stay-teaser-list li{border-bottom:1px solid #e6d6e0;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:9px;display:flex}.stay-teaser-list li:last-child{border-bottom:0;padding-bottom:0}.stay-teaser-list strong{color:var(--plum-dark);font-family:Georgia,serif;font-size:17px;font-weight:400}.stay-teaser-list span{letter-spacing:.06em;text-transform:uppercase;color:#9973a5;white-space:nowrap;font-size:12px}.stay-hero{max-width:860px;padding:90px 8vw 40px}.stay-hero h1{letter-spacing:-.055em;color:var(--plum-dark);margin:14px 0 24px;font:400 clamp(48px,6vw,80px)/.98 Georgia,serif}.stay-lede{color:#6f5966;max-width:60ch;font:19px/1.65 Georgia,serif}.stay-rule{width:150px;color:var(--gold);margin-top:34px;display:block}.stay-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;padding:0 8vw 70px;display:grid}.stay-grid article{transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);background:#fffdf8;border:1px solid #e2d3dc;border-radius:4px;flex-direction:column;padding:30px;display:flex}.stay-grid article:hover{border-color:#d4bece;transform:translateY(-4px);box-shadow:0 22px 46px #7b1e5b16}.stay-grid header{margin-bottom:14px}.stay-grid h2{color:var(--plum-dark);margin:0 0 6px;font:400 27px Georgia,serif}.stay-grid header span{letter-spacing:.18em;text-transform:uppercase;color:#9973a5;font-size:11px}.stay-grid article>p{color:#725d69;margin:0 0 16px;font:16px/1.6 Georgia,serif}.stay-facts{gap:9px;margin:0 0 18px;display:grid}.stay-facts div{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.stay-facts dt{letter-spacing:.14em;text-transform:uppercase;color:#9b8994;font-size:11px}.stay-facts dd{color:var(--plum-dark);text-align:right;margin:0;font:15px Georgia,serif}.stay-facts a{border-bottom:1px solid var(--gold);color:var(--plum)}.stay-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.stay-actions a{letter-spacing:.12em;text-transform:uppercase;color:var(--plum);transition:all .2s var(--ease);border:1px solid #d8c7d1;border-radius:999px;padding:9px 16px;font-size:11px}.stay-actions a:hover{background:var(--plum);border-color:var(--plum);color:var(--ivory)}.stay-note{max-width:820px;padding:0 8vw 80px}.stay-note h2{color:var(--plum-dark);margin:0 0 18px;font:400 34px Georgia,serif}.stay-note ul{gap:11px;margin:0 0 30px;padding-left:20px;display:grid}.stay-note li{color:#6f5966;font:16px/1.6 Georgia,serif}.line-meter{background:#eadfe5;border-radius:2px;max-width:260px;height:3px;margin-top:7px;overflow:hidden;display:block!important}.line-meter i{background:linear-gradient(90deg,var(--plum),var(--lavender));height:100%;transition:width .5s var(--ease);display:block}.line-meter i.over{background:linear-gradient(90deg,#a02c65,#c2647f)}.status-grid strong.over{color:#a02c65}.inline-edit{gap:8px;margin-top:6px;display:flex!important}.inline-edit input{color:#3c2835;border:1px solid #d8c7d1;border-radius:7px;width:120px;padding:7px 9px;font-size:13px}.inline-edit input:focus{border-color:var(--lavender);outline:none;box-shadow:0 0 0 3px #b58ac825}.record-actions select{color:var(--plum);cursor:pointer;background:#fff;border:1px solid #d8c7d1;border-radius:999px;padding:7px 12px;font-size:12px}.search-toggle{color:#6d5664;cursor:pointer;align-items:center;gap:8px;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;display:flex!important}.search-toggle input{width:15px;height:15px;accent-color:var(--plum)}.chat-log{gap:12px;max-height:460px;margin-top:18px;padding-right:4px;display:grid;overflow-y:auto}.chat-empty{text-align:center;color:#7c6875;padding:24px 4px}.chat-empty p{max-width:52ch;margin:0 auto 18px;font:15px/1.6 Georgia,serif}.chat-suggestions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chat-suggestions button{color:var(--plum);cursor:pointer;transition:all .2s var(--ease);background:#fff;border:1px solid #ded0d8;border-radius:999px;padding:8px 14px;font-size:12px}.chat-suggestions button:hover{background:#f8f0f4;transform:translateY(-1px)}.chat-turn{display:flex}.chat-turn.user{justify-content:flex-end}.chat-bubble{max-width:76%;animation:fadeUp .3s var(--ease);border-radius:14px;padding:13px 16px;font-size:14px;line-height:1.6}.chat-turn.user .chat-bubble{background:var(--plum);color:var(--ivory);border-bottom-right-radius:4px}.chat-turn.model .chat-bubble{color:#3c2835;background:#f5edf1;border:1px solid #e6dbe1;border-bottom-left-radius:4px}.chat-bubble p{margin:0 0 8px}.chat-bubble p:last-child{margin-bottom:0}.chat-bubble.thinking{color:#8c7784;align-items:center;gap:4px;display:flex}.chat-sources{border-top:1px solid #ded0d8;gap:5px;margin:10px 0 0;padding:9px 0 0;list-style:none;display:grid}.chat-sources a{color:var(--plum);overflow-wrap:anywhere;font-size:12px;text-decoration:underline}.chat-input{gap:10px;margin-top:16px;display:flex}.chat-input input{color:#3c2835;min-width:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:999px;outline:none;flex:1;padding:13px 15px;font-size:14px}.chat-input input:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #b58ac825}.chat-input button{background:var(--plum);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease);border:0;border-radius:999px;padding:12px 26px;font-size:11px}.chat-input button:hover:not(:disabled){transform:translateY(-1px)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex!important}.chip{letter-spacing:.04em;color:#6d5664;white-space:nowrap;background:#f0e7ec;border:1px solid #e2d3dc;border-radius:999px;padding:3px 9px;font-size:11px;display:inline-block}.chip.high{color:#8d3554;background:#fbeef1;border-color:#e7c3ce}.chip.who{color:#6a4a7d;background:#ece4f2;border-color:#d7c6e3}.chip.overdue{color:#a02c65;background:#fbe9ec;border-color:#e6b9c4;font-weight:700}.task-list article.task-editing{padding:16px 0;display:block}.task-list article.task-editing .record-form{background:#f8f2f6}.integration-list{gap:2px;margin:16px 0 0;padding:0;list-style:none;display:grid}.integration-list li{border-bottom:1px solid #eee4e8;align-items:center;gap:12px;padding:14px 0;display:flex}.integration-list li:last-child{border-bottom:0}.integration-list li>div{flex:1;gap:4px;min-width:0;display:grid}.integration-list strong{font-size:14px}.integration-list span:not(.rsvp-chip):not(.status-dot){color:#8c7784;font-size:13px}.status-dot{border-radius:50%;flex:none;width:9px;height:9px}.status-dot.on{background:#4c9a6d;box-shadow:0 0 0 3px #4c9a6d24}.status-dot.off{background:#c2647f;box-shadow:0 0 0 3px #c2647f24}.test-send,.broadcast-form{grid-template-columns:170px minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.test-send label,.broadcast-form label{letter-spacing:.1em;text-transform:uppercase;color:#765f6d;gap:6px;font-size:12px;display:grid}.test-send label.wide,.broadcast-form label.wide{grid-column:span 1}.test-send input,.test-send select,.broadcast-form select,.broadcast-form textarea{color:#3c2835;letter-spacing:0;text-transform:none;width:100%;min-width:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:7px;padding:11px 12px;font-size:14px}.test-send input:focus,.test-send select:focus,.broadcast-form textarea:focus,.broadcast-form select:focus{border-color:var(--lavender);outline:none;box-shadow:0 0 0 3px #b58ac825}.broadcast-form{grid-template-columns:minmax(0,1fr) 220px auto}.broadcast-form label.wide{grid-area:1/1}.broadcast-form textarea{resize:vertical;min-height:92px;line-height:1.55}.test-send button,.broadcast-form button{background:var(--plum);color:#fff;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease);border:0;border-radius:999px;padding:12px 20px;font-size:11px}.test-send button:hover:not(:disabled),.broadcast-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #7b1e5b30}.test-send button:disabled,.broadcast-form button:disabled{opacity:.55;cursor:not-allowed}.test-result{border-radius:8px;margin:16px 0 0;padding:13px 15px;font-size:13px;line-height:1.55}.test-result.ok{color:#2f5942;background:#e9f3ec;border:1px solid #b9d8c5}.test-result.bad{color:#8d3554;background:#fbeef1;border:1px solid #e7c3ce}.give-link-list{border-top:1px solid #e6d6e0;gap:8px;margin:14px 0 0;padding:14px 0 0;list-style:none;display:grid}.give-link-list a{letter-spacing:.12em;text-transform:uppercase;color:var(--plum);border-bottom:1px solid var(--gold);transition:color .2s var(--ease);font-size:11px}.give-link-list a:hover{color:var(--gold)}@media (max-width:900px){.record-form{grid-template-columns:1fr 1fr}.record-form label.wide{grid-column:1/-1}.test-send,.broadcast-form{grid-template-columns:1fr}.test-send button,.broadcast-form button{width:100%}}@media (max-width:560px){.integration-list li{flex-wrap:wrap}.record-form{grid-template-columns:1fr}.record-list li{flex-wrap:wrap}.record-actions{width:100%}.record-actions button{flex:1}}@media (max-width:900px){.giving-grid{grid-template-columns:1fr}.give-page header{margin:70px auto 50px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{grid-template-columns:auto 1fr;gap:10px 18px;height:auto;padding:12px 16px;display:grid;position:sticky;overflow-y:visible}.admin-sidebar nav{flex:none;min-height:auto}.admin-user{background:0 0;margin-top:0;padding-bottom:0}.admin-sidebar-top{margin:0}.admin-sidebar-top span{display:none}.admin-brand{font-size:27px}.admin-sidebar nav{justify-content:flex-end;gap:2px;display:flex;overflow-x:auto}.admin-sidebar nav a{white-space:nowrap;padding:7px 9px;font-size:13px}.admin-user{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:10px 0 0;display:flex}.admin-user strong{font-size:14px}.admin-avatar{width:30px;height:30px;font-size:14px}.admin-user form{flex:none}.admin-user button{width:auto;padding:8px 12px}.admin-main{padding:25px 16px 60px}.admin-header{align-items:start}.admin-header-actions{flex-direction:column}.admin-header-actions a{padding:10px 13px}.status-grid{grid-template-columns:1fr 1fr}.guest-list,.team-list{grid-template-columns:1fr}.guest-form{grid-template-columns:1fr 1fr}.task-create{grid-template-columns:1fr 120px}.task-create input[type=date]{grid-column:1}.task-create button{grid-area:2/2}.user-management>header{display:block}.add-user{grid-template-columns:1fr 1fr}.add-user button{grid-column:1/-1}}@media (max-width:560px){.invitation-gate{padding:22px 18px}.gate-content{width:calc(100% - 18px);margin-bottom:52px;margin-left:18px}.gate-content h1{font-size:46px}.gate-copy{max-width:100%;font-size:16px}.lavender-arch{width:105px;height:175px;top:12%;right:-8px}.lavender-arch:before{inset:12px}.lavender-arch strong{font-size:21px}.reading-line{left:-25px}.invite-form>div{width:100%}.invite-form input,.invite-form button{width:100%;max-width:none}.welcome-section{gap:34px;min-height:auto;padding:44px 20px 60px}.welcome-copy h1{font-size:46px}.welcome-crest{width:min(240px,66vw)}.welcome-meta{flex-direction:column;align-items:flex-start;gap:14px}.welcome-meta i{background:linear-gradient(90deg,var(--gold),transparent);width:34px;height:1px}.welcome-copy .eyebrow .eyebrow-spray{display:none}.welcome-actions{gap:14px}.welcome-actions .primary-action{text-align:center;width:100%}.welcome-mark-caption span{letter-spacing:.1em;max-width:100%;font-size:9px}.welcome-mark{max-width:100%}.welcome-lede{max-width:100%;font-size:17px}.rings-mark{width:60px}.story-section,.travel-section,.day-section{grid-template-columns:1fr;gap:25px;padding:65px 20px}.section-number{display:none}.story-copy,.timeline,.travel-grid{grid-column:1}.section-heading h2{font-size:44px}.story-copy .lead{font-size:22px}.story-copy blockquote{font-size:24px}.timeline article{grid-template-columns:66px minmax(0,1fr);gap:12px}.timeline article>div{min-width:0}.timeline h3{overflow-wrap:break-word;font-size:23px}.timeline p,.timeline strong{overflow-wrap:break-word}.timeline h3{font-size:23px}.rsvp-section{padding:65px 18px}.rsvp-section h2{font-size:52px}.rsvp-section form{padding:24px 20px}.event-checks{gap:8px}.event-pill{min-width:120px}.permission-check{align-items:start;letter-spacing:0!important;text-transform:none!important;grid-template-columns:auto 1fr!important;font-size:14px!important;display:flex!important}.permission-check input{width:auto;margin-top:2px}.site-footer{padding:50px 20px}.admin-sidebar{grid-template-columns:1fr}.admin-sidebar nav{justify-content:flex-start}.admin-user{grid-column:1}.admin-header{display:block}.admin-header-actions{grid-template-columns:1fr 1fr;margin-top:16px;display:grid}.status-grid{grid-template-columns:1fr}.status-grid article{padding:18px}.status-grid strong{margin:12px 0 8px}.section-bar{align-items:center}.admin-section{padding:16px}.guest-form,.guest-fields,.team-fields,.add-user{grid-template-columns:1fr}.guest-form .access-options,.add-user button,.guest-fields label:last-child{grid-column:1}.task-create{grid-template-columns:1fr}.task-create input[type=date],.task-create button{grid-area:auto/1}.team-card footer{flex-direction:column;align-items:flex-start}.team-card footer button{width:100%}.login-shell{padding:14px}.login-card{padding:32px 22px}.login-card h1{font-size:38px}.login-brand{margin-bottom:32px}}.photo-trio figure,.rsvp-photo,.stay-photo{margin:0;position:relative;overflow:hidden}.hero-photo{margin:0;position:relative;overflow:visible}.hero-photo img,.photo-trio img,.rsvp-photo img,.stay-photo img,.login-photo img{object-fit:cover;object-position:center 28%;width:100%;height:100%;display:block}.hero-photo{aspect-ratio:.68;width:min(420px,35vw);animation:markIn 1s var(--ease) both .2s;border-radius:50% 50% 14px 14px/34% 34% 14px 14px;position:relative;box-shadow:0 40px 80px #5a264533}.hero-photo:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;border:1px solid #d4af3766;position:absolute;inset:-14px -14px -14px 14px}.hero-photo:after{content:"";border-radius:inherit;opacity:.5;filter:blur(2px);z-index:-1;background:linear-gradient(160deg,#e9d9f0,#cbb0dd);position:absolute;inset:22px -26px -30px 26px}.hero-stage{border-radius:inherit;background:#e7dfe6;position:absolute;inset:0;overflow:hidden}.hero-slide{opacity:0;transition:opacity 1.3s var(--ease);margin:0;position:absolute;inset:0}.hero-slide.is-active{opacity:1}.hero-slide img{object-fit:cover;object-position:center 26%;width:100%;height:100%;display:block}.hero-slide.is-active img{animation:kenBurns 7s var(--ease) both}@keyframes kenBurns{0%{transform:scale(1.02)translate(0,0)}to{transform:scale(1.14)translate(-1.5%,-2%)}}.hero-leak{pointer-events:none;border-radius:inherit;mix-blend-mode:screen;animation:leak 1.4s var(--ease) both;background:linear-gradient(112deg,#0000 34%,#ffd9a866 48%,#f7c8e055 56%,#0000 70%);position:absolute;inset:0}@keyframes leak{0%{opacity:0;transform:translate(-60%)}35%{opacity:1}to{opacity:0;transform:translate(60%)}}.hero-frame{border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff9,inset 0 -90px 110px -60px #35172b66}@media (prefers-reduced-motion:reduce){.hero-slide.is-active img{animation:none;transform:none}.hero-leak{opacity:0;animation:none}}.hero-crest-badge{z-index:3;filter:drop-shadow(0 8px 18px #5a264533);z-index:2;width:118px;height:auto;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.welcome-mark-caption{margin-top:82px!important}.photo-trio{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;display:grid}.photo-trio figure{aspect-ratio:.74;transition:transform .45s var(--ease),box-shadow .45s var(--ease);border-radius:120px 120px 10px 10px;box-shadow:0 18px 40px #7b1e5b1c}.photo-trio figure:nth-child(2){transform:translateY(26px)}.photo-trio figure:hover{transform:translateY(-6px);box-shadow:0 26px 54px #7b1e5b2e}.photo-trio figure:nth-child(2):hover{transform:translateY(20px)}.photo-band{border-top:1px solid #ffffff1f;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px;padding-top:34px;display:grid}.photo-band figure{aspect-ratio:1.05;transition:transform .45s var(--ease);border-radius:6px;box-shadow:0 16px 38px #00000045}.photo-band figure:hover{transform:scale(1.02)}.photo-band figure:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #d4af3733}.rsvp-photo{aspect-ratio:1.18;border-radius:6px;margin-top:34px;box-shadow:0 20px 44px #5a26451f}.stay-photo{aspect-ratio:1.9;border-radius:6px;max-width:860px;margin:34px 0 0;box-shadow:0 20px 46px #7b1e5b1f}.login-photo{aspect-ratio:.68;border-radius:14px;width:min(420px,42vw);margin:0;position:relative;overflow:hidden;box-shadow:0 30px 70px #5a264533}.login-photo:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(200deg,#7b1e5b00 40%,#35172b4d);position:absolute;inset:0}.login-shell{gap:clamp(24px,5vw,64px)}@media (min-width:901px){.login-shell{justify-content:center;align-items:center;display:flex}}@media (max-width:900px){.hero-photo{width:min(290px,64vw)}.hero-crest-badge{width:84px;bottom:-20px}.photo-band{grid-template-columns:1fr 1fr}.photo-band figure:nth-child(3),.login-photo{display:none}}@media (max-width:560px){.photo-trio{gap:8px}.photo-trio figure{border-radius:70px 70px 8px 8px}.photo-trio figure:nth-child(2){transform:translateY(14px)}.photo-band{grid-template-columns:1fr}.photo-band figure:nth-child(n+2){display:none}}.gallery-block{border-top:1px solid #ffffff1f;grid-column:1/-1;margin-top:52px;padding-top:44px}.gallery-head{max-width:760px;margin-bottom:30px}.gallery-head h2{letter-spacing:-.05em;color:var(--ivory);margin:8px 0 12px;font:400 clamp(34px,3.6vw,50px)/1 Georgia,serif}.gallery-head p:last-child{color:#d9cad2;margin:0;font:16px/1.6 Georgia,serif}.gallery-head .eyebrow{color:#d0afd8}.carousel{align-items:center;gap:10px;display:flex;position:relative}.carousel-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;flex:1;gap:16px;min-width:0;padding:6px 0 14px;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-item{scroll-snap-align:start;cursor:zoom-in;aspect-ratio:.86;transition:transform .4s var(--ease),box-shadow .4s var(--ease);background:0 0;border:0;border-radius:8px;flex:0 0 calc(33.3333% - 10.6667px);padding:0;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000047}.carousel-item img{object-fit:cover;object-position:center 28%;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.carousel-item:hover{transform:translateY(-5px);box-shadow:0 28px 56px #0006}.carousel-item:hover img{transform:scale(1.05)}.carousel-item:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.carousel-zoom{width:32px;height:32px;color:var(--plum);opacity:0;transition:all .3s var(--ease);background:#fff8edd9;border-radius:50%;place-items:center;font-size:14px;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(6px)}.carousel-item:hover .carousel-zoom{opacity:1;transform:translateY(0)}.carousel-arrow{width:44px;height:44px;color:var(--ivory);cursor:pointer;transition:all .2s var(--ease);background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;flex:none;font-size:24px;line-height:1}.carousel-arrow:hover{background:var(--ivory);border-color:var(--ivory);color:var(--plum-dark)}.lightbox{z-index:100;animation:ptFade .25s var(--ease);grid-template-rows:auto 1fr auto auto auto;display:grid;position:fixed;inset:0}.lightbox-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#170a13fa;position:absolute;inset:0}.lightbox>:not(.lightbox-backdrop){z-index:1;position:relative}.lightbox-bar{justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(12px,3vw,26px);display:flex}.lightbox-count{color:#d3bccb;font-variant-numeric:tabular-nums;font-size:13px}.lightbox-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lightbox-tools button,.lightbox-tools a{color:#f4e9f0;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease);background:#ffffff12;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:12px;text-decoration:none;display:inline-flex}.lightbox-tools button:hover,.lightbox-tools a:hover{background:#ffffff2b;border-color:#ffffff45}.lightbox-tools button[aria-pressed=true]{background:var(--plum);border-color:var(--plum)}.lightbox-close{font-size:15px}.lightbox-stage{justify-content:center;align-items:center;min-height:0;padding:0 clamp(12px,6vw,80px);display:flex;overflow:hidden}.lightbox-stage img{object-fit:contain;cursor:zoom-in;max-width:100%;max-height:100%;animation:ptFade .3s var(--ease);border-radius:4px;box-shadow:0 30px 70px #0006}.lightbox-stage.zoomed{justify-content:flex-start;align-items:flex-start;overflow:auto}.lightbox-stage.zoomed img{cursor:zoom-out;width:190%;max-width:none;max-height:none}.lightbox .lightbox-arrow{z-index:2;color:#fff;cursor:pointer;width:48px;height:48px;transition:background-color .2s var(--ease);background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;font-size:30px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.lightbox .lightbox-arrow:hover{background:#ffffff30}.lightbox .lightbox-arrow.prev{left:clamp(6px,2vw,20px)}.lightbox .lightbox-arrow.next{right:clamp(6px,2vw,20px)}.lightbox-caption{text-align:center;color:#e2d2dd;max-width:70ch;margin:14px auto 0;padding:0 20px;font:15px/1.5 Georgia,serif}.lightbox-note{text-align:center;color:#c8a9bd;margin:8px 0 0;font-size:12px}.lightbox-socials{justify-content:center;gap:8px;padding:12px 0 4px;display:flex}.lightbox-socials a{letter-spacing:.1em;text-transform:uppercase;color:#c9adbe;transition:color .2s var(--ease);border-bottom:1px solid #ffffff26;padding-bottom:3px;font-size:11px}.lightbox-socials a:hover{color:#fff}.lightbox-thumbs{scrollbar-width:none;gap:8px;padding:14px clamp(12px,4vw,40px) 18px;display:flex;overflow-x:auto}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumbs button{cursor:pointer;opacity:.5;width:74px;height:52px;transition:opacity .2s var(--ease),border-color .2s var(--ease);background:0 0;border:2px solid #0000;border-radius:5px;flex:none;padding:0;overflow:hidden}.lightbox-thumbs button:hover{opacity:.85}.lightbox-thumbs button[data-active=true]{opacity:1;border-color:var(--gold)}.lightbox-thumbs img{object-fit:cover;object-position:center 28%;width:100%;height:100%;display:block}@media (max-width:900px){.carousel-item{flex:0 0 calc(50% - 8px)}.lightbox-tools button span,.lightbox-tools a span{display:none}.lightbox-tools button,.lightbox-tools a{padding:10px 13px}}@media (max-width:560px){.gallery-block{margin-top:34px;padding-top:30px}.carousel{gap:6px}.carousel-arrow{display:none}.carousel-item{flex:0 0 calc(50% - 4px)}.carousel-track{gap:8px}.carousel-zoom{opacity:1;transform:none}.lightbox-arrow{width:40px;height:40px;font-size:24px}.lightbox-thumbs button{width:58px;height:42px}.lightbox-caption{font-size:13px}}@media (prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}.music-bar{z-index:90;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(94vw,560px);animation:musicIn .5s var(--ease) both .8s;background:#2a1222f2;border:1px solid #ffffff26;border-radius:18px;position:fixed;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 18px 44px #0000005c}@keyframes musicIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.music-main{align-items:center;gap:10px;padding:9px 10px;display:flex}.music-bar button{cursor:pointer;color:#f4e9f0;background:0 0;border:0;flex:none}.music-art{object-fit:cover;background:#4a2540;border-radius:9px;flex:none;width:40px;height:40px}.music-toggle{width:34px;height:34px;color:var(--ivory);transition:transform .2s var(--ease);border-radius:50%;place-items:center;font-size:12px;display:grid;background:var(--plum)!important}.music-toggle:hover{transform:scale(1.06)}.music-skip{opacity:.7;width:26px;height:26px;transition:opacity .2s var(--ease),background-color .2s var(--ease);border-radius:50%;font-size:12px}.music-skip:hover{opacity:1;background:#ffffff1f!important}.music-meta{flex:1;gap:1px;min-width:0;display:grid}.music-title{color:#f2e6ee;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.music-artist{color:#bfa3b6;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.music-seek{align-items:center;gap:7px;margin-top:3px;display:flex}.music-time{color:#a98da0;font-variant-numeric:tabular-nums;flex:none;font-size:10px}.music-seek input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:14px}.music-seek input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--gold) var(--played,0%),#ffffff2e var(--played,0%));border-radius:2px;height:3px}.music-seek input[type=range]::-moz-range-track{background:#ffffff2e;border-radius:2px;height:3px}.music-seek input[type=range]::-moz-range-progress{background:var(--gold);border-radius:2px;height:3px}.music-seek input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ivory);border-radius:50%;width:10px;height:10px;margin-top:-3.5px;box-shadow:0 1px 4px #0006}.music-seek input[type=range]::-moz-range-thumb{background:var(--ivory);border:0;border-radius:50%;width:10px;height:10px}.music-queue-toggle,.music-close{opacity:.6;width:26px;height:26px;transition:opacity .2s var(--ease),background-color .2s var(--ease);border-radius:50%;font-size:11px}.music-queue-toggle:hover,.music-close:hover{opacity:1;background:#ffffff1f!important}.music-eq{flex:none;align-items:flex-end;gap:2px;height:14px;display:flex}.music-eq i{background:var(--gold);opacity:.55;border-radius:1px;width:2px;height:4px}.music-bar.is-playing .music-eq i{opacity:1;animation:.9s ease-in-out infinite eq}@keyframes eq{0%,to{height:4px}50%{height:14px}}.music-queue{border-bottom:1px solid #ffffff1f;max-height:min(46vh,320px);padding:12px 12px 6px;overflow-y:auto}.music-queue-head{letter-spacing:.16em;text-transform:uppercase;color:#c9adbe;justify-content:space-between;align-items:baseline;margin:0 0 8px;font-size:10px;display:flex}.music-queue-head span{color:#8f7488;letter-spacing:0;text-transform:none;font-size:10px}.music-queue ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.music-queue button{text-align:left;width:100%;transition:background-color .2s var(--ease);border-radius:9px;align-items:center;gap:10px;padding:7px;display:flex}.music-queue button:hover{background:#ffffff14}.music-queue button.current{background:#ffffff1f}.music-queue img{object-fit:cover;background:#4a2540;border-radius:6px;flex:none;width:34px;height:34px}.music-queue span{flex:1;gap:1px;min-width:0;display:grid}.music-queue strong{color:#f2e6ee;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;overflow:hidden}.music-queue small{color:#a98da0;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.music-now{background:var(--gold);border-radius:50%;flex:none;width:6px;height:6px}@media (prefers-reduced-motion:reduce){.music-bar.is-playing .music-eq i{height:9px;animation:none}}@media (max-width:560px){.music-bar{border-radius:20px;width:auto;max-width:none;animation:none;bottom:8px;left:8px;right:8px;transform:none}.music-artist{display:none}.music-main{gap:6px;padding:10px 8px}.music-art{border-radius:11px;width:46px;height:46px}.music-toggle{width:48px;height:48px;font-size:15px}.music-skip{opacity:.85;width:40px;height:40px;font-size:16px}.music-queue-toggle,.music-close{opacity:.85;width:40px;height:40px;font-size:14px}.music-main{flex-wrap:wrap}.music-meta{display:contents}.music-title{flex:1;min-width:0;font-size:13px}.music-seek{flex-basis:100%;order:10;gap:9px;margin:2px 2px 0}.music-seek input[type=range]{height:22px}.music-seek input[type=range]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5.5px}.music-seek input[type=range]::-moz-range-thumb{width:14px;height:14px}.music-time{font-size:11px}.music-queue button{padding:10px 8px}.music-queue img{width:40px;height:40px}}.track-list{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.track-list li{background:#fff;border:1px solid #e4d9df;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.track-list li.inactive{opacity:.55}.track-pos{text-align:center;color:#9b8994;font-variant-numeric:tabular-nums;flex:none;width:20px;font-size:12px}.track-list img{object-fit:cover;background:#f0e7ec;border-radius:8px;flex:none;width:44px;height:44px}.track-meta{flex:1;gap:3px;min-width:0;display:grid}.track-meta strong{font-size:14px}.track-meta span{color:#8c7784;font-size:12px}.track-edit{flex:1;gap:6px;min-width:0;display:grid}.track-edit input{color:#3c2835;border:1px solid #d8c7d1;border-radius:7px;padding:7px 10px;font-size:13px}.track-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.track-actions button,.track-art-btn{color:var(--plum);cursor:pointer;transition:background-color .2s var(--ease);background:#fff;border:1px solid #d8c7d1;border-radius:999px;padding:7px 12px;font-size:11px}.track-actions button:hover:not(:disabled),.track-art-btn:hover{background:#f8f0f4}.track-actions button:disabled{opacity:.4;cursor:not-allowed}.track-actions .danger{color:#a02c65;border-color:#e7c3ce}.carousel-launch{flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 20px;display:flex}.carousel-launch span{letter-spacing:.14em;text-transform:uppercase;color:#b79bc4;font-size:13px}.slideshow{z-index:120;background:#1b0d16;position:fixed;inset:0;overflow:hidden}.slideshow .slide{opacity:0;transition:opacity 2.2s var(--ease);pointer-events:none;margin:0;position:absolute;inset:0}.slideshow .slide.current{opacity:1}.slideshow .slide.outgoing{opacity:0;z-index:1}.slideshow .slide.current{z-index:2}.slideshow img{object-fit:cover;object-position:center 30%;width:100%;height:100%}.slideshow .slide.current img{animation:kenBurns 14s var(--ease) both}.slideshow-bar{z-index:5;background:linear-gradient(#1b0d1600,#1b0d16cc);justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(16px,4vw,40px);display:flex;position:absolute;bottom:0;left:0;right:0}.slideshow-count{letter-spacing:.16em;color:#e8d9e4;font-variant-numeric:tabular-nums;font:12px/1 Arial,Helvetica,sans-serif}.slideshow-controls{gap:10px;display:flex}.slideshow-controls button{color:#fff;cursor:pointer;width:48px;height:48px;transition:background-color .2s var(--ease);background:#ffffff14;border:1px solid #ffffff30;border-radius:50%;font-size:18px}.slideshow-controls button:hover{background:#ffffff2b}.slideshow-close{color:#fff;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background-color .2s var(--ease);background:#ffffff14;border:1px solid #ffffff30;border-radius:999px;padding:12px 20px;font-size:11px}.slideshow-close:hover{background:#ffffff2b}@media (prefers-reduced-motion:reduce){.slideshow .slide{transition-duration:.4s}.slideshow .slide.current img{animation:none;transform:none}}@media (max-width:560px){.slideshow img{object-position:center 28%}.slideshow-bar{gap:10px;padding:14px 16px}.slideshow-controls button{width:44px;height:44px}}.media-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:18px;display:grid}.media-grid figure{transition:opacity .2s var(--ease);background:#fff;border:1px solid #e4d9df;border-radius:10px;margin:0;position:relative;overflow:hidden}.media-grid figure.is-hidden{opacity:.45}.media-grid img{object-fit:cover;width:100%;height:180px;display:block}.media-missing{color:#8c7784;background:#f5edf1;place-items:center;height:180px;font-size:12px;display:grid}.media-grid figcaption{gap:9px;padding:11px 12px;display:grid}.media-grid figcaption>span{color:#5c4655;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.media-tag{color:#f8eee2;letter-spacing:.1em;text-transform:uppercase;background:#35172bd9;border-radius:999px;padding:4px 9px;font-size:10px;position:absolute;top:9px;left:9px}
