/* Web Systems 3.1 · Página Contacto
 * Este módulo se carga de forma condicional desde functions.php.
 */

/* Contact */
.contact-page-layout { position: relative; z-index: 2; min-height: 760px; display: grid; grid-template-columns: .78fr 1.22fr; gap: 85px; align-items: center; padding: 76px 0 92px; }.contact-page-copy h1 { font-size: clamp(45px, 5vw, 68px); }.contact-direct { display: grid; gap: 10px; margin-top: 31px; }.contact-direct a { min-height: 66px; display: grid; grid-template-columns: 38px 1fr 20px; gap: 11px; align-items: center; padding: 11px 14px; border: 1px solid var(--line-dark); border-radius: 12px; color: white; background: rgba(255,255,255,.025); }.contact-direct a > i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; color: #8ea4ff; background: rgba(65,96,255,.15); }.contact-direct a > span { display: grid; gap: 2px; }.contact-direct small { color: #777f8d; font-size: 7px; }.contact-direct b { font-size: 10px; }.contact-direct a > svg { color: #6d7582; }.contact-expect { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 23px; color: #8a929f; font-size: 8px; }.contact-expect span { display: flex; align-items: center; gap: 6px; }.contact-expect svg { color: #7995ff; }
.contact-form-card label { margin-bottom: 13px; }.contact-form-card { min-height: 650px; }.contact-ready { min-height: 650px; }.contact-paths { background: var(--paper); }.contact-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.contact-path-grid > a { min-height: 260px; display: flex; flex-direction: column; padding: 29px; border: 1px solid var(--line); border-radius: 15px; background: white; transition: transform .2s, box-shadow .2s; }.contact-path-grid > a:hover { transform: translateY(-4px); box-shadow: var(--shadow); }.contact-path-grid > a > svg { color: var(--blue); }.contact-path-grid h3 { margin: 38px 0 10px; font-size: 21px; }.contact-path-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }.contact-path-grid span { display: flex; align-items: center; gap: 8px; margin-top: auto; color: var(--blue); font-size: 9px; font-weight: 800; }

.contact-form-card textarea { height: auto; min-height: 130px; padding-top: 12px; resize: vertical; }

@media (max-width: 640px) {
  .contact-expect { display: grid; }
  .contact-path-grid { grid-template-columns: 1fr; }
}
