.contact-dialog{border:0;border-top:4px solid var(--gold);padding:0;background:#fff;color:var(--ink);width:700px;max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto;box-shadow:0 24px 90px #061f2c45}
.contact-dialog::backdrop{background:#031c2bd9;backdrop-filter:blur(4px)}
.contact-dialog [hidden]{display:none!important}
.contact-dialog-head{padding:30px 36px 22px;border-bottom:1px solid var(--line);position:relative}
.contact-dialog-head .eyebrow{margin:0 45px 11px 0;font-size:.75rem}
.contact-dialog-head h2{font-size:2.2rem;letter-spacing:-.035em;margin:0 35px 9px 0;line-height:1.15}
.contact-dialog-head p:last-child{font-size:1rem;margin:0;color:var(--muted);max-width:540px}
.contact-close{position:absolute;top:19px;right:17px;border:0;background:transparent;font-size:1.9rem;font-weight:300;width:44px;height:44px;line-height:1}
.contact-close:hover{background:var(--pale)}
.contact-close:disabled{opacity:.4;cursor:wait}
.contact-form{padding:26px 36px 30px;position:relative}
.form-required-note{font-size:.875rem;color:var(--muted);margin-bottom:19px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 22px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.9375rem;font-weight:600}
.form-field-wide{grid-column:1/-1}
.form-field input,.form-field textarea{border:1px solid #acbfc6;border-radius:2px;background:#fff;color:var(--ink);padding:11px 12px;min-height:46px;width:100%;font:400 1rem/1.45 var(--sans)}
.form-field textarea{resize:vertical;min-height:105px}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--teal);outline-offset:2px;border-color:var(--teal)}
.form-field [aria-invalid=true]{border-color:#b43838}
.form-hint{color:var(--muted);font-size:.8125rem;font-weight:400;margin-top:-3px}
.form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-actions{margin-top:25px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.form-privacy{font-size:.875rem;color:var(--muted);line-height:1.6;max-width:270px;margin:0}
.form-actions .button{flex:none;font-size:.9375rem;padding-inline:22px}
.form-actions .button:disabled{opacity:.65;cursor:wait}
.form-status{background:#fff2ef;color:#80352b;border-left:3px solid #b43838;padding:12px 15px;font-size:.9375rem;margin:19px 0 0}
.contact-success{padding:36px;text-align:center}
.confirmation-icon{width:50px;height:50px;margin:0 auto 17px;border-radius:50%;background:#e5f2ed;color:#23644c;font-size:1.8rem;line-height:50px}
.contact-success h3{font:400 2rem/1.2 var(--serif);letter-spacing:-.03em;margin-bottom:14px}
.contact-success>p{font-size:1rem;max-width:490px;margin:0 auto 19px;color:var(--muted)}
.contact-success .confirmation-reference{font-size:.875rem;margin-bottom:25px}
.contact-success .confirmation-reference span{color:var(--ink);font-weight:600}
@media(max-width:650px){.contact-dialog{max-width:calc(100vw - 20px);max-height:94dvh}.contact-dialog-head{padding:26px 23px 20px}.contact-dialog-head h2{font-size:1.9rem}.contact-form{padding:22px 23px 26px}.form-grid{grid-template-columns:1fr;gap:16px}.form-actions{align-items:stretch;flex-direction:column;gap:17px}.form-privacy{max-width:none}.contact-success{padding:30px 23px}.contact-success h3{font-size:1.8rem}}
