/* ============ R&A · Contacto (se apoya en home.css y servicio.css) ============ */
.c-hero { min-height: 78svh; }

/* 2. dónde encontrarnos + formulario */
.c-donde { position: relative; padding: 16vh 0 18vh; }
.c-donde .head-row { margin-bottom: clamp(56px, 9vh, 104px); }
.c-donde__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 96px); align-items: start; padding-left: calc(min(13%, 200px) + 20px); }
.c-datos { margin: 0; }
.c-datos div { padding: 18px 0; border-top: 1px solid var(--rule); }
.c-datos div:last-child { border-bottom: 1px solid var(--rule); }
.c-datos dt { font-size: 0.875rem; font-weight: 650; color: var(--orange-ink); }
.c-datos dd { margin: 6px 0 0; font-size: clamp(1.125rem, 1.4vw, 1.3125rem); line-height: 1.4; letter-spacing: -0.01em; font-weight: 550; font-variation-settings: "wght" 550; }
.c-datos a { text-decoration: none; background: linear-gradient(currentColor, currentColor) 100% 100% / 0 1.5px no-repeat; transition: background-size 180ms var(--ease-out), color 200ms ease; }
@media (hover: hover) and (pointer: fine) { .c-datos a:hover { background-size: 100% 1.5px; background-position: 0 100%; color: var(--orange-ink); transition: background-size 300ms var(--ease-out), color 200ms ease; } }
.c-form { background: var(--ink); color: var(--white); padding: clamp(28px, 4vw, 56px); }
.c-form .tag { color: var(--orange); margin-bottom: 24px; }
.c-form__form { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.c-form__full, .c-form__form .btn { grid-column: 1 / -1; }
.c-form__form select, .c-form__form textarea {
  font: inherit; font-size: 1.0625rem; color: var(--white); background: transparent; border: 0; border-bottom: 1.5px solid var(--rule-d);
  padding: 10px 0; border-radius: 0; transition: border-color 200ms ease;
}
.c-form__form select { appearance: none; background: linear-gradient(45deg, transparent 50%, currentColor 50%) right 6px center / 7px 7px no-repeat, linear-gradient(-45deg, transparent 50%, currentColor 50%) right 0 center / 7px 7px no-repeat; padding-right: 28px; }
.c-form__form select option { color: var(--ink); }
.c-form__form textarea { resize: vertical; }
.c-form__form textarea::placeholder { color: rgba(255,255,255,.32); }
.c-form__form select:focus, .c-form__form textarea:focus { outline: none; border-bottom-color: var(--orange); }

/* 3. qué pasa después: tres pasos sobre la línea del trazo */
.c-pasos { color: var(--white); padding: 26vh 0 20vh; }
.c-pasos__inner { position: relative; z-index: 2; }
.c-pasos .tag { color: var(--orange); }
.c-pasos__list { list-style: none; margin: clamp(88px, 14vh, 150px) 0 0; padding: 0 0 0 calc(min(13%, 200px) + 20px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 72px); }
.c-pasos__list li { position: relative; }
.c-pasos__list li::before {
  content: ""; position: absolute; left: 0; top: -34.5px; width: 13px; height: 13px;
  background: var(--ink); box-shadow: inset 0 0 0 1.5px var(--white);
  transition: background-color 300ms ease, box-shadow 300ms ease, transform 420ms var(--ease-out); z-index: 4;
}
.c-pasos__list li.is-passed::before { background: var(--orange); box-shadow: inset 0 0 0 1.5px var(--orange); transform: scale(1.25); }
.c-pasos__list h3 { font-size: clamp(1.625rem, 2.6vw, 2.5rem); line-height: 1.04; letter-spacing: -0.028em; margin-bottom: 14px; }
.c-pasos__list p { color: var(--gray-d); font-size: 1.0625rem; line-height: 1.6; }

@media (max-width: 820px) {
  .c-hero { min-height: 0; }
  .c-donde__grid, .c-pasos__list { grid-template-columns: 1fr; padding-left: 0; }
  .c-form__form { grid-template-columns: 1fr; }
  .c-pasos__list { gap: 56px; }
}
