/* Page-specific styles: contact.css */
.form-panel{padding:34px;border:1px solid var(--color-border);border-radius:22px;background:#fff;box-shadow:var(--shadow-card)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0px;column-gap:18px}.form-grid label{display:grid;gap:7px;font-weight:700}.form-full{grid-column:1/-1}.form-status{margin-top:14px}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}

/* CONTACT PAGE LAYOUT
   Split contact information and consultation form with strong hierarchy. */
.page--contact .contact-grid{align-items:start}
.page--contact .form-panel{border-top:5px solid var(--color-accent)}
.page--contact .contact-item{border-radius:14px;background:#f7fafc;margin-bottom:12px;border-bottom:0}
.page--contact .field:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(11,47,91,.1)}

/* Contact form validation states and anti-spam field. */
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field-error{min-height:1.2em;color:#a61b1b;font-size:.78rem;font-weight:650}.field.is-invalid{border-color:#b42318;background:#fff8f7}.field.is-invalid:focus{box-shadow:0 0 0 4px rgba(180,35,24,.12)}.consent-field{display:grid!important;grid-template-columns:auto 1fr;align-items:start;column-gap:10px}.consent-field input{margin-top:4px}.consent-field .field-error{grid-column:2}.form-alert{display:none;margin-bottom:18px;padding:14px 16px;border-radius:10px;font-weight:700}.form-alert:not(:empty){display:block}.form-alert--success{color:#176b3a;background:#eaf8ef}.form-alert--error{color:#8f1d16;background:#fff0ee}.form-note{margin-top:14px;color:var(--color-muted);font-size:.82rem}button[disabled]{cursor:wait;opacity:.7}

.contact-location-note{display:inline-block;margin-top:8px;color:var(--color-muted);font-size:.9rem}.contact-registration dl{display:grid;gap:7px;margin:12px 0 0}.contact-registration dl div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px}.contact-registration dt{font-weight:800}.contact-registration dd{margin:0;overflow-wrap:anywhere}.map-frame{overflow:hidden;border:1px solid var(--color-border);border-radius:22px;background:#fff;box-shadow:var(--shadow-card)}.map-frame iframe{display:block;width:100%;height:430px}@media(max-width:640px){.map-frame iframe{height:340px}.contact-registration dl div{grid-template-columns:70px minmax(0,1fr)}}

/* Full-width office map and single-line statutory identifiers. */
.contact-map-section{padding-bottom:0}
.contact-map-section .section-head{margin-bottom:28px}
.map-frame--full{width:100%;border-right:0;border-left:0;border-radius:0;box-shadow:none}
.map-frame--full iframe{width:100%;height:500px}
.contact-registration dl div{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.contact-registration dt{flex:0 0 72px}
.contact-registration dd{min-width:0;overflow:visible;overflow-wrap:normal;word-break:normal}
@media(max-width:480px){.contact-registration dl div{gap:7px;font-size:.82rem}.contact-registration dt{flex-basis:58px}.map-frame--full iframe{height:360px}}
