:root{--ground:#7f021f;--ground-lift:#9c0c2b;--ground-deep:#52010f;--card:#fbf6ec;--ink:#2a2117;--ink-soft:#5b5142;--brass:#a98a54;--brass-deep:#7c6538;--rose:#b97d7d;--line:#e4dac5;--font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;--font-body:"Karla",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background-color:var(--ground);background-image:radial-gradient(circle at 50% -10%,var(--ground-lift) 0,var(--ground) 45%,var(--ground-deep) 100%);background-attachment:fixed;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit}.page-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px 64px}.invitation-card{width:100%;max-width:620px;background:var(--card);border:1px solid rgba(169,138,84,.35);border-radius:6px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);padding:48px 40px 44px;position:relative;animation:card-rise .6s cubic-bezier(.16,1,.3,1) both}@media (max-width:480px){.invitation-card{padding:36px 22px 32px}}@keyframes card-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.invitation-card{animation:none}}.card-flourish{display:block;margin:0 auto 22px}.card-greeting{text-align:center;font-family:var(--font-display);font-size:2.15rem;line-height:1.15;font-weight:600;color:var(--ink);margin:0 0 14px}.card-message{text-align:center;font-size:1rem;line-height:1.6;color:var(--ink-soft);max-width:46ch;margin:0 auto 6px}.card-deadline{text-align:center;font-size:.95rem;color:var(--brass-deep);margin:6px 0 0}.card-rule{border:none;border-top:1px solid var(--line);margin:32px 0 30px}.form-section{margin-bottom:30px}.status-group{border:0;padding:0;min-width:0}.status-group>legend{padding:0}.form-section:last-child{margin-bottom:0}.form-section-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--ink);margin:0 0 14px}.status-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:420px){.status-options{grid-template-columns:1fr}}.status-option{position:relative;border:1px solid var(--line);border-radius:4px;padding:14px 16px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;background:transparent}.status-option:hover{border-color:var(--brass)}.status-option[data-checked=true]{border-color:var(--brass);background:rgba(169,138,84,.09)}.status-option[data-status=declined][data-checked=true]{border-color:var(--rose);background:hsla(0,30%,61%,.09)}.status-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.status-option-label{font-family:var(--font-display);font-size:1.15rem;font-weight:600;display:block}.field{margin-bottom:18px}.field:last-child{margin-bottom:0}.field-label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.field-hint{font-size:.8rem;color:var(--ink-soft);opacity:.8;margin-top:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:480px){.field-row{grid-template-columns:1fr}}input[type=email],input[type=tel],input[type=text],textarea{width:100%;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:11px 13px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(169,138,84,.18)}textarea{resize:vertical;min-height:88px;line-height:1.5}.field-error{color:var(--rose);font-size:.82rem;margin-top:6px}.submit-row{margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:10px}.submit-button{font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--card);background:var(--ink);border:none;border-radius:4px;padding:14px 34px;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.submit-button:hover:not(:disabled){background:var(--brass-deep)}.submit-button:active:not(:disabled){transform:scale(.98)}.submit-button:disabled{opacity:.55;cursor:not-allowed}.submit-button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.form-banner{text-align:center;font-size:.9rem;padding:10px 14px;border-radius:4px;margin-bottom:22px}.form-banner[data-tone=error]{background:hsla(0,30%,61%,.14);color:#7a3d3d}.form-banner[data-tone=info]{background:rgba(169,138,84,.12);color:var(--brass-deep)}.state-card{text-align:center}.state-title{font-family:var(--font-display);font-size:1.9rem;font-weight:600;margin:0 0 12px}.state-body{color:var(--ink-soft);font-size:1rem;line-height:1.6;max-width:42ch;margin:0 auto}.state-spinner{width:34px;height:34px;margin:0 auto 22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brass);animation:spin .8s linear infinite}@media (prefers-reduced-motion:reduce){.state-spinner{animation-duration:1.6s}}@keyframes spin{to{transform:rotate(1turn)}}.edit-note{text-align:center;font-size:.85rem;color:var(--brass-deep);background:rgba(169,138,84,.1);border-radius:4px;padding:9px 14px;margin-bottom:26px}.plus-one-toggle{display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-radius:4px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.plus-one-toggle:hover{border-color:var(--brass)}.plus-one-toggle[data-checked=true]{border-color:var(--brass);background:rgba(169,138,84,.09)}.plus-one-toggle input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.plus-one-box{flex:none;width:20px;height:20px;margin-top:1px;border:1px solid var(--brass);border-radius:3px;background:#fff;color:var(--card);display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease}.plus-one-box svg{opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .15s ease}.plus-one-toggle[data-checked=true] .plus-one-box{background:var(--brass-deep);border-color:var(--brass-deep)}.plus-one-toggle[data-checked=true] .plus-one-box svg{opacity:1;transform:scale(1)}.plus-one-toggle:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px rgba(169,138,84,.18)}.plus-one-text{display:block}.plus-one-title{display:block;font-size:.95rem;font-weight:600;color:var(--ink)}.plus-one-sub{display:block;font-size:.82rem;line-height:1.45;color:var(--ink-soft);margin-top:3px}.plus-one-fields{margin-top:18px;animation:plus-one-reveal .25s cubic-bezier(.16,1,.3,1) both}@keyframes plus-one-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.plus-one-fields{animation:none}.plus-one-box,.plus-one-box svg{transition:none}}.card-header{text-align:center;margin-bottom:26px}.card-couple{font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep);margin:0}.card-date{font-family:var(--font-display);font-size:1.05rem;color:var(--ink-soft);margin:7px 0 0}.card-header+.card-flourish{margin-top:0}.form-fields{border:0;margin:0;padding:0;min-width:0}.locked-note{text-align:center;font-size:.85rem;color:var(--brass-deep);background:rgba(169,138,84,.1);border-radius:4px;padding:9px 14px;margin:0 0 26px}.form-fields:disabled input:not([type=radio]):not([type=checkbox]),.form-fields:disabled textarea{background:rgba(42,33,23,.03);color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1;cursor:default}.form-fields:disabled .plus-one-toggle,.form-fields:disabled .plus-one-toggle input,.form-fields:disabled .status-option,.form-fields:disabled .status-option input{cursor:default}.form-fields:disabled .plus-one-toggle:not([data-checked=true]):hover,.form-fields:disabled .status-option:not([data-checked=true]):hover{border-color:var(--line)}.form-fields:disabled .status-option:not([data-checked=true]){opacity:.45}.state-body a{color:var(--brass-deep);text-decoration:underline;text-underline-offset:2px}