.text-orange {
  color: #FF7300;
}

/* ===========================================================
   RESET
========================================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {

  font-family: 'Poppins', sans-serif;
  overflow-x: hidden;
  color: #1b1b1b;

}

/* ===========================================================
   FONDO
=========================================================== */

.background {

  position: fixed;

  inset: 0;

  background-image:
    linear-gradient(rgba(5, 28, 52, .35), rgba(5, 28, 52, .35)),
    url("../assets/background.png");

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  z-index: -1;

}

/* ===========================================================
   HERO
=========================================================== */

.hero {

  width: 100%;

  min-height: 100vh;

  display: flex;

  justify-content: center;

  align-items: center;

  padding: 50px 20px;

}

/* ===========================================================
   PANEL
=========================================================== */

.content {

  width: 100%;

  max-width: 1247px;

  background: transparent;

  border-radius: 26px;

  display: grid;

  grid-template-columns: 1fr 1fr;

  overflow: hidden;

  box-shadow:
    0 30px 70px rgba(0, 0, 0, .20);

}

/* ===========================================================
   COLUMNA IZQUIERDA
=========================================================== */

.logo {
  position: fixed;
  top: 24px;
  left: 28px;
  width: 130px;
  z-index: 10;
}

.left {
  padding: 48px;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(4px);
  border-radius: 26px 0 0 26px;
}

.left h2 {
  color: #0055a5;
  font-size: 27px;
  font-weight: 700;
  margin-bottom: 36px;
  text-align: center;
}

/* ===========================================================
   BENEFICIOS
=========================================================== */

.features {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
}

.feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  border: 1px solid #0055a5;
  border-radius: 18px;
  padding: 10px;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}

/* ===========================================================
   ICONOS
=========================================================== */

.icon {

  width: 126px;

  height: 85px;

  flex-shrink: 0;

  display: flex;

  justify-content: center;

  align-items: center;

}

.icon img {

  width: 100%;

  height: 100%;

  object-fit: contain;

  padding: 10px;

}

/* ===========================================================
   TEXTO BENEFICIOS
=========================================================== */

.text h3 {

  font-size: 15px;

  color: #004b97;

  margin-bottom: 4px;

  font-weight: 600;

}

.text p {

  color: #666;

  font-size: 12px;

  line-height: 1.5;

}

/* ===========================================================
   COLUMNA DERECHA
=========================================================== */

.right {

  background: rgba(255, 255, 255, 0.92);

  border-radius: 0 26px 26px 0;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 36px;

}

/* ===========================================================
   TARJETA FORMULARIO
========================================================== */

.form-card {

  width: 100%;

}

.form-card h1 {

  color: #0055a5;

  font-size: 27px;

  margin-bottom: 12px;

  font-weight: 700;

}

.form-card>p {

  color: #666;

  line-height: 1.6;

  margin-bottom: 28px;

  font-size: 14px;

}

/* ===========================================================
   FORMULARIO
=========================================================== */

form {

  display: flex;

  flex-direction: column;

  gap: 22px;

}

.grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 18px;

}

.field {

  display: flex;

  flex-direction: column;

}

.field label {

  margin-bottom: 8px;

  font-size: 13px;

  font-weight: 500;

  color: #444;

}

/* ===========================================================
   INPUTS
=========================================================== */

.field input,
.field select,
.field textarea {

  width: 100%;

  padding: 12px 16px;

  border: 1px solid #d8dee8;

  border-radius: 10px;

  font-size: 14px;

  font-family: 'Poppins', sans-serif;

  background: #fff;

  transition: .30s;

  outline: none;

}

.field textarea {

  resize: vertical;

  min-height: 130px;

}

/* ===========================================================
   FOCUS
=========================================================== */

.field input:focus,
.field select:focus,
.field textarea:focus {

  border-color: #0055A5;

  box-shadow: 0 0 0 4px rgba(0, 85, 165, .12);

}

/* ===========================================================
   PLACEHOLDER
=========================================================== */

::placeholder {

  color: #9ca3af;

}

