/* Closing invitation and moderated-wish form preview. */
#home-wishes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;text-align:left;padding:clamp(24px,4vw,56px);background:#eee7dc;border-radius:20px}
#home-wishes .home-wishes-art{margin:0;min-width:0;width:100%;overflow:hidden;border-radius:14px;background:#f7e5cf}
#home-wishes .home-wishes-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
#home-wishes .home-wishes-copy{min-width:0;width:100%;text-align:left}
#home-wishes .home-wishes-copy .eyebrow{justify-content:flex-start;text-align:left;margin:0 0 20px}
#home-wishes .home-wishes-copy h2{font-size:clamp(30px,3.1vw,46px);line-height:1.2;letter-spacing:-.035em;margin:0 0 24px;max-width:none;text-align:left}
#home-wishes .home-wishes-copy>p:not(.eyebrow){max-width:none;font-size:16px;line-height:1.85;margin:0 0 28px;text-align:left}
#home-wishes .home-wishes-copy>.button{margin:0;align-self:start;background:var(--brand-orange);color:white}
.wish-modal{box-sizing:border-box;width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:36px;border:1px solid #ded2c2;border-radius:22px;background:#fffaf3;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;line-height:1.6}
.wish-modal::backdrop{background:#211c18ad;backdrop-filter:blur(5px)}
.wish-modal .dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:#7e7262;cursor:pointer}
.wish-modal .dialog-close:hover{background:#f1e6d8}.wish-modal .dialog-close svg{width:22px;height:22px}
.wish-modal>.eyebrow{font-size:11px;letter-spacing:.16em;margin:0 44px 10px 0}
.wish-modal h2{font-family:inherit;font-size:28px;line-height:1.25;font-weight:750;letter-spacing:-.035em;margin:0 28px 10px 0}
.wish-modal .wish-intro{font-size:14px;line-height:1.6;margin-bottom:12px}
.wish-demo-note{font-size:12px;line-height:1.6;color:#8b7559;background:#f3ebde;padding:9px 12px;border-radius:10px;margin:0 0 24px}
#wish-form{display:grid;gap:18px;margin:0;padding:0}
.wish-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;min-width:0}
#wish-form label{display:block;min-width:0;font-size:13px;font-weight:600;line-height:1.6;color:#74604b;margin:0}
#wish-form :is(input,textarea){margin-top:8px;display:block;font-size:16px;font-weight:400;background:#fffdf9;border-color:#d7c6af;box-shadow:none}
#wish-form input{height:52px;min-height:52px;padding:13px 18px}
#wish-form textarea{min-height:148px;border-radius:20px;padding:15px 18px}
#wish-form :is(input,textarea):focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px #f37a201f}
#wish-form textarea:focus{border-radius:20px}
.required-mark{color:#d75d21}.field-optional{font-weight:400;color:#9b8c77}
#wish-form .field-help{display:block;font-size:12px;font-weight:400;line-height:1.7;color:#93816c;margin:6px 0 0}
#wish-form #wish-media-note{margin-top:-10px}
#wish-form .wish-word-count{font-size:12px;line-height:1.4;text-align:right;margin:-12px 2px 0;color:#93816c}
#wish-form .wish-form-error{font-size:13px;color:#a63823;margin:0}
#wish-form .wish-submit{width:100%;min-height:52px;margin:4px 0 0;background:var(--brand-orange);color:white;border-radius:999px;gap:10px;padding:12px 20px;font-size:15px}
#wish-form .wish-submit svg{width:18px;height:18px}
#wish-form .wish-consent{font-size:11px;line-height:1.65;text-align:center;color:#93816c;margin:-8px 0 0}
.wish-success{width:min(520px,calc(100% - 32px));text-align:center;padding:44px 32px}
.wish-success-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 20px;background:#f37a201a;color:var(--brand-orange);border-radius:50%}
.wish-success-icon svg{width:32px;height:32px}.wish-success>.eyebrow{justify-content:center;margin:0 0 12px}.wish-success h2{margin:0 0 16px;font-size:28px}.wish-success>p:not(.eyebrow){font-size:14px;line-height:1.75;margin-bottom:20px}.wish-success .button{color:white;background:var(--brand-orange);margin-top:4px}
@media(max-width:800px){#home-wishes{grid-template-columns:1fr;padding:24px;gap:28px;border-radius:16px}#home-wishes .home-wishes-art{max-width:520px;margin-inline:auto}#home-wishes .home-wishes-copy h2{font-size:32px}#home-wishes .home-wishes-copy>.eyebrow{font-size:11px;margin-bottom:14px}#home-wishes .home-wishes-copy>p:not(.eyebrow){margin-bottom:24px}}
@media(max-width:540px){.wish-modal{padding:30px 20px 24px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px;scrollbar-gutter:auto}.wish-modal h2{font-size:24px;margin-right:12px}.wish-modal>.eyebrow{font-size:10px}.wish-modal .dialog-close{top:8px;right:8px}.wish-field-grid{grid-template-columns:1fr;gap:18px}#wish-form label{font-size:13px}.wish-success{padding:42px 22px 28px}#home-wishes{padding:18px;gap:24px}#home-wishes .home-wishes-copy h2{font-size:29px}#home-wishes .home-wishes-copy>.button{width:100%;gap:18px}}

#wish-dialog h2{font-size:28px;font-weight:700;line-height:1.25;letter-spacing:-.035em;margin:0 28px 10px 0}
.wish-field-title{display:block;min-height:0}
@media(max-width:540px){#wish-dialog h2{font-size:24px}.wish-field-title{min-height:0}}

/* Keep labels close to their controls without a reserved empty text row. */
#wish-form .wish-field-grid input{margin-top:6px}
