/* =========================================================
   MAYPER MEDICAL - GLOBAL CSS
   ========================================================= */

/* ------------------------------
   Reset
------------------------------ */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --purple: #4B4A8F;
  --purple-e: #5D3FD3;
  --purple-l: #8E79FF;
  --blue-c: #4A90C2;

  --gray-c: #D9DDE3;
  --white-s: #F8F8FA;
  --soft: #F5F7FA;
  --charcoal: #2A2A2A;
  --muted: #5A6A7A;

  --font-h: 'Space Grotesk', sans-serif;
  --font-b: 'Inter', sans-serif;

  --container: 1240px;

  --shadow-soft: 0 24px 70px rgba(0, 0, 0, .08);
  --shadow-purple: 0 26px 70px rgba(93, 63, 211, .18);
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-b);
  color: var(--charcoal);
  background: var(--white-s);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  font: inherit;
}


/* ------------------------------
   Layout utilities
------------------------------ */

.si,
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

.section {
  padding: 110px 0;
}

.section-white {
  background: #fff;
}

.section-soft {
  background: var(--soft);
}

.text-center {
  text-align: center;
}

.text-center .ss {
  margin-left: auto;
  margin-right: auto;
}

.gradient-text {
  color: var(--purple-l);
}


/* ------------------------------
   Typography
------------------------------ */

.sl {
  font-family: var(--font-h);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--purple);
  margin-bottom: 12px;
}

.st {
  font-family: var(--font-h);
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.12;
  margin-bottom: 16px;
}

.ss {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--muted);
  max-width: 680px;
  margin-bottom: 48px;
}


/* ------------------------------
   Animations
------------------------------ */

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(32px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulseBtn {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.025);
  }
}

@keyframes waPulse {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.06);
  }
}

.anim {
  opacity: 0;
  transform: translateY(30px);
  transition: all .7s cubic-bezier(.25, .46, .45, .94);
}

.anim.visible {
  opacity: 1;
  transform: translateY(0);
}

.fade-up {
  animation: fadeUp .8s ease-out both;
}

.fd1 {
  animation: fadeUp .8s ease-out .1s both;
}

.fd2 {
  animation: fadeUp .8s ease-out .2s both;
}

.fd3 {
  animation: fadeUp .8s ease-out .35s both;
}

.fd4 {
  animation: fadeUp .8s ease-out .5s both;
}


/* =========================================================
   Header
   ========================================================= */

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: rgba(255, 255, 255, .90);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(0, 0, 0, .06);
  box-shadow: 0 8px 30px rgba(0, 0, 0, .06);
  transition: .25s ease;
}

.header.scrolled {
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 35px rgba(0, 0, 0, .10);
}

.h-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 14px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.logo {
  display: flex;
  align-items: center;
}

.logo img {
  height: 42px;
  width: auto;
  object-fit: contain;
}

.nav {
  display: flex;
  gap: 24px;
  align-items: center;
}

.nav a {
  font-size: .84rem;
  font-weight: 600;
  color: #1F2430;
  transition: color .25s;
}

.nav a:hover {
  color: var(--purple-e);
}


/* =========================================================
   Buttons
   ========================================================= */

.btn-p,
.btn-s {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  padding: 16px 30px;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: .25s ease;
}

.btn-p {
  background: linear-gradient(135deg, var(--purple-e), var(--purple));
  color: #fff;
  border: none;
  box-shadow:
          0 10px 35px rgba(93, 63, 211, .28),
          inset 0 1px 0 rgba(255, 255, 255, .18);
}

.btn-p:hover {
  transform: translateY(-2px);
  box-shadow:
          0 18px 50px rgba(93, 63, 211, .38),
          inset 0 1px 0 rgba(255, 255, 255, .18);
}

.btn-s {
  background: rgba(255, 255, 255, .10);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.btn-s:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, .16);
  border-color: rgba(255, 255, 255, .24);
}

.btn-light {
  background: #fff;
  color: var(--purple);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .14);
}


/* =========================================================
   Hero
   ========================================================= */

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: #000;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
          linear-gradient(
                  90deg,
                  rgba(8, 8, 12, .82),
                  rgba(8, 8, 12, .68) 28%,
                  rgba(8, 8, 12, .34) 52%,
                  rgba(8, 8, 12, .12) 72%,
                  rgba(8, 8, 12, .18)
          ),
          var(--hero-bg, url('../img/women-care-kv-pc.jpg')) center / cover no-repeat;
  z-index: 0;
  transform: scale(1.02);
}

.hero::after {
  content: '';
  position: absolute;
  width: 900px;
  height: 900px;
  border-radius: 50%;
  background: radial-gradient(
          circle,
          rgba(93, 63, 211, .22),
          rgba(93, 63, 211, .08) 35%,
          transparent 72%
  );
  top: -240px;
  left: -180px;
  z-index: 1;
}

.hero-inner {
  max-width: var(--container);
  width: 100%;
  margin: 0 auto;
  padding: 160px 32px 120px;
  position: relative;
  z-index: 3;
}

.hero-text {
  max-width: 660px;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .08);
  backdrop-filter: blur(14px);
  color: #D7D8E6;
  font-size: .76rem;
  font-weight: 700;
  margin-bottom: 26px;
}

.hero h1 {
  font-family: var(--font-h);
  font-size: 5rem;
  line-height: .95;
  letter-spacing: -.06em;
  font-weight: 700;
  color: #fff;
  margin-bottom: 28px;
  text-shadow: 0 10px 40px rgba(0, 0, 0, .28);
}

.hero h1 em {
  font-style: normal;
  color: var(--purple-l);
}

.hero p {
  font-size: 1.08rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, .72);
  max-width: 580px;
  margin-bottom: 34px;
}

.hero-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.hero-micro {
  margin-top: 24px;
  color: rgba(255, 255, 255, .46);
  font-size: .82rem;
  line-height: 1.6;
}


/* =========================================================
   Authority / Metrics
   ========================================================= */

.authority {
  padding: 100px 0;
  background: #fff;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.mc {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .05);
  border-radius: 28px;
  padding: 40px 28px;
  transition: .3s cubic-bezier(.25, .46, .45, .94);
}

.mc:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-soft);
}

.mc .num {
  font-family: var(--font-h);
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--purple);
  letter-spacing: -.03em;
  margin-bottom: 6px;
}

.mc .label {
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.5;
}


/* =========================================================
   Brands
   ========================================================= */

.brands {
  position: relative;
  overflow: hidden;
  padding: 130px 0;
  background: #1A1A22;
  text-align: center;
}