/* ===========================================================
   SELECT
=========================================================== */

select {

  cursor: pointer;

}

/* ===========================================================
   RADIO
=========================================================== */

.agency {

  display: flex;

  justify-content: space-between;

  align-items: center;

}

.agency>label {

  font-weight: 500;

  color: #444;

}

.toggle-group {

  display: flex;

  gap: 0;

}

.toggle-group input {

  display: none;

}

.toggle-group label {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 10px 28px;

  border: 1px solid #0055a5;

  background: #fff;

  color: #0055a5;

  font-size: 14px;

  font-weight: 500;

  cursor: pointer;

  transition: .25s;

}

.toggle-group label:first-of-type {

  border-radius: 10px 0 0 10px;

}

.toggle-group label:last-of-type {

  border-radius: 0 10px 10px 0;

}

.toggle-group input:checked + label {

  background: #0055a5;

  color: #fff;

}

.toggle-group input:checked + label .toggle-icon {

  background: #fff;

  color: #0055a5;

}

.toggle-icon {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 18px;

  height: 18px;

  border-radius: 50%;

  background: #0055a5;

  color: #fff;

  font-size: 10px;

  font-weight: 700;

  margin-right: 6px;

}

/* ===========================================================
   BOTÓN
=========================================================== */

button {

  width: 100%;

  border: none;

  padding: 15px;

  border-radius: 12px;

  background: #0055A5;

  color: white;

  font-size: 15px;

  font-weight: 600;

  cursor: pointer;

  transition: .30s;

  letter-spacing: .5px;

}

button:hover {

  background: #00468A;

  transform: translateY(-2px);

  box-shadow: 0 12px 30px rgba(0, 85, 165, .25);

}

/* ===========================================================
   ANIMACIONES
=========================================================== */

@keyframes fade {

  from {

    opacity: 0;

    transform: translateY(35px);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}

.content {

  animation: fade .7s ease;

}

.feature {

  transition: .25s;

}

.feature:hover {

  transform: translateY(-4px);

  box-shadow: 0 8px 24px rgba(0, 85, 165, .12);

}

.icon {

  transition: .30s;

}

.feature:hover .icon {

  transform: scale(1.08);

}

/* ===========================================================
   RESPONSIVE
=========================================================== */

@media(max-width:1200px) {

  .content {

    grid-template-columns: 1fr;

  }

  .left {

    padding: 40px;

  }

  .right {

    padding: 40px;

  }

}

@media(max-width:1000px) {

  .features {

    grid-template-columns: 1fr 1fr;

  }

}

@media(max-width:768px) {

  .features {

    grid-template-columns: 1fr;

  }

  .grid {

    grid-template-columns: 1fr;

  }

  .hero {

    padding: 20px;

  }

  .content {

    border-radius: 18px;

  }

  .left {

    padding: 30px;

  }

  .right {

    padding: 30px;

  }

  .logo {

    width: 100px;

    top: 16px;

    left: 16px;

  }

  .left h2 {

    font-size: 24px;

    margin-bottom: 28px;

  }

  .form-card h1 {

    font-size: 24px;

  }

  .feature {

    gap: 15px;

  }

  .icon {

    width: 56px;

    height: 56px;

  }

  .icon img {

    width: 100%;

    height: 100%;

    padding: 8px;

  }

  .agency {

    flex-direction: column;

    align-items: flex-start;

    gap: 15px;

  }

}

@media(max-width:480px) {

  .hero {

    padding: 15px;

  }

  .left {

    padding: 24px;

  }

  .right {

    padding: 24px;

  }

  .logo {

    width: 80px;

    top: 12px;

    left: 12px;

  }

  .left h2 {

    font-size: 20px;

  }

  .form-card h1 {

    font-size: 21px;

  }

  .text h3 {

    font-size: 14px;

  }

  .text p {

    font-size: 12px;

  }

  button {

    padding: 14px;

    font-size: 14px;

  }

}

@media(prefers-reduced-motion:reduce) {

  * {

    animation: none !important;

    transition: none !important;

  }

}