/* Contacto */
.ct-intro { padding: calc(var(--header-h) + 14vh) var(--pad) 8vh; }
.ct-intro__title { font-size: clamp(64px, 14vw, 260px); line-height: .95; }
.ct-intro__mail { display: inline-block; margin-top: 4vh; font-size: clamp(20px, 2.6vw, 44px); background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 4px; transition: background-size .5s var(--ease); }
.ct-intro__mail:hover { background-size: 0 1px; background-position: 100% 100%; }

.ct-body {
  display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad);
  margin: 0 var(--pad); padding: 8vh 0 16vh; border-top: 1px solid var(--line);
}
.ct-form { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 34px; }
.ct-hp { position: absolute; left: -9999px; }
.ct-field { display: flex; flex-direction: column; gap: 10px; }
.ct-field span, .ct-label { color: var(--muted); font-size: 15px; }
.ct-field input, .ct-field textarea {
  font: inherit; font-size: clamp(20px, 2vw, 32px); color: #fff;
  background: transparent; border: 0; border-bottom: 1px solid var(--line);
  padding: 8px 0 14px; border-radius: 0; resize: vertical; outline: none; transition: border-color .35s;
}
.ct-field input:focus, .ct-field textarea:focus { border-bottom-color: #fff; }
.ct-send {
  align-self: flex-start; font-size: clamp(20px, 2vw, 30px);
  padding: 14px 40px; border: 1px solid #fff; border-radius: 999px;
  transition: background-color .35s, color .35s;
}
.ct-send:hover { background: #fff; color: #000; }
.ct-send[disabled] { opacity: .5; pointer-events: none; }
.ct-status { min-height: 1.4em; color: var(--muted); }

.ct-side { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: 40px; font-size: clamp(18px, 1.5vw, 24px); }
.ct-side a { display: inline-block; margin-top: 8px; }
.ct-side .ct-label { margin: 0; }

@media (max-width: 899px) {
  .ct-body { display: block; }
  .ct-side { margin-top: 70px; }
}
