:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0f6;--ink:#1c2330;--muted:#5b6474;--accent:#2f3b52;--card:#f7f8fb;--border:#d6dbe6;--soft:#c7d0df}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at top,#fff 0%,var(--bg)60%);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.rsvp-column a{font-weight:600;text-decoration:underline}.rsvp-column a:hover{text-decoration-thickness:2px}.container{max-width:900px;margin:0 auto;padding:32px 20px 60px}.site-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:32px;padding-bottom:12px;display:flex}.brand{letter-spacing:.02em;font-size:1.5rem;font-weight:600}.nav{gap:16px;font-size:.95rem;display:flex}.hero{border:1px solid var(--border);background:linear-gradient(135deg,#f9fafc 0%,#e2e6f0 100%);border-radius:16px;margin-bottom:28px;padding:32px;box-shadow:0 14px 28px #1a202e1f}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}.card h3{margin-top:0}.form{background:var(--card);border:1px solid var(--border);border-radius:14px;gap:16px;padding:24px;display:grid}.form label{margin-bottom:6px;font-weight:600;display:block}.form input,.form select,.form textarea{border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px;font-size:1rem}.form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 18px;font-size:1rem}.form button:hover{opacity:.9}.form-row-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-note{background:#eef3fb;border:1px solid #c6d5ea;border-radius:10px;padding:12px 14px}.form-note p{color:#2a3f5f;margin:0}.form-note .form-row-two{margin-top:12px}.success{color:#23354e;background:#e3ecf7;border:1px solid #b6c6dd;border-radius:8px;padding:12px 16px}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px}.summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px;display:grid}.kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-size:.75rem}.headline{margin:6px 0 12px;font-size:2.4rem}.divider{color:#f6f7fb;letter-spacing:.2em;align-items:center;gap:12px;margin:18px 0;font-size:1.1rem;display:flex}.divider:before,.divider:after{content:"";background:#ffffff80;flex:1;height:1px}.pill{border:1px solid var(--border);color:var(--accent);background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem;display:inline-block}.section{margin:24px 0}.section h2{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:1rem}.section .rsvp-title-box{color:#fff}.invite-hero{border:1px solid var(--border);background:#f4f5f8;border-radius:18px;padding:0;overflow:hidden;box-shadow:0 18px 36px #161e2c24}.invite-grid{grid-template-columns:minmax(260px,1.2fr) minmax(180px,.8fr);min-height:260px;display:grid}.invite-panel{border-right:1px solid var(--border);background:#f6f7fb;padding:0}.invite-photo{background:linear-gradient(135deg,#c9d2e3 0%,#aab6cc 100%);border-radius:0;height:250px;margin:0;position:relative;overflow:hidden}.invite-photo img{object-fit:cover;width:100%;height:100%;display:block}.invite-panel-body{padding:22px 32px 28px}.invite-caption{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.75rem}.invite-title{margin:10px 0 4px;font-size:2.1rem}.invite-text{color:var(--muted);font-size:1rem;line-height:1.6}.invite-date{color:#f6f7fb;text-align:center;background:#5c677d;place-content:center;gap:6px;padding:24px;font-family:Playfair Display,Times New Roman,serif;display:grid}.invite-date span{text-transform:uppercase;font-size:2rem;display:block}.invite-date strong{font-size:3.2rem}.invite-date span:first-child{font-size:3rem}.invite-date span:last-child{letter-spacing:.22em;font-size:3rem}.invite-names{letter-spacing:.12em;text-transform:uppercase;font-size:1.8rem}.rsvp-block{background:var(--card);border:1px solid var(--border);border-radius:14px;margin:24px 0;overflow:hidden}.rsvp-block>p,.rsvp-block .success{margin:14px 24px 0}.rsvp-block .success{margin-bottom:8px}.rsvp-block .form{border:none;border-radius:0;padding:18px 24px 24px}.rsvp-title-box{color:#fff;text-align:center;letter-spacing:.12em;text-transform:uppercase;background:#5c677d;border-radius:0;gap:6px;margin:0;padding:18px 24px;display:grid}.rsvp-title-box--section{letter-spacing:.12em;font-size:1.35rem;font-weight:600;line-height:1.2}.rsvp-columns{align-items:stretch;gap:0;padding:20px 24px 24px;display:flex}.rsvp-column{flex:1;padding:0 18px}.rsvp-column:first-child{padding-left:0}.rsvp-column+.rsvp-column{border-left:1px solid var(--border)}.rsvp-column h3{margin:0 0 8px}.rsvp-column p{margin:6px 0}@media (max-width:900px){.rsvp-columns{flex-direction:column}.rsvp-column{padding:0}.rsvp-column+.rsvp-column{border-left:none;border-top:1px solid var(--border);margin-top:12px;padding-top:12px}}.rsvp-title-top{color:#ffffffe6;font-size:.85rem}.rsvp-title-main{font-size:1.8rem}.rsvp-timeline{gap:16px;padding:16px 24px 0;display:grid}.rsvp-timeline-item{grid-template-columns:12px 1fr;align-items:start;gap:12px;display:grid;position:relative}.rsvp-timeline-item:after{content:"";background:var(--border);width:1px;position:absolute;top:14px;bottom:-16px;left:5px}.rsvp-timeline-item:last-child:after{display:none}.rsvp-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;margin-top:4px}.rsvp-meta-title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.75rem}.rsvp-timeline-item p{margin:4px 0}@media (max-width:720px){.form-row-two,.invite-grid{grid-template-columns:1fr}.invite-panel{border-right:none;border-bottom:1px solid var(--border)}}.site-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:40px;padding-top:16px;font-size:.9rem}