.brands::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
          linear-gradient(
                  135deg,
                  rgba(22, 18, 40, .88),
                  rgba(34, 28, 58, .82) 45%,
                  rgba(18, 18, 28, .88)
          ),
          url('../img/brands-bg.jpg') center / cover no-repeat;
  transform: scale(1.03);
  z-index: 0;
}

.brands::after {
  content: '';
  position: absolute;
  width: 900px;
  height: 900px;
  border-radius: 50%;
  background: radial-gradient(
          circle,
          rgba(142, 121, 255, .18),
          rgba(142, 121, 255, .06) 42%,
          transparent 72%
  );
  top: -320px;
  right: -180px;
  z-index: 1;
}

.brands .si {
  position: relative;
  z-index: 3;
  text-align: center;
}

.brands .sl {
  color: rgba(255, 255, 255, .62);
}

.brands .st {
  color: #fff;
  margin: 0 auto 18px;
}

.brands .ss {
  color: rgba(255, 255, 255, .70);
  max-width: 760px;
  margin: 0 auto 56px;
}

.brands-g {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
  flex-wrap: wrap;
}

.bl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 430px;
  height: 180px;
  padding: 34px 46px;
  border-radius: 30px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(255, 255, 255, .20);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
  overflow: hidden;
  transition: .35s ease;
}

.bl:hover {
  transform: translateY(-6px);
  background: #fff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .26);
}

.bl img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /*transform: scale(1.35);*/
  transform: none;
}

.bl img[src*="lg"] {
  transform: scale(1.05);
}

.bl img[src*="mindray"] {
  transform: scale(1.05);
}


/* =========================================================
   Break CTA
   ========================================================= */

.break-cta {
  padding: 70px 0;
  background: #fff;
}

.break-box {
  position: relative;
  overflow: hidden;
  max-width: 900px;
  margin: 0 auto;
  padding: 42px 46px;
  border-radius: 30px;
  text-align: center;
  background: linear-gradient(135deg, var(--purple), var(--purple-e));
  box-shadow: var(--shadow-purple);
}

.break-box::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .10), transparent 70%);
  top: -180px;
  right: -140px;
}

.break-copy,
.break-actions {
  position: relative;
  z-index: 2;
}

.break-tag {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .80);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.break-copy h3 {
  font-family: var(--font-h);
  font-size: 2rem;
  line-height: 1.02;
  letter-spacing: -.05em;
  color: #fff;
  margin-bottom: 14px;
}

.break-copy p {
  max-width: 620px;
  margin: 0 auto;
  font-size: .95rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, .76);
}

.break-actions {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}

.break-cta .btn-p {
  background: #fff;
  color: var(--purple);
}

.whatsapp-btn {
  animation: pulseBtn 3s ease-in-out infinite;
}


/* =========================================================
   Specialties
   ========================================================= */

.specialties {
  background: var(--white-s);
  padding: 100px 0;
}

.sg {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.sc {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .05);
  border-radius: 24px;
  overflow: hidden;
  transition: .3s;
}

.sc:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .06);
}

.sc-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.sc-body {
  padding: 24px 22px;
}

.sc h3 {
  font-family: var(--font-h);
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.sc p {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.6;
}

.sc-link {
  display: inline-flex;
  margin-top: 16px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--purple);
  transition: .25s ease;
}

.sc-link:hover {
  color: var(--purple-e);
  transform: translateX(3px);
}


/* =========================================================
   Equipment guide v3
   ========================================================= */

.equipment-guide-v3 {
  padding: 110px 0;
  background: #F5F7FA;
}

.guide-v2-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 46px;
}

.guide-v2-head .ss {
  margin-bottom: 0;
}

.guide-v2-head .btn-p {
  min-width: max-content;
}

.guide-product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.guide-product-card {
  background: #fff;
  border-radius: 30px;
  border: 1px solid rgba(0, 0, 0, .05);
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .04);
  transition: .35s ease;
}

.guide-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .08);
}

.guide-product-img {
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
          radial-gradient(circle, rgba(93, 63, 211, .12), transparent 62%),
          #fff;
  padding: 26px;
}

.guide-product-img img {
  max-height: 205px;
  object-fit: contain;
  filter: drop-shadow(0 24px 42px rgba(0, 0, 0, .12));
}

.guide-product-body {
  padding: 26px 26px 30px;
}

.guide-tag {
  display: inline-flex;
  position: relative;
  z-index: 2;
  margin-bottom: 22px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(93, 63, 211, .09);
  color: var(--purple);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.guide-product-body h3 {

  font-family: var(--font-h);
  font-size: 1.35rem;
  letter-spacing: -.04em;
  margin-bottom: 10px;
}

.guide-product-body p {
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.65;
  margin-bottom: 22px;
}

.guide-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.guide-meta span {
  padding: 7px 11px;
  border-radius: 999px;
  background: #F1F2F8;
  color: var(--purple);
  font-size: .72rem;
  font-weight: 800;
}

.guide-product-featured {
  background:
          radial-gradient(circle at 90% 0, rgba(255, 255, 255, .16), transparent 32%),
          linear-gradient(135deg, var(--purple), var(--purple-e));
  color: #fff;
  box-shadow: var(--shadow-purple);
}

.guide-product-featured .guide-product-img {
  background: rgba(255, 255, 255, .08);
}

.guide-product-featured .guide-tag,
.guide-product-featured .guide-meta span {
  background: rgba(255, 255, 255, .14);
  color: #fff;
}

.guide-product-featured p {
  color: rgba(255, 255, 255, .78);
}

.guide-product-featured .pl {
  color: #fff;
}

.pl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .84rem;
  font-weight: 700;
  color: var(--purple);
  transition: .25s;
}

.pl:hover {
  color: var(--purple-e);
  transform: translateX(3px);
}


/* =========================================================
   Experience / Support
   ========================================================= */

.experience {
  position: relative;
  overflow: hidden;
  background: #17171F;
  color: #fff;
  text-align: center;
  padding: 130px 0;
}

.experience::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
          linear-gradient(
                  135deg,
                  rgba(18, 16, 32, .90),
                  rgba(43, 34, 75, .78) 45%,
                  rgba(15, 15, 24, .92)
          ),
          var(--dark-bg, url('../img/support-bg.jpg')) center / cover no-repeat;
  transform: scale(1.03);
  z-index: 0;
}

.experience .si {
  position: relative;
  z-index: 2;
}

.experience .st {
  color: #fff;
}

.experience .ss {
  color: rgba(255, 255, 255, .70);
  margin-left: auto;
  margin-right: auto;
}

.eg {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.ec {
  padding: 34px 26px;
  border-radius: 28px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(16px);
  text-align: left;
  overflow: hidden;
  position: relative;
  transition: .35s;
}

.ec::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--purple-l), var(--purple-e));
}

.ec:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, .12);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .24);
}

.ec h3 {
  color: #fff;
  font-family: var(--font-h);
  font-size: 1.08rem;
  margin-bottom: 12px;
}

.ec p {
  color: rgba(255, 255, 255, .68);
  font-size: .88rem;
  line-height: 1.75;
}


/* =========================================================
   Nosotros
   ========================================================= */

.nosotros {
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.nosotros .si {
  max-width: none;
  padding: 0;
}

.nos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  min-height: 680px;
}

.nos-copy {
  padding: 86px clamp(34px, 5vw, 70px) 86px clamp(34px, 6vw, 90px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}

.nos-copy .ss {
  max-width: 760px;
  margin-bottom: 28px;
}

.about-highlights {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 28px;
}

.about-highlight {
  position: relative;
  display: block;
  padding: 30px 24px 22px;
  border-radius: 22px;
  background: #F7F8FC;
  border: 1px solid rgba(0, 0, 0, .05);
  transition: .35s;
}

.about-highlight:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .06);
}

.ah-icon {
  position: absolute;
  top: -22px;
  left: 22px;
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(93, 63, 211, .16), rgba(75, 74, 143, .08));
  box-shadow: 0 12px 28px rgba(93, 63, 211, .14);
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ah-content h4 {
  font-family: var(--font-h);
  font-size: .98rem;
  font-weight: 700;
  margin-bottom: 6px;
  padding-top: 4px;
}

.ah-content p {
  font-size: .82rem;
  line-height: 1.55;
  color: #667586;
}

.nos-visual {
  position: relative;
  min-height: 680px;
  overflow: hidden;
}

.nos-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.02);
}

.nos-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
          135deg,
          rgba(20, 18, 34, .18),
          rgba(75, 74, 143, .22) 45%,
          rgba(8, 8, 12, .40)
  );
  z-index: 1;
}

.nos-card {
  position: absolute;
  left: 50px;
  bottom: 50px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(16px);
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .20);
}

.nos-card span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--purple-l);
  box-shadow: 0 0 18px rgba(142, 121, 255, .8);
}


/* =========================================================
   Process dark
   ========================================================= */

.process-dark {
  padding: 110px 0;
  background: #F5F7FA;
  overflow: hidden;
}

.process-shell {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: 70px 78px;
  border-radius: 42px;
  background:
          radial-gradient(circle at 18% 12%, rgba(93, 63, 211, .26), transparent 34%),
          radial-gradient(circle at 88% 18%, rgba(142, 121, 255, .16), transparent 36%),
          linear-gradient(135deg, #10113B, #14164A 48%, #121338);
  color: #fff;
  box-shadow: 0 34px 90px rgba(16, 17, 59, .22);
}

.process-top {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 48px;
  align-items: end;
  margin-bottom: 52px;
}

.process-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .78);
  margin-bottom: 14px;
}

.process-kicker span {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--purple-l);
  box-shadow: 0 0 20px rgba(142, 121, 255, .75);
}

.process-top h2 {
  font-family: var(--font-h);
  font-size: 2.65rem;
  line-height: 1.04;
  letter-spacing: -.05em;
  font-weight: 700;
}

.process-line {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, .58), rgba(255, 255, 255, .08));
  margin-bottom: 22px;
}

.process-dark-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.process-dark-card {
  min-height: 300px;
  padding: 34px 26px 28px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: .35s ease;
}

.process-dark-card:hover {
  transform: translateY(-7px);
  background: rgba(255, 255, 255, .09);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}

.process-dark-card span {
  display: block;
  font-family: var(--font-h);
  font-size: 1.45rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 8px;
}

.process-dark-card h3 {
  font-family: var(--font-h);
  font-size: 1.22rem;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: #fff;
  margin-bottom: auto;
  max-width: 180px;
}

.process-dark-card p {
  color: rgba(255, 255, 255, .68);
  font-size: .84rem;
  line-height: 1.55;
  margin-top: 46px;
}

.process-bottom-cta {
  margin-top: 24px;
  min-height: 82px;
  padding: 18px 22px;
  border-radius: 24px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  align-items: center;
  gap: 18px;
}

.process-avatars {
  display: flex;
  min-width: max-content;
}

.process-avatars span {
  width: 38px;
  height: 38px;
  margin-left: -8px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple-l), var(--purple-e));
  border: 2px solid rgba(255, 255, 255, .85);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-h);
  font-size: .62rem;
  font-weight: 800;
  color: #fff;
}

.process-avatars span:first-child {
  margin-left: 0;
}

.process-bottom-cta p {
  color: rgba(255, 255, 255, .78);
  font-size: .92rem;
  line-height: 1.5;
  margin-right: auto;
}

.process-bottom-cta a {
  min-width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px 10px 10px;
  border-radius: 999px;
  background: #fff;
  color: var(--purple);
  font-size: .88rem;
  font-weight: 800;
  transition: .25s ease;
}

.process-bottom-cta a span {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple-e), var(--purple));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.process-bottom-cta a:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
}


/* =========================================================
   Video
   ========================================================= */

.video-section {
  padding: 120px 0;
  background: #fff;
}

.video-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 54px;
  align-items: center;
}

.video-list {
  list-style: none;
  display: grid;
  gap: 14px;
}

.video-list li {
  position: relative;
  padding-left: 30px;
  color: var(--muted);
  line-height: 1.6;
  font-weight: 500;
}

.video-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--purple-l);
  box-shadow: 0 0 16px rgba(142, 121, 255, .65);
}

.video-poster {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  border-radius: 34px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .16);
}

.video-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.72);
  transition: .35s ease;
}

.video-poster:hover img {
  transform: scale(1.04);
  filter: brightness(.62);
}

.play-btn {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple-e), var(--purple));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  box-shadow: 0 20px 60px rgba(93, 63, 211, .45);
}


/* =========================================================
   Testimonials
   ========================================================= */

.testimonials-featured {
  padding: 110px 0;
  background: #F5F7FA;
  overflow: hidden;
}

.testimonial-layout {
  display: grid;
  gap: 34px;
}

.testimonial-copy .ss {
  margin-bottom: 0;
}

.featured-testimonial {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  min-height: 520px;
  border-radius: 38px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .08);
  border: 1px solid rgba(0, 0, 0, .05);
  transition: .28s ease;
}

.featured-testimonial.is-changing {
  opacity: .25;
  transform: translateY(10px);
}

.featured-testimonial__content {
  position: relative;
  padding: 58px 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
          radial-gradient(circle at 0 0, rgba(93, 63, 211, .12), transparent 34%),
          #fff;
}

.featured-testimonial__content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 78%;
  height: 18px;
  background: linear-gradient(90deg, #34D3C2, var(--purple-e));
  border-radius: 0 0 999px 0;
}

.testimonial-pill {
  display: inline-flex;
  width: max-content;
  margin-bottom: 28px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(93, 63, 211, .08);
  color: var(--purple);
  font-family: var(--font-h);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.featured-testimonial h3 {
  font-family: var(--font-h);
  font-size: 2.35rem;
  line-height: 1.05;
  letter-spacing: -.04em;
  color: var(--purple);
  margin-bottom: 6px;
}

.featured-testimonial small {
  display: block;
  color: #15B8A6;
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 32px;
}

.featured-testimonial__content p {
  font-family: var(--font-h);
  font-size: 1.65rem;
  line-height: 1.5;
  letter-spacing: -.03em;
  color: #6B55B6;
  font-style: italic;
  max-width: 560px;
}

.testimonial-product {
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 0, 0, .08);
  color: var(--muted);
  font-size: .95rem;
}

.testimonial-product strong {
  color: var(--charcoal);
}

.featured-testimonial__photo {
  min-height: 520px;
  position: relative;
  overflow: hidden;
}

.featured-testimonial__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, .04), rgba(0, 0, 0, .10));
}

.featured-testimonial__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.testimonial-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.testimonial-mini {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  align-items: center;
  padding: 18px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .05);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .04);
  text-align: left;
  cursor: pointer;
  transition: .28s ease;
  font: inherit;
}

.testimonial-mini:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .07);
}

.testimonial-mini.active {
  outline: 2px solid rgba(93, 63, 211, .28);
  box-shadow: 0 22px 60px rgba(93, 63, 211, .12);
}

.testimonial-mini img {
  width: 130px;
  height: 112px;
  object-fit: cover;
  border-radius: 20px;
}

.testimonial-mini h4 {
  font-family: var(--font-h);
  font-size: 1rem;
  margin-bottom: 4px;
  color: var(--charcoal);
}

.testimonial-mini span {
  display: block;
  color: var(--purple);
  font-weight: 800;
  font-size: .78rem;
  margin-bottom: 9px;
}

.testimonial-mini p {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
}

.testimonial-cta {
  margin-top: 4px;
  padding: 34px;
  border-radius: 30px;
  background: linear-gradient(135deg, var(--purple), var(--purple-e));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: var(--shadow-purple);
}

.testimonial-cta h3 {
  color: #fff;
  font-family: var(--font-h);
  font-size: 1.45rem;
  line-height: 1.1;
}

.testimonial-cta .btn-p {
  background: #fff;
  color: var(--purple);
  box-shadow: none;
}


/* =========================================================
   Financing calculator
   ========================================================= */

.financing-calculator {
  padding: 110px 0;
  background: #F5F7FA;
}

.finance-box {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 30px;
}

.finance-form,
.finance-result {
  background: #fff;
  border-radius: 34px;
  padding: 40px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .05);
}

.finance-group {
  margin-bottom: 34px;
}

.finance-group label {
  display: block;
  margin-bottom: 14px;
  font-family: var(--font-h);
  font-weight: 700;
}

.finance-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.finance-options button {
  border: none;
  cursor: pointer;
  padding: 12px 18px;
  border-radius: 999px;
  background: #EEF0F7;
  color: #5B6475;
  transition: .25s;
}

.finance-options button.active {
  background: var(--purple);
  color: #fff;
}

.budget-display {
  margin-bottom: 18px;
}

.budget-display span {
  font-family: var(--font-h);
  font-size: 2rem;
  color: var(--purple);
}

#budgetRange {
  width: 100%;
}

.finance-result {
  background:
          radial-gradient(circle at top right, rgba(255, 255, 255, .12), transparent 30%),
          linear-gradient(135deg, var(--purple), var(--purple-e));
  color: #fff;
}

.finance-badge {
  display: inline-block;
  margin-bottom: 20px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .15);
}

.finance-result h3 {
  font-size: 2rem;
  margin-bottom: 14px;
}

.finance-price {
  font-size: 2.5rem;
  font-family: var(--font-h);
  font-weight: 700;
  margin-bottom: 16px;
}

.finance-result p {
  opacity: .9;
  line-height: 1.7;
  margin-bottom: 20px;
}

.finance-result ul {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

.finance-result li {
  margin-bottom: 10px;
}

.finance-result .btn-p {
  background: #fff;
  color: var(--purple);
}


/* =========================================================
   Coverage
   ========================================================= */

.coverage-section {
  padding: 120px 0;
  background: #fff;
}

.coverage-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 54px;
  align-items: center;
}

.coverage-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 34px;
}

.coverage-card {
  padding: 22px;
  border-radius: 24px;
  background: #F7F8FC;
  border: 1px solid rgba(0, 0, 0, .05);
  transition: .35s ease;
}

.coverage-card:hover {
  transform: translateY(-4px);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.coverage-card strong {
  display: block;
  font-family: var(--font-h);
  font-size: 1rem;
  color: var(--purple);
  margin-bottom: 4px;
}

.coverage-card span {
  color: var(--muted);
  font-size: .85rem;
}

.coverage-map-card {
  padding: 0;
  background: none;
  box-shadow: none;
  min-height: auto;
}

.coverage-real-map {
  position: relative;
  width: 100%;
  aspect-ratio: 1.65 / 1;
  border-radius: 34px;
  overflow: hidden;
  background:
          radial-gradient(circle at 72% 18%, rgba(255, 255, 255, .12), transparent 28%),
          linear-gradient(135deg, #4B4A8F, #5D3FD3);
  box-shadow: 0 34px 90px rgba(93, 63, 211, .24);
}

.coverage-real-map::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 34px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  pointer-events: none;
  z-index: 10;
}

.coverage-mexico-img {
  position: absolute;
  left: 4%;
  top: 8%;
  width: 92%;
  height: 78%;
  object-fit: contain;
  z-index: 1;
  filter: brightness(0) invert(1);
  opacity: .94;
}

.coverage-route {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.coverage-route path {
  fill: none;
  stroke: #8E79FF;
  stroke-width: 1.25;
  stroke-linecap: round;
  stroke-dasharray: 2.6 2.8;
  filter: drop-shadow(0 5px 10px rgba(0, 0, 0, .22));
}

.map-location {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
}

.map-location > span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #8E79FF;
  border: 7px solid rgba(255, 255, 255, .85);
  box-shadow:
          0 0 0 12px rgba(142, 121, 255, .24),
          0 14px 34px rgba(0, 0, 0, .22);
}

.map-location div {
  background: #fff;
  border-radius: 16px;
  padding: 10px 16px;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
  min-width: 130px;
}

.map-location strong {
  display: block;
  font-family: var(--font-h);
  font-size: .9rem;
  line-height: 1.1;
  color: var(--purple);
}

.map-location small {
  display: block;
  margin-top: 3px;
  font-size: .72rem;
  color: #667586;
}

.map-mazatlan {
  left: 31%;
  top: 39%;
}

.map-guadalajara {
  left: 46%;
  top: 59%;
}

.map-veracruz {
  left: 73%;
  top: 62%;
}

.coverage-map-caption {
  position: absolute;
  left: 8%;
  bottom: 9%;
  z-index: 5;
  color: rgba(255, 255, 255, .82);
  font-size: .78rem;
  font-weight: 700;
}


/* =========================================================
   Final CTA + Footer
   ========================================================= */

.cta-f {
  background: var(--charcoal);
  padding: 100px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  color: #fff;
}

.cta-f::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(75, 74, 143, .15), transparent 70%);
}

.cta-grid {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 90px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.cta-left,
.cta-right {
  text-align: left;
}

.cta-mini-title {
  font-family: var(--font-h);
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -.04em;
  font-weight: 700;
  margin-bottom: 18px;
}

.cta-mini-text {
  font-size: .98rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, .66);
  margin-bottom: 34px;
}

.office-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 26px;
}

.office-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .08);
  backdrop-filter: blur(10px);
}

.office-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--purple-l);
  box-shadow: 0 0 18px rgba(142, 121, 255, .9);
}

.office-card strong {
  display: block;
  color: #fff;
  font-size: .96rem;
}

.office-card span {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, .52);
  font-size: .8rem;
}

.coverage-pill {
  display: inline-flex;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(142, 121, 255, .12);
  border: 1px solid rgba(142, 121, 255, .18);
  color: rgba(255, 255, 255, .72);
  font-size: .8rem;
  font-weight: 500;
}

.cta-f .st {
  color: #fff;
}

.cta-f .ss {
  color: rgba(255, 255, 255, .6);
  margin: 0 0 34px;
}

.footer {
  background: var(--charcoal);
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 48px 0 32px;
  color: rgba(255, 255, 255, .5);
}

.f-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
}

.f-tag {
  font-family: var(--font-h);
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .8);
  margin-bottom: 8px;
}

.f-brand p,
.f-links a {
  font-size: .82rem;
  line-height: 1.7;
}

.f-links h4 {
  font-family: var(--font-h);
  font-size: .85rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .8);
  margin-bottom: 12px;
}

.f-links a {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .45);
}

.f-links a:hover {
  color: var(--purple-l);
}

.f-bottom {
  max-width: var(--container);
  margin: 32px auto 0;
  padding: 24px 32px 0;
  border-top: 1px solid rgba(255, 255, 255, .06);
  text-align: center;
  font-size: .78rem;
  color: rgba(255, 255, 255, .35);
}

.wa-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  background: linear-gradient(135deg, var(--purple-e), var(--purple));
  color: #fff;
  box-shadow: 0 20px 50px rgba(93, 63, 211, .34);
  transition: .25s;
  animation: waPulse 2.6s ease-in-out infinite;
}

.wa-float svg {
  width: 34px;
  height: 34px;
}

.wa-float:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 28px 65px rgba(93, 63, 211, .44);
}


/* =========================================================
   Product landing utilities
   ========================================================= */

.product-overview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: center;
}

.product-visual {
  border-radius: 34px;
  background: #fff;
  padding: 36px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .06);
}

.product-visual img {
  max-height: 480px;
  object-fit: contain;
  margin: auto;
}

.spec-list {
  display: grid;
  gap: 14px;
}

.spec-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 20px;
  border-radius: 22px;
  background: #F7F8FC;
  border: 1px solid rgba(0, 0, 0, .04);
}

.spec-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--purple-l);
  margin-top: 6px;
  flex-shrink: 0;
}

.feature-card {
  padding: 30px;
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .05);
}

.feature-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(93, 63, 211, .12), rgba(75, 74, 143, .08));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 18px;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1180px) {
  .nos-grid {
    grid-template-columns: 1fr;
  }

  .nos-visual {
    min-height: 620px;
  }

  .nos-copy {
    padding: 100px 34px;
  }
}

