:root {
  --green:#16833b;
  --blue:#082653;
  --red:#d9233f;
  --white: #ffffff;
}

/* RESET */
* {
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family: Arial, sans-serif;
}

body {
  color:var(--blue);
}

.container {
  width:90%;
  max-width:1100px;
  margin:auto;
}

/* BOTÓN */
.btn {
  background:var(--green);
  color:#fff;
  padding:16px 28px;
  border-radius:50px;
  display:inline-block;
  font-weight:bold;
  cursor:pointer;
  margin-top:25px;
  text-align:center;
  border:none;
  font-size: 20px;
  align-items: center;       /* centra vertical */
  justify-content: center;
}

.btn:hover {
  background:#0f5f2c;
}

/* HERO */
.hero {
  padding:70px 0 80px;
  text-align:left;
}

.hero-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:center;
  gap:55px;
}

.hero-left {
  text-align:left;
}

.logo {
  width:230px;
  margin-bottom:25px;
}

.hero-left h1 {
  font-size:56px;
  line-height:1;
  letter-spacing:-1px;
  margin-bottom:20px;
}

.hero-left h1 span {
  color:var(--green);
}

.hero-left p {
  font-size:18px;
  line-height:1.5;
  max-width:550px;
  color:#374151;
}

/* BENEFICIOS HERO */
.hero-benefits {
  display:flex;
  gap:25px;
  margin-top:30px;
  flex-wrap:wrap;
}

.benefit-item {
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:160px;
}

.benefit-item strong {
  font-size:14px;
  display:block;
}

.benefit-item span {
  font-size:12px;
  color:#6b7280;
}

/* ICONOS */
.icon {
  width:24px;
  height:24px;
}

.icon-green {
  color:var(--green);
}

.icon-blue {
  color:var(--blue);
}

.icon-red {
  color:var(--red);
}

/* TEXTO WHATS */
.whats-note {
  display:block;
  margin-top:10px;
  margin-left:5px;
  font-size:12px;
  color:#6b7280;
}

/* IMAGEN DERECHA */
.hero-right {
  display:flex;
  justify-content:flex-end;
}

.hero-img-wrap {
  width:100%;
  max-width:560px;
  aspect-ratio:1/1;
  border-radius:30px;
  overflow:hidden;
  background:#f4f6f8;
  box-shadow:0 25px 70px rgba(0,0,0,0.15);
}

.hero-img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center bottom;
}

/* SECCIONES GENERALES */
section {
  padding:70px 0;
  text-align:center;
}

.bg-gray {
  background:#f5f5f5;
}

.bg-red {
    background: #f7173e;
}

/* STEPS */
.steps {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:center;
  margin-top:40px;
}

.step {
  background:#fff;
  padding:20px;
  border-radius:15px;
  width:220px;
  box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

/* BENEFICIOS GENERALES */
.benefits {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:center;
  margin-top:40px;
}

.benefit {
  width:220px;
}

/* CTA FINAL */
.cta {
  background:var(--green);
  color:#fff;
}

/* BOTÓN FLOTANTE */
.floating {
  position:fixed;
  bottom:20px;
  right:20px;
  background:var(--green);
  color:#fff;
  padding:18px 22px;
  border-radius:50px;
  font-weight:bold;
  box-shadow:0 10px 25px rgba(0,0,0,0.2);
  z-index:999;
}

/* 🔥 RESPONSIVE */
@media (max-width: 768px) {

  .hero {
    text-align:center;
    padding:50px 0;
  }

  .hero-grid {
    grid-template-columns:1fr;
    gap:35px;
  }

  .hero-left {
    text-align:center;
  }

  .logo {
    margin:0 auto 20px;
  }

  .hero-left h1 {
    font-size:42px;
  }

  .hero-left p {
    margin:auto;
  }

  .hero-benefits {
    justify-content:center;
  }

  .benefit-item {
    justify-content:center;
    text-align:left;
  }

  .hero-right {
    justify-content:center;
  }

  .hero-img-wrap {
    max-width:420px;
  }

  .btn {
    width:100%;
    max-width:300px;
  }

  .whats-note {
    margin-left:0;
  }
}

/* PROBLEMA */
.problema {
  padding: 80px 0;
}

.problema-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
}

.problema-left {
  text-align: left;
}

.problema-left h2 {
  font-size: 42px;
  line-height: 1.1;
  color: var(--white);
}

.problema-left h2 span {
  color: var(--white);
}

.problema-left p {
  margin-top: 20px;
  font-size: 22px;
  color: #f0ff00;
  font-weight: 800;
}

