:root{--ink:#26322a;--muted:#6f776f;--sage:#71806c;--sage-dark:#4f5f4c;--cream:#f7f3eb;--paper:#fffdf8;--rose:#c79c91;--line:#dedbd2;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}nav{height:74px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05)}.brand{font:600 26px var(--serif);letter-spacing:.08em}.brand i{font-weight:400;color:var(--rose)}.nav-links{display:flex;gap:30px;align-items:center;font-size:13px;letter-spacing:.05em}.nav-rsvp{background:var(--sage);color:white;padding:9px 20px;border-radius:99px}.nav-tools{display:flex;gap:8px}.icon-button{border:1px solid var(--line);background:transparent;border-radius:50%;height:38px;min-width:38px;font-size:12px}.hero{min-height:calc(100vh - 74px);padding:80px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;background:linear-gradient(rgba(31,45,34,.63),rgba(31,45,34,.7)),var(--hero,url('https://images.unsplash.com/photo-1511285560929-80b456fea0bc?w=1800')) center/cover}.eyebrow{text-transform:uppercase;letter-spacing:.26em;font-size:11px;font-weight:600;color:var(--sage)}.hero .eyebrow{color:#e9e3d9}.hero h1{font:500 clamp(62px,11vw,140px)/.9 var(--serif);margin:20px 0 14px;letter-spacing:-.04em}.rule{display:flex;align-items:center;gap:15px;width:210px}.rule:before,.rule:after{content:'';height:1px;flex:1;background:rgba(255,255,255,.55)}.rule span{font-size:11px}.hero-date{font:500 22px var(--serif);letter-spacing:.17em;text-transform:uppercase}.personal{font:italic 22px var(--serif);margin:0 0 15px}.countdown{display:flex;gap:clamp(22px,5vw,70px);margin:25px 0 35px}.countdown div{display:grid}.countdown strong{font:500 34px var(--serif)}.countdown span{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.button{display:inline-flex;border:0;border-radius:3px;background:var(--sage);color:white;padding:13px 24px;font-weight:600;align-items:center;justify-content:center}.button.light{background:transparent;border:1px solid rgba(255,255,255,.7)}.button.secondary{background:white;border:1px solid var(--line);color:var(--ink);padding:9px 15px}.section{padding:100px max(24px,8vw)}.story{display:grid;grid-template-columns:minmax(280px,520px) minmax(280px,520px);justify-content:center;gap:9vw;align-items:center}.story-art{aspect-ratio:4/5;background:#e5e2d8;display:grid;place-items:center;position:relative}.story-art:before,.story-art:after{content:'';position:absolute;border:1px solid var(--rose);width:70%;height:70%;transform:rotate(9deg)}.story-art:after{transform:rotate(-7deg)}.story-art img{width:100%;height:100%;object-fit:cover}.monogram{font:500 100px var(--serif);z-index:1;color:var(--sage-dark)}.monogram span{font-size:50px;color:var(--rose)}h2{font:500 clamp(42px,6vw,68px)/1 var(--serif);margin:12px 0 25px}h3{font:600 26px var(--serif)}.story p{font-size:16px;color:var(--muted)}.signature{font:italic 34px var(--serif);margin-top:24px;color:var(--sage)}.centered{text-align:center}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,460px));justify-content:center;gap:26px;margin-top:52px}.event-card{background:var(--cream);padding:46px;text-align:left;position:relative;border:1px solid #ebe5db}.event-num{position:absolute;right:28px;top:20px;font:600 45px var(--serif);color:#ddd6c9}.event-card h3{margin:8px 0 20px}.event-time{font-family:var(--serif);font-size:19px}.event-card small{display:block;color:var(--muted)}.event-actions{display:flex;gap:25px;margin-top:25px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}.event-actions a{border-bottom:1px solid var(--ink)}.gallery-section{background:#eef0e9}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head p{max-width:330px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px}.gallery-item{border:0;padding:0;overflow:hidden;min-height:350px}.gallery-item:first-child{grid-row:span 1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-item:hover img{transform:scale(1.04)}.rsvp-section{background:var(--sage-dark);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.rsvp-section .eyebrow{color:#d9ccbd}.rsvp-intro p{color:#d6ddd3}.rsvp-card{background:var(--paper);color:var(--ink);padding:45px}.rsvp-card h3{margin-top:0}.rsvp-card label,.auth-card label,.editor label,.modal-form label{display:grid;gap:7px;font-size:12px;font-weight:600;margin-bottom:17px}input,select,textarea{width:100%;border:1px solid var(--line);background:white;padding:12px;border-radius:2px;color:var(--ink)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}fieldset{border:0;padding:0;margin:0 0 22px}legend{font-size:12px;font-weight:600;margin-bottom:8px}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice input{position:absolute;opacity:0}.choice span{display:block;border:1px solid var(--line);padding:10px;text-align:center;font-size:11px}.choice input:checked+span{background:var(--sage);color:white}.success{text-align:center;padding:30px}.success-icon{width:60px;height:60px;border-radius:50%;background:var(--sage);color:white;font-size:28px;display:grid;place-items:center;margin:auto}.form-error,.alert{color:#9d3f3f}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.registry-row{border-bottom:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;align-items:center}.registry-row small{display:block;color:var(--muted)}.registry-row a,.registry-row button{background:none;border:0;text-decoration:underline}.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font:600 21px var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq summary span{font-family:var(--sans)}.faq details p{color:var(--muted)}footer{text-align:center;padding:55px;background:#26322a;color:#ddd}footer p,footer a{font-size:12px;color:#adb5aa}dialog{border:0;padding:0;box-shadow:0 20px 80px #0005;max-width:min(650px,92vw)}dialog::backdrop{background:#172019bb}#lightbox{background:transparent;box-shadow:none;max-width:90vw}#lightbox img{max-height:85vh;max-width:88vw}#lightbox button,.close-dialog{position:absolute;right:10px;top:5px;border:0;background:none;font-size:30px;z-index:2}
/* admin */.auth{min-height:100vh;display:grid;place-items:center;background:var(--cream)}.auth-card{background:white;padding:45px;width:min(430px,92vw);box-shadow:0 20px 60px #30402d18}.auth-card h1{font:600 45px var(--serif);margin-bottom:0}.auth-card p{color:var(--muted)}.auth-card .button{width:100%;margin-bottom:18px}.auth-card>a{font-size:12px}.dashboard{background:#f5f5f1}.dashboard aside{position:fixed;width:240px;height:100vh;background:#243229;color:white;padding:28px 22px;display:flex;flex-direction:column}.dashboard aside nav{position:static;padding:40px 0;background:none;border:0;height:auto;display:grid;gap:4px}.side-link{border:0;background:transparent;color:#bfc9c0;text-align:left;padding:12px;border-radius:5px}.side-link.active,.side-link:hover{background:#ffffff14;color:white}.aside-bottom{margin-top:auto;display:grid;gap:12px;font-size:12px;color:#c2cbc3}.dash-main{margin-left:240px;min-height:100vh;padding:30px 4vw}.dash-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.dash-main>header p{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.dash-main>header h1{font:600 34px var(--serif);margin:2px 0}.notice{background:#dfeadd;color:#38503b;padding:12px 18px;margin-bottom:18px}.tab-panel{display:none}.tab-panel.active{display:block}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-grid article,.panel{background:white;border:1px solid #e5e4de;padding:24px}.stat-grid span,.stat-grid small{display:block;color:var(--muted);font-size:11px}.stat-grid strong{display:block;font:600 37px var(--serif);margin:8px 0}.dash-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:16px}.panel h2{font-size:27px;margin:0 0 15px}.panel h3{font-size:20px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.panel-head a{font-size:12px;text-decoration:underline}.donut-wrap{display:flex;align-items:center;justify-content:space-around;padding:20px}.donut{--percent:0;width:160px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--sage) calc(var(--percent)*1%),#e8e8e1 0);position:relative}.donut:after{content:'';position:absolute;inset:19px;border-radius:50%;background:white}.donut span{z-index:1;font:600 28px var(--serif);text-align:center}.donut small{display:block;font:11px var(--sans);color:var(--muted)}.legend p{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;font-size:12px}.legend i{width:8px;height:8px;border-radius:50%;background:var(--sage)}.legend i.no{background:var(--rose)}.legend i.pending{background:#ddd}.meal-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.muted{color:var(--muted);font-size:12px}.table-search{max-width:320px;margin-bottom:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid #ecebe6;padding:13px 10px}td small{display:block;color:var(--muted)}.status{padding:4px 9px;border-radius:20px;background:#eee}.status.yes{background:#dfeadd;color:#3b6542}.status.no{background:#f3dfdc;color:#8a4942}.code{border:0;background:none;font:inherit}.editor>label{margin:20px 0}.editor small{color:var(--muted)}.modal-form{padding:35px;min-width:min(600px,88vw)}
html[data-theme=minimal]{--sage:#222;--sage-dark:#222;--rose:#999;--cream:#f7f7f7}html[data-theme=modern]{--sage:#7357d8;--sage-dark:#241d41;--rose:#ec8c70;--cream:#f4f1ff}.modern .hero h1{font-family:var(--sans)}
@media(max-width:850px){.nav-links a:not(.nav-rsvp){display:none}.section{padding:70px 24px}.story,.rsvp-section,.info-grid{grid-template-columns:1fr}.story{gap:40px}.event-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-item{min-height:240px}.gallery-item:first-child{grid-column:span 2}.section-head{display:block}.dashboard aside{width:100%;height:auto;position:static;padding:15px 20px;flex-direction:row;align-items:center;justify-content:space-between}.dashboard aside nav{display:none}.aside-bottom{margin:0;display:flex}.dash-main{margin:0;padding:22px}.stat-grid{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}.dashboard .tab-panel{display:block;margin-bottom:18px}.dashboard #content{display:none}.side-link{display:none}}
@media(max-width:520px){nav{padding:0 15px}.hero{min-height:calc(100svh - 74px)}.hero h1{font-size:64px}.countdown{gap:22px}.countdown strong{font-size:27px}.story-art{max-height:420px}.event-card,.rsvp-card{padding:27px}.choice-row,.form-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery-item:first-child{grid-column:auto}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid article{padding:16px}.dash-main>header{align-items:end}.donut-wrap{flex-direction:column;gap:20px}}

/* Gallery slideshow carousel */
.carousel{position:relative;margin-top:38px;overflow:hidden;background:#dfe3da;min-height:clamp(330px,58vw,680px)}
.carousel-track{position:absolute;inset:0}
.gallery-slide{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;opacity:0;visibility:hidden;overflow:hidden;background:#222;transform:scale(1.02);transition:opacity .7s ease,transform 1.1s ease,visibility .7s}
.gallery-slide.active{opacity:1;visibility:visible;transform:scale(1);z-index:1}
.gallery-slide:before{content:'';position:absolute;inset:-35px;background-image:linear-gradient(#17201944,#17201944),var(--slide-image);background-position:center;background-size:cover;filter:blur(22px);transform:scale(1.08);opacity:.78}
.gallery-slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 10px 25px #0005)}
.carousel-arrow{position:absolute;top:50%;z-index:3;width:52px;height:52px;border-radius:50%;border:1px solid #fff9;background:#fffdf8e8;color:var(--ink);font-size:20px;transform:translateY(-50%);box-shadow:0 5px 25px #0002}
.carousel-arrow.prev{left:22px}.carousel-arrow.next{right:22px}
.carousel-dots{position:absolute;z-index:3;bottom:23px;left:50%;transform:translateX(-50%);display:flex;gap:9px;background:#26322a77;padding:9px 13px;border-radius:30px}
.carousel-dot{width:8px;height:8px;border:1px solid white;background:transparent;border-radius:50%;padding:0}
.carousel-dot.active{background:white}
.carousel-count{position:absolute;z-index:3;right:22px;bottom:20px;background:#fffdf8e8;padding:7px 12px;font:600 12px var(--sans);letter-spacing:.12em}
@media(max-width:520px){.carousel{min-height:390px}.carousel-arrow{width:42px;height:42px}.carousel-arrow.prev{left:12px}.carousel-arrow.next{right:12px}.carousel-count{display:none}}
.mobile-menu-toggle{display:none;border:0;background:transparent;color:#fff;align-items:center;gap:4px;padding:9px}.mobile-menu-toggle span{display:block;width:19px;height:2px;background:currentColor}.mobile-menu-toggle b{margin-left:6px;font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.1em}@media(max-width:850px){.dashboard aside{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:1fr auto;padding:13px 18px}.mobile-menu-toggle{display:flex}.dashboard aside nav{grid-column:1/-1;padding:0;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease,padding .25s ease}.dashboard aside.menu-open nav{display:grid;max-height:440px;opacity:1;padding:14px 0 6px}.dashboard aside nav .side-link{display:block;width:100%;font-size:15px;padding:14px}.dashboard aside .aside-bottom{gap:14px}.dashboard .tab-panel{display:none}.dashboard .tab-panel.active{display:block}.dash-main>header{gap:15px}.dash-main>header h1{font-size:clamp(31px,10vw,44px)}}@media(max-width:520px){.dashboard aside{grid-template-columns:1fr auto}.dashboard aside .aside-bottom{grid-column:1/-1;justify-content:space-between;padding-top:9px}.dash-main{padding:18px 14px}.dash-main>header{align-items:center}.dash-main>header .button{padding:11px 14px;max-width:125px}.stat-grid.capacity-stats{gap:10px}.stat-grid article,.panel{padding:16px}.capacity-form{flex-direction:column}.capacity-form button{min-height:42px}.panel-head{display:grid;gap:12px}.panel-head>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.table-wrap{margin-inline:-16px;padding-inline:16px}.modal-form{padding:28px 20px}}
@media(prefers-reduced-motion:reduce){.gallery-slide{transition:none}}
.gallery-upload{display:flex;gap:14px;align-items:stretch;margin-bottom:28px}.upload-drop{flex:1;border:2px dashed var(--line);background:#fafaf7;padding:25px;display:grid;place-items:center;text-align:center;cursor:pointer}.upload-drop input{width:auto;border:0;background:none;padding:0 0 10px}.upload-drop strong,.upload-drop span{display:block}.upload-drop span{font-size:11px;color:var(--muted)}.gallery-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-admin-grid article{position:relative;aspect-ratio:1;background:#eee;overflow:hidden}.gallery-admin-grid img{width:100%;height:100%;object-fit:cover}.gallery-admin-grid form{position:absolute;right:8px;top:8px}.gallery-admin-grid button{border:0;background:#fff;color:#8a3c36;padding:6px 10px;border-radius:3px;font-size:11px;box-shadow:0 2px 10px #0003}.dashboard aside nav a.side-link{display:block}.gallery-manager{max-width:1200px}@media(max-width:850px){.gallery-admin-grid{grid-template-columns:repeat(3,1fr)}.gallery-upload{flex-direction:column}}@media(max-width:520px){.gallery-admin-grid{grid-template-columns:repeat(2,1fr)}}
.household-grid{display:grid;gap:10px}.household-grid article{display:grid;grid-template-columns:1fr 100px auto;gap:18px;align-items:center;border:1px solid #ebeae4;padding:16px}.household-grid article>div:first-child{display:grid}.household-grid span,.household-grid small{font-size:11px;color:var(--muted)}.household-count{text-align:center}.household-count strong{display:block;font:600 25px var(--serif)}@media(max-width:600px){.household-grid article{grid-template-columns:1fr}.household-count{text-align:left}}
.details-page{min-height:100vh;padding:35px 18px;background:linear-gradient(135deg,#26352b,#4d604f);display:grid;place-items:center}.details-shell{width:min(680px,100%);background:#fffdf8;padding:55px;box-shadow:0 30px 90px #15201888;border:8px solid #d8c5a5;outline:1px solid #9b7e51;outline-offset:-16px}.details-brand{text-align:center;font:600 30px var(--serif);margin-bottom:25px}.details-brand i{color:var(--rose)}.details-shell>h1{font:500 clamp(44px,8vw,70px)/.95 var(--serif);margin:12px 0 20px}.details-shell>p{color:var(--muted)}.details-shell label{display:grid;gap:6px;font-size:11px;font-weight:600;margin:15px 0}.details-shell label small{color:var(--muted)}.details-shell .button{width:100%;margin-top:10px}.details-success{text-align:center;padding:50px 10px}.details-success h1{font:500 55px var(--serif);margin-bottom:5px}.request-share{display:grid;grid-template-columns:1fr 1.5fr;gap:25px;align-items:center;margin-bottom:18px}.share-link{display:flex;gap:8px}.share-link input{min-width:0}.share-link .button{white-space:nowrap}.request-tabs{display:flex;gap:13px;font-size:11px}.request-tabs a{text-decoration:underline}.request-list{display:grid;gap:9px}.request-list article{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border:1px solid #ebeae4;padding:15px}.request-list article>div:first-child{display:grid}.request-list span,.request-list small{font-size:11px;color:var(--muted)}.request-actions{display:flex;gap:7px}.request-actions form{margin:0}.request-actions .button{padding:8px 11px;font-size:10px}@media(max-width:750px){.details-shell{padding:40px 24px}.request-share{grid-template-columns:1fr}.share-link{flex-wrap:wrap}.request-list article{grid-template-columns:1fr}.request-actions{flex-wrap:wrap}}
.details-page label:has([name="expected_guests"]),.details-page label:has([name="language"]),.details-page label:has([name="dietary"]){display:none!important}.details-shell.details-with-photo{width:min(1050px,100%);padding:0;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(440px,1.1fr);overflow:hidden;border:0;outline:0}.details-photo{min-height:720px;background:linear-gradient(180deg,#1b2a1d22,#172019bb),var(--details-photo) center/cover;display:flex;align-items:end;justify-content:center;padding:55px 30px;color:#fff;text-align:center}.details-photo>div{display:grid}.details-photo span{font:500 48px/1 var(--serif)}.details-photo i{font:italic 26px var(--serif);color:#e2cdb0;margin:5px}.details-photo small{text-transform:uppercase;letter-spacing:.2em;font-size:9px;margin-top:18px}.details-form-panel{padding:48px 55px;background:#fffdf8}.details-form-panel .details-brand{text-align:left}@media(max-width:800px){.details-shell.details-with-photo{grid-template-columns:1fr}.details-photo{min-height:320px}.details-form-panel{padding:38px 25px}.details-photo span{font-size:38px}}
/* Returning guest response cards */
.switch-invitation{display:inline-block;margin:-5px 0 20px;color:#fff;border-bottom:1px solid #ffffff99;font-size:11px;letter-spacing:.04em}.crud-actions button.reset-response{color:#846523;font-weight:600}
.crud-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:18px;align-items:start}.crud-form{position:sticky;top:20px}.crud-form label{display:grid;gap:6px;font-size:11px;font-weight:600;margin-bottom:14px}.crud-filters{display:grid;grid-template-columns:1fr 170px auto;gap:8px;margin-bottom:18px}.guest-cards{display:grid;gap:8px}.guest-cards article{display:grid;grid-template-columns:minmax(180px,1fr) 90px 110px auto;gap:14px;align-items:center;border:1px solid #ebeae4;padding:13px}.guest-main{display:grid}.guest-main span,.guest-main small{font-size:11px;color:var(--muted)}.crud-actions{display:flex;gap:8px;align-items:center}.crud-actions form{margin:0}.crud-actions a,.crud-actions button{border:0;background:none;padding:3px;color:var(--sage-dark);font-size:10px;text-decoration:underline}.crud-actions button.danger{color:#a14b45}@media(max-width:1050px){.crud-layout{grid-template-columns:1fr}.crud-form{position:static}.guest-cards article{grid-template-columns:1fr auto}.guest-code,.crud-actions{grid-column:span 1}}@media(max-width:600px){.crud-filters{grid-template-columns:1fr}.guest-cards article{grid-template-columns:1fr}.guest-code,.crud-actions{grid-column:auto}}
.stat-grid.capacity-stats{grid-template-columns:repeat(3,1fr)}.capacity-stats .target-card{background:#29372e;color:#fff;grid-row:span 2}.capacity-stats .target-card span,.capacity-stats .target-card small{color:#cbd4cc}.capacity-form{display:flex;gap:7px;margin-top:17px}.capacity-form input{min-width:0;background:#fff;color:#26322a;padding:8px}.capacity-form button{border:0;background:#d8c5a5;color:#29372e;padding:8px 12px;font-size:11px;font-weight:600}@media(max-width:850px){.stat-grid.capacity-stats{grid-template-columns:1fr 1fr}.capacity-stats .target-card{grid-row:auto;grid-column:span 2}}@media(max-width:520px){.stat-grid.capacity-stats{grid-template-columns:1fr 1fr}}
.regret-card{text-align:center;padding:42px 28px;border:1px solid #d8c9ba;background:linear-gradient(145deg,#fffdf8,#f5ece5);animation:cardArrive .7s ease both}.regret-heart{font:500 58px var(--serif);color:#b88d85;line-height:1}.regret-card h3{font:500 clamp(38px,5vw,52px)/.95 var(--serif);margin:15px 0;color:#493e3a}.regret-card p{max-width:460px;margin:0 auto;color:#756b67;font-size:13px}.regret-signature{font:italic 25px var(--serif);color:#9a756e;margin:24px 0 15px}.regret-card small{display:block;color:#9a918d;font-size:9px;text-transform:uppercase;letter-spacing:.13em}
/* Print only the accepted keepsake card */
@page{size:A5 portrait;margin:0}
@media print{
html,body{width:148mm!important;height:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
body.printing-accepted *{visibility:hidden!important}
body.printing-accepted .accepted-card-wrap,body.printing-accepted .accepted-card-wrap *{visibility:visible!important}
body.printing-accepted .accepted-card-wrap{position:fixed!important;inset:0!important;display:block!important;width:148mm!important;height:210mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
body.printing-accepted .accepted-card{position:absolute!important;inset:0!important;width:148mm!important;height:210mm!important;margin:0!important;padding:3mm!important;box-shadow:none!important;animation:none!important;background:linear-gradient(135deg,#d7c1a2,#f5ead6 32%,#c6a777 65%,#efe0c5)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
body.printing-accepted .accepted-inner{height:204mm!important;padding:13mm 12mm 8mm!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:#fffdf8!important;box-shadow:inset 0 0 0 1.2mm #fff9!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
body.printing-accepted .accepted-eyebrow{font-size:7pt!important;margin:0 0 3mm!important}
body.printing-accepted .accepted-check{width:11mm!important;height:11mm!important;margin:1mm auto 3mm!important;font-size:14pt!important;animation:none!important}
body.printing-accepted .accepted-dear{font-size:14pt!important;margin:1mm 0!important}
body.printing-accepted .accepted-card h3{font-size:28pt!important;line-height:.92!important;margin:2mm 0!important}
body.printing-accepted .accepted-rule{margin:4mm auto!important}
body.printing-accepted .accepted-copy{font-size:9pt!important;line-height:1.5!important;max-width:105mm!important}
body.printing-accepted .accepted-couple{font-size:21pt!important;margin:5mm 0 1mm!important}
body.printing-accepted .accepted-date{font-size:8pt!important}
body.printing-accepted .accepted-party{font-size:7.5pt!important;margin:4mm 0!important;padding:1.5mm 4mm!important}
body.printing-accepted .accepted-qr{margin:1mm auto 0!important;gap:1mm!important}
body.printing-accepted .accepted-qr img{width:27mm!important;height:27mm!important;padding:1.5mm!important}
body.printing-accepted .accepted-qr span{font-size:5.5pt!important}
body.printing-accepted .accepted-actions{display:none!important}
body.printing-accepted .card-vine,body.printing-accepted .sparkles i{animation:none!important}
}
/* QR pass and downloadable accepted RSVP keepsake */
.accepted-qr{display:grid;justify-items:center;gap:6px;margin:4px auto 18px}.accepted-qr img{width:112px;height:112px;padding:5px;background:#fff;border:1px solid #d2c4aa}.accepted-qr span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#776b59}.invite-info{min-height:100vh;padding:35px 18px;background:linear-gradient(135deg,#314035,#18231c);display:grid;place-items:center}.info-pass{width:min(680px,100%);background:#fffaf0;padding:55px;text-align:center;border:10px solid #dbc69f;outline:1px solid #a78c5f;outline-offset:-17px;box-shadow:0 25px 80px #0007}.pass-monogram{font:600 34px var(--serif);color:var(--sage-dark);margin-bottom:18px}.pass-monogram i{color:var(--rose)}.info-pass h1{font:500 clamp(46px,9vw,78px)/.9 var(--serif);margin:16px 0}.pass-date{text-transform:uppercase;letter-spacing:.16em;font-size:12px}.pass-guest{display:grid;padding:22px;margin:30px 0;background:#eef0e9}.pass-guest small,.pass-events small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.pass-guest strong{font:600 27px var(--serif)}.pass-guest span,.pass-events span{font-size:12px;color:var(--muted)}.pass-events{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.pass-events article{display:grid;gap:5px;padding:20px;background:#fffaf0}.pass-events strong{font:600 22px var(--serif)}.pass-status{display:grid;justify-items:center;margin:25px}.pass-status span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.pass-status strong{font:600 27px var(--serif);color:var(--sage)}.pass-status small{color:var(--muted)}.pass-actions{display:flex;justify-content:center;align-items:center;gap:20px}.pass-actions>a:last-child{text-decoration:underline;font-size:12px}.pass-code{font-size:9px;letter-spacing:.18em;color:var(--muted);margin-top:28px}@media(max-width:520px){.info-pass{padding:38px 22px}.pass-events{grid-template-columns:1fr}}@media print{body.printing-accepted{background:white!important}body.printing-accepted>*{visibility:hidden!important}.printing-accepted .accepted-card-wrap,.printing-accepted .accepted-card-wrap *{visibility:visible!important}.printing-accepted .accepted-card-wrap{position:absolute!important;inset:0!important;width:100%!important}.printing-accepted .accepted-actions{display:none!important}.printing-accepted .accepted-card{box-shadow:none!important;animation:none!important}}
.rsvp-card.accepted-card-wrap{padding:0;background:transparent;overflow:visible}.accepted-card{position:relative;isolation:isolate;overflow:hidden;padding:12px;background:linear-gradient(135deg,#d7c1a2,#f5ead6 32%,#c6a777 65%,#efe0c5);box-shadow:0 28px 70px #19221966;animation:cardArrive .9s cubic-bezier(.2,.85,.25,1) both}.accepted-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,#fff9 0 2px,transparent 3px),radial-gradient(circle at 80% 70%,#fff7 0 1px,transparent 2px);background-size:32px 32px,23px 23px;opacity:.4}.accepted-inner{position:relative;z-index:2;text-align:center;padding:48px 40px 38px;border:1px solid #a98b5a;background:linear-gradient(#fffdf7f5,#fffaf0f5);box-shadow:inset 0 0 0 5px #fff9}.accepted-eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:9px;font-weight:600;color:#7b684b}.accepted-check{width:48px;height:48px;margin:18px auto 12px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--sage);font-size:22px;box-shadow:0 0 0 7px #71806c1d;animation:checkBloom .7s .55s cubic-bezier(.2,1.4,.4,1) both}.accepted-dear{font:italic 20px var(--serif);color:#766b58;margin:12px 0}.accepted-card h3{font:500 clamp(39px,5vw,56px)/.92 var(--serif);margin:10px 0;color:#27362c}.accepted-rule{display:flex;align-items:center;gap:12px;width:150px;margin:22px auto}.accepted-rule:before,.accepted-rule:after{content:'';height:1px;flex:1;background:#b99d70}.accepted-rule span{font-size:9px;color:#a77e6e}.accepted-copy{max-width:420px;margin:0 auto;color:#6e705f;font-size:13px}.accepted-couple{font:italic 29px var(--serif);color:var(--sage-dark);margin:20px 0 8px}.accepted-date{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#796747}.accepted-party{display:inline-block;padding:7px 14px;margin:18px 0;border-radius:20px;background:#71806c12;color:#52604e;font-size:11px}.accepted-actions{display:flex;justify-content:center;gap:12px;margin-top:5px}.accepted-actions a,.accepted-actions button{border:1px solid #8c795b;background:transparent;color:#5e503d;padding:9px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.card-vine{position:absolute;z-index:3;color:#71806c;font-size:70px;opacity:.45;animation:vineSway 4s ease-in-out infinite}.vine-left{left:-10px;top:15px;transform:rotate(-32deg)}.vine-right{right:-10px;bottom:10px;transform:rotate(148deg);animation-delay:-2s}.sparkles i{position:absolute;z-index:4;color:#fff6d7;font-style:normal;animation:sparkle 2.6s ease-in-out infinite}.sparkles i:nth-child(1){left:9%;top:15%}.sparkles i:nth-child(2){left:85%;top:12%;animation-delay:.4s}.sparkles i:nth-child(3){left:92%;top:58%;animation-delay:1.1s}.sparkles i:nth-child(4){left:8%;top:75%;animation-delay:1.6s}.sparkles i:nth-child(5){left:73%;top:88%;animation-delay:2s}@keyframes cardArrive{from{opacity:0;transform:translateY(35px) scale(.96) rotateX(4deg)}to{opacity:1;transform:none}}@keyframes checkBloom{from{opacity:0;transform:scale(.2) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes sparkle{0%,100%{opacity:.2;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.35) rotate(90deg)}}@keyframes vineSway{0%,100%{margin-top:0}50%{margin-top:6px}}@media(max-width:520px){.accepted-inner{padding:42px 20px 30px}.accepted-actions{flex-direction:column}.accepted-actions a,.accepted-actions button{width:100%}}@media(prefers-reduced-motion:reduce){.accepted-card,.accepted-check,.card-vine,.sparkles i{animation:none}}
