:root{--paper:#fbf7ef;--gold:#a77b36;--deepgold:#80591e;--ink:#3d3429;--sage:#59634c;--border:#d6b77b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9e0d0;color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;line-height:1.45}.ambient{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 5% 5%,#c5b494 0,transparent 40%),radial-gradient(ellipse at 90% 95%,#d0c2a9 0,transparent 40%),#eee6d8}.invite{max-width:900px;margin:34px auto 60px;padding:75px 74px 45px;position:relative;overflow:hidden;text-align:center;border:1px solid #c9a365;outline:1px solid #c9a365;outline-offset:-15px;background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.8),transparent 65%),repeating-linear-gradient(85deg,rgba(161,123,64,.015) 0 2px,transparent 2px 6px),var(--paper);box-shadow:0 20px 70px #594b3540}.invite:before,.invite:after{content:'';position:absolute;pointer-events:none;width:350px;height:430px;opacity:.22;background:radial-gradient(ellipse at 15% 12%,#697a55 0 8%,transparent 9%),radial-gradient(ellipse at 31% 25%,#8b996f 0 9%,transparent 10%),radial-gradient(ellipse at 15% 46%,#87936e 0 10%,transparent 11%),radial-gradient(ellipse at 48% 8%,#a8ad8b 0 8%,transparent 9%),radial-gradient(ellipse at 48% 47%,#71865b 0 10%,transparent 11%);filter:blur(2px)}.invite:before{top:-65px;left:-140px;transform:rotate(-25deg)}.invite:after{bottom:-160px;right:-160px;transform:rotate(155deg)}.corner{position:absolute;color:#bd9a61;font-size:35px;line-height:1}.corner-tl{top:23px;left:28px}.corner-tr{top:23px;right:28px;transform:scaleX(-1)}.corner-bl{bottom:23px;left:28px;transform:scaleY(-1)}.corner-br{bottom:23px;right:28px;transform:scale(-1)}.hero,.event,.rsvp,footer{position:relative;z-index:1}.verse{font-size:25px;font-style:italic;margin:0 0 22px}.ornament{font-size:34px;color:var(--gold);line-height:1}.eyebrow,.event-label,.tiny,.venue h2,.rsvp-form label,.rsvp-form legend{font-family:Montserrat,Arial,sans-serif;letter-spacing:3px;font-size:12px;font-weight:500}.eyebrow{line-height:2.1}.event-label{font-size:21px;letter-spacing:10px;color:var(--deepgold);margin:18px 0}.hero h1{font-family:'Great Vibes','Brush Script MT',cursive;color:#a27633;font-weight:400;font-size:clamp(94px,13vw,146px);line-height:.83;margin:42px 0 36px;text-shadow:1px 2px 1px #e7cf9d}.hero h1 span{font-size:.55em}.heart{margin-top:15px}.intro{font-style:italic;font-size:27px;line-height:1.24}.rule{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--gold);margin:35px auto}.rule:before,.rule:after{content:'';height:1px;background:#c6a36b;width:110px}.date-row{display:flex;align-items:center;justify-content:center;gap:40px}.date-item{display:flex;flex-direction:column;gap:7px}.date-item strong{font-size:47px;font-weight:400;color:var(--deepgold);line-height:1}.date-item em{font-style:normal;color:#a58b64}.time{border-left:1px solid #b69a6b;padding-left:40px}.venue{display:flex;justify-content:center;gap:18px;align-items:start;margin-top:44px}.pin{font-size:39px;color:var(--gold);line-height:1}.venue h2{font-size:13px;letter-spacing:2px;margin:2px 0 8px}.venue p{margin:0;font-size:24px;font-style:italic}.maplink{font-family:Montserrat,Arial,sans-serif;font-size:11px;text-decoration:none;letter-spacing:1px;color:var(--deepgold);border-bottom:1px solid #c6a36b;display:inline-block;margin-top:12px;padding-bottom:4px}.rsvp{border:1px solid #cba969;background:linear-gradient(130deg,#fffaf2ee,#f6eddfd9);padding:42px 48px;margin-top:28px;box-shadow:0 6px 30px #bfa77c2b}.rsvp h2{font-size:54px;color:var(--deepgold);font-weight:500;margin:4px 0 10px}.rsvp-desc{font-size:24px;max-width:580px;margin:0 auto 28px}.rsvp-desc b{color:var(--deepgold);font-weight:600}.rsvp-form{text-align:left}.field{margin-bottom:19px;border:0;padding:0;min-width:0}.rsvp-form label,.rsvp-form legend{letter-spacing:.6px;font-size:12px;display:block;margin-bottom:9px;color:#675136;font-weight:600}.rsvp-form label span,.rsvp-form legend span{color:#a5793e}input:not([type=radio]),select,textarea{width:100%;border:1px solid #d9c6a7;border-radius:3px;padding:14px 15px;background:#fffdfa;color:#453d31;font-family:Montserrat,Arial,sans-serif;font-size:13px;outline:none}input:focus,textarea:focus,select:focus{border-color:#a77b36;box-shadow:0 0 0 3px #c3a76f30}textarea{resize:vertical}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{margin:0!important;cursor:pointer}.choice input{position:absolute;opacity:0}.choice span{display:block;text-align:center;border:1px solid #c7ae83;background:#fffdf9;padding:15px 9px;font-family:Montserrat,Arial,sans-serif;font-size:12px;letter-spacing:0;color:#544532;transition:.2s}.choice input:checked+span{background:#667054;color:white;border-color:#667054}.choice input:focus-visible+span{outline:3px solid #bd9147}.privacy{font-family:Montserrat,Arial,sans-serif;font-size:10px;text-align:center;color:#746b5d}.submit{width:100%;border:0;background:linear-gradient(115deg,#8e692e,#b98c49,#8e692e);color:white;padding:18px;cursor:pointer;font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.6px;transition:filter .2s}.submit:hover{filter:brightness(1.08)}.submit span{font-size:19px;margin-left:8px}.feedback{padding:25px;background:#f4ecdf;border:1px solid #d1b583}.feedback h3{font-size:37px;margin:0;color:#7c642e}.feedback p{margin:5px}.feedback.error{border-color:#aa6e60;color:#8c4d41}.bigheart{font-size:38px;color:#aa854a}footer{padding-top:35px}footer>p:first-child{font-size:31px;font-style:italic;line-height:1.15}footer .signature{font-family:'Great Vibes',cursive;color:var(--deepgold);font-size:36px}.floral{position:absolute;top:0;color:#7e8966;opacity:.45;font-size:28px;display:flex;gap:7px}.floral-left{left:0;transform:rotate(-22deg)}.floral-right{right:0;transform:rotate(22deg)}[hidden]{display:none!important}
/* Administration */.shell,.admin-shell{max-width:1080px;margin:50px auto;padding:38px;background:var(--paper);border:1px solid var(--border);box-shadow:0 12px 45px #594b3520}.shell{max-width:540px}.center{text-align:center}.shell h2,.admin-shell h2{font-size:43px;color:var(--deepgold);font-weight:500}.shell form{text-align:left}.shell label{display:block;font:600 12px Montserrat;margin:14px 0 7px}.shell button,.admin-shell button,.btn{display:inline-block;background:var(--deepgold);border:0;color:white;padding:13px 20px;font:500 12px Montserrat;text-decoration:none;cursor:pointer}.secondary{background:var(--sage)!important}.notice{padding:14px;background:#f1e4cd}.notice.error{color:#a03c34}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0}.stat{padding:20px;border:1px solid var(--border);background:#fffaf1;font:12px Montserrat}.stat b{display:block;font:42px 'Cormorant Garamond';color:var(--deepgold)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.actions form{margin:0}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font:12px Montserrat}th,td{border-bottom:1px solid #e2d5be;padding:13px;text-align:left;vertical-align:top}th{color:var(--deepgold)}.small{font-size:13px}@media(max-width:650px){body{font-size:18px}.invite{margin:0;padding:70px 23px 35px;outline-offset:-10px}.corner{font-size:25px}.corner-tl,.corner-bl{left:14px}.corner-tr,.corner-br{right:14px}.verse{font-size:20px}.eyebrow{font-size:9px;letter-spacing:2px}.event-label{font-size:16px;letter-spacing:6px}.hero h1{font-size:clamp(75px,17vw,112px);margin:32px 0}.intro{font-size:22px}.desktop{display:none}.date-row{gap:16px}.date-item strong{font-size:30px}.time{padding-left:17px}.tiny{font-size:9px}.venue{gap:8px}.venue h2{font-size:10px;letter-spacing:1px}.venue p{font-size:19px}.rsvp{padding:30px 17px}.rsvp h2{font-size:42px}.rsvp-desc{font-size:21px}.choices{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.shell,.admin-shell{margin:12px;padding:18px}.floral{font-size:18px}}
