@import"https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@300;400;500;600&display=swap";:root{--cream:#f8f0e5;--sand:#e4cdb3;--peach:#d99b82;--gold:#b79362;--brown:#49342c;--ink:#2d211d;--white:#fffaf3;--serif:"Cormorant Garamond",Georgia,serif;--script:"Allura","Cormorant Garamond",cursive;--sans:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300}button,input,textarea,select{font:inherit}.hidden{display:none!important}.loader,.invalid{min-height:100svh;display:grid;place-content:center;text-align:center;padding:2rem;background:radial-gradient(circle at 50% 20%,#eed0bc,var(--cream) 50%,#d8bda4)}.invalid h1{font:500 clamp(2rem,8vw,4rem)/1 var(--serif);max-width:700px}.monogram small{display:block;font:500 1rem var(--sans);letter-spacing:.3em}.monogram{font:500 6rem/1 var(--serif);color:var(--gold)}.hero{background-color:#5b3b32;height:100svh;min-height:620px;background-image:linear-gradient(180deg,#1c120e33,#1e120d99),var(--hero);background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:#fff;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:18px;border:1px solid #fff7;pointer-events:none}.hero-content{z-index:1;text-shadow:0 2px 20px #1d0d08aa}.eyebrow,.overline{font-size:.67rem;letter-spacing:.35em;font-weight:500;text-transform:uppercase}.hero h1{font:400 clamp(5rem,22vw,11rem)/.8 var(--script);margin:1rem}.age{font:300 clamp(8rem,42vw,19rem)/.75 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.08em;color:#fff6e8}.hero-date{letter-spacing:.25em;font-size:.78rem}.discover{display:inline-flex;flex-direction:column;color:#fff;text-decoration:none;margin-top:3rem;text-transform:uppercase;font-size:.62rem;letter-spacing:.22em}.discover span{font-size:1.5rem;animation:bob 1.8s infinite}.welcome,.section,.location,.rsvp{padding:6rem max(1.5rem,calc((100% - 1050px)/2));text-align:center}.welcome{min-height:70vh;display:flex;flex-direction:column;justify-content:center;background:var(--white)}h2{font:500 clamp(2.4rem,10vw,5rem)/.95 var(--serif);margin:.5em 0}.welcome p:not(.script){max-width:540px;margin:1rem auto;line-height:1.8}.script{font:italic 2rem var(--serif);color:var(--peach)}.countdown{background:linear-gradient(135deg,#3e2923,#65463b);color:#fff;text-align:center;padding:4.5rem 1rem}.timer{display:flex;justify-content:center;gap:clamp(.7rem,5vw,4rem);margin-top:2.5rem}.timer div{min-width:60px}.timer strong{display:block;font:400 clamp(2.2rem,11vw,5rem) var(--serif)}.timer span{font-size:.5rem;letter-spacing:.16em}.details{display:grid;grid-template-columns:1fr;gap:1px;background:#d9c5ae;margin-top:3rem}.details article{background:var(--cream);padding:2rem .7rem;display:flex;flex-direction:column;gap:.7rem}.details small{font-size:.55rem;letter-spacing:.2em}.details strong{font:500 1.3rem var(--serif)}.location{background:#e8d4c2}.location>p{line-height:1.7}.location iframe{border:0;width:100%;height:360px;border-radius:24px;box-shadow:0 20px 50px #4a30252a;margin:2rem 0}.map-actions,.choices{display:flex;gap:.7rem;justify-content:center}.map-actions a,.choices button,.submit{border:1px solid var(--brown);padding:.9rem 1.3rem;color:var(--brown);background:transparent;text-decoration:none;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em}.rsvp{background:var(--white)}#rsvp-form{max-width:550px;margin:2.5rem auto}.choices button{flex:1}.choices button.active,.submit{background:var(--brown);color:#fff}.choices button span{color:#d69987}#accepted-fields{margin:2rem 0}.rsvp label{display:block;margin:1.5rem 0 .7rem;font-size:.8rem}.rsvp label span{color:#8f7b71}.stepper{display:flex;align-items:center;justify-content:center;gap:1.5rem}.stepper button{width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:#fff;font-size:1.5rem}.stepper output{font:500 3rem var(--serif);min-width:40px}.rsvp textarea{width:100%;border:0;border-bottom:1px solid #a99182;background:#f5eee8;padding:1rem}.submit{width:100%;padding:1.2rem}.success{font:italic 1.3rem var(--serif);color:#826347;background:#f4e8dc;border:1px solid #d8bda5;border-radius:14px;padding:1.2rem;animation:success-pop .65s ease both}.success:before{content:"✦";display:block;color:var(--gold);font-size:1.5rem;margin-bottom:.35rem}@keyframes success-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}footer{text-align:center;color:#fff;background:#34241f;padding:5rem 1rem}.footer-age{font:4rem var(--serif);color:var(--gold)}footer p{font:3rem var(--script);margin:.5rem}footer small{letter-spacing:.12em}@keyframes bob{50%{transform:translateY(7px)}}body.admin{background:#f4f1ed}.admin-shell{max-width:1200px;margin:auto;padding:1.2rem}.admin-shell header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.admin-shell header>div{display:flex;align-items:center;gap:1rem}.admin-mark{background:var(--brown);color:#fff;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;font:1.7rem var(--serif)}.admin-shell h1,.admin-shell h2{font-size:2rem;margin:.15rem 0}.admin-shell header small{font-size:.55rem;letter-spacing:.15em}.login-card,.admin-card{background:#fff;border-radius:18px;padding:1.4rem;box-shadow:0 8px 30px #3b291610}.login-card{max-width:430px;margin:10vh auto}.login-card label,.login-card input{display:block;width:100%;margin:.6rem 0}.login-card input,.toolbar input,.toolbar select,dialog input,dialog textarea{border:1px solid #d5cbc2;border-radius:8px;padding:.8rem}.login-card button,.toolbar button,dialog button{border:0;background:var(--brown);color:#fff;padding:.8rem 1.2rem;border-radius:8px}.login-card button{display:block;width:100%;margin-top:1.25rem;background:#392722!important;color:#fffaf3!important;border:2px solid #392722!important;box-shadow:0 8px 20px #39272238;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1rem}.stats article{background:#fff;padding:1rem;border-radius:14px}.stats small{font-size:.55rem;display:block;letter-spacing:.08em}.stats strong{font:2.5rem var(--serif)}.toolbar{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1rem}.toolbar input{flex:1;min-width:180px}.table-title{display:flex;justify-content:space-between;align-items:center}.ghost,.guest-actions button{border:1px solid #cbbbad!important;background:transparent!important;color:var(--brown)!important;padding:.55rem!important;border-radius:7px}.guest{padding:1rem 0;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:1rem}.guest>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.guest small{color:#796a61}.guest.disabled{opacity:.5}.badge{font-size:.6rem;padding:.3rem .5rem;border-radius:99px}.badge.accepted{background:#dcebdc}.badge.declined{background:#f3dddd}.badge.pending{background:#eee8d8}.guest-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}dialog{border:0;border-radius:18px;padding:0;box-shadow:0 20px 80px #0004;width:min(92%,480px)}dialog::backdrop{background:#25171299;backdrop-filter:blur(5px)}dialog form{padding:2rem;position:relative}dialog label,dialog input,dialog textarea{display:block;width:100%;margin:.6rem 0}.dialog-close{position:absolute;right:1rem;top:1rem;background:transparent;color:var(--ink);font-size:1.5rem;padding:.2rem}.check,.check input{display:inline!important;width:auto!important}.empty{text-align:center;padding:3rem}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,30px);opacity:0;background:#29201c;color:#fff;padding:.8rem 1.2rem;border-radius:99px;transition:.3s}#toast.show{opacity:1;transform:translate(-50%)}@media(min-width:760px){.details{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(5,1fr)}.admin-shell{padding:2rem}.location iframe{height:470px}}@media(max-width:650px){.guest{flex-direction:column}.guest-actions{justify-content:flex-start}.guest-actions button{font-size:.65rem}.toolbar>*{flex:1}.map-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
