.rsvp-page{--rsvp-bg:#faf8f3;--rsvp-text:#403b34;--rsvp-muted:#81776a;--rsvp-accent:#a58b69;--rsvp-border:#e6ded2;--font-body:"Montserrat", sans-serif;--font-heading:var(--font-serif,"Cormorant Garamond"), Georgia, serif;--text-xs:10px;--text-sm:12px;--text-base:14px;--heading-sm:36px;--heading-md:clamp(40px, 6vw, 48px);--heading-lg:clamp(48px, 5vw, 76px);color:var(--rsvp-text);background:var(--rsvp-bg);font-family:var(--font-body);font-size:var(--text-base);line-height:1.7}.rsvp-page *,.rsvp-page :before,.rsvp-page :after{box-sizing:border-box}.rsvp-page p,.rsvp-page label,.rsvp-page input,.rsvp-page textarea,.rsvp-page button,.rsvp-page a,.rsvp-page select{font-family:var(--font-body)}.rsvp-eyebrow{color:var(--rsvp-accent);letter-spacing:2px;text-transform:uppercase;font-size:20px;font-weight:500;line-height:1.8}.rsvp-hero h1,.rsvp-form-section h2,.rsvp-footer h2,.rsvp-success h3{font-family:var(--font-heading);font-weight:400;line-height:1.2}.rsvp-hero{background:var(--rsvp-bg);grid-template-columns:45% 55%;min-height:calc(100svh - 80px);display:grid;overflow:hidden}.rsvp-hero__content{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(24px,4vw,64px);display:flex;position:relative}.rsvp-hero__content h1{font-family:var(--font-calligraphy,cursive);margin:0 0 32px;font-size:clamp(48px,5.2vw,78px);font-weight:400;line-height:1.2}.rsvp-hero__countdown{color:var(--rsvp-muted);font-size:var(--text-sm);letter-spacing:2px;margin:0 0 32px}.rsvp-hero__deadline{max-width:300px;color:var(--rsvp-muted);font-family:var(--font-heading);margin:24px 0 0;font-size:17px;line-height:1.8}.rsvp-hero__image-wrap{justify-content:center;align-items:flex-end;min-width:0;min-height:600px;padding:16px 12px 0;display:flex;overflow:hidden}.rsvp-hero__image{object-fit:contain;object-position:center bottom;width:100%;height:auto;max-height:90svh;display:block}.rsvp-button{border:1px solid var(--rsvp-accent);background:var(--rsvp-accent);color:#fff;min-height:48px;font-size:var(--text-xs);letter-spacing:1.5px;text-align:center;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;padding:13px 36px;font-weight:500;line-height:1.5;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.rsvp-button:hover{color:var(--rsvp-accent);background:0 0}.rsvp-button:focus-visible{outline:2px solid var(--rsvp-accent);outline-offset:3px}.rsvp-form-section{border-top:1px solid var(--rsvp-border);background:#fffdf9;padding:80px 24px 100px}.rsvp-form-section__header{text-align:center;margin-bottom:40px}.rsvp-form-section h2{font-size:var(--heading-md);margin:16px 0}.rsvp-form-section__header>p{color:var(--rsvp-muted);font-size:15px;line-height:1.9}.rsvp-form{flex-direction:column;gap:24px;width:100%;max-width:620px;margin:0 auto;display:flex}.rsvp-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.rsvp-form>label:not(.rsvp-choice){flex-direction:column;gap:8px;font-size:13px;line-height:1.7;display:flex}.rsvp-form input:not([type=radio]):not([type=checkbox]),.rsvp-form select,.rsvp-form textarea{border:1px solid var(--rsvp-border);background:var(--rsvp-bg);width:100%;min-height:46px;color:var(--rsvp-text);font-family:var(--font-body);font-size:var(--text-sm);border-radius:0;padding:12px;line-height:1.6}.rsvp-form textarea{resize:vertical}.rsvp-form input:focus-visible,.rsvp-form select:focus-visible,.rsvp-form textarea:focus-visible,.rsvp-form .rsvp-choice input:focus-visible{outline:2px solid var(--rsvp-accent);outline-offset:3px}.rsvp-form fieldset{border:1px solid var(--rsvp-border);flex-direction:column;gap:16px;min-width:0;margin:0;padding:22px;display:flex}.rsvp-form legend{max-width:100%;padding:0 8px;font-size:14px;font-weight:500;line-height:1.7}.rsvp-form .rsvp-choice{color:var(--rsvp-muted);font-size:var(--text-sm);cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.7;display:flex}.rsvp-form .rsvp-choice input{accent-color:var(--rsvp-accent);flex:none;margin:4px 0 0}.rsvp-form .rsvp-choice input[type=radio],.rsvp-form .rsvp-choice input[type=checkbox]{width:16px;height:16px}.rsvp-form__guest{border:1px solid var(--rsvp-border);padding:16px}.rsvp-form__note{color:var(--rsvp-muted);margin:0;font-size:15px;line-height:1.8}.rsvp-form>.rsvp-button{align-self:flex-start}.rsvp-success{text-align:center;max-width:520px;margin:0 auto}.rsvp-success h3{font-size:var(--heading-sm)}.rsvp-success p{color:var(--rsvp-muted);font-size:var(--text-sm);margin-bottom:28px;line-height:1.9}.rsvp-footer{text-align:center;padding:64px 24px}.rsvp-footer h2{font-size:var(--heading-sm);margin:16px 0}.rsvp-footer p{color:var(--rsvp-muted);font-size:var(--text-sm);line-height:1.9}@media (max-width:768px){.rsvp-hero{grid-template-columns:1fr;min-height:auto}.rsvp-hero__content{min-height:400px;padding:48px 24px}.rsvp-hero__content h1{font-size:clamp(48px,12vw,68px)}.rsvp-hero__image-wrap{min-height:auto;padding:12px 12px 0}.rsvp-hero__image{object-fit:contain;width:100%;max-height:75svh}}@media (max-width:600px){.rsvp-form-section{padding:60px 20px}.rsvp-form__row{grid-template-columns:1fr}.rsvp-form fieldset{padding:18px}.rsvp-form>.rsvp-button{align-self:stretch}.rsvp-footer{padding:56px 20px}}@media (prefers-reduced-motion:reduce){.rsvp-button{transition:none}}.rsvp-form__error{color:#8b3028;background:#fff5f4;border:1px solid #d9a5a0;margin:0;padding:12px 16px;font-size:14px;line-height:1.6}
