:root{--cream:#f7f1e8;--paper:#fffdf8;--ink:#17342e;--wine:#7a2842;--gold:#a87920;--line:#ddccb1;--danger:#a92836}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.5}.topbar{height:72px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7dccb;background:#fffaf4dd;backdrop-filter:blur(10px)}.brand{font-size:25px;font-style:italic;color:var(--wine);text-decoration:none}.topbar nav{display:flex;gap:22px;align-items:center;font-family:Arial,sans-serif;font-size:14px}.topbar a{color:var(--wine)}main{margin:50px auto}.narrow,.login{max-width:620px}.wide{max-width:1180px;padding:0 22px}.card{background:var(--paper);padding:32px;border:1px solid var(--line);border-radius:4px;box-shadow:0 14px 45px #684a2310}.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--wine)}h1{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:.25em 0}h2{font-size:25px}label,legend{display:block;font:600 14px Arial,sans-serif;margin:16px 0 7px}input,textarea,select{width:100%;padding:12px 13px;border:1px solid #cdbfa9;border-radius:3px;background:#fff;font:16px Arial,sans-serif;color:#172019}input:focus,textarea:focus{outline:2px solid #b7862f55;border-color:var(--gold)}button,.button{display:inline-block;border:0;border-radius:3px;background:var(--wine);color:white;padding:12px 18px;font:700 14px Arial,sans-serif;text-decoration:none;cursor:pointer}.secondary{background:transparent;color:var(--wine);border:1px solid var(--wine)}form button{margin-top:18px}.error,.flash,.success{padding:13px 16px;border-radius:3px}.error{background:#fdecef;color:var(--danger)}.flash{max-width:1180px;margin:18px auto;background:#eef7e9;color:#315d28}.success{background:#edf7ea}.login{margin-top:11vh}.login form{margin-top:32px}.hero-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.event-card{background:var(--paper);border:1px solid var(--line);padding:24px;color:inherit;text-decoration:none;transition:.2s}.event-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #684a2315}.event-card span{color:var(--gold);font:700 12px Arial,sans-serif}.event-card h2{margin:.45em 0}.empty{padding:45px;border:1px dashed var(--line);text-align:center}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:24px}.split>section>.card{margin-bottom:22px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.colors{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.colors input{height:44px;padding:4px}.copy-row{display:flex;gap:8px}.copy-row button{margin:0}.hint{font-size:14px;color:#655f56}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-family:Arial,sans-serif;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #e8ddcc;white-space:nowrap}.status{background:#f0e9dd;padding:5px 8px;border-radius:20px}.status.yes{background:#e0f1dc;color:#2e6127}footer{text-align:center;padding:40px;color:#857968;font-size:13px}.invitation-page{background:#ede7df}.invitation-page .topbar{display:none}.invitation{--bg:#f8f3eb;--paper:#fffcf6;--gold:#9a6a13;--ink:#18382f;position:relative;overflow:hidden;max-width:900px;margin:25px auto;background:var(--paper);color:var(--ink);border:2px solid var(--gold);padding:75px clamp(24px,8vw,90px);text-align:center;box-shadow:0 20px 60px #3d2e1c20}.invitation h1{font-size:clamp(64px,12vw,118px);font-style:italic;font-weight:400;color:var(--gold);margin:.05em}.invitation .eyebrow{color:var(--ink);letter-spacing:.35em}.motto{font-size:22px;font-style:italic}.ornament{color:var(--gold);font-size:42px}.intro,.closing{font-size:21px}.event-facts{display:grid;grid-template-columns:1fr 1fr 1.5fr;border-block:1px solid var(--gold);margin:35px 0}.event-facts div{padding:20px 10px;border-right:1px solid var(--gold)}.event-facts div:last-child{border:0}.event-facts strong,.event-facts span{display:block}.event-facts span{font-size:13px;margin-top:5px}.rsvp{position:relative;background:#fffaf1e8;border:1px solid #d8c397;padding:28px;margin:25px auto;text-align:left;max-width:600px}.rsvp h2,.rsvp>p{text-align:center}.rsvp fieldset{border:1px solid #d9ccb5;margin-top:18px}.rsvp .choice{display:inline-flex;align-items:center;margin:8px 18px 8px 0;font-weight:400}.choice input{width:auto;margin-right:7px}.guest-names{background:#f4eee3;padding:15px;margin:15px 0}.leaves{position:absolute;width:230px;height:310px;opacity:.24;pointer-events:none;background:radial-gradient(ellipse at 40% 40%,#2f5a42 0 18%,transparent 19%) 0 0/74px 105px,linear-gradient(65deg,transparent 49%,var(--gold) 50% 51%,transparent 52%)}.leaves-top{left:-55px;top:-75px;transform:rotate(-18deg)}.leaves-bottom{right:-55px;bottom:-75px;transform:rotate(162deg)}@media(max-width:760px){.topbar nav span{display:none}.wide{padding:0 14px}.hero-row{display:block}.split{grid-template-columns:1fr}.card{padding:22px}.cols{grid-template-columns:1fr}.colors{grid-template-columns:1fr 1fr}.invitation{margin:0;border-width:1px;padding:55px 14px}.event-facts{grid-template-columns:1fr}.event-facts div{border-right:0;border-bottom:1px solid var(--gold)}.rsvp{margin:25px 0}.leaves{width:150px}.intro,.closing{font-size:18px}}
