:root {
  --ipuin-azul-noche: #011d43;
  --ipuin-azul-medio: #243b5b;
  --ipuin-azul-oscuro: #1a2e44;
  --ipuin-gris-azul: #6a758c;
  --ipuin-gris-claro: #c5cbd4;
  --ipuin-blanco: #fdfdfd;
  --ipuin-dorado: #e0b84a; /* provisional: sin muestra en la paleta, confirmar con la captura */
  --ipuin-fuente-titulos: "Cormorant Garamond", Palatino, "Palatino Linotype", Garamond, Georgia, serif;
  --ipuin-fuente-texto: "Cormorant Garamond", Palatino, "Palatino Linotype", Garamond, Georgia, serif;
  --ipuin-radio: 10px;
  --ipuin-radio-boton: 999px;
  --ipuin-sombra: 0 8px 24px rgba(1, 29, 67, .18);
  --ipuin-espacio-s: 16px;
  --ipuin-espacio-m: 32px;
  --ipuin-espacio-l: 64px;
  --ipuin-ancho: 1208px;
}

#top, #top body { font-family: var(--ipuin-fuente-texto); color: var(--ipuin-azul-noche); }
#top h1, #top h2, #top h3, #top h4 { font-family: var(--ipuin-fuente-titulos); color: var(--ipuin-azul-noche); font-weight: 600; line-height: 1.15; letter-spacing: 0; text-transform: none; }
#top h1 { font-size: clamp(34px, 5vw, 56px); }
#top h2 { font-size: clamp(28px, 3.6vw, 42px); }
#top h3 { font-size: clamp(22px, 2.6vw, 30px); }
#top h4 { font-size: 20px; }
#top p { font-size: 18px; line-height: 1.55; }

#top a { color: var(--ipuin-azul-medio); transition: color .2s; }
#top a:hover { color: var(--ipuin-dorado); }

#top .ipuin-boton,
#top .ipuin-cf7__submit,
#top .wpcf7-submit {
  display: inline-block; padding: 12px 28px; border: 0; border-radius: var(--ipuin-radio-boton);
  background: var(--ipuin-dorado); color: var(--ipuin-azul-noche); font-family: var(--ipuin-fuente-texto);
  font-size: 17px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s;
}
#top .ipuin-boton:hover,
#top .ipuin-cf7__submit:hover,
#top .wpcf7-submit:hover { background: var(--ipuin-azul-medio); color: var(--ipuin-blanco); }

#top .ipuin-contenedor { max-width: var(--ipuin-ancho); margin: 0 auto; padding: 0 20px; }
#top .ipuin-seccion { padding: var(--ipuin-espacio-l) 0; }

#top .ipuin-tarjeta { background: var(--ipuin-blanco); border-radius: var(--ipuin-radio); box-shadow: var(--ipuin-sombra); padding: var(--ipuin-espacio-m); }

#top .ipuin-cf7__field input,
#top .ipuin-cf7__field textarea,
#top .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  width: 100%; padding: 12px 14px; border: 1px solid var(--ipuin-gris-azul); border-radius: 8px;
  font-family: var(--ipuin-fuente-texto); font-size: 17px; color: var(--ipuin-azul-noche); background: var(--ipuin-blanco);
}
#top .ipuin-cf7__privacy { font-size: 15px; }

/* Pie */
#top #ipuin-pie { background: var(--ipuin-azul-noche); color: var(--ipuin-blanco); padding: 36px 0; }
#top #ipuin-pie .ipuin-pie__interior { max-width: var(--ipuin-ancho); margin: 0 auto; padding: 0 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
#top #ipuin-pie .ipuin-pie__nav { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0; padding: 0; list-style: none; }
#top #ipuin-pie a { color: var(--ipuin-blanco); font-size: 16px; text-decoration: none; }
#top #ipuin-pie a:hover { color: var(--ipuin-dorado); }
#top #ipuin-pie p { margin: 0; font-size: 15px; color: var(--ipuin-gris-claro); }
@media only screen and (max-width: 767px) {
  #top #ipuin-pie .ipuin-pie__interior { flex-direction: column; text-align: center; }
  #top #ipuin-pie .ipuin-pie__nav { justify-content: center; }
}
