/* H&S — contact (parte de la antigua home.css). Depende de tokens.css y base.css. */
/* ---------- Contacto ---------- */
.hs-contact { display: grid; gap: 24px; align-items: start; }
@media (min-width: 1024px) { .hs-contact { grid-template-columns: 5fr 7fr; gap: 36px; } }
.hs-contact__info { display: flex; flex-direction: column; gap: 12px; }
.hs-office { display: flex; gap: 12px; padding: 14px 16px; }
.hs-office h3 { font-size: 17px; font-weight: 700; }
.hs-office p { font-size: 14.5px; line-height: 1.55; color: var(--text-muted); }
.hs-office a { color: var(--blue-text); font-weight: 600; }
.hs-office a:hover, .hs-office a:focus-visible { color: var(--lime-text); text-decoration: underline; text-underline-offset: 3px; }
.hs-form { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; }
.hs-form__row { display: grid; gap: 10px; }
@media (min-width: 640px) { .hs-form__row { grid-template-columns: 1fr 1fr; } }
.hs-field { display: flex; flex-direction: column; gap: 3px; }
.hs-field label { font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink); }
.hs-field input, .hs-field select, .hs-field textarea { width: 100%; min-height: 38px; padding: 7px 12px; font-size: 14.5px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--surface-sunken); box-shadow: inset 0 2px 4px var(--blue-soft); font-family: var(--font-body); font-size: 16px; color: var(--ink); transition: border-color .2s, box-shadow .2s; }
.hs-field textarea { resize: vertical; min-height: 64px; }
.hs-field ::placeholder { color: var(--text-muted); opacity: .85; }
.hs-field input:focus, .hs-field select:focus, .hs-field textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft), inset 0 2px 4px var(--blue-soft); }
.hs-field--hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hs-form__foot { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
@media (min-width: 640px) { .hs-form__foot { flex-direction: row; align-items: center; justify-content: space-between; } }
.hs-form__sla { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: var(--text-muted); }
.hs-alert { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: var(--radius); font-size: 15px; font-weight: 600; }
.hs-alert[hidden] { display: none; }
.hs-alert--success { background: var(--success-bg); color: var(--success-text); }
.hs-alert--error { background: var(--error-bg); color: var(--error-text); }