/* IMAGEN */
.problema-right {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.problema-img-wrap {
    width: 100%;
    max-width: 500px;
    border-radius: 25px;
    overflow: hidden;
    background: #f7173e;
    /* box-shadow: 0 30px 30px rgb(0 0 0 / 15%); */
}

.problema-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* DETALLE ROJO */
.red-accent {
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 120px;
  height: 120px;
  background: var(--red);
  border-radius: 50%;
  z-index: -1;
}

/* RESPONSIVE */
@media (max-width: 768px) {

  .problema-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .problema-left {
    text-align: center;
  }

  .problema-left h2 {
    font-size: 34px;
  }

  .problema-right {
    justify-content: center;
  }

  .red-accent {
    display: none;
  }
}

/* ===== SECCIÓN SOLUCIÓN ===== */

.solucion-wrapper {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg, #ffffff, #c0c0c0);
  border-radius: 30px;
  overflow: hidden;
}

/* IZQUIERDA (IMAGEN + CURVA) */
.solucion-left {
  position: relative;
  width: 45%;
  height: 100%;
  overflow: hidden;
}

.solucion-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* CURVA VERDE */
.green-shape {
  position: absolute;
  left: -120px;
  top: 0;
  width: 350px;
  height: 100%;
  background: var(--green);
  border-radius: 50%;
  z-index: 2;
}

/* DERECHA (TEXTO) */
.solucion-right {
  width: 55%;
  padding: 50px;
  color: white;

  /* 🔥 CLAVE */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

/* TITULO */
.solucion-right h2 {
  font-size: 36px;
  color: #0a2652;
  margin-bottom: 15px;
}

/* TEXTO */
.solucion-right p {
  font-size: 16px;
  margin-bottom: 25px;
  max-width: 420px;
  color:black;
}

/* BENEFICIOS */
.solucion-benefits {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
  justify-content: flex-start;
  color: black;
}

/* BOTÓN */
.btn-whats {
  align-self: flex-start;
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {

  .solucion-wrapper {
    flex-direction: column;
  }

  .solucion-left {
    width: 100%;
    height: 250px;
  }

  .solucion-right {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .solucion-benefits {
    justify-content: center;
  }

  .btn-whats {
    align-self: center;
  }

  .green-shape {
    display: none;
  }
}

.beneficios {
  padding: 80px 0;
  text-align: center;
}

.beneficios h2 {
  font-size: 34px;
  margin-bottom: 40px;
}

.beneficios h2 span {
  color: var(--green);
}

/* GRID */
.benefits {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap;
}

/* CARD */
.benefit-card {
  background: #fff;
  padding: 25px;
  border-radius: 20px;
  width: 240px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* ICONO */
.icon-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  font-size: 24px;
  color: white;
}

.icon-circle.green {
  background: var(--green);
}

.icon-circle.blue {
  background: var(--blue);
}

.icon-circle.red {
  background: var(--red);
}

/* TEXTOS */
.benefit-card h3 {
  margin-bottom: 10px;
}

.benefit-card p {
  font-size: 14px;
  color: #6b7280;
}

/* RESPONSIVE */
@media (max-width:768px) {
  .benefits {
    gap: 15px;
  }

  .benefit-card {
    width: 100%;
    max-width: 300px;
  }
}


.pasos {
  padding: 80px 0;
  text-align: center;
}

.pasos h2 {
  font-size: 34px;
  margin-bottom: 50px;
}

.pasos h2 span {
  color: var(--green);
}

/* CONTENEDOR */
.steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

/* ITEM */
.step-item {
  text-align: center;
}

/* CÍRCULO */
.step-circle {
  width: 100px;
  height: 100px;
  background: #e5e7eb;
  border-radius: 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}

/* NÚMERO */
.step-number {
  position: absolute;
  top: -5px;
  left: -5px;
  background: var(--green);
  color: white;
  width: 25px;
  height: 25px;
  font-size: 12px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ICONO */
.icon {
  font-size: 28px;
}

/* TEXTO */
.step-item p {
  font-size: 14px;
  color: #374151;
}

/* FLECHA */
.arrow {
  font-size: 24px;
  color: #9ca3af;
}

/* RESPONSIVE */
@media (max-width: 768px) {

  .steps {
    flex-direction: column;
  }

  .arrow {
    display: none;
  }

}



.cta {
  background: linear-gradient(135deg, #16833b, #0f5f2c);
  color: white;
  text-align: center;
  padding: 80px 20px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

/* TITULO */
.cta h2 {
  font-size: 32px;
  margin-bottom: 15px;
}

/* SUB */
.cta-sub {
  font-size: 18px;
  margin-bottom: 30px;
}

/* BOTÓN */
.btn-cta {
  background: #fff;
  color: var(--green);
  padding: 16px 28px;
  border-radius: 50px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.btn-cta .icon {
  font-size: 20px;
}

/* TEXTO MEDIO */
.cta-note {
  margin-top: 20px;
  font-style: italic;
  opacity: 0.9;
}

/* TEXTO ABAJO */
.cta-bottom {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  gap: 40px;
  font-size: 13px;
  opacity: 0.9;
}

/* DECORATIVOS (puntitos + rojo) */
.cta::before {
  content: "";
  position: absolute;
  left: 40px;
  top: 40px;
  width: 80px;
  height: 80px;
  background-image: radial-gradient(#ffffff50 2px, transparent 2px);
  background-size: 10px 10px;
}

.cta::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 120px;
  height: 120px;
  background: var(--red);
  border-radius: 50%;
}

/* RESPONSIVE */
@media (max-width: 768px) {

  .cta-bottom {
    flex-direction: column;
    gap: 10px;
  }

}