
:root{--ink:#30302e;--muted:#74736f;--line:#e8e6e3;--bg:#faf9f7;--btn:#292a29;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}main{max-width:650px;margin:45px auto 85px;padding:0 22px}.invite{display:block;width:100%;height:auto;box-shadow:0 9px 38px #00000013;background:#f6f2e9}header{text-align:center;padding:43px 0 28px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,6.5vw,44px);font-weight:400;line-height:1.12;margin:0 0 18px}h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:26px;margin:0 0 18px}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.hosts{font-size:15px;margin:0}.divider{height:1px;background:var(--line);border:0;margin:0}.details{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:28px 0;gap:10px}.details strong{font-size:16px;display:block;font-weight:500;line-height:1.8}.details span{display:block;color:var(--muted);font-size:14px;margin:4px 0}.location{text-align:center;padding:26px 0 32px}.location a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.copy{text-align:center;font-size:16px;line-height:1.85;margin:0; padding:30px 12px 34px}.gifts{text-align:center;padding:26px 0}.gifts .label{font-size:17px;font-weight:600}.gifts p{margin:12px 0 0;color:var(--muted)}.rsvp{background:var(--white);border:1px solid var(--line);padding:32px 30px 28px;margin-top:28px;border-radius:3px;text-align:center}.rsvp .small{color:var(--muted);font-size:13px;margin:10px 0 25px}.rsvp form{text-align:left}.field{margin:0 0 20px}.field label,.field legend{font-size:14px;font-weight:600;display:block;margin-bottom:10px}.field input[type=text]{width:100%;height:44px;padding:11px 13px;border:1px solid #d6d5d2;border-radius:3px;background:white;font:inherit;font-size:15px}.choice{display:flex;gap:12px}.choice label{border:1px solid #d6d5d2;border-radius:3px;padding:14px;flex:1;font-weight:normal;text-align:center;cursor:pointer}.choice input{accent-color:var(--ink);margin-right:7px}.counters{display:grid;grid-template-columns:1fr 1fr;gap:16px}.counter{display:flex;align-items:center;justify-content:space-between;border:1px solid #d6d5d2;height:46px;border-radius:3px}.counter button{border:0;background:transparent;font-size:22px;cursor:pointer;height:100%;width:42px;color:var(--ink)}.counter output{font-size:17px}.total{background:var(--bg);padding:13px;text-align:center;margin:10px 0 20px;font-size:14px}.submit{width:100%;height:49px;background:var(--btn);color:#fff;border:0;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.2px}.note{font-size:12px;line-height:1.6;color:var(--muted);text-align:center;margin:14px 0 0}.confirmation{display:none;text-align:center;padding:4px 5px}.confirmation p{line-height:1.8}.confirmation button{border:1px solid #aaa;background:transparent;padding:12px 20px;cursor:pointer;margin-top:10px}.footer{text-align:center;color:#96948e;font-size:12px;margin:35px 0}@media(max-width:540px){main{margin:0 auto 45px;padding:0 0}.invite{box-shadow:none}article{padding:0 22px}header{padding:30px 18px 25px}.details{grid-template-columns:1fr;gap:22px}.rsvp{margin:22px 14px 0;padding:28px 20px}.copy{padding:27px 4px}.footer{padding:0 16px}}

[hidden]{display:none!important}.reminder-choice{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.6;margin:0 0 20px;color:var(--muted)}.reminder-choice input{margin-top:3px}.submit:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #74898c;outline-offset:3px}.copy{white-space:pre-line}

.location{padding-top:12px}#guest-note{width:100%;font:inherit;padding:10px;border:1px solid #d6d5d2;border-radius:3px}button:disabled{cursor:default;opacity:.5}

.gifts{padding:12px 0}.gifts p{margin:0}.family-greeting{text-align:center;margin:0 0 22px}

.gifts + .rsvp,article:has(.gifts) + .rsvp{margin-top:0}.gifts{padding-block:24px}