@media (max-width: 1024px) {
  .nav {
    display: none;
  }

  .hero::before {
    background:
            linear-gradient(
                    180deg,
                    rgba(8, 8, 12, .82),
                    rgba(8, 8, 12, .68) 45%,
                    rgba(8, 8, 12, .72)
            ),
            var(--hero-bg, url('../img/women-care-kv-pc.jpg')) center / cover no-repeat;
  }

  .hero-inner {
    padding: 140px 28px 100px;
  }

  .hero-text {
    text-align: center;
    max-width: 100%;
  }

  .hero p,
  .hero-micro {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-btns {
    justify-content: center;
  }

  .hero h1 {
    font-size: 3.5rem;
  }

  .metrics,
  .sg,
  .eg,
  .process-dark-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .guide-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .guide-v2-head {
    display: block;
  }

  .guide-v2-head .btn-p {
    margin-top: 24px;
  }

  .video-grid,
  .finance-box,
  .coverage-grid,
  .cta-grid,
  .product-overview {
    grid-template-columns: 1fr;
  }

  .featured-testimonial {
    grid-template-columns: 1fr;
  }

  .featured-testimonial__photo {
    min-height: 420px;
    order: -1;
  }

  .testimonial-mini-grid {
    grid-template-columns: 1fr;
  }

  .process-shell {
    padding: 58px 36px;
  }

  .process-top {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .process-line {
    margin-bottom: 0;
  }

  .process-dark-card {
    min-height: 240px;
  }

  .cta-left,
  .cta-right {
    text-align: center;
  }

  .office-card {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .testimonial-cta {
    flex-direction: column;
    text-align: center;
  }

  .play-btn {
    width: 64px;
    height: 64px;
    font-size: 1.5rem;
  }
}

@media (max-width: 640px) {
  .si,
  .container,
  .h-inner {
    padding-left: 22px;
    padding-right: 22px;
  }

  .section {
    padding: 90px 0;
  }

  .logo img {
    height: 34px;
  }

  .hero {
    min-height: auto;
  }

  .hero-inner {
    padding: 120px 22px 80px;
  }

  .hero h1 {
    font-size: 2.55rem;
    line-height: 1;
  }

  .hero p {
    font-size: .96rem;
    line-height: 1.7;
  }

  .hero-badge {
    font-size: .68rem;
  }

  .btn-p,
  .btn-s {
    width: 100%;
    max-width: 320px;
    padding: 15px 24px;
  }

  .st {
    font-size: 2rem;
  }

  .metrics,
  .sg,
  .eg,
  .about-highlights,
  .guide-product-grid,
  .process-dark-cards,
  .coverage-cards {
    grid-template-columns: 1fr;
  }

  .brands {
    padding: 100px 0;
  }

  .brands-g {
    gap: 24px;
  }

  .bl {
    width: 100%;
    height: 150px;
  }

  .equipment-guide-v3,
  .process-dark,
  .testimonials-featured,
  .financing-calculator,
  .coverage-section,
  .video-section {
    padding: 85px 0;
  }

  .guide-v2-head .btn-p {
    width: 100%;
  }

  .guide-product-img {
    height: 210px;
  }

  .experience {
    padding: 95px 0;
  }

  .ec {
    text-align: center;
  }

  .nos-copy {
    padding: 90px 22px;
  }

  .nos-visual {
    min-height: 480px;
  }

  .nos-card {
    left: 22px;
    right: 22px;
    bottom: 22px;
  }

  .process-shell {
    padding: 42px 22px;
    border-radius: 30px;
  }

  .process-top h2 {
    font-size: 2rem;
  }

  .process-dark-card {
    min-height: auto;
  }

  .process-dark-card p {
    margin-top: 28px;
  }

  .process-bottom-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .process-bottom-cta a {
    width: 100%;
    justify-content: center;
  }

  .featured-testimonial {
    border-radius: 28px;
  }

  .featured-testimonial__content {
    padding: 42px 26px;
  }

  .featured-testimonial h3 {
    font-size: 1.9rem;
  }

  .featured-testimonial__content p {
    font-size: 1.25rem;
  }

  .featured-testimonial__photo {
    min-height: 330px;
  }

  .testimonial-mini {
    grid-template-columns: 1fr;
  }

  .testimonial-mini img {
    width: 100%;
    height: 220px;
  }

  .finance-form,
  .finance-result {
    padding: 32px 24px;
  }

  .map-location div {
    display: none;
  }

  .map-location > span {
    width: 22px;
    height: 22px;
    border-width: 5px;
  }

  .map-mazatlan {
    left: 31%;
    top: 40%;
  }

  .map-guadalajara {
    left: 47%;
    top: 60%;
  }

  .map-veracruz {
    left: 75%;
    top: 63%;
  }

  .coverage-map-caption {
    font-size: .68rem;
  }

  .break-box {
    padding: 36px 24px;
  }

  .break-copy h3 {
    font-size: 1.6rem;
  }

  .f-inner {
    display: grid;
  }

  .wa-float {
    width: 60px;
    height: 60px;
    right: 18px;
    bottom: 18px;
  }

  .wa-float svg {
    width: 30px;
    height: 30px;
  }
}



.team-preview{
  padding:110px 0;
  background:#fff;
}

.team-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:46px;
}

.team-preview-head .ss{
  margin-bottom:0;
}

.team-preview-head .btn-p{
  min-width:max-content;
}

.team-preview-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
}

.team-card{
  padding:18px;
  border-radius:28px;
  background:#F7F8FC;
  border:1px solid rgba(0,0,0,.05);
  text-align:center;
  transition:.35s ease;
}

.team-card:hover{
  transform:translateY(-6px);
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.team-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:22px;
  margin-bottom:18px;
}

.team-card h3{
  font-family:var(--font-h);
  font-size:1rem;
  margin-bottom:5px;
}

.team-card span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.4;
}

@media(max-width:1024px){
  .team-preview-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .team-preview-head{
    display:block;
  }

  .team-preview-head .btn-p{
    margin-top:24px;
  }
}

@media(max-width:640px){
  .team-preview{
    padding:85px 0;
  }

  .team-preview-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

.coverage-map-card {
  padding: 0;
  background: none;
  box-shadow: none;
  min-height: auto;
}

.coverage-real-map {
  position: relative;
  width: 100%;
  aspect-ratio: 1.55 / 1;
  border-radius: 34px;
  overflow: hidden;
  background:
          radial-gradient(circle at 72% 18%, rgba(255,255,255,.12), transparent 28%),
          linear-gradient(135deg, #4B4A8F, #5D3FD3);
  box-shadow: 0 34px 90px rgba(93,63,211,.24);
}

.coverage-mexico-img {
  position: absolute;
  left: 1.5%;
  top: 2%;
  width: 97%;
  height: 91%;
  object-fit: contain;
  z-index: 1;
  filter: brightness(0) invert(1);
  opacity: .96;
}

.coverage-route {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.coverage-route path {
  fill: none;
  stroke: #8E79FF;
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-dasharray: 2.5 2.7;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.22));
}

.map-location {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
}

.map-location > span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #8E79FF;
  border: 7px solid rgba(255,255,255,.86);
  box-shadow:
          0 0 0 12px rgba(142,121,255,.24),
          0 14px 34px rgba(0,0,0,.22);
}

.map-location div {
  background: #fff;
  border-radius: 16px;
  padding: 10px 16px;
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  min-width: 130px;
}

.map-location strong {
  display: block;
  font-family: var(--font-h);
  font-size: .9rem;
  line-height: 1.1;
  color: var(--purple);
}

.map-location small {
  display: block;
  margin-top: 3px;
  font-size: .72rem;
  color: #667586;
}

/* Pines corregidos */
.map-mazatlan {
  left: 28.5%;
  top: 42%;
}

.map-guadalajara {
  left: 43.5%;
  top: 61%;
}

.map-veracruz {
  left: 78%;
  top: 61%;
}

.coverage-map-caption {
  position: absolute;
  left: 8%;
  bottom: 7%;
  z-index: 5;
  color: rgba(255,255,255,.82);
  font-size: .78rem;
  font-weight: 700;
}

@media (max-width: 640px) {
  .coverage-mexico-img {
    left: 0;
    top: 5%;
    width: 100%;
    height: 86%;
  }

  .map-location div {
    display: none;
  }

  .map-location > span {
    width: 22px;
    height: 22px;
    border-width: 5px;
  }

  .map-mazatlan {
    left: 29%;
    top: 42%;
  }

  .map-guadalajara {
    left: 44%;
    top: 61%;
  }

  .map-veracruz {
    left: 79%;
    top: 61%;
  }
}



