.contact-page{padding-top:32px;padding-bottom:52px}
.contact-page h1{font-size:clamp(34px,4.4vw,58px);line-height:1;letter-spacing:-.05em;background:linear-gradient(178deg,#fff 12%,#abb8c5 44%,#f6fbff 52%,#b9c8d5 83%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#ecf2f7;margin-bottom:26px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:54px;align-items:start}
.contact-details{padding-top:9px}
.contact-direct{display:inline-flex;align-items:center;gap:12px;font-size:clamp(22px,2.4vw,33px);font-weight:800;letter-spacing:-.04em;color:#edf4f9}
.contact-direct span{font-size:22px;font-weight:400}
.contact-details>p{font-size:14px;line-height:1.65;color:#abb8c4;max-width:310px;margin:14px 0 20px}
.contact-help{display:flex;flex-wrap:wrap;gap:2px 20px}
.contact-help a{display:inline-flex;align-items:center;min-height:34px;font-size:12px;color:#d4dfe8}
.contact-venue{margin-top:36px}
.contact-venue h2{font:700 10px/1.5 monospace;text-transform:uppercase;letter-spacing:.09em;color:#b8c5d0}
.contact-venue p{font-size:13px;line-height:1.7;margin-top:9px;color:#d2dee7}
.contact-venue a{display:inline-block;margin-top:4px;color:#acbecd}
.contact-form-panel{padding:28px;border-radius:16px;background:radial-gradient(ellipse at 0 0,#2a3a4a55,transparent 65%),linear-gradient(145deg,#141c24,#0e141a)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-full{grid-column:1/-1}
.contact-field label{font-size:12px;font-weight:700;line-height:1.4;color:#e2ebf2}
.contact-field label span{font-weight:400;color:#a9b9c7}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:0;border-radius:7px;min-height:46px;padding:12px 14px;background:#202b36;color:#f0f5f9;font-size:16px;line-height:1.45;scroll-margin-top:110px;box-shadow:inset 0 1px 1px #ffffff08}
.contact-field select{color-scheme:dark;padding-right:30px}
.contact-field select option{background:#202b36;color:#f0f5f9}
.contact-field textarea{resize:vertical;min-height:132px}
.contact-consent{font-size:11px;line-height:1.65;color:#acbcc9;margin-top:18px}
.contact-consent a,.contact-fallback a{text-decoration:underline;text-underline-offset:3px;color:#dce8f0}
.contact-actions{display:flex;align-items:center;gap:17px;margin-top:19px}
.contact-actions .button,.contact-email-ready .button{border-radius:8px;gap:18px;white-space:nowrap}
.contact-actions .button:disabled{opacity:.55;cursor:default;transform:none}
.contact-actions p{margin:0;max-width:175px;font-size:11px;line-height:1.6;color:#acbcc9}
.contact-email-ready{margin-top:22px;padding:18px;background:#233240;border-radius:9px;scroll-margin-top:110px}
.contact-email-ready[hidden]{display:none}
.contact-email-ready p{margin:0 0 13px;font-size:13px;line-height:1.5;color:#e2edf5}
.contact-email-ready .button{min-height:44px;font-size:11px}
.contact-fallback{font-size:12px;color:#ccd8e2}
@media(max-width:1000px){.contact-layout{gap:28px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.contact-form-panel{padding:23px}.contact-actions{align-items:flex-start;flex-direction:column;gap:9px}.contact-actions p{max-width:none}}
@media(max-width:760px){.contact-page{padding-top:30px;padding-bottom:34px}.contact-page h1{font-size:35px;margin-bottom:20px}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-details{padding:0}.contact-direct{font-size:27px}.contact-details>p{font-size:13px;max-width:360px;margin:10px 0}.contact-help{gap:2px 17px}.contact-venue{margin-top:16px}.contact-venue p{font-size:12px}.contact-form-panel{padding:21px 18px}.contact-fields{gap:16px;grid-template-columns:1fr}.contact-full{grid-column:auto}.contact-actions .button,.contact-email-ready .button{width:100%}.contact-actions{align-items:stretch}.contact-actions p{text-align:center}.contact-field textarea{min-height:140px}}
/* Sending the form (contact.js / landing.js): hidden bot field, error, sent state */
.contact-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-error{margin:14px 0 0;padding:12px 14px;border-radius:8px;background:#3a1f24;color:#ffd9dc;font-size:13px;line-height:1.5}
.contact-error[hidden],.contact-sent[hidden],#contact-form[hidden],#rsvp-form[hidden]{display:none}
.contact-sent{padding:6px 2px;outline:none}
.contact-sent .eyebrow{color:#aebac5;margin-bottom:10px}
.contact-sent h2{margin:0 0 12px;font-size:clamp(26px,3vw,38px);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase;background:linear-gradient(178deg,#fff 12%,#abb8c5 44%,#f6fbff 52%,#b9c8d5 83%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#ecf2f7}
.contact-sent p{margin:0 0 20px;font-size:14px;line-height:1.65;color:#c3ced8}
.contact-sent strong{color:#eef4f8;word-break:break-all}
.contact-sent .button{border-radius:8px;min-height:44px;font-size:11px}
.contact-actions .button[disabled]{opacity:.6}
