/* contacto styles — extracted from tecnocys-v3.html */
/* See tecnocys-v3.html for full CSS reference */
/* ═══════════════════════════════
   Contacto section
═══════════════════════════════ */
#contacto { background: var(--bg2); position: relative; overflow: hidden; }
.ct-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 70% at 15% 50%, rgba(0,68,238,.07), transparent),
    radial-gradient(ellipse 40% 55% at 85% 50%, rgba(0,200,255,.05), transparent);
}
.ct-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr 1.3fr;
  gap: 4rem; align-items: start;
}
.ct-left h2 { text-align: left; margin-bottom: .9rem; }
.ct-left p  { font-size: .88rem; color: var(--mu); line-height: 1.8; margin-bottom: 1.5rem; }
.ct-info    { display: flex; flex-direction: column; gap: .9rem; }
.ct-item    { display: flex; gap: .85rem; align-items: flex-start; }
.ct-ico {
  width: 37px; height: 37px; border-radius: 7px;
  background: rgba(0,200,255,.09); border: 1px solid rgba(0,200,255,.14);
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem; flex-shrink: 0; margin-top: 2px;
}
.ct-item h5 { font-size: .72rem; color: var(--mu); margin-bottom: 1px; font-weight: 500; }
.ct-item p  { color: var(--txt); font-size: .88rem; margin: 0; }

/* Form */
.frm {
  background: var(--bg3); border: 1px solid var(--bdr);
  border-radius: var(--r); padding: 1.8rem;
}
.frm h3 { font-family: var(--fh); font-size: 1.2rem; font-weight: 700; margin-bottom: 1.4rem; }
.fr2 { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.fg { display: flex; flex-direction: column; gap: .35rem; margin-bottom: .75rem; }
.fg label {
  font-family: var(--fm); font-size: .6rem;
  color: var(--mu); letter-spacing: .08em; text-transform: uppercase;
}
.fg input, .fg select, .fg textarea {
  background: var(--bg4); border: 1px solid var(--bdr2);
  border-radius: 6px; padding: .62rem .85rem; color: var(--txt);
  font-family: var(--fb); font-size: .86rem;
  outline: none; transition: border-color .2s, box-shadow .2s; width: 100%;
}
.fg input::placeholder, .fg textarea::placeholder { color: var(--mu2); }
.fg input:focus, .fg select:focus, .fg textarea:focus {
  border-color: rgba(0,200,255,.38);
  box-shadow: 0 0 0 3px rgba(0,200,255,.06);
}
.fg select option { background: var(--bg3); }
.fg textarea { resize: vertical; min-height: 100px; }
.frm-submit {
  width: 100%; background: var(--c); color: var(--bg);
  border: none; padding: .8rem 2rem; border-radius: 7px;
  font-family: var(--fh); font-size: 1.05rem; font-weight: 700;
  letter-spacing: .04em; cursor: pointer; transition: all .25s;
}
.frm-submit:hover { background: #2AD6FF; box-shadow: 0 0 28px rgba(0,200,255,.4); }
@media(max-width:1100px) { .ct-grid { grid-template-columns: 1fr; } }
@media(max-width:768px)  { .fr2 { grid-template-columns: 1fr; } }