.coverage-real-map {
  position: relative;
  width: 100%;
  aspect-ratio: 1.55 / 1;
  border-radius: 34px;
  overflow: hidden;
  background:
          radial-gradient(circle at 72% 18%, rgba(255,255,255,.12), transparent 28%),
          linear-gradient(135deg, #4B4A8F, #5D3FD3);
  box-shadow: 0 34px 90px rgba(93,63,211,.24);
}

.coverage-mexico-img {
  position: absolute;
  left: 1.5%;
  top: 2%;
  width: 97%;
  height: 91%;
  object-fit: contain;
  z-index: 1;
  filter: brightness(0) invert(1);
  opacity: .96;
}

.map-mazatlan {
  left: 38%;
  top: 45%;
}

.map-guadalajara {
  left: 22%;
  top: 58%;
  flex-direction: row-reverse;
}

.map-veracruz {
  left: 63%;
  top: 58%;
}
.coverage-map-caption {
  bottom: 7%;
}

.map-veracruz div {
  min-width: 155px;
}

.map-location {
  gap: 8px;
}

.map-location > span {
  width: 24px;
  height: 24px;
  border: 6px solid rgba(255,255,255,.86);
  box-shadow:
          0 0 0 10px rgba(142,121,255,.22),
          0 12px 28px rgba(0,0,0,.18);
}

.map-location div {
  min-width: 128px;
  padding: 9px 15px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(0,0,0,.14);
}

.map-location strong {
  font-size: .82rem;
  line-height: 1.05;
}

.map-location small {
  margin-top: 3px;
  font-size: .68rem;
  line-height: 1.1;
}

.map-veracruz div {
  min-width: 132px;
}

.map-veracruz strong {
  font-size: .78rem;
}

.map-location {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 7px;
}

.map-location > span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #8E79FF;
  border: 5px solid rgba(255,255,255,.88);
  box-shadow:
          0 0 0 8px rgba(142,121,255,.20),
          0 10px 24px rgba(0,0,0,.18);
}

.map-location div {
  min-width: 108px;
  padding: 7px 12px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(0,0,0,.14);
}

.map-location strong {
  display: block;
  font-family: var(--font-h);
  font-size: .72rem;
  line-height: 1.05;
  color: var(--purple);
}

.map-location small {
  display: block;
  margin-top: 2px;
  font-size: .6rem;
  line-height: 1.1;
  color: #667586;
}

.map-mazatlan {
  left: 38%;
  top: 44%;
}

.map-guadalajara {
  left: 29%;
  top: 58%;
  flex-direction: row-reverse;
}

.map-veracruz {
  left: 67%;
  top: 64%;
}

.map-veracruz div {
  min-width: 112px;
}

.map-veracruz strong {
  font-size: .68rem;
}

.coverage-route path {
  fill: none;
  stroke: #8E79FF;
  stroke-width: .8;
  stroke-linecap: round;
  stroke-dasharray: 1.8 2.4;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.18));
}
.map-guadalajara {
  left: 40%;
  top: 60%;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.map-guadalajara div {
  text-align: center;
}


.coverage-route path {
  fill: none;
  stroke: #8E79FF;
  stroke-width: .8;
  stroke-linecap: round;
  stroke-dasharray: 1.8 2.4;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.18));
}

.coverage-route path {
  fill: none;
  stroke: #8E79FF;
  stroke-width: .55;
  stroke-linecap: round;
  stroke-dasharray: 1.4 2.1;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,.16));
}
.coverage-route path{
  fill:none;
  stroke:#8E79FF;
  stroke-width:.45;
  stroke-linecap:round;
  stroke-dasharray:1.1 2;
}

.coverage-route {
  z-index: 4;
}

.coverage-route path {
  fill: none;
  stroke: #ff2d55; /* temporal */
  stroke-width: .75;
  stroke-linecap: round;
  stroke-dasharray: 1.4 2;
  filter:
          drop-shadow(0 0 4px rgba(255,45,85,.9))
          drop-shadow(0 3px 6px rgba(0,0,0,.22));
}











.coverage-svg-map {
  width: 100%;
  height: 100%;
  display: block;
}

.coverage-svg-mexico {
  filter: brightness(0) invert(1);
  opacity: .96;
}
/*.coverage-svg-mexico {*/
/*  filter: none !important;*/
/*  opacity: 1;*/
/*}*/
.coverage-svg-route {
  fill: none;
  stroke: #8E79FF;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-dasharray: 10 14;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.18));
}

.pin-glow {
  fill: rgba(142,121,255,.22);
}

.pin-ring {
  fill: rgba(255,255,255,.86);
}

.pin-core {
  fill: #8E79FF;
}

.coverage-svg-label rect {
  fill: #fff;
  filter: drop-shadow(0 14px 26px rgba(0,0,0,.14));
}

.label-title {
  font-family: var(--font-h);
  font-size: 13px;
  font-weight: 800;
  fill: #4B4A8F;
}

.label-sub {
  font-family: var(--font-b);
  font-size: 11px;
  fill: #667586;
}

.coverage-svg-caption {
  font-family: var(--font-b);
  font-size: 15px;
  font-weight: 700;
  fill: rgba(255,255,255,.78);
}


.f-bottom-links {
  display: inline-flex;
  gap: 14px;
  margin-left: 12px;
}

.f-bottom-links a {
  color: rgba(255,255,255,.45);
  transition: .25s;
}

.f-bottom-links a:hover {
  color: var(--purple-l);
}

@media(max-width:640px) {
  .f-bottom-links {
    display: flex;
    justify-content: center;
    margin: 12px 0 0;
  }
}

/* ==========================
   FINANCIAMIENTO - PRODUCTOS
========================== */

.finance-result {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.finance-products {
  display: flex;
  flex-wrap: nowrap;
  gap: 14px;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  margin-top: 24px;
  margin-bottom: 24px;
  padding: 6px 2px 12px;

  overflow-x: hidden;
  overflow-y: hidden;

  scroll-snap-type: x proximity;
}

/* 1, 2 o 3 productos: centrados y sin scroll */
.finance-products.products-1,
.finance-products.products-2,
.finance-products.products-3 {
  justify-content: center;
}

/* 4 o más: scroll horizontal */
.finance-products.products-many {
  justify-content: flex-start;
  overflow-x: auto;
  padding-bottom: 14px;
}

/* Card base */
.finance-product-card {
  display: flex;
  flex-direction: column;

  flex: 0 0 145px;
  width: 145px;
  min-width: 145px;

  background: #fff;
  border-radius: 22px;
  overflow: hidden;

  text-decoration: none;
  border: 1px solid rgba(0,0,0,.05);

  scroll-snap-align: start;
  transition: .25s ease;
}

.finance-product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(0,0,0,.10);
}

/* Cuando son exactamente 3, que quepan sin romper */
.finance-products.products-3 .finance-product-card {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 145px;
}

/* Cuando son 2, que se vean más bonitas */
.finance-products.products-2 .finance-product-card {
  flex: 0 0 165px;
  width: 165px;
  min-width: 165px;
}

/* Cuando es 1, que no se vea mini */
.finance-products.products-1 .finance-product-card {
  flex: 0 0 190px;
  width: 190px;
  min-width: 190px;
}

