/* Hiring event RSVP block (/dreamjob/). Form styled like the Dress Planner sign-up. */
.rsvp-grid{display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1fr;align-items:start}
.rsvp-grid>*{min-width:0}
@media(min-width:960px){.rsvp-grid{grid-template-columns:1fr 1.1fr}}
.rsvp-copy h2{margin-top:0}
.rsvp-details{margin:1.8rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line-strong);display:grid;gap:1.2rem}
.rsvp-details dt{font:500 .68rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rsvp-details dd{margin:.4rem 0 0;font:400 1.2rem/1.45 var(--serif);color:var(--ink)}
.rsvp-details dd p{margin:0}
.rsvp-details dd a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.rsvp-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--sh-md);padding:clamp(1.2rem,3vw,2rem);scroll-margin-top:calc(var(--hdr,82px) + 1rem)}
#rsvp-form-wrap,#rsvp-form{display:grid;gap:1rem}
#rsvp-form-wrap>.eyebrow{margin:0 0 .2rem}
.rsvp-fields{display:grid;gap:.8rem .9rem;grid-template-columns:1fr 1fr}
@media(max-width:520px){.rsvp-fields{grid-template-columns:1fr}}
.rsvp-fields>*{min-width:0}
.rsvp-wide{grid-column:1/-1}
.rsvp-field{display:grid;gap:.35rem}
.rsvp-field label{font:500 .68rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.rsvp-opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted)}
.rsvp-field input,.rsvp-field select,.rsvp-field textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;padding:.6rem .8rem;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:2px}
.rsvp-field textarea{min-height:96px;resize:vertical}
.rsvp-field input:focus,.rsvp-field select:focus,.rsvp-field textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.rsvp-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;color:var(--text);cursor:pointer;min-height:44px;padding-top:.2rem}
.rsvp-check input{width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--ink);flex:0 0 auto}
#rsvp-form .btn{width:100%}
.rsvp-fine{font-size:.8rem;color:var(--muted);line-height:1.6}
.rsvp-fine p{margin:0}
.rsvp-fine a{color:var(--stone-deep);text-decoration:underline}
.sg-err{color:#9b3b2e;font-size:.88rem;font-weight:500;margin:0}
.sg-err[hidden],#rsvp-form-wrap[hidden],.rsvp-done[hidden]{display:none!important}
.sg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rsvp-done{display:grid;gap:1rem;padding-block:1rem}
.rsvp-done .eyebrow,.rsvp-done h2{margin:0}
