/* historias — estilos de página */
.main-box{background:#08211f;color:#e7f2f2;overflow-x:hidden}

/* ---------- Hero ---------- */
.top-sec{position:relative;min-height:74vh;display:flex;align-items:flex-end;overflow:hidden;padding:clamp(120px,12vw,180px) 28.2px 61.6px}
.top-box{position:absolute;inset:0;z-index:0}
.top-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.top-box-2{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(0,0,0,0.70) 0%,rgba(0,0,0,0.42) 48%,rgba(0,0,0,0.14) 100%),linear-gradient(180deg,rgba(0,0,0,0.24) 0%,rgba(0,0,0,0.04) 34%,rgba(8,33,31,0.88) 100%)}
.top-box-3{position:relative;z-index:2;max-width:1196.8px;margin:0 auto;width:100%}
.top-box-4{display:flex;align-items:center;gap:12.3px;margin-bottom:19.4px}
.top-txt{width:35.2px;height:2px;background:#A4F6FF;display:block}
.top-txt-2{font-size:11.4px;font-weight:800;letter-spacing:0.26em;text-transform:uppercase;color:#A4F6FF}
.top-title{font-family:'DM Sans';font-weight:800;font-size:clamp(32.8px,4.6vw,66px);line-height:0.98;letter-spacing:-0.04em;margin:0;color:#ffffff;max-width:none;white-space:nowrap}
.top-text{margin:19.4px 0 0;max-width:640px;font-size:clamp(17.7px,1.55vw,21.4px);line-height:1.5;color:rgba(231,242,242,0.90);font-weight:300;text-wrap:pretty}

/* ---------- Wrapper claro ---------- */
.main-box-2{background-color:#e7f2f2;background-image:linear-gradient(rgba(6,17,15,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(6,17,15,0.028) 1px,transparent 1px);background-size:88px 88px}

/* ---------- Cifras ---------- */
.cifras-sec{background:radial-gradient(110% 80% at 6% 0%,rgba(18,124,122,0.13) 0%,rgba(231,242,242,0) 58%);color:#06110f;padding:clamp(44px,4.6vw,64px) 28.2px clamp(30px,3.2vw,42px)}
.cifras-box{max-width:1196.8px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(6,17,15,0.18);border-bottom:1px solid rgba(6,17,15,0.18)}
.cifras-dato{padding:24px clamp(14px,1.8vw,24px);display:flex;flex-direction:column;gap:8px}
.cifras-dato + .cifras-dato{border-left:1px solid rgba(6,17,15,0.18)}
.cifras-num{font-family:'DM Sans';font-weight:800;font-size:clamp(24.8px,2.8vw,38.8px);line-height:1;letter-spacing:-0.035em;color:#0e6361}
.cifras-de{font-size:0.58em;font-weight:700}
.cifras-label{font-size:15.4px;line-height:1.4;color:rgba(6,17,15,0.68);font-weight:400}

/* ---------- Reseñas ---------- */
.resenas-sec{background:radial-gradient(90% 60% at 94% 6%,rgba(163,246,255,0.22) 0%,rgba(231,242,242,0) 58%);color:#06110f;padding:clamp(34px,3.6vw,50px) 28.2px 61.6px}
.resenas-box{max-width:1196.8px;margin:0 auto}
.resenas-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24.6px,3.4vw,52px);align-items:end}
.resenas-txt{font-size:11.4px;font-weight:800;letter-spacing:0.26em;text-transform:uppercase;color:#0e6361}
.resenas-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(26.8px,3.4vw,46.8px);line-height:1.03;letter-spacing:-0.032em;margin:15.8px 0 0}
.resenas-lead{margin:0 0 6px;font-size:18.4px;line-height:1.58;color:rgba(6,17,15,0.72);font-weight:300}

.resenas-filtros{margin:clamp(28px,3vw,40px) 0 clamp(26px,2.8vw,36px);padding-bottom:clamp(26px,2.8vw,36px);border-bottom:1px solid rgba(6,17,15,0.16);display:flex;flex-wrap:wrap;gap:10px}
.resenas-chip{border:0;font-family:'DM Sans';font-weight:700;font-size:15.4px;padding:12px 22px;border-radius:999px;cursor:pointer;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.resenas-chip:hover{box-shadow:inset 0 0 0 1.5px #127c7a;color:#0e6361}
.resenas-chip-num{font-weight:500;opacity:0.72;margin-left:8px}

.resenas-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch}
.resenas-grid::-webkit-scrollbar{display:none}
.resenas-card{position:relative;background:#ffffff;border-radius:16px;padding:30px 26px 26px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(6,17,15,0.06);animation:eqtRise .5s ease both}
.resenas-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(6,17,15,0.13),0 0 0 1px rgba(6,17,15,0.06)}
.resenas-bar{position:absolute;left:0;top:0;right:0;height:4px;display:block}
.resenas-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;row-gap:8px}
.resenas-estrellas{color:#f5b400;font-size:16.4px;line-height:1;letter-spacing:0.06em;flex:0 0 auto}
.resenas-programa{font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#0e6361;flex:0 0 auto;white-space:nowrap}
.resenas-quote{margin:0;font-size:16.4px;line-height:1.6;color:rgba(6,17,15,0.82);font-weight:400;text-wrap:pretty;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical}
.resenas-autor{display:flex;align-items:center;gap:13px;padding-top:20px;border-top:1px solid rgba(6,17,15,0.12)}
.resenas-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;object-fit:cover;background:#127c7a;display:block}
.resenas-autor-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.resenas-name{font-family:'DM Sans';font-weight:700;font-size:15.5px;color:#06110f}
.resenas-fuente{font-size:14.6px;color:#0e6361;font-weight:600}
.resenas-card:hover .resenas-fuente{color:#06110f}

/* ---------- Galería ---------- */
.galeria-sec{background:radial-gradient(100% 70% at 10% 100%,rgba(18,124,122,0.12) 0%,rgba(231,242,242,0) 58%);color:#06110f;padding:61.6px 28.2px 96.8px}
.galeria-box{max-width:1196.8px;margin:0 auto}
.galeria-head{max-width:none}
.galeria-txt{font-size:11.4px;font-weight:800;letter-spacing:0.26em;text-transform:uppercase;color:#0e6361}
.galeria-title{color:#0e6361;font-family:'DM Sans';font-weight:800;font-size:clamp(24.8px,3.2vw,44.8px);line-height:1.04;letter-spacing:-0.03em;margin:15.8px 0 0;max-width:24ch;text-wrap:balance}
.galeria-grid{margin-top:clamp(28px,3.2vw,44px);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(14px,1.6vw,18px)}
.galeria-item{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:0;padding:0;background:none;cursor:pointer;box-shadow:0 0 0 1px rgba(6,17,15,0.06);display:block;width:100%}
.galeria-item:hover{transform:translateY(-8px);box-shadow:0 26px 54px rgba(6,17,15,0.18)}
.galeria-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 26%;display:block}
.galeria-lupa{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;background:rgba(6,24,22,0.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffff;font-size:19px;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(6px)}
.galeria-item:hover .galeria-lupa{opacity:1;transform:translateY(0)}

/* ---------- Lightbox ---------- */
.lbox{position:fixed;inset:0;z-index:200;background:rgba(3,12,11,0.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:clamp(56px,7vw,88px) clamp(80px,9vw,120px);transition:opacity .3s ease,visibility .3s ease}
.lbox-marco{position:relative;width:min(1100px,100%);height:min(78vh,720px);border-radius:14px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,0.6)}
.lbox-img{position:absolute;inset:0;width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;display:block;animation:eqtImgIn .42s cubic-bezier(.22,.61,.36,1) both}
.lbox-cerrar{position:absolute;top:clamp(16px,2.4vw,28px);right:clamp(16px,2.4vw,28px);width:48px;height:48px;border-radius:50%;border:1px solid rgba(231,242,242,0.30);background:rgba(231,242,242,0.10);color:#e7f2f2;font-size:18.4px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lbox-cerrar:hover{background:#127c7a;border-color:#127c7a;color:#ffffff}
.lbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(231,242,242,0.30);background:rgba(231,242,242,0.10);color:#e7f2f2;font-size:26px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lbox-nav:hover{background:#127c7a;border-color:#127c7a;color:#ffffff}
.lbox-prev{left:clamp(14px,2.4vw,34px)}
.lbox-next{right:clamp(14px,2.4vw,34px)}
.lbox-contador{position:absolute;left:50%;bottom:clamp(18px,2.6vw,30px);transform:translateX(-50%);font-family:'DM Sans';font-size:13.5px;font-weight:700;letter-spacing:0.14em;color:rgba(231,242,242,0.78)}

/* ---------- Cierre ---------- */
.cierre-sec{position:relative;overflow:hidden;padding:clamp(90px,9vw,132px) 28.2px}
.cierre-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block;z-index:0}
.cierre-velo{position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(0,0,0,0.70)}
.cierre-box{position:relative;z-index:2;max-width:1196.8px;margin:0 auto}
.cierre-txt{font-size:11.4px;font-weight:800;letter-spacing:0.26em;text-transform:uppercase;color:#A4F6FF}
.cierre-title{font-family:'DM Sans';font-weight:800;font-size:clamp(28.8px,4.4vw,64.8px);line-height:0.98;letter-spacing:-0.042em;margin:19.4px 0 0;color:#ffffff;max-width:24ch;text-wrap:pretty}
.cierre-text{margin:19.4px 0 0;font-size:18.9px;line-height:1.58;color:rgba(231,242,242,0.84);font-weight:300;max-width:56ch}
.cierre-box-2{margin-top:clamp(28px,3.2vw,42px);display:flex;align-items:center;gap:16px;flex-wrap:wrap;row-gap:12px}
.cierre-cta{background:#DAFFA9;color:#06110f;font-weight:800;font-size:16.9px;padding:17.6px 38px;border-radius:999px;white-space:nowrap}
.cierre-cta:hover{background:#ffffff}
.cierre-wa{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:600;color:rgba(231,242,242,0.88)}
.cierre-wa:hover{color:#A4F6FF;padding-left:4px}

/* ---------- Móvil (<= 720px) ---------- */
@media (max-width: 720px) {
  /* Hero: la foto pasa a banda completa bajo la cabecera y el texto debajo */
  .top-sec { padding: calc(68px + 66.7vw + 26px) 18px 36px; height: auto; min-height: 0; align-items: flex-start; }
  .top-box { background: #08211f; top: 68px; }
  .top-img { object-fit: contain; object-position: center top; }
  .top-box-2 {
    top: 68px;
    background: linear-gradient(180deg,
      rgba(0,0,0,0.26) 0,
      rgba(0,0,0,0.08) calc(66.7vw - 46px),
      rgba(8,33,31,0.88) calc(66.7vw + 6px),
      rgba(8,33,31,0.97) 100%);
  }
  .top-title { font-size: clamp(30px,8.6vw,42px); max-width: none; }
  .top-text { font-size: 16.5px; }

  /* Rejillas a una columna */
  .cifras-box, .resenas-head, .resenas-grid { grid-template-columns: minmax(0, 1fr); }
  .cifras-dato + .cifras-dato { border-left: 0; border-top: 1px solid rgba(6,17,15,0.18); }
  .galeria-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .galeria-item { aspect-ratio: 1/1; }
  .galeria-lupa { display: none; }

  /* Lightbox: los controles bajan para dejar la foto lo más grande posible */
  .lbox { padding: 64px 14px 104px; }
  .lbox-marco { width: 100%; height: 58vh; }
  .lbox-nav { top: auto; bottom: 26px; transform: none; }
  .lbox-prev { left: 50%; margin-left: -62px; }
  .lbox-next { right: 50%; margin-right: -62px; }
  .lbox-contador { bottom: 92px; }

  /* Márgenes laterales y respiración */
  .cifras-sec, .resenas-sec, .galeria-sec, .cierre-sec {
    padding-left: 18px;
    padding-right: 18px;
  }
  .cifras-sec { padding-top: 36px; padding-bottom: 24px; }
  .resenas-sec { padding-top: 28px; padding-bottom: 44px; }
  .galeria-sec { padding-top: 44px; padding-bottom: 56px; }
  .cierre-sec { padding-top: 56px; padding-bottom: 56px; }

  /* Los topes en ch aprietan en vertical */
  .resenas-title, .galeria-head, .galeria-title, .cierre-title, .cierre-text { max-width: none; }
  .resenas-lead { margin-bottom: 0; }

  /* CTA a ancho completo */
  .cierre-cta { width: 100%; text-align: center; }
  .cierre-box-2 { flex-direction: column; align-items: stretch; }
  .cierre-wa { justify-content: center; }
}

/* ---------- Móvil: fondos fotográficos (solo celular) ----------
   Con mucho contenido: la foto va en banda arriba y el texto debajo, sobre fondo sólido.
   Con una sola frase: la foto se queda de fondo, el texto baja y el velo solo oscurece la parte inferior. */
@media (max-width: 720px) {
  .cierre-sec{min-height:0;display:block;padding:calc(62.5vw + 30px) 18px 48px;background:#08211f}
  .cierre-img{top:0;bottom:auto;height:62.5vw}
  .cierre-velo{top:0;bottom:auto;height:calc(62.5vw + 1px);background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 58%,#08211f 100%)}
}

@media (max-width: 900px) {
  .top-title{white-space:normal}
}

/* Reseñas: carrusel compacto en lugar de rejilla con filtros */
.resenas-card{flex:0 0 calc((100% - 40px) / 3);height:400px;scroll-snap-align:start}
.resenas-nav{display:flex;justify-content:flex-end;gap:10px;margin:clamp(22px,2.6vw,32px) 0 16px}
.resenas-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(6,17,15,0.22);background:#ffffff;color:#0e6361;font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'DM Sans'}
.resenas-btn:hover{background:#127c7a;border-color:#127c7a;color:#ffffff}
@media (min-width: 721px) and (max-width: 960px) {
  .resenas-card{flex-basis:calc((100% - 20px) / 2)}
}
@media (max-width: 720px) {
  .resenas-card{flex-basis:min(84vw,330px);height:360px;padding:24px 20px 20px}
  .resenas-grid{gap:14px}
  .resenas-quote{font-size:15.4px}
}

.resenas-iniciales{display:flex;align-items:center;justify-content:center;background:#127c7a;color:#ffffff;font-family:'DM Sans';font-weight:800;font-size:14px}

/* Enlace al perfil de Google Reviews en las secciones de testimonios */
.google-resenas-fila{display:flex;align-items:center;gap:10px 28px;flex-wrap:wrap;margin-top:clamp(18px,2vw,26px)}
.google-resenas{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15.4px;font-weight:700;color:#0e6361;text-decoration-line:underline;text-decoration-color:transparent;text-underline-offset:4px}
.google-resenas:hover{text-decoration-color:#0e6361;gap:14px}
.google-resenas-estrellas{color:#f5b400;font-size:14px;letter-spacing:0.06em}