/* Imagen */
.finance-product-image {
  height: 145px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 18px;

  background: linear-gradient(180deg, #fff 0%, #f7f7fb 100%);
}

.finance-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: .3s ease;
}

.finance-product-card:hover img {
  transform: scale(1.04);
}

/* Info */
.finance-product-body {
  padding: 16px;
  background: #fff;
}

.finance-product-badge {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;

  background: rgba(93,63,211,.08);
  color: var(--purple);

  font-size: .68rem;
  font-weight: 800;

  margin-bottom: 10px;
}

.finance-product-body strong {
  display: block;
  color: var(--charcoal);
  font-size: .92rem;
  line-height: 1.2;
  margin-bottom: 5px;
}

.finance-product-body small {
  color: #667586;
  font-size: .8rem;
}

/* Nota */
.finance-note {
  display: flex;
  gap: 12px;
  margin-top: auto;
  color: #fff;
}

.finance-note-icon {
  color: #fff;
  font-weight: 900;
  flex-shrink: 0;
}

.finance-note strong {
  display: block;
  color: #fff;
  margin-bottom: 4px;
}

.finance-note span {
  display: block;
  color: rgba(255,255,255,.76);
  font-size: .88rem;
  line-height: 1.45;
}

/* CTA */
.finance-cta {
  width: 100%;
  justify-content: center;
  margin-top: 24px;
}

/* Vacío */
.finance-empty {
  width: 100%;
  padding: 24px;
  text-align: center;
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  border: 1px dashed rgba(255,255,255,.28);
}

.finance-empty strong {
  display: block;
  color: #fff;
  margin-bottom: 8px;
}

.finance-empty span {
  color: rgba(255,255,255,.72);
}

/* Scroll horizontal */
.finance-products::-webkit-scrollbar {
  height: 6px;
}

.finance-products::-webkit-scrollbar-track {
  background: rgba(255,255,255,.12);
  border-radius: 999px;
}

.finance-products::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.45);
  border-radius: 999px;
}

/* Responsive */
@media (max-width: 640px) {
  .finance-products,
  .finance-products.products-1,
  .finance-products.products-2,
  .finance-products.products-3 {
    justify-content: flex-start;
    overflow-x: auto;
  }

  .finance-product-card,
  .finance-products.products-1 .finance-product-card,
  .finance-products.products-2 .finance-product-card,
  .finance-products.products-3 .finance-product-card {
    flex: 0 0 160px;
    width: 160px;
    min-width: 160px;
    max-width: none;
  }
}




.finance-result {
  position: relative;
  padding-top: 86px;
  overflow: hidden;
}

.finance-badge {
  position: absolute;
  top: 38px;
  left: 40px;
  right: 40px;
  margin: 0;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
}

.finance-result h3 {
  margin-bottom: 24px;
}

.finance-description {
  display: none;
}

.budget-helper {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  color: #667586;
  font-size: .86rem;
}

.budget-disclaimer {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #F7F8FC;
  color: #667586;
  font-size: .82rem;
  line-height: 1.55;
  border: 1px solid rgba(0,0,0,.04);
}

.finance-products {
  margin-top: 4px;
}

.finance-products.products-1 {
  min-height: 300px;
  align-items: center;
}

.finance-products.products-1 .finance-product-card {
  flex: 0 0 230px;
  width: 230px;
  min-width: 230px;
}

.finance-products.products-1 .finance-product-image {
  height: 190px;
}

.sg {
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 380px));
  justify-content: center;
  gap: 32px;
}

.sc {
  border-radius: 30px;
}

.sc-img {
  height: 250px;
}

.sc-body {
  padding: 30px 28px 32px;
}

.sc h3 {
  font-size: 1.35rem;
}

.sc p {
  font-size: .98rem;
}

.coverage-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:40px;
}

.coverage-card{
  background:#fff;
  border:1px solid rgba(80,66,180,.08);
  border-radius:24px;
  padding:24px;
  min-height:170px;
  transition:.25s ease;
}

.coverage-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(80,66,180,.12);
}

.coverage-card strong{
  display:block;
  font-size:1.65rem;
  color:var(--primary);
  margin-bottom:4px;
}

.coverage-card span{
  display:block;
  color:#6b7280;
  font-size:1.15rem;
  margin-bottom:16px;
}

.coverage-card small{
  display:block;
  color:#4b5563;
  line-height:1.65;
  font-size:.95rem;
}

.coverage-branches {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 36px;
}

.coverage-branches .coverage-card {
  padding: 22px;
  min-height: auto;
}

.coverage-card-main {
  grid-column: 1 / -1;
}

.coverage-branches .coverage-card strong {
  display: block;
  font-size: 1.25rem;
  margin-bottom: 4px;
}

.coverage-branches .coverage-card span {
  display: block;
  margin-bottom: 10px;
  color: #667586;
}

.coverage-branches .coverage-card small {
  display: block;
  font-size: .86rem;
  line-height: 1.55;
  color: #667586;
}

.team-managers{
  display:flex;
  justify-content:center;
  gap:32px;
  margin-bottom:48px;
  flex-wrap:wrap;
}

.team-managers .team-card{
  width:220px;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:32px;
}


.team-group-title {
  text-align: center;
  font-family: var(--font-h);
  font-size: 1.4rem;
  margin: 46px 0 24px;
  color: var(--charcoal);
}

/* Gerentes centrados */
.team-managers {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 54px;
}

.team-managers .team-card {
  width: 220px;
}

/* Grid principal: 6 por fila */
.team-grid-main {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 22px;
}

/* Ingenieros centrados */
.team-engineers {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.team-engineers .team-card {
  width: 220px;
}

/* Responsive */
@media (max-width: 1200px) {
  .team-grid-main {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 900px) {
  .team-grid-main {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .team-grid-main {
    grid-template-columns: repeat(2, 1fr);
  }

  .team-managers .team-card,
  .team-engineers .team-card {
    width: 100%;
    max-width: 240px;
  }
}

.team-grid-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 22px;
}

.team-grid-main .team-card {
  flex: 0 0 calc((100% - 88px) / 5);
  max-width: calc((100% - 88px) / 5);
}

@media (max-width: 1200px) {
  .team-grid-main .team-card {
    flex-basis: calc((100% - 66px) / 4);
    max-width: calc((100% - 66px) / 4);
  }
}

@media (max-width: 900px) {
  .team-grid-main .team-card {
    flex-basis: calc((100% - 44px) / 3);
    max-width: calc((100% - 44px) / 3);
  }
}

@media (max-width: 640px) {
  .team-grid-main .team-card {
    flex-basis: calc((100% - 22px) / 2);
    max-width: calc((100% - 22px) / 2);
  }
}