/* Montserrat autoalojada. Google sirve una fuente variable unica por subconjunto,
   asi que alcanza con un archivo para todo el rango de pesos 300-800.
   Se descargan solo latin y latin-ext: el sitio es en espanol. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(../fonts/montserrat-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(../fonts/montserrat-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* =========================================================
   SIEMPRE Argentina - Sitio web v7
   Design system compartido
   Paleta: Primary #1D70B7  Secondary #51C0ED  Accent #083A7F
   Tipografía: Montserrat
   ========================================================= */

:root {
  --c-primary: #083A7F;
  --c-secondary: #51C0ED;
  --c-accent: #083A7F;
  --c-prevenite: #1ECDB0;
  --c-text: #2b2b2b;
  --c-text-muted: #606060;
  --c-bg: #ffffff;
  --c-bg-soft: #F4F8FC;
  --c-bg-alt: #EAF3FB;
  --c-border: #e3ebf3;
  --c-success: #2FA675;

  --gradient-primary: linear-gradient(135deg, var(--c-primary) 0%, var(--c-accent) 100%);
  --gradient-soft: linear-gradient(180deg, #FFFFFF 0%, #F4F8FC 100%);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;

  --shadow-sm: 0 2px 8px rgba(29, 112, 183, 0.08);
  --shadow-md: 0 8px 24px rgba(29, 112, 183, 0.10);
  --shadow-lg: 0 18px 48px rgba(8, 58, 127, 0.14);

  --container: 1180px;
  --container-wide: 1320px;

  --t-fast: 180ms ease;
  --t-slow: 320ms ease;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 400;
  color: var(--c-text);
  background: var(--c-bg);
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; display: block; }

a {
  color: var(--c-primary);
  text-decoration: none;
  transition: color var(--t-fast);
}
a:hover { color: var(--c-accent); }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  color: var(--c-accent);
  line-height: 1.2;
  margin: 0 0 .6em;
  font-weight: 700;
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }
h4 { font-size: 1.1rem; }

p { margin: 0 0 1em; }

.lead { font-size: 1.15rem; color: var(--c-text-muted); }

/* ========= Stats band ========= */

.stats-band-section{
  margin-top: -30px;
  position: relative;
  z-index: 5;
}

.stats-band-number{
  font-size: 4.5rem;
}

.stats-band-section{
  margin-top: -100px !important;
  position: relative !important;
  z-index: 5 !important;
}

.stats-band-number{
  font-size: 3.85rem !important;
}

.stats-band{
  background:
    linear-gradient(
      135deg,
      #2674BE 0%,
      #083A7F 100%
    );

  border-radius: 34px;

  padding: 42px 26px;

  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:0;

  overflow:hidden;
  max-width: 1100px;
margin-inline: auto;
}

.grid.grid-3 .card{
  display:flex;
  flex-direction:column;
}

.grid.grid-3 .card > div:last-child{
  display:flex;
  flex-direction:column;
  flex:1;
}

.grid.grid-3 .card .btn{
  margin-top:auto;
}

.stats-band-item{
  text-align:center;

  padding:0 26px;

  position:relative;
}

.stats-band-item:not(:last-child)::after{
  content:"";

  position:absolute;

  top:10px;
  right:0;

  width:1px;
  height:120px;

  background:rgba(255,255,255,.18);
}

.stats-band-number{
  font-size:4.5rem;

  line-height:.95;

  font-weight:800;

  color:#fff;

  margin-bottom:12px;

  letter-spacing:-2px;
}

.stats-band-item p{
  color:#fff;

  font-size:1.15rem;

  line-height:1.2;

  margin:0;

  font-weight:500;
}

@media (max-width:900px){

  .stats-band{
    grid-template-columns:1fr;
    gap:34px;
  }

  .stats-band-item:not(:last-child)::after{
    display:none;
  }

}

.stats-band-section{
  margin-top: -180px;
  position: relative;
  z-index: 5;
}


.profile-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 18px;
}

.profile-tab {
  padding: 18px 42px;
  border: 0;
  background: #f1f1f1;
  color: var(--c-primary);
  font: inherit;
  cursor: pointer;
}

.profile-tab.active {
  background: var(--c-primary);
  color: #fff;
}

.profile-content {
  display: none;
  border: 1px solid var(--c-border);
  padding: 24px;
  background: #fff;
}

.profile-content.active {
  display: block;
}

/* ========= superior ========= */

.profile-main{
  display:grid;

  grid-template-columns: 1fr 1fr;

  gap:36px;

  align-items:center;

  margin-bottom:0;
}

.profile-main img{
  width:100%;

  height:320px;

  object-fit:cover;
}

/* ========= bloque azul ========= */

.profile-info-grid{
  background:
    linear-gradient(
      135deg,
      #0C3E82 0%,
      #2B84D7 100%
    );

  padding:42px;

  margin-top:28px;

  display:grid;

  grid-template-columns:repeat(2,1fr);

  gap:48px;

  position:relative;

  overflow:hidden;
}

/* brillo */

.profile-info-grid::after{
  content:"";

  position:absolute;

  inset:0;

  background:
    radial-gradient(
      circle at bottom right,
      rgba(255,255,255,.12),
      transparent 40%
    );
}

/* columnas */

.profile-info-col{
  position:relative;
  z-index:2;
}

.profile-info-col h4{
  color:#fff;

  font-size:2rem;

  margin-bottom:26px;

  font-weight:800;
}

.profile-info-col ul{
  list-style:none;

  margin:0;
  padding:0;
}

.profile-info-col li{
  color:#fff;

  font-size:1rem;

  line-height:1.55;

  margin-bottom:18px;

  padding-left:28px;

  position:relative;
}

/* flecha */

.profile-info-col li::before{
  content:"›";
  position:absolute;
  left:0;
  top:-6px;

  font-size:2rem;
  line-height:1;
  color:#fff;
  opacity:.95;
}

/* CTA */

.profile-cta{
  text-align:center;

  margin-top:26px;
}

/* responsive */

@media (max-width: 800px) {

  .profile-tabs,
  .profile-main,
  .profile-info-grid{
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .profile-info-grid-3{
    grid-template-columns: 1fr;
  }

}

.profile-info-grid-3{
  grid-template-columns: repeat(3, 1fr);
}


.testimonios-slider-wrap {
  position: relative;
  margin-top: 56px;
  padding-bottom: 44px;
}

.testimonios-carousel {
  display: flex;
  gap: 28px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;

  padding:
    0 calc((100% - ((100% - 28px) / 1.5)) / 2)
    18px;

  scroll-padding-inline:
    calc((100% - ((100% - 28px) / 1.5)) / 2);
}

.testimonios-carousel::-webkit-scrollbar {
  display: none;
}

.testimonio-video-card {
  flex: 0 0 calc((100% - 28px) / 1.5);
  scroll-snap-align: center;
  border-radius: 26px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
}

.testimonio-video-card video {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  display: block;
}

.testimonios-arrow {
  position: absolute;
  top: 43%;
  transform: translateY(-50%);
  z-index: 5;

  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: var(--c-primary);

  font-size: 2.6rem;
  line-height: 1;
  cursor: pointer;

  box-shadow: 0 12px 35px rgba(0,0,0,.16);
}

.testimonios-prev {
  left: -18px;
}

.testimonios-next {
  right: -18px;
}

.testimonios-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

.testimonios-dot {
  width: 14px;
  height: 10px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.35);
  cursor: pointer;
  transition: all .25s ease;
}

.testimonios-dot.is-active {
  width: 36px;
  background: var(--c-secondary);
}

@media (max-width: 768px) {
  .testimonio-video-card {
    flex-basis: 82%;
  }

  .testimonios-prev {
    left: 8px;
  }

  .testimonios-next {
    right: 8px;
  }
}

.testimonios-section{
  background: linear-gradient(
    135deg,
    #0C3E82 0%,
    #0A3770 55%,
    #1357A8 100%
  );

  padding: 110px 0;
  overflow: hidden;
}

.testimonios-section .section-header h2,
.testimonios-section .section-header .eyebrow{
  color:#fff;
}

@media (max-width: 768px) {
  .testimonio-video-card {
    flex-basis: 82%;
  }

  .testimonios-prev {
    left: 8px;
  }

  .testimonios-next {
    right: 8px;
  }
}

/* ========== Layout ========== */

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
.container-wide { max-width: var(--container-wide); margin: 0 auto; padding: 0 24px; }

section { padding: clamp(32px, 4vw, 72px) 0; }

.section-soft { background: var(--c-bg-soft); }
.section-alt { background: var(--c-bg-alt); }
.section-dark { background: var(--gradient-primary); color: #fff; }
.section-dark h1, .section-dark h2, .section-dark h3 { color: #fff; }
.section-dark p { color: rgba(255,255,255,.92); }

.section-header { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.section-header .eyebrow {
  color: var(--c-secondary);
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: inline-block;
}
.eyebrow-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 28px;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  color: #fff !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
.section-header h1,
.section-header h2,
.section-header h3 { font-weight: 800; }
.section-header p { color: var(--c-text-muted); font-size: 1.05rem; }

/* ========== Buttons ========== */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .95rem;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all var(--t-fast);
  text-decoration: none;
  line-height: 1;
  font-family: inherit;
}
.btn-primary {
  background: var(--c-primary);
  color: #fff;
}
.btn-primary:hover { 
  background: #0C3E82; 
  color: #fff; 
  transform: translateY(-1px); 
}
.btn-secondary {
  background: #fff;
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.btn-secondary:hover { background: var(--c-primary); color: #fff; }

.btn-ghost { background: transparent; color: var(--c-primary); }
.btn-ghost:hover { background: rgba(29, 112, 183, .08); }

.btn-whatsapp {
  background: #0C3E82;
  color: #fff;
}
.btn-whatsapp:hover { background: #0C3E82; color: #fff; transform: translateY(-1px); }

.btn-lg { padding: 16px 34px; font-size: 1rem; }


/* ===== TABS REDONDEADAS ===== */

.profile-tabs{
  border-radius:24px;
  overflow:hidden;
}

.profile-info-col h4{
  text-align:center;
}

.profile-tab{
  border-radius:18px 18px 0 0;
}

.profile-content{
  border-radius:0 0 28px 28px;
  overflow:hidden;
}

.profile-main img{
  border-radius:22px;
}

.profile-info-grid,
.profile-info-grid-3{
  border-radius:0 0 24px 24px;
}

.profile-cta .btn{
  border-radius:999px;
}


/* ========= Benefits inline ========= */

.benefits-inline-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
  align-items: center;
  margin-top: 52px;
}

.benefit-inline-item {
  display: flex;
  align-items: center;
  gap: 18px;
}

.benefit-inline-icon {
  color: #51C0ED;
  flex-shrink: 0;
}

.benefit-inline-icon svg,
.benefit-inline-icon svg *{
  stroke: var(--c-secondary) !important;
}

.benefit-inline-icon img{
  width: 86px;
  height: 86px;
  object-fit: contain;
  display: block;
}

.benefit-inline-text h3 {
  margin: 0;
  color: var(--c-primary);
  font-size: 1.25rem;
  line-height: 1.15;
  font-weight: 800;
}

.benefit-inline-text h3 span {
  display: block;
  font-weight: 400;
}

.benefit-inline-text h3,
.benefit-inline-text h3 span{
  color: #0C3E82 !important;
}

@media (max-width: 900px) {
  .benefits-inline-row {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}


/* ========= Modalidades full section ========= */

.modalidades-section{
  background:
    linear-gradient(135deg,#0C3E82 0%, #0A3770 55%, #1357A8 100%);

  padding: 110px 0;

  position: relative;

  overflow: hidden;
}

/* textos */

section.modalidades-section > .container > .section-header > span.eyebrow {
  color: #fff !important;
}

.modalidades-section h2{
  color: #fff;
}

.modalidades-section .section-header p{
  color: rgba(255,255,255,.82);
}

.modalidades-section .inmediato-highlight{
  color: #58C7FF;
}

/* tarjetas */

.modalidades-section .card-plan{
  background: #fff;

  border: 1px solid rgba(255,255,255,.08);

  box-shadow:
    0 10px 40px rgba(0,0,0,.18);

  border-radius: 26px;
}

/* grid */

.modalidades-section .grid{
  margin-top: 56px;
}

/* ========== Nav / Header ========== */

/*
  Header transparente sobre el hero, se vuelve sólido al hacer scroll.
  Para páginas sin hero, se aplica la clase `.site-header--solid` directamente.
*/
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--c-border);
  transition: background var(--t-slow), box-shadow var(--t-slow), border-color var(--t-slow);
}
.site-header.is-scrolled,
.site-header--solid {
  box-shadow: 0 2px 14px rgba(8, 58, 127, 0.08);
}

/* Topbar (thin band above main nav — phone + whatsapp + socials + país) */
.topbar {
  background: transparent;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-accent);
  font-size: .82rem;
  transition: border-color var(--t-slow), color var(--t-slow);
}
.topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  height: 42px;
}
.topbar-left,
.topbar-right {
  display: flex;
  align-items: center;
  gap: 18px;
}

.topbar-right {
  margin-left: auto;
}
.topbar a {
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  white-space: nowrap;
}
.topbar a:hover { opacity: .85; }
.topbar-contact {
  border: 1px solid currentColor;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
}
.topbar-contact:hover { background: rgba(8,58,127,.08); opacity: 1; }

.topbar-socials {
  display: inline-flex;
  gap: 6px;
}
.topbar-socials a {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: .85rem;
}
.topbar-socials a svg { width: 13px; height: 13px; fill: currentColor; }

.topbar-country {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-left: 12px;
  border-left: 1px solid currentColor;
  opacity: .9;
  font-weight: 600;
}
.topbar-country .flag { font-size: 1rem; line-height: 1; }
.topbar-lang {
  display: inline-flex;
  gap: 6px;
  padding-left: 14px;
  border-left: 1px solid currentColor;
  opacity: .8;
}

/* ========== Hero Home (centrado, big type) ========== */
.hero-home {
  position: relative;
  min-height: 90vh;
  margin-top: 124px;             /* compensa el header fijo (topbar 42 + nav 82) */
  color: #fff;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--c-accent);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-home::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  /* Degradé azul de abajo hacia arriba: más intenso en la base, casi transparente arriba */
  background: linear-gradient(0deg,
    rgba(8,58,127,.92) 0%,
    rgba(29,112,183,.55) 30%,
    rgba(29,112,183,.18) 65%,
    rgba(81,192,237,.08) 100%);
}
/* El bloque de texto cuelga del borde inferior del hero */
.hero-home > .container {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 30px;                /* subimos el bloque del hero para darle más aire */
  z-index: 1;
}
.hero-home .container { width: 100%; }
.hero-home-inner {
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
  padding: 0;
}
.hero-home-inner h1 {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 12px;
  line-height: 0.95;            /* interlineado apretado */
  text-shadow: 0 2px 14px rgba(8,58,127,.35);
}
.hero-home-inner h1 .thin { font-weight: 500; display: block; letter-spacing: .08em; font-size: .62em; margin-bottom: 2px; color: #fff; line-height: 1; }
.hero-home-inner h1 .accent { color: var(--c-secondary); display: block; line-height: 1; }
.hero-home-inner p.lead { color: rgba(255,255,255,.95); font-size: 1rem; line-height: 1.35; margin-bottom: 16px; max-width: 580px; margin-left: auto; margin-right: auto; font-weight: 500; }
.hero-home-inner .btn {
  background: transparent;
  color: #fff;
  border: 1.5px solid #fff;
  padding: 11px 34px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;
  font-size: .9rem;
}
.hero-home-inner .btn:hover { background: #fff; color: var(--c-primary); }

/* Slider dots (decorativo) */
.hero-dots {
  position: absolute;
  left: 0; right: 0;
  bottom: 78px;
  display: flex;
  justify-content: center;
  gap: 10px;
  z-index: 2;
}
.hero-dots span {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(255,255,255,.8);
}
.hero-dots span.active { background: #fff; }

/* ========== Feature Band (banda azul 4 iconos) ========== */
.feature-band {
  background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-accent) 100%);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 44px 32px;
  margin: -20px auto 0;
  position: relative;
  z-index: 3;
  max-width: calc(var(--container) - 40px);
  box-shadow: 0 24px 60px rgba(8,58,127,.22);
}
.feature-band-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: center;
}
.feature-band-item {
  text-align: center;
  padding: 6px 12px;
  position: relative;
}
.feature-band-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 12%; bottom: 12%;
  right: -8px;
  width: 1px;
  background: rgba(255,255,255,.2);
}
.feature-band-icon {
  width: 56px; height: 56px;
  margin: 0 auto 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.feature-band-icon svg { width: 46px; height: 46px; stroke: #fff; fill: none; stroke-width: 1.6; }
.feature-band-item h4 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  letter-spacing: .01em;
}
@media (max-width: 980px) {
  .feature-band { margin-top: 24px; padding: 30px 20px; }
}
@media (max-width:860px){

  .feature-band-grid{
    grid-template-columns:repeat(2,1fr);
    gap:0;
  }

  .feature-band-item{
    position:relative;
    padding:26px 18px;
  }

  .feature-band-item::after{
    display:none !important;
  }

  .feature-band-item:nth-child(odd)::after{
    content:"";
    display:block !important;
    position:absolute;
    right:0;
    top:25%;
    width:1px;
    height:50%;
    background:rgba(255,255,255,.18);
  }

  .feature-band-item:nth-child(n+3)::before{
    content:"";
    position:absolute;
    left:15%;
    top:0;
    width:70%;
    height:1px;
    background:rgba(255,255,255,.18);
  }

}
@media (max-width: 480px) {
  .feature-band-grid { grid-template-columns: 1fr; }
  .feature-band-item::after { display: none !important; }
  .feature-band { padding: 24px 18px; }
}

/* ========== Floating CTA (WhatsApp) ========== */
.float-whatsapp {
  position: fixed;
  z-index: 90;
  bottom: 22px;
  right: 22px;
  width: 60px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #25D366;
  color: #fff;
  border-radius: 50%;
  box-shadow: 0 12px 30px rgba(37, 211, 102, .35);
  transition: transform var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);
}
.float-whatsapp svg {
  width: 34px;
  height: 34px;
  display: block;
}
.float-whatsapp:hover {
  transform: translateY(-2px);
  background: #1DA851;
  box-shadow: 0 16px 40px rgba(37, 211, 102, .5);
  color: #fff;
}
@media (max-width: 540px) {
  .float-whatsapp { width: 52px; height: 52px; bottom: 16px; right: 16px; }
  .float-whatsapp svg { width: 30px; height: 30px; }
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 82px;
  gap: 28px;
}
.nav-logo { display: inline-flex; align-items: center; }
.nav-logo img {
  height: 48px;
  width: auto;
  transition: opacity var(--t-slow);
}
/* Always show blue logo (header is always solid) */
.nav-logo .logo-white { display: none; }
.nav-logo .logo-blue  { display: inline-block; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-links a {
  color: var(--c-accent);
  font-weight: 500;
  font-size: .92rem;
  padding: 8px 14px;
  border-radius: 8px;
  position: relative;
  transition: color var(--t-fast), background var(--t-fast);
}
.nav-links a::after {
  content: "";
  position: absolute;
  left: 14px; right: 14px; bottom: 2px;
  height: 2px;
  background: var(--c-secondary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-fast);
}
.nav-links a:hover::after,
.nav-links a.active::after { transform: scaleX(1); }
.nav-links a:hover,
.nav-links a.active { color: var(--c-primary); }

.nav-dropdown { position: relative; }
.nav-dropdown > a::after { content: " ▾"; font-size: .75em; opacity: .7; }
.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 240px;
  max-width: 320px;
  background: #083A7F;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: 8px;
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: all var(--t-fast);
  white-space: nowrap;
}
.nav-dropdown-menu li a {
  white-space: normal;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav-dropdown-menu a {
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: .92rem;
  color: var(--c-accent);
  font-weight: 500;
}
.nav-dropdown-menu a:hover {
  background: var(--c-bg-soft);
  color: var(--c-primary);
}
.nav-dropdown-menu a::after { display: none; }

.nav-cta {
  display: flex;
  gap: 10px;
  align-items: center;
}
.nav-phone {
  color: #fff;
  font-weight: 600;
  font-size: .92rem;
  white-space: nowrap;
  transition: color var(--t-slow);
}
.is-scrolled .nav-phone,
.site-header--solid .nav-phone { color: var(--c-primary); }

/* Nav WhatsApp button — siempre con relleno verde para destacar */
.nav .btn-whatsapp {
  padding: 10px 18px;
  font-size: .88rem;
}
/* CTA pill del nav (Contactar) */
.nav .btn-secondary {
  background: transparent;
  border-color: var(--c-primary);
  color: var(--c-primary);
  padding: 10px 22px;
  font-size: .85rem;
  font-weight: 600;
  transition: background var(--t-fast), color var(--t-fast);
}
.nav .btn-secondary:hover {
  background: var(--c-primary);
  color: #fff;
}

.nav-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  width: 26px; height: 2px;
  background: var(--c-accent);
  margin: 6px 0;
  transition: var(--t-fast);
}

@media (max-width:980px){

  .nav-links{
    display:none;
  }

  .nav-toggle{
    display:block;
  }

  .nav.open .nav-links{
    display:flex;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    flex-direction:column;
    background:#fff;
    border-top:none;
    padding:12px 24px 24px;
    box-shadow:var(--shadow-md);
    z-index:999;
  }

  .nav.open .nav-links a{
    display:block;
    padding:14px 0;
  }

 @media (max-width:980px){

  .nav-links{
    display:none;
  }

  .nav-toggle{
    display:block;
  }

  .nav.open .nav-links{
    display:flex;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    flex-direction:column;
    background:#fff;
    border-top:none;
    padding:12px 24px 24px;
    box-shadow:var(--shadow-md);
    z-index:999;
  }

  .nav.open .nav-links a{
    display:block;
    padding:14px 0;
  }

  .nav.open .nav-dropdown-menu{
    display:none;
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:0;
    padding:0 0 0 16px;
    background:transparent;
  }

  .nav.open .nav-dropdown.open .nav-dropdown-menu{
    display:block;
  }

}
}

/* ========== Hero (full-bleed con imagen de fondo) ========== */

.hero {
  position: relative;
  color: #fff;
  padding: clamp(150px, 16vw, 230px) 0 clamp(90px, 11vw, 140px);
  overflow: hidden;
  isolation: isolate;
  background-color: var(--c-accent);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    110deg,
    rgba(8, 58, 127, 0.78) 0%,
    rgba(29, 112, 183, 0.55) 45%,
    rgba(8, 58, 127, 0.35) 100%
  );
}
.hero-inner { position: relative; z-index: 1; max-width: 820px; }
.hero h1 { color: #fff; margin-bottom: 22px; font-size: clamp(2.2rem, 4.2vw, 3.4rem); }
.hero p { color: rgba(255,255,255,.94); font-size: 1.18rem; max-width: 640px; }
.hero-ctas { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-ctas .btn-primary { background: #fff; color: var(--c-primary); }
.hero-ctas .btn-primary:hover { background: var(--c-secondary); color: #fff; }
.hero-ctas .btn-secondary { border-color: #fff; color: #fff; background: transparent; }
.hero-ctas .btn-secondary:hover { background: #fff; color: var(--c-primary); }

.hero-badges {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  max-width: 820px;
}
.hero-badge {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 12px;
  padding: 12px 16px;
  font-size: .85rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-badge::before {
  content: "✓";
  display: inline-flex;
  width: 22px; height: 22px;
  background: var(--c-secondary);
  color: var(--c-accent);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .8rem;
  flex-shrink: 0;
}

/* ========== Cards ========== */

.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
/* ========== PORTAFOLIO EMPRESAS ========== */

#cuidados-paliativos {
  transform: translateX(50%);
}

#salud-mental {
  transform: translateX(50%);
}

.card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 28px;
  transition: all var(--t-slow);
}
.card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: transparent;
}
.card h3 { color: var(--c-accent); font-size: 1.15rem; margin-bottom: 10px; }
.card p { color: var(--c-text-muted); font-size: .95rem; margin-bottom: 0; }

.card-icon {
  width: 48px;
  height: 48px;
  background: none;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.card-icon img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

.card-feature {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 26px;
  border-left: 4px solid var(--c-primary);
}
.card-feature h3 { margin-bottom: 8px; }
.card-feature p { color: var(--c-text-muted); margin: 0; }

.card-step {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 28px;
  position: relative;
}
.card-step-number {
  position: absolute;
  top: -16px; left: 28px;
  width: 40px; height: 40px;
  background: var(--c-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  box-shadow: var(--shadow-sm);
}

.card-plan {
  background: #fff;
  border: 2px solid var(--c-border);
  border-radius: var(--radius-lg);
  padding: 36px 32px;
  position: relative;
  transition: all var(--t-slow);
}
.card-plan:hover { border-color: var(--c-primary); transform: translateY(-4px); box-shadow: var(--shadow-md); }
.card-plan-featured {
  border-color: var(--c-primary);
  background: linear-gradient(180deg, #fff 0%, #F4FAFD 100%);
}
.card-plan-featured::before {
  content: "Más completo";
  position: absolute;
  top: -14px; left: 32px;
  background: var(--c-primary);
  color: #fff;
  padding: 6px 14px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 999px;
}
.card-plan h3 { color: var(--c-primary); font-size: 1.3rem; margin-bottom: 8px; }
.card-plan .plan-sub { color: var(--c-text-muted); font-size: .95rem; margin-bottom: 20px; }
.card-plan ul {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
}
.card-plan li {
  padding: 10px 0;
  color: var(--c-text);
  font-size: .95rem;
  border-bottom: 1px solid var(--c-border);
  display: flex;
  gap: 12px;
}
.card-plan li:last-child { border-bottom: 0; }
.card-plan li::before {
  content: "✓";
  color: var(--c-primary);
  font-weight: 700;
  flex-shrink: 0;
}

.card-plan{
  display:flex;
  flex-direction:column;
}

.card-plan ul{
  flex-grow:1;
}

.card-plan .btn{
  align-self:flex-start;
}

.card-image {
  background: #fff;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--c-border);
  transition: all var(--t-slow);
}

.card-image:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.card-media {
  height: 250px;
  background-size: cover;
  background-position: center;
}

.card-body {
  padding: 28px;
}

.card-body h3 {
  margin-bottom: 14px;
  color: var(--c-primary);
}

.card-body p {
  margin-bottom: 0;
}

.quality-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: linear-gradient(135deg, #1f7abe, #0b3f8f);
  border-radius: 28px;
  padding: 42px 64px;
  box-shadow: var(--shadow-md);
}

.quality-item {
  text-align: center;
  color: #fff;
  padding: 0 34px;
  border-right: 1px solid rgba(255,255,255,.22);
}

.quality-item:last-child {
  border-right: 0;
}

.quality-icon {
  width: 96px;
  height: 96px;
  object-fit: contain;
  display: block;
  margin: 0 auto 18px;
}

.quality-item h3 {
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.15;
  margin-bottom: 12px;
}

.quality-item p {
  color: rgba(255,255,255,.9);
  font-size: .95rem;
  line-height: 1.35;
  margin: 0;
}


@media (max-width: 900px) {
  .quality-band {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 0;
  }

  .quality-item:nth-child(2) {
    border-right: 0;
  }
}

@media (max-width: 520px) {

  .quality-band{
    grid-template-columns:repeat(2, 1fr);
    gap:0;
    padding:28px 18px;
    width:100%;
    margin:0 auto;
    box-sizing:border-box;
  }

  .quality-item{
    border-right:0;
    border-bottom:0;
    padding:24px 14px;
    position:relative;
  }

  /* Separadores verticales cortos */
  .quality-item:nth-child(odd)::after{
    content:"";
    position:absolute;
    right:0;
    top:18%;
    width:1px;
    height:64%;
    background:rgba(255,255,255,.22);
  }

  /* Separadores horizontales cortos */
  .quality-item:nth-child(n+3)::before{
    content:"";
    position:absolute;
    left:14%;
    top:0;
    width:72%;
    height:1px;
    background:rgba(255,255,255,.22);
  }

  .quality-icon{
    width:72px;
    height:72px;
    margin-bottom:14px;
  }

  .quality-item h3{
    font-size:1rem;
    line-height:1.15;
  }

  .quality-item p{
    font-size:.84rem;
    line-height:1.3;
  }

}

/* ========== Contact cards ========== */

.contact-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.contact-pill {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 22px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: all var(--t-fast);
}
.contact-pill:hover { border-color: var(--c-primary); box-shadow: var(--shadow-sm); }
.contact-pill .contact-label { color: var(--c-text-muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.contact-pill .contact-value { color: var(--c-accent); font-weight: 600; font-size: 1.05rem; }
.contact-pill-icon {
  width: 42px; height: 42px;
  flex-shrink: 0;
  background: var(--c-bg-alt);
  color: var(--c-primary);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

/* ========== FAQ ========== */

.faq-list {
  max-width: 820px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}
.faq-item {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 20px 24px;
  transition: box-shadow var(--t-fast);
}
.faq-item[open] { box-shadow: var(--shadow-sm); border-color: var(--c-primary); }
.faq-item summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--c-accent);
  font-size: 1.02rem;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  color: var(--c-primary);
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1;
  transition: transform var(--t-fast);
}
.faq-item[open] summary::after { content: "−"; }
.faq-item p {
  margin: 14px 0 0;
  color: var(--c-text-muted);
  line-height: 1.6;
}

/* ========== Stats ========== */

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  text-align: center;
}
.stat-number {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--c-primary);
  line-height: 1.1;
}
.stat-label {
  color: var(--c-text-muted);
  font-size: .92rem;
  margin-top: 8px;
}

/* ========== Timeline ========== */

.timeline {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  padding-left: 32px;
}
.timeline::before {
  content: "";
  position: absolute;
  left: 12px; top: 0; bottom: 0;
  width: 2px;
  background: var(--c-secondary);
}
.timeline-item {
  position: relative;
  padding: 14px 0 24px 24px;
}
.timeline-item::before {
  content: "";
  position: absolute;
  left: -24px; top: 20px;
  width: 14px; height: 14px;
  background: var(--c-primary);
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--c-primary);
}
.timeline-item h4 { color: var(--c-accent); margin-bottom: 4px; }
.timeline-item p { color: var(--c-text-muted); margin: 0; }

/* ========== Testimonials ========== */

.testimonial {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 28px;
  position: relative;
}
.testimonial::before {
  content: '"';
  position: absolute;
  top: 8px;
  left: 22px;
  font-size: 4rem;
  color: var(--c-secondary);
  font-family: Georgia, serif;
  line-height: 1;
  opacity: .3;
}
.testimonial-text {
  font-style: italic;
  color: var(--c-text);
  margin-bottom: 16px;
  position: relative;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}
.testimonial-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--c-secondary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
}
.testimonial-name { font-weight: 600; color: var(--c-accent); }
.testimonial-role { font-size: .85rem; color: var(--c-text-muted); }

/* ========== Forms ========== */

.form-box {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: var(--shadow-sm);
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label {
  font-size: .88rem;
  font-weight: 500;
  color: var(--c-accent);
}
.form-field input,
.form-field select,
.form-field textarea {
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: inherit;
  font-size: .95rem;
  color: var(--c-text);
  background: #fff;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(29,112,183,.15);
}
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field small { color: var(--c-text-muted); font-size: .8rem; }
.form-legal { color: var(--c-text-muted); font-size: .82rem; margin-top: 18px; }

.fieldset-title {
  font-size: .9rem;
  font-weight: 600;
  color: var(--c-primary);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 22px 0 4px;
  grid-column: 1 / -1;
}

/* ========== Logos row ========== */

.logos-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.logo-chip {
  min-height: 90px;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.logo-chip img {
  max-width: 220px;
  max-height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Responsive */

@media (max-width: 900px) {

  .logos-row {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media (max-width: 520px) {

  .logos-row {
    grid-template-columns: 1fr;
  }

}
/* ===== Carrusel infinito de logos ===== */
.logos-carousel {
  overflow: hidden;
  width: 100%;
  /* Fade suave en los dos bordes */
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.logos-track {
  display: flex;
  gap: 32px;
  width: max-content;
  align-items: center;
  animation: logos-scroll 38s linear infinite;
  will-change: transform;
}
.logos-carousel:hover .logos-track { animation-play-state: paused; }
.logos-track .logo-chip {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 12px;
  padding: 22px 34px;
  min-width: 170px;
  text-align: center;
  color: var(--c-text-muted);
  font-weight: 600;
  font-size: .95rem;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
  transition: all var(--t-fast);
}
.logos-track .logo-chip:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
  transform: translateY(-2px);
}

@keyframes logos-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .logos-track { animation: none; }
}

.logos-row .logo-chip {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: 18px;
  text-align: center;
  color: var(--c-text-muted);
  font-weight: 600;
  font-size: .92rem;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--t-fast);
}
.logos-row .logo-chip:hover { border-color: var(--c-primary); color: var(--c-primary); transform: translateY(-2px); }

/* ========== Branch card ========== */

.branch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}
.branch-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 24px;
  transition: all var(--t-fast);
}
.branch-card:hover { border-color: var(--c-primary); box-shadow: var(--shadow-sm); }
.branch-card h3 {
  color: var(--c-accent);
  font-size: 1.05rem;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.branch-card h3::before { content: "📍"; }
.branch-card .branch-row {
  display: flex;
  gap: 10px;
  font-size: .9rem;
  color: var(--c-text-muted);
  margin-bottom: 6px;
}
.branch-card .branch-label {
  color: var(--c-primary);
  font-weight: 600;
  min-width: 64px;
  flex-shrink: 0;
}

/* ========== Branches 3-column layout (página Contacto) ========== */
.branches-layout {
  display: grid;
  grid-template-columns: 240px 1fr 1.2fr;
  gap: 36px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}

/* Left column: pill tabs */
.branches-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.branch-tab {
  appearance: none;
  background: var(--c-accent);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  letter-spacing: .01em;
  transition: background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}
.branch-tab:hover {
  background: var(--c-primary);
  transform: translateX(2px);
}
.branch-tab.is-active {
  background: var(--c-primary);
  box-shadow: 0 6px 16px rgba(29,112,183,.3);
}

/* Middle column: details */
.branches-details {
  padding-top: 4px;
}
.branch-panel {
  display: none;
  animation: branch-fade .28s ease-out;
}
.branch-panel.is-active { display: block; }
@keyframes branch-fade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.branch-tag {
  display: inline-block;
  font-size: .72rem;
  color: var(--c-secondary);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}
.branch-main-address {
  margin: 0 0 22px;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-accent);
  line-height: 1.35;
  padding: 0;
  border: 0;
}
.branch-info {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px 0;
}
.branch-info dt {
  font-size: .72rem;
  color: var(--c-secondary);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 4px;
}
.branch-info dd {
  margin: 0 0 10px;
  font-size: .98rem;
  color: var(--c-text);
  font-weight: 500;
  line-height: 1.55;
}
.branch-info dd a {
  color: var(--c-text);
  text-decoration: none;
  transition: color var(--t-fast);
}
.branch-info dd a:hover { color: var(--c-primary); }
.branch-info dd + dd { margin-top: -6px; }

/* Right column: map */
.branches-map {
  background: var(--c-bg-soft);
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  min-height: 460px;
  box-shadow: var(--shadow-sm);
}
.branches-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 460px;
  border: 0;
}

@media (max-width: 960px) {
  .branches-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .branches-nav {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .branch-tab {
    padding: 10px 18px;
    font-size: .9rem;
  }
  .branch-tab:hover { transform: none; }
  .branches-map,
  .branches-map iframe { min-height: 340px; }
}

/* ========== CTA band ========== */

.cta-band {
  background: var(--gradient-primary);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: clamp(36px, 5vw, 56px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: "";
  position: absolute;
  right: -60px; top: -60px;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(81,192,237,.35) 0%, transparent 65%);
  border-radius: 50%;
}
.cta-band h2 { color: #fff; position: relative; }
.cta-band p { color: rgba(255,255,255,.92); max-width: 620px; margin: 0 auto 20px; position: relative; }
.cta-band .btn-primary { background: #fff; color: var(--c-primary); position: relative; }
.cta-band .btn-primary:hover { background: var(--c-secondary); color: #fff; }
.cta-band .btn-whatsapp { position: relative; }

/* ========== Footer ========== */

.site-footer {
  background: var(--c-accent);
  color: rgba(255,255,255,.85);
  padding: 64px 0 28px;
  margin-top: 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 40px;
  margin-bottom: 40px;
}
@media (max-width: 880px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .footer-grid { grid-template-columns: 1fr; }
}
.site-footer h4 {
  color: #fff;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 16px;
}
.site-footer img { height: 32px; margin-bottom: 16px; }
.site-footer p { font-size: .9rem; line-height: 1.6; color: rgba(255,255,255,.78); }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin-bottom: 8px; }
.site-footer a {
  color: rgba(255,255,255,.85);
  font-size: .9rem;
}
.site-footer a:hover { color: var(--c-secondary); }
.footer-countries {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.footer-country {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: .8rem;
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.14);
  padding-top: 20px;
  font-size: .82rem;
  color: rgba(255,255,255,.62);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}

/* ========== Page hero (secondary pages) ========== */

#hero-empresas{
  min-height: 600px;
  padding-bottom: 60px;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.page-hero {
  position: relative;
  color: #fff;
  height: 480px;
  display: flex;
  align-items: center;
  padding-bottom: 0;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--c-accent);
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  text-align: center;
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    to top,
    rgba(8, 58, 127, 0.92) 0%,
    rgba(8, 58, 127, 0.55) 50%,
    rgba(8, 58, 127, 0.08) 100%
  );
}
.page-hero-inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; text-align: center; }
.page-hero .hero-ctas { justify-content: center; }
.page-hero h1 { color: #fff; font-size: clamp(1.8rem, 3.2vw, 2.6rem); font-weight: 600; line-height: 1.1; margin-bottom: 14px; }
.page-hero h1 strong, .page-hero h1 .bold { font-weight: 700; color: var(--c-secondary); }
.page-hero .lead, .page-hero p { color: rgba(255,255,255,.90); font-size: 1rem; margin-bottom: 0; }
.page-hero .eyebrow {
  color: var(--c-secondary);
  letter-spacing: .2em;
}
#hero-empresas{
  min-height: 600px;
  padding-bottom: 60px;
}

/* ========== Utilities ========== */

.text-center { text-align: center; }
.mt-0 { margin-top: 0 !important; }
.mt-sm { margin-top: 12px; }
.mt-md { margin-top: 24px; }
.mt-lg { margin-top: 48px; }
.mb-sm { margin-bottom: 12px; }
.mb-md { margin-bottom: 24px; }
.mb-lg { margin-bottom: 48px; }

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.chip {
  background: var(--c-bg-alt);
  color: var(--c-primary);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 500;
}

.icon-list { list-style: none; padding: 0; margin: 0; }
.icon-list li {
  position: relative;
  padding: 8px 0 8px 30px;
  color: var(--c-text);
}
.icon-list li::before {
  content: "✓";
  position: absolute;
  left: 0; top: 8px;
  width: 20px; height: 20px;
  background: var(--c-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
}

.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
@media (max-width: 860px) {
  .split { grid-template-columns: 1fr; gap: 28px; }
}

/* ========== Progress table ========== */

.table-progress {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.table-progress th,
.table-progress td {
  padding: 14px 18px;
  text-align: left;
  border-bottom: 1px solid var(--c-border);
  font-size: .92rem;
}
.table-progress th {
  background: var(--c-bg-alt);
  color: var(--c-accent);
  font-weight: 600;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.table-progress tr:last-child td { border-bottom: 0; }
.table-progress tr:hover td { background: var(--c-bg-soft); }

/* ========== Recruitment banner ========== */

.recruit-banner {
  background: var(--c-bg-soft);
  border: 1px solid var(--c-border);
  border-left: 6px solid var(--c-secondary);
  border-radius: var(--radius-lg);
  padding: 36px;
}

/* ========== Extensions for secondary pages ========== */

/* Stats */
.stat { text-align: center; }
.stat-num {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--c-primary);
  line-height: 1.1;
}
.section-primary .stat-num { color: #fff; }
.section-primary .stat-label { color: rgba(255,255,255,.9); }

/* Section primary (dark blue band with stats) */
.section-primary {
  background: var(--gradient-primary);
  color: #fff;
}
.section-primary h2,
.section-primary h3 { color: #fff; }
.section-primary p { color: rgba(255,255,255,.92); }
.section-header-light h1,
.section-header-light h2,
.section-header-light h3 { color: #fff; }
.section-header-light p { color: rgba(255,255,255,.92); }
.section-header-light .eyebrow { color: rgba(255,255,255,.85); }

/* Light card used inside dark sections */
.card-light {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  padding: 22px;
  border-radius: var(--radius-md);
  backdrop-filter: blur(6px);
}
.card-light h3 { color: #fff; margin-bottom: 8px; }
.card-light p { color: rgba(255,255,255,.92); margin: 0; }

/* Accent card (used on Propósito/Misión/Visión) */
.card-accent {
  background: #fff;
  border: 1px solid var(--c-border);
  border-top: 4px solid var(--c-primary);
  border-radius: var(--radius-md);
  padding: 28px;
  box-shadow: var(--shadow-sm);
}
.card-accent h3 {
  color: var(--c-primary);
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.card-accent p { color: var(--c-text); margin: 0; }

/* Clickable card (contacto general) */
.card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.card-link:hover { border-color: var(--c-primary); }
.card-highlight {
  font-size: 1.15rem !important;
  font-weight: 700;
  color: var(--c-primary) !important;
  margin: 10px 0 !important;
}
.link-more {
  display: inline-block;
  margin-top: 12px;
  color: var(--c-primary);
  font-weight: 600;
  font-size: .9rem;
}

/* Card pills (perfiles grid) */
.card-pill {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 18px 22px;
  text-align: center;
  color: var(--c-accent);
  font-weight: 600;
  font-size: .95rem;
  box-shadow: var(--shadow-sm);
  transition: all var(--t-fast);
}
.card-pill:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
  transform: translateY(-2px);
}



/* Timeline — support both h3 and h4 headings */
.timeline-item h3 { color: var(--c-accent); margin-bottom: 4px; font-size: 1.05rem; }
.timeline-dot { display: none; } /* pseudo-element handles the dot */

/* Bullet list (inside form-intro) */
.bullet-list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
}
.bullet-list li {
  position: relative;
  padding: 6px 0 6px 28px;
  color: var(--c-text-muted);
  font-size: .95rem;
}
.bullet-list li::before {
  content: "✓";
  position: absolute;
  left: 0; top: 6px;
  width: 18px; height: 18px;
  background: var(--c-primary);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  font-weight: 700;
}

/* Form wrapper (side-by-side intro + form) */
.form-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 44px;
  align-items: start;
}
.form-wrapper-wide { grid-template-columns: 1fr; gap: 28px; max-width: 920px; margin: 0 auto; }
@media (max-width: 860px) {
  .form-wrapper { grid-template-columns: 1fr; gap: 28px; }
}
.form-intro h2 { margin-bottom: 10px; }
.form-intro p { color: var(--c-text-muted); }

/* Label > span pattern */
.form-box label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: .88rem;
  font-weight: 500;
  color: var(--c-accent);
}
.form-box label > span {
  font-size: .85rem;
  font-weight: 600;
  color: var(--c-accent);
}
.form-box input,
.form-box select,
.form-box textarea {
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: 11px 14px;
  font-family: inherit;
  font-size: .95rem;
  color: var(--c-text);
  background: #fff;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
  font-weight: 400;
}
.form-box input:focus,
.form-box select:focus,
.form-box textarea:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(29,112,183,.15);
}
.form-box textarea { resize: vertical; min-height: 100px; }
.form-box input[type="file"] {
  padding: 8px;
  background: var(--c-bg-soft);
  cursor: pointer;
}

.form-full { grid-column: 1 / -1; }

.form-section-title {
  grid-column: 1 / -1;
  font-size: .88rem;
  font-weight: 700;
  color: var(--c-primary);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 28px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--c-border);
}
.form-section-title:first-child { margin-top: 0; }
.form-section-hint {
  color: var(--c-text-muted);
  font-size: .9rem;
  margin: -8px 0 14px;
}

.form-exp {
  background: var(--c-bg-soft);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 22px;
  margin-bottom: 18px;
}
.form-exp h4 {
  color: var(--c-primary);
  font-size: 1rem;
  margin-bottom: 14px;
}

/* Lead secondary (paragraph below main lead in page-hero) */
.lead-secondary {
  color: rgba(255,255,255,.88);
  font-size: 1rem;
  margin-top: 12px;
}

/* =========================================================
   Cards con imagen (estilo original Elementor)
   ========================================================= */

.card-image{
  background:#fff;

  border-radius:24px;
  overflow:hidden;

  border:1px solid rgba(12,62,130,.08);

  box-shadow:
    0 3px 0 #0C3E82,
    0 14px 34px rgba(12,62,130,.10);

  transition:.25s ease;
}
.card-image .card-body{
  background:#fff;
}
#servicios .grid-2{
  align-items: stretch;
}

#servicios .card-image{
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  overflow: hidden;
}

#servicios .card-media{
  width: 100%;
  border-radius: 0;
}

#servicios .card-body{
  display: flex;
  flex-direction: column;
  flex: 1;
}

#servicios .home-service-btns{
  margin-top: auto;
}

#servicios .home-service-btns{
  margin-top: auto;
  padding-top: 15px;
}

.card-image:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--c-primary);
}
.card-image .card-media {
  aspect-ratio: 4 / 3;
  background: var(--c-bg-soft) center/cover no-repeat;
  position: relative;
}
.card-image .card-media::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(8,58,127,.45) 100%);
}
.card-image .card-body {
  padding: 22px 24px 26px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.card-image h3 {
  color: var(--c-accent);
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.card-image p {
  color: var(--c-text-muted);
  font-size: .94rem;
  margin: 0;
  flex-grow: 1;
}

/* =========================================================
   Ondas decorativas (footer wave) - original usa ondas-footer.svg
   ========================================================= */

.wave-divider {
  display: block;
  width: 100%;
  height: 60px;
  background: url('../img/ondas-footer.svg') center/cover no-repeat;
  margin-top: -1px;
}

/* =========================================================
   Split con imagen (bloque con imagen + texto)
   ========================================================= */

.split-image {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.split-image .split-visual {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  min-height: 320px;
}
.split-image.split-reverse .split-visual { order: 2; }
@media (max-width: 880px) {
  .split-image, .split-image.split-reverse { grid-template-columns: 1fr; gap: 32px; }
  .split-image.split-reverse .split-visual { order: 0; }
  .split-image .split-visual { aspect-ratio: 16 / 10; min-height: auto; }
}

/* Scroll padding so anchor links don't slip under fixed header */
html { scroll-padding-top: 110px; }
body { padding-top: 0; } /* page content sits below fixed header naturally via hero */

/* Pages without hero need top spacing */
.page-has-no-hero main,
.page-has-no-hero > section:first-of-type {
  padding-top: 140px;
}

/* ============ Hero home: extras (eyebrow, tags, stats) ============ */
.hero-eyebrow {
  display: inline-block;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.32);
  color: #fff;
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 999px;
  margin-bottom: 18px;
  backdrop-filter: blur(6px);
}
.hero-tags {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 22px;
}
.hero-tags span {
  display: inline-flex; align-items: center;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.28);
  color: #fff;
  font-size: .85rem;
  font-weight: 500;
  padding: 7px 14px;
  border-radius: 999px;
}
.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,0.22);
  max-width: 580px;
}
.hero-stats > div { color: #fff; }
.hero-stats strong {
  display: block;
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.hero-stats span {
  display: block;
  font-size: .78rem;
  letter-spacing: .04em;
  margin-top: 6px;
  opacity: .9;
}
@media (max-width: 640px) {
  .hero-stats { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .hero-stats strong { font-size: 1.3rem; }
  .hero-stats span { font-size: .68rem; }
}

/* Variante de botón sobre fondo oscuro/imagen */
.btn-ghost-light {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 600;
  transition: background var(--t-fast), color var(--t-fast);
}
.btn-ghost-light:hover {
  background: #fff;
  color: var(--c-primary);
}

.btn-phone-hover .icon-blue {
  display: none !important;
}

.btn-phone-hover:hover .icon-white {
  display: none !important;
}

.btn-phone-hover:hover .icon-blue {
  display: block !important;
}

.btn-email-hover .icon-blue {
  display: none !important;
}

.btn-email-hover:hover .icon-white {
  display: none !important;
}

.btn-email-hover:hover .icon-blue {
  display: block !important;
}

/* Feature band: subtítulo bajo cada h4 */
.feature-band-item p {
  margin: 6px 0 0;
  color: rgba(255,255,255,.92);
  font-size: .9rem;
  line-height: 1.45;
}

/* Card bullet list (servicios para empresas en home) */
.card-bullet-list {
  list-style: none; padding: 0; margin: 16px 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 18px;
}
.card-bullet-list li {
  position: relative;
  padding-left: 18px;
  font-size: .92rem;
  color: var(--c-text);
}
.card-bullet-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;

  padding-left: 0;
  font-size: .92rem;
  line-height: 1.2;
  color: var(--c-text);
}

.card-bullet-list li::before {
  content: "";
  position: static;

  width: 8px;
  height: 8px;
  min-width: 8px;

  margin-top: .32em;
  border-radius: 50%;
  background: var(--c-secondary);
}

@media (max-width: 540px) { .card-bullet-list { grid-template-columns: 1fr; } }

/* Variante stats con tarjetas-feature en lugar de números */
.stats-grid-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.feature-mini {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 18px 20px;
  box-shadow: var(--shadow-sm);
}
.feature-mini h4 {
  color: var(--c-accent);
  margin: 0 0 6px;
  font-size: 1rem;
}
.feature-mini p {
  margin: 0;
  font-size: .88rem;
  color: var(--c-text-muted);
}
@media (max-width: 640px) { .stats-grid-features { grid-template-columns: 1fr; } }

/* Testimonios: fuente (Google Reviews) + estrellas */
.testimonial-source {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--c-border);
}
.testimonial-source-name {
  font-size: .78rem;
  font-weight: 600;
  color: var(--c-text-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.testimonial-stars {
  color: #F5B400;
  letter-spacing: .08em;
  font-size: 1rem;
}

/* CTA band: eyebrow + linea fina debajo */
.cta-eyebrow {
  display: inline-block;
  background: rgba(255,255,255,0.18);
  color: #fff;
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.cta-small {
  margin-top: 30px;
  font-size: .9rem;
  opacity: .92;
}
.cta-small a { color: #fff; text-decoration: underline; }

/* Hero subtitle (entre h1 y lead) */
.hero-subtitle {
  color: rgba(255,255,255,0.92);
  font-size: 1.08rem;
  font-weight: 600;
  margin: -8px 0 14px;
  letter-spacing: .01em;
}

/* Pill grid (asistencia integral en planes) */
.pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  max-width: 920px;
  margin: 16px auto 0;
}
.pill {
  display: inline-flex;
  align-items: center;
  background: var(--c-bg-soft);
  color: var(--c-accent);
  border: 1px solid var(--c-border);
  font-weight: 600;
  font-size: .95rem;
  padding: 10px 20px;
  border-radius: 999px;
  transition: background var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.pill::before {
  content: "✓";
  margin-right: 8px;
  color: var(--c-secondary);
  font-weight: 800;
}
.pill:hover {
  background: var(--c-primary);
  color: #fff;
  transform: translateY(-2px);
}
.pill:hover::before { color: #fff; }

#planes .card-plan{
  border-bottom: 4px solid var(--c-prevenite);
  box-shadow: 0 10px 30px rgba(30,205,128,.08);
}

#planes-beneficios .card{
  border-bottom: 4px solid var(--c-prevenite);

  box-shadow:
    0 3px 0 rgba(30,205,128,.28),
    0 12px 28px rgba(30,205,128,.08);
}

 #mercado .card{
  border-bottom: 4px solid var(--c-secondary);

  box-shadow:
    0 3px 0 rgba(81,192,237,.30),
    0 12px 28px rgba(81,192,237,.10);
}

#inmediato-ventajas .card{
  border-bottom: 4px solid var(--c-secondary);

  box-shadow:
    0 3px 0 rgba(81,192,237,.30),
    0 12px 28px rgba(81,192,237,.10);
}

#propuesta .card-image{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  height:100%;
  padding:0;
}

#propuesta .card-media{
  width:100%;
  min-height:260px;

  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  border-radius:0;
  flex-shrink:0;
}

#propuesta .card-body{
  padding:28px 30px 32px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.country-card{
  border-bottom: 4px solid var(--c-secondary);

  box-shadow:
    0 3px 0 rgba(81,192,237,.28),
    0 12px 28px rgba(81,192,237,.08);
}

#postulacion-cards .card{
  border-bottom: 4px solid var(--c-secondary);

  box-shadow:
    0 3px 0 rgba(81,192,237,.30),
    0 12px 28px rgba(81,192,237,.10);
}

#contacto-general .card-link{
  border-bottom: 4px solid var(--c-secondary);

  box-shadow:
    0 3px 0 rgba(81,192,237,.30),
    0 12px 28px rgba(81,192,237,.10);

  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

#contacto-general .card-link .card-icon{
  margin-bottom:18px;
}

#contacto-general .card-link .link-more{
  margin-top:auto;
  padding-top:18px;
}

/* ============ Sección "¿Quiénes somos?" con fondo azul + mapa LATAM ============ */
.section-quienes-somos {
  position: relative;
  background:
    linear-gradient(135deg, #0a3a7f 0%, #1554a5 60%, #1d70b7 100%);
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}
.section-quienes-somos::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url('../img/mapa-latam.svg');
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  opacity: 1;
}
.section-quienes-somos::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg,
      rgba(8,58,127,.92) 0%,
      rgba(8,58,127,.65) 30%,
      rgba(8,58,127,.20) 55%,
      rgba(8,58,127,0) 80%);
}
.section-quienes-somos > .container { position: relative; z-index: 1; }

.section-quienes-somos .eyebrow {
  color: var(--c-secondary);
  font-weight: 600;
  font-size: .85rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: inline-block;
}
.section-quienes-somos h2 {
  color: #fff;
  font-weight: 800;
}
.section-quienes-somos p {
  color: rgba(255,255,255,.92);
  font-size: 1.02rem;
  line-height: 1.6;
}

/* Stats sobre fondo azul */
.stats-grid-on-dark {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.stats-grid-on-dark > div {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--radius-md);
  padding: 22px 20px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.stats-grid-on-dark .stat-number {
  color: #fff;
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight: 800;
  line-height: 1;
  margin-bottom: 6px;
}
.stats-grid-on-dark .stat-label {
  color: rgba(255,255,255,0.85);
  font-size: .82rem;
  font-weight: 500;
}

/* Botón sobre fondo oscuro */
.btn-secondary.btn-on-dark {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
.btn-secondary.btn-on-dark:hover {
  background: #fff;
  color: var(--c-accent);
}

@media (max-width: 640px) {
  .stats-grid-on-dark { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stats-grid-on-dark > div { padding: 16px 14px; }
}

/* ===========================================================
   RESPONSIVE: Pase consolidado para mobile / tablet
   Breakpoints: 980 (tablet), 768 (mobile L), 540 (mobile), 400 (xs)
   =========================================================== */

/* --- Topbar en mobile: ocultamos lo no esencial --- */
@media (max-width: 768px) {
  .topbar-inner { gap: 10px; height: auto; padding: 6px 0; flex-wrap: wrap; }
  .topbar-left { gap: 10px; flex-wrap: wrap; font-size: .78rem; }
  .topbar-left .topbar-contact { display: none; }
  .topbar-right { gap: 10px; }
  .topbar-socials{
    display:flex;
    gap:6px;
}
  .topbar-country .flag { font-size: .9rem; }
  .topbar-country { font-size: .72rem; padding-left: 8px; }
}
@media (max-width: 540px) {
  .topbar-country span:not(.flag) { display: none; }
  .topbar-country { padding-left: 6px; }
  .topbar-left a span { display: none; } /* esconde el emoji para ahorrar espacio */
  .topbar-left a { font-size: .76rem; }
}

/* --- Nav mobile: el header sólido necesita altura ajustada --- */
@media (max-width: 980px) {
  .nav { height: 68px; gap: 14px; }
  .nav-logo img { height: 40px; }
  .nav-cta .btn { display: inline-flex; padding: 8px 16px; font-size: .8rem; }
  .nav.open .nav-links { top: 68px; }
}
@media (max-width: 540px) {
  .nav-cta .btn-secondary { padding: 7px 12px; font-size: .75rem; }
}

/* --- Hero Home: ajuste del margin-top con header más bajo en mobile --- */
@media (max-width: 980px) {
  .hero-home {
    margin-top: 110px;
    min-height: auto;
    padding: 56px 0 36px;
  }
  .hero-home > .container {
    position: static;
    bottom: auto;
    padding: 0 24px;
  }
  .hero-dots { display: none; }
}
@media (max-width: 768px) {
  .hero-home { margin-top: 96px; padding: 44px 0 32px; }
}
@media (max-width: 540px) {
  .hero-home { margin-top: 84px; padding: 36px 0 24px; }
  .hero-eyebrow { font-size: .68rem; padding: 6px 12px; }
  .hero-tags span { font-size: .75rem; padding: 5px 10px; }
}

/* --- Hero stats en mobile --- */
@media (max-width: 540px) {
  .hero-stats { padding-top: 18px; margin-top: 22px; gap: 8px; }
  .hero-stats strong { font-size: 1.15rem; }
  .hero-stats span { font-size: .62rem; line-height: 1.3; }
}

/* --- Sección "¿Quiénes somos?" con mapa: el mapa pasa abajo en mobile --- */
@media (max-width: 880px) {
  .section-quienes-somos { padding-bottom: 0; }
  .section-quienes-somos::before {
    background-position: center bottom;
    background-size: 80% auto;
    opacity: .55;
    top: auto;
    bottom: 0;
    height: 280px;
  }
  .section-quienes-somos::after {
    background:
      linear-gradient(180deg,
        rgba(8,58,127,.95) 0%,
        rgba(8,58,127,.85) 55%,
        rgba(8,58,127,.6) 100%);
  }
  .section-quienes-somos > .container { padding-bottom: 280px; }
}
@media (max-width: 540px) {
  .section-quienes-somos::before { height: 200px; background-size: 95% auto; }
  .section-quienes-somos > .container { padding-bottom: 200px; }
}

/* --- Stats grid generales: stack mejor en mobile --- */
@media (max-width: 768px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
}
@media (max-width: 380px) {
  .stats-grid { grid-template-columns: 1fr !important; }
}

/* --- Grid utilities: garantizar comportamiento en mobile --- */
@media (max-width: 880px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr !important; gap: 18px; }
  .split { grid-template-columns: 1fr !important; gap: 30px; }
}
@media (min-width: 540px) and (max-width: 880px) {
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* --- Cards: padding más compacto en mobile --- */
@media (max-width: 540px) {
  .card, .card-feature, .card-plan { padding: 22px 20px; }
  .card-image .card-body { padding: 22px 20px; }
}

/* --- Tipografías globales en mobile --- */
@media (max-width: 540px) {
  h1 { font-size: clamp(1.6rem, 7vw, 2rem); }
  h2 { font-size: clamp(1.35rem, 5.5vw, 1.7rem); }
  h3 { font-size: 1.1rem; }
  .lead { font-size: 1rem; }
  .section-header { margin-bottom: 32px; }
  section { padding: 48px 0; }
}

/* --- Pill grid en mobile --- */
@media (max-width: 540px) {
  .pill { font-size: .85rem; padding: 8px 14px; }
  .pill-grid { gap: 8px; }
}

/* --- Formularios: 2 cols → 1 col --- */
@media (max-width: 768px) {
  .form-grid { grid-template-columns: 1fr !important; }
  .form-wrapper { grid-template-columns: 1fr !important; gap: 28px; }
  .form-intro { text-align: left; }
}

/* --- Logos carousel: tamaño chip adaptado --- */
@media (max-width: 540px) {
  .logo-chip { font-size: .8rem; padding: 8px 14px; }
  .logos-track { gap: 14px; }
}

/* --- Tabla cobertura progresiva: scroll horizontal en mobile --- */
@media (max-width: 540px) {
  .table-progress { font-size: .85rem; }
  .table-progress th, .table-progress td { padding: 10px 8px !important; }
}

/* --- CTA band en mobile: mejor padding --- */
@media (max-width: 540px) {
  .cta-band { padding: 30px 22px; }
  .cta-band .hero-ctas { flex-direction: column; align-items: stretch; }
  .cta-band .hero-ctas .btn { justify-content: center; }
}

/* --- Page hero (páginas internas): padding mejor en mobile --- */
@media (max-width: 768px) {
  .page-hero { height: 420px; padding-bottom: 40px; align-items: flex-end; }
  .page-hero-inner h1 { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  .page-hero-inner p.lead, .page-hero-inner p { font-size: 1rem; }
  .page-hero .hero-ctas { flex-wrap: wrap; }
}

/* --- Card-bullet-list: 1 col en mobile --- */
@media (max-width: 540px) {
  .card-bullet-list { grid-template-columns: 1fr; }
}

/* --- Feature-mini en mobile --- */
@media (max-width: 540px) {
  .feature-mini { padding: 14px 16px; }
  .feature-mini h4 { font-size: .95rem; }
  .feature-mini p { font-size: .82rem; }
}

/* --- Testimonio source en mobile --- */
@media (max-width: 540px) {
  .testimonial-source { font-size: .9rem; }
  .testimonial-source-name { font-size: .68rem; }
}

/* --- Stats grid on dark (¿quiénes somos?) en mobile --- */
@media (max-width: 540px) {
  .stats-grid-on-dark { gap: 8px; }
  .stats-grid-on-dark > div { padding: 14px 12px; }
  .stats-grid-on-dark .stat-number { font-size: 1.3rem; }
  .stats-grid-on-dark .stat-label { font-size: .72rem; }
}

/* --- Container padding en pantallas chicas --- */
@media (max-width: 540px) {
  .container, .container-wide { padding: 0 18px; }
}

/* --- Nav dropdown mobile: dropdowns abiertos como sub-list --- */
@media (max-width: 980px) {
  .nav-dropdown-menu { max-width: 100%; min-width: 0; }
  .nav.open .nav-dropdown-menu li a { font-size: .85rem; padding: 8px 10px; color: var(--c-text-muted); }
}

/* --- Recruit banner en mobile (HOME) --- */
@media (max-width: 768px) {
  .recruit-banner .split { gap: 24px; }
  .recruit-banner .chips { justify-content: flex-start; }
}

/* --- Hero subtitle en mobile --- */
@media (max-width: 540px) {
  .hero-subtitle { font-size: .95rem; margin-bottom: 10px; }
}


/* ========== Logos de empresas a color ========== */
.section-clientes-color { background: #fff; }
.client-logo-wall {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 18px;
  align-items: center;
  margin: 10px auto 0;
}
.client-logo-wall img {
  width: 100%;
  height: 76px;
  object-fit: contain;
  background: #fff;
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.client-logo-wall img:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.client-logo-wall-compact {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  max-width: 980px;
  margin-top: 34px;
}
.client-logo-wall-compact img { height: 62px; }
@media (max-width: 640px) {
  .client-logo-wall { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .client-logo-wall img { height: 64px; }
}


/* ========== Ajustes home mayo 2026 ========== */
.empresas-home-band {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(100deg, rgba(234,247,255,.97) 0%, rgba(220,241,251,.95) 38%, rgba(198,232,246,.92) 100%),
    url('../img/content/empresas-hospitalizacion.webp') center/cover no-repeat;
}
.empresas-home-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(234,247,255,.98) 0%, rgba(234,247,255,.88) 42%, rgba(220,241,251,.62) 100%);
  pointer-events: none;
}
.empresas-home-band .container,
.empresas-home-band .split { position: relative; z-index: 1; }

.services-carousel {
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.services-carousel::-webkit-scrollbar { height: 8px; }
.services-carousel::-webkit-scrollbar-thumb {
  background: rgba(29,112,183,.35);
  border-radius: 999px;
}
.services-track {
  display: flex;
  gap: 22px;
  width: max-content;
}
.service-slide {
  width: min(330px, calc(100vw - 72px));
  flex: 0 0 min(330px, calc(100vw - 72px));
  scroll-snap-align: start;
}
.service-slide .card-media { min-height: 220px; }
@media (max-width: 640px) {
  .service-slide { width: min(290px, calc(100vw - 52px)); flex-basis: min(290px, calc(100vw - 52px)); }
  .service-slide .card-media { min-height: 200px; }
}

.client-logos-carousel { margin-top: 6px; }
.client-logos-track { gap: 24px; animation-duration: 34s; }
.logo-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  padding: 16px 26px;
  min-width: 190px;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  flex-shrink: 0;
}
.logo-card img {
  width: 100%;
  max-width: 150px;
  max-height: 52px;
  object-fit: contain;
}

.cta-band-home {
  background:
    linear-gradient(120deg, rgba(8,58,127,.96) 0%, rgba(29,112,183,.92) 48%, rgba(8,58,127,.90) 100%),
    url('../img/banners/banner-servicio.webp') center/cover no-repeat;
}
.cta-band-home::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,58,127,.18) 0%, rgba(81,192,237,.08) 100%);
}
.cta-band-home > * { position: relative; z-index: 1; }

@media (max-width: 980px) {
  .hero-home > .container { bottom: 114px; }
}
@media (max-width: 768px) {
  .hero-home > .container { bottom: 104px; }
  .logo-card { min-width: 160px; height: 84px; padding: 14px 18px; }
}


/* ========== Ajustes solicitados hero + carruseles ========== */
.hero-home .hero-eyebrow {
  transform: translateY(-200px);
  margin-bottom: -178px;
}
.hero-dots { display: none !important; }

.services-carousel {
  overflow: hidden !important;
  scroll-snap-type: none !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.services-carousel::-webkit-scrollbar { display: none; }
.services-track {
  animation: servicesAutoScroll 44s linear infinite;
  will-change: transform;
}
.services-carousel:hover .services-track { animation-play-state: paused; }
@keyframes servicesAutoScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.empresas-home-band {
  background:
    linear-gradient(95deg, rgba(234,247,255,.98) 0%, rgba(224,244,253,.88) 42%, rgba(81,192,237,.30) 100%),
    url('../img/banners/banner-auditoria.webp') right center / cover no-repeat !important;
}
.empresas-home-band::before {
  background: linear-gradient(90deg, rgba(255,255,255,.68) 0%, rgba(234,247,255,.42) 45%, rgba(29,112,183,.08) 100%) !important;
}

.clientes-logo-carousel {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-top: 8px;
}
.clientes-logo-carousel::before,
.clientes-logo-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.clientes-logo-carousel::before { left: 0; background: linear-gradient(to right, #fff, transparent); }
.clientes-logo-carousel::after { right: 0; background: linear-gradient(to left, #fff, transparent); }
.clientes-logo-carousel .logos-track {
  display: flex;
  gap: 2rem;
  align-items: center;
  animation: logoScroll 30s linear infinite;
  width: max-content;
  will-change: transform;
}
.clientes-logo-carousel .logos-track:hover { animation-play-state: paused; }
@keyframes logoScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.logo-item {
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  padding: .85rem 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  box-shadow: 0 2px 10px rgba(33,62,123,.06);
}
.logo-item img {
  height: 90px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .6;
  transition: filter .3s, opacity .3s;
}
.logo-item:hover img { filter: grayscale(0%); opacity: 1; }

.faq-page-section { padding-top: 40px; }
.faq-page-section .section-header h1 {
  color: var(--c-accent);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  margin-bottom: 14px;
}
@media (max-width: 980px) {
  .hero-home .hero-eyebrow { transform: translateY(-140px); margin-bottom: -118px; }
  .services-track { animation-duration: 38s; }
}
@media (max-width: 640px) {
  .hero-home .hero-eyebrow { transform: translateY(-88px); margin-bottom: -70px; }
  .clientes-logo-carousel::before,
  .clientes-logo-carousel::after { width: 44px; }
}

/* Corrección final: mover solo el rótulo del hero, no el título */
.hero-home .hero-eyebrow {
  margin-bottom: 22px !important;
}
@media (max-width: 980px) {
  .hero-home .hero-eyebrow { margin-bottom: 18px !important; }
}
@media (max-width: 640px) {
  .hero-home .hero-eyebrow { margin-bottom: 14px !important; }
}


/* ===== Ajustes finales home/menu ===== */


.hero-home-inner h1 {
  font-size: clamp(2.5rem, 5vw, 4.1rem) !important;
  line-height: 1.02 !important;
  margin-bottom: 14px !important;
}
.hero-home-inner h1 .thin {
  display: block;
  font-size: 1em !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  margin-bottom: 0 !important;
  text-transform: none;
}
.hero-home-inner h1 .thin strong {
  font-weight: 800;
}
.hero-home-inner h1 .accent {
  display: none !important;
}
.hero-home .hero-dots,
.hero-home .hero-slider-dots,
.hero-home .hero-carousel-dots {
  display: none !important;
}

.services-carousel {
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(8,58,127,.45) rgba(8,58,127,.08);
  cursor: grab;
  scroll-behavior: smooth;
}
.services-carousel::-webkit-scrollbar {
  height: 8px;
}
.services-carousel::-webkit-scrollbar-track {
  background: rgba(8,58,127,.08);
  border-radius: 999px;
}
.services-carousel::-webkit-scrollbar-thumb {
  background: rgba(8,58,127,.35);
  border-radius: 999px;
}
.services-carousel:active {
  cursor: grabbing;
}
.services-track {
  display: flex;
  width: max-content;
  animation: none !important;
  transform: none !important;
  will-change: auto;
}
.services-carousel:hover .services-track {
  animation-play-state: paused !important;
}

.clientes-logo-carousel .logo-item {
  min-width: 160px;
  padding: 1rem 1.5rem;
}
.clientes-logo-carousel .logo-item img {
  height: 40px;
  max-width: 130px;
  filter: none !important;
  opacity: 1 !important;
}

.cta-band-home h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.04;
}
.cta-band-home .cta-small-home {
  margin-top: 60px;
}
.hero-ctas .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  min-width: 210px;
  height: 56px;
  padding: 0 28px;
  border-radius: 999px;
  white-space: nowrap;
}

.hero-ctas .btn-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}


/* ===== Referencia visual aplicada desde HTML adjunto ===== */
body { overflow-x: hidden; }
.site-header {
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  color: #fff;
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: transparent;
  transition: background .32s ease, box-shadow .32s ease, backdrop-filter .32s ease;
}
.site-header.is-scrolled::before {
  background: rgba(8,58,127,.95);
  backdrop-filter: blur(18px) saturate(1.45);
  -webkit-backdrop-filter: blur(18px) saturate(1.45);
  box-shadow: 0 10px 34px rgba(8,58,127,.22);
}
.topbar {
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.92) !important;
}
.site-header.is-scrolled .topbar {
  border-bottom-color: rgba(255,255,255,.10) !important;
}
.topbar-socials a,
.topbar-contact {
  border-color: rgba(255,255,255,.45) !important;
}
.nav-logo .logo-white { display: inline-block !important; }
.nav-logo .logo-blue { display: none !important; }
.nav-links a,
.nav-phone {
  color: rgba(255,255,255,.92) !important;
}
.nav-links a:hover,
.nav-links a.active {
  color: #fff !important;
}
.nav-links a::after { background: var(--c-secondary) !important; }
.nav-dropdown > a::after { color: rgba(255,255,255,.78); }
.nav-dropdown-menu {
  background: rgba(8,58,127,.96) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(14px) saturate(1.45);
  -webkit-backdrop-filter: blur(14px) saturate(1.45);
}
.nav-dropdown-menu a {
  color: rgba(255,255,255,.92) !important;
}
.nav-dropdown-menu a:hover {
  background: rgba(81,192,237,.14) !important;
  color: #fff !important;
}
/* Dropdown blanco en páginas internas (header claro) */
body:not(.home-page) .nav-dropdown-menu {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 8px 24px rgba(8,58,127,.10) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body:not(.home-page) .nav-dropdown-menu a {
  color: var(--c-accent) !important;
}
body:not(.home-page) .nav-dropdown-menu a:hover {
  background: #f0f6ff !important;
  color: var(--c-primary) !important;
}
.nav .btn-secondary {
  background: var(--c-secondary) !important;
  border-color: var(--c-secondary) !important;
  color: var(--c-accent) !important;
  box-shadow: 0 10px 22px rgba(81,192,237,.22);
}
.nav .btn-secondary:hover {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--c-accent) !important;
}
.nav-toggle span { background: #fff !important; }
.hero-home {
  margin-top: 0 !important;
  min-height: 82vh;
}
.hero-home::before {
  background: linear-gradient(to top, rgba(8,58,127,.94) 0%, rgba(8,58,127,.52) 38%, rgba(8,58,127,.13) 72%, rgba(8,58,127,.04) 100%) !important;
}
.hero-home > .container { bottom: 92px !important; }
@media (max-width: 980px) {
  .nav.open .nav-links { background: rgba(8,58,127,.98) !important; top: 68px; }
  .hero-home { margin-top: 0 !important; padding-top: 160px; min-height: auto; }
}

/* Carrusel Somos mucho más que cuidados: estilo de referencia */
.servicios-reference-carousel {
  background: #fff;
  padding: 84px 0 90px;
  overflow: hidden;
}
.servicios-reference-carousel .sc-head {
  max-width: 1180px;
  margin: 0 auto 52px;
  padding: 0 24px;
  text-align: center;
}
.servicios-reference-carousel .sc-head .eyebrow {
  display: inline-flex;
  color: var(--c-accent);
  background: rgba(8,58,127,.08);
  border: 1px solid rgba(8,58,127,.16);
  margin-bottom: 18px;
}
.servicios-reference-carousel .sc-head h2 {
  color: var(--c-accent);
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.045em;
  margin-bottom: 16px;
}
.servicios-reference-carousel .sc-head h2 strong {
  color: var(--c-secondary);
  font-weight: 800;
}
.servicios-reference-carousel .sc-head p {
  color: var(--c-text-muted);
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.68;
}
.sc-outer { position: relative; }
.sc-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  padding: 0 42px 24px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.sc-track::-webkit-scrollbar { display: none; }
.sc-slide {
  flex: 0 0 clamp(310px, 38vw, 480px);
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 16px 50px rgba(8,58,127,.14);
  cursor: pointer;
  transition: transform .35s ease, box-shadow .35s ease;
  background: var(--c-accent);
}
.sc-slide:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(8,58,127,.20);
}
.sc-slide img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.sc-slide:hover img { transform: scale(1.04); }
.sc-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,58,127,.92) 0%, rgba(8,58,127,.45) 45%, transparent 100%);
}
.sc-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 28px 26px;
  background: linear-gradient(to top, rgba(8,58,127,.97) 0%, rgba(8,58,127,.88) 55%, transparent 100%);
}
.sc-icon { font-size: 1.7rem; display: block; margin-bottom: .55rem; }
.sc-title {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.04em;
  line-height: 1.15;
  margin: 0 0 .65rem;
}
.sc-title span { color: var(--c-secondary); }
.sc-desc {
  font-size: .86rem;
  line-height: 1.6;
  color: rgba(255,255,255,.84);
  margin: 0 0 1rem;
}
.sc-tags { display: flex; flex-wrap: wrap; gap: .42rem; }
.sc-tags span {
  font-size: .68rem;
  font-weight: 700;
  padding: .28rem .75rem;
  border-radius: 999px;
  background: rgba(81,192,237,.2);
  border: 1px solid rgba(81,192,237,.35);
  color: #9fe2ff;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sc-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #fff;
  border: none;
  cursor: pointer;
  box-shadow: 0 8px 28px rgba(8,58,127,.18);
  transition: transform .2s, box-shadow .2s;
  color: var(--c-accent);
}
.sc-nav:hover { transform: translateY(-50%) scale(1.1); box-shadow: 0 12px 36px rgba(8,58,127,.26); }
.sc-nav.prev { left: 18px; }
.sc-nav.next { right: 18px; }
.sc-nav svg { width: 20px; height: 20px; }
.sc-dots { display: flex; justify-content: center; gap: .55rem; margin-top: 20px; padding: 0 24px; }
.sc-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #D1DCF0;
  border: none;
  cursor: pointer;
  transition: width .28s ease, background .28s ease;
}
.sc-dot.active { width: 28px; background: var(--c-secondary); }
@media (max-width: 768px) {
  .sc-slide { flex: 0 0 85vw; }
  .sc-slide img { height: 280px; }
  .sc-nav { display: none; }
  .sc-track { overflow-x: auto; padding: 0 20px 22px; }
  .sc-content { padding: 24px 22px 24px; }
}

/* Mapa de fondo para Quiénes somos */
.section-quienes-somos {
  background: var(--c-accent) !important;
  position: relative;
  overflow: hidden;
}
.section-quienes-somos::before {
  background-image: url('../img/mapa-latam.svg') !important;
  background-repeat: no-repeat !important;
  background-position: 78% center !important;
  background-size: min(620px, 58vw) auto !important;
  opacity: .26 !important;
  z-index: 0 !important;
}
.section-quienes-somos::after {
  background: linear-gradient(90deg, rgba(8,58,127,.94) 0%, rgba(8,58,127,.84) 46%, rgba(8,58,127,.55) 100%) !important;
}
.section-quienes-somos .stats-grid-on-dark > div {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.11) !important;
  backdrop-filter: blur(8px);
}
@media (max-width: 880px) {
  .section-quienes-somos::before { background-position: center bottom !important; background-size: 90% auto !important; }
}

/* CTA final con foto y overlay como referencia */
.cta-final-reference-section {
  padding: 84px 0;
  background: #fff;
}
.cta-photo-reference {
  border-radius: 28px;
  padding: clamp(46px, 7vw, 72px) 32px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: none !important;
}
.cta-photo-reference::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url('../img/banners/banner-servicio.webp');
  background-size: cover;
  background-position: center;
  z-index: 0;
}
.cta-photo-reference::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(8,58,127,.90) 0%, rgba(29,112,183,.76) 50%, rgba(8,58,127,.58) 100%);
  z-index: 0;
}
.cta-photo-reference > * { position: relative; z-index: 1; }
.cta-photo-reference h2 {
  color: #fff;
  font-size: clamp(2.1rem, 4vw, 3.35rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}
.cta-photo-reference h2 strong { color: var(--c-secondary); font-weight: 800; }
.cta-photo-reference .cta-eyebrow {
  display: inline-flex;
  align-items: center;
  padding: .4rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.24);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .74rem;
  font-weight: 800;
  margin-bottom: 20px;
}
.cta-photo-reference .cta-small-home { margin-top: 60px !important; color: rgba(255,255,255,.68) !important; }
.cta-photo-reference .cta-small-home a { color: var(--c-secondary) !important; }

/* Empresas que confían: carrusel real con logos remotos + fallback */
.confian-reference-section {
  padding: 70px 0 78px;
  background: var(--c-bg-soft);
  border-top: 1px solid var(--c-border);
}
.confian-reference-section .section-header h2 strong {
  color: var(--c-secondary);
  font-weight: 800;
}
.logos-track-wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-top: 12px;
}
.logos-track-wrap::before,
.logos-track-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.logos-track-wrap::before { left: 0; background: linear-gradient(to right, var(--c-bg-soft), transparent); }
.logos-track-wrap::after { right: 0; background: linear-gradient(to left, var(--c-bg-soft), transparent); }
.logos-track-wrap .logos-track {
  display: flex;
  gap: 2rem;
  align-items: center;
  animation: referenceLogoScroll 30s linear infinite;
  width: max-content;
}
.logos-track-wrap .logos-track:hover { animation-play-state: paused; }
@keyframes referenceLogoScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.logos-track-wrap .logo-item {
  flex-shrink: 0;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 14px;
  padding: .85rem 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 156px;
  min-height: 74px;
  box-shadow: 0 2px 10px rgba(8,58,127,.06);
}
.logos-track-wrap .logo-item img {
  height: 42px;
  width: auto;
  max-width: 132px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .72;
  transition: filter .3s, opacity .3s;
}
.logos-track-wrap .logo-item:hover img { filter: grayscale(0%); opacity: 1; }
.logo-name-fb {
  font-size: .7rem;
  font-weight: 800;
  color: var(--c-accent);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .logos-track-wrap::before,
  .logos-track-wrap::after { width: 44px; }
  .logos-track-wrap .logo-item { min-width: 142px; padding: .9rem 1.35rem; }
  .logos-track-wrap .logo-item img { height: 38px; }
}


/* Header glass igual en todas las páginas */

/* ── Plan Prevenite: banner logo badge ── */
.prevenite-logo-badge {
  display: flex;
  justify-content: center;
  margin-bottom: 18px;
}
.prevenite-logo-badge img {
  height: 72px;
  width: auto;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.25));
}

/* ── Prevenite hero title ── */
.prevenite-hero-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #fff !important;
}
.prevenite-highlight-block {
  display: block;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 800;
  color: var(--c-prevenite) !important;
  line-height: 1;
}

/* ── Prevenite green highlight (inline) ── */
.prevenite-highlight {
  color: var(--c-prevenite) !important;
  font-weight: 700;
}

/* ── Feature cards 2x2 with image ── */
.feature-cards-img {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px;
  margin-top: 40px;
}
.card-feature-img {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(8,58,127,.10);
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
  border-bottom: 3px solid var(--c-prevenite);
}
.card-feature-img:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(8,58,127,.15);
}
.card-feature-img__photo {
  height: 220px;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
.card-feature-img__body {
  padding: 24px 28px 28px;
  position: relative;
}
.card-feature-img__body::before{
  display:none;
}
.card-feature-img__body h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.card-feature-img__body p {
  color: var(--c-text-muted);
  font-size: .95rem;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 640px) {
  .feature-cards-img { grid-template-columns: 1fr !important; }
}


/* ===== Ajuste solicitado: fondo y mapa en Quiénes somos ===== */
.text-celeste {
  color: var(--c-secondary) !important;
  font-weight: 800;
}
.section-quienes-somos {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(8,58,127,.82) 0%, rgba(8,58,127,.58) 48%, rgba(8,58,127,.18) 100%),
    url('../img/banners/fondo-quienes-somos.webp') center center / cover no-repeat !important;
}
.section-quienes-somos::before {
  display: none !important;
  content: none !important;
}
.section-quienes-somos::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg,
    rgba(8,58,127,.92) 0%,
    rgba(8,58,127,.70) 42%,
    rgba(8,58,127,.36) 70%,
    rgba(8,58,127,.18) 100%) !important;
}
.section-quienes-somos > .container {
  position: relative !important;
  z-index: 3 !important;
}
.quienes-map-parallax {
  position: absolute;
  z-index: 2;
  right: clamp(18px, 7vw, 110px);
  top: 50%;
  width: min(520px, 42vw);
  max-width: 52%;
  height: auto;
  transform: translate3d(0,-50%,0) scale(1.02);
  transform-origin: center center;
  opacity: .92;
  pointer-events: none;
  will-change: transform;
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.14));
}
.section-quienes-somos .split {
  position: relative;
  z-index: 3;
}
.section-quienes-somos h2 .text-celeste,
.section-header h2 .text-celeste {
  color: var(--c-secondary) !important;
}
@media (max-width: 980px) {
  .quienes-map-parallax {
    right: 50%;
    top: auto;
    bottom: -38px;
    width: min(420px, 74vw);
    max-width: 82%;
    opacity: .34;
    transform: translate3d(50%, 0, 0) scale(1.02) !important;
  }
  .section-quienes-somos > .container {
    padding-bottom: 210px !important;
  }
}
@media (max-width: 540px) {
  .quienes-map-parallax {
    width: 86vw;
    bottom: -24px;
    opacity: .30;
  }
  .section-quienes-somos > .container {
    padding-bottom: 185px !important;
  }
}


/* ===== Opción 3: métricas debajo en Quiénes somos ===== */
.section-quienes-somos > .container {
  position: relative;
  z-index: 3;
}
.section-quienes-somos .quienes-layout {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 34px;
}
.section-quienes-somos .quienes-content {
  max-width: 620px;
  position: relative;
  z-index: 4;
}
.section-quienes-somos .quienes-stats-row {
  position: relative;
  z-index: 4;
  margin-top: 10px;
}
.stats-grid-on-dark-row {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.stats-grid-on-dark-row > div {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.20);
  border-radius: 18px;
  padding: 22px 18px;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  text-align: center;
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
}
.section-quienes-somos .btn-on-dark { margin-top: 8px; }
.quienes-map-parallax {
  top: 44%;
  right: clamp(18px, 6vw, 88px);
  width: min(500px, 40vw);
  max-width: 50%;
}
@media (max-width: 1180px) {
  .stats-grid-on-dark-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .section-quienes-somos .quienes-layout { gap: 28px; }
  .section-quienes-somos .quienes-content { max-width: 100%; }
  .section-quienes-somos .quienes-stats-row { margin-top: 0; }
}
@media (max-width: 640px) {
  .stats-grid-on-dark-row { grid-template-columns: 1fr 1fr; gap: 12px; }
  .stats-grid-on-dark-row > div { padding: 18px 14px; }
}


/* ===== Ajustes hero + quienes somos ===== */
.hero-home {
  min-height: 78vh;
  background-position: center center !important;
}
.hero-home::before {
  background: linear-gradient(90deg,
    rgba(8,58,127,.68) 0%,
    rgba(8,58,127,.34) 32%,
    rgba(8,58,127,.20) 58%,
    rgba(8,58,127,.10) 100%);
}
.hero-home > .container {
  bottom: 110px;
}
.hero-home-inner {
  max-width: 1120px;
  text-align: left;
}
.hero-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2vw, 30px);
  width: 100%;
}
.hero-home-inner h1 {
  margin: 0;
  text-shadow: 0 2px 16px rgba(8,58,127,.28);
}
.hero-home-inner h1 .hero-line {
  display: block;
  text-transform: uppercase;
  letter-spacing: .015em;
  line-height: .98;
}
.hero-home-inner h1 .hero-line-top {
  color: #fff;
  font-size: clamp(2.5rem, 5.2vw, 4.7rem);
  font-weight: 600;
}
.hero-home-inner h1 .hero-line-accent {
  color: var(--c-secondary);
  font-size: clamp(2.5rem, 5.2vw, 4.7rem);
  font-weight: 800;
}
.hero-20-logo {
  width: clamp(120px, 12vw, 180px);
  height: auto;
  flex: 0 0 auto;
  filter: drop-shadow(0 8px 22px rgba(8,58,127,.22));
}
.hero-home .hero-eyebrow {
  margin-bottom: 22px;
}
.hero-home-inner p.lead {
  max-width: 720px;
  margin: 18px auto 0;
  text-align: center;
  font-size: 1.05rem;
}
@media (max-width: 860px) {
  .hero-home {
    min-height: 72vh;
  }
  .hero-title-row {
    flex-direction: column;
    gap: 14px;
  }
  .hero-home-inner {
    text-align: center;
  }
  .hero-home > .container {
    bottom: 86px;
  }
  .hero-20-logo {
    width: 120px;
  }
}

.section-quienes-somos h2 {
  font-size: clamp(2.15rem, 4vw, 3.2rem) !important;
  line-height: 1.06 !important;
  max-width: 700px;
  margin-bottom: 16px;
}
.section-quienes-somos .quienes-content {
  max-width: 700px;
}
.quienes-map-parallax {
  transition: transform .18s linear;
  width: min(560px, 44vw);
  max-width: 54%;
}
@media (max-width: 980px) {
  .section-quienes-somos h2 {
    max-width: 560px;
    font-size: clamp(1.95rem, 6.2vw, 2.7rem) !important;
  }
}


/* ===== Ajustes mayo: hero, carrusel, CTA final ===== */
.hero-home > .container {
  bottom: 30px !important;
}
.hero-home-inner {
  max-width: 920px !important;
  text-align: center !important;
}
.hero-home .hero-eyebrow {
  display: inline-flex;
  margin: 0 auto 18px !important;
  transform: none !important;
}
.hero-title-row {
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(12px, 1.8vw, 22px) !important;
}
.hero-home-inner h1 {
  margin: 0 !important;
}
.hero-home-inner h1 .hero-line-top,
.hero-home-inner h1 .hero-line-accent {
  font-size: clamp(1.45rem, 2.7vw, 2.35rem) !important;
  line-height: .98 !important;
}
.hero-home-inner p.lead {
  margin: 16px auto 0 !important;
  text-align: center !important;
  max-width: 640px !important;
}
.hero-20-logo {
  width: clamp(78px, 8vw, 112px) !important;
}
@media (max-width: 860px){
  .hero-title-row { gap: 10px !important; }
  .hero-home .hero-eyebrow { margin-bottom: 14px !important; }
  .hero-home-inner h1 .hero-line-top,
  .hero-home-inner h1 .hero-line-accent {
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
  }
  .hero-20-logo { width: 86px !important; }
}

.servicios-reference-carousel .sc-head .eyebrow {
  color: var(--c-primary) !important;
  background: rgba(29,112,183,.10) !important;
  border: 1px solid rgba(29,112,183,.18) !important;
}
.servicios-reference-carousel .sc-icon {
  display: none !important;
}

.cta-photo-reference::before {
  background-image: url('../img/banners/cta-tu-familia.webp') !important;
  background-position: center center !important;
}
.cta-photo-reference::after {
  background: linear-gradient(105deg, rgba(8,58,127,.90) 0%, rgba(29,112,183,.72) 52%, rgba(8,58,127,.56) 100%) !important;
}
.cta-photo-reference h2 span,
.cta-photo-reference h2 strong {
  display: inline-block;
}
.cta-photo-reference h2 strong {
  color: var(--c-secondary) !important;
}


/* ===== Ajustes finos solicitados ===== */
.hero-home .hero-eyebrow {
  transform: translateY(-230px) !important;
  margin: 0 auto -210px !important;
  display: inline-flex !important;
  justify-content: center !important;
}
.hero-home-inner {
  text-align: center !important;
}
.hero-title-row {
  justify-content: center !important;
  align-items: center !important;
  width: 100%;
}
.hero-home-inner h1 .hero-line-top,
.hero-home-inner h1 .hero-line-accent {
  font-size: clamp(2rem, 4vw, 3.25rem) !important;
  line-height: 1.02 !important;
}
.hero-20-logo {
  width: clamp(118px, 11vw, 156px) !important;
  margin-left: 8px;
}
.hero-home-inner p.lead {
  text-align: center !important;
}

/* Empezá hoy: quitar recorte/círculo y mostrar imagen a cuadro completo */
.cta-photo-reference::before {
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

@media (max-width: 860px) {
  .hero-home .hero-eyebrow {
    transform: translateY(-110px) !important;
    margin: 0 auto -96px !important;
  }
  .hero-home-inner h1 .hero-line-top,
  .hero-home-inner h1 .hero-line-accent {
    font-size: clamp(1.8rem, 7vw, 2.4rem) !important;
  }
  .hero-20-logo {
    width: 112px !important;
  }
}


/* ===== Ajustes finos hero + alcance ===== */
.hero-home .hero-eyebrow {
  transform: translateY(-305px) !important;
  margin: 0 auto -285px !important;
}

/* Mantener el título visualmente centrado y mover el logo de 20 años más a la derecha */
.hero-title-row {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}
.hero-title-row h1 {
  position: relative;
  z-index: 2;
  text-align: center !important;
  width: auto;
  margin: 0 auto !important;
}
.hero-20-logo {
  position: absolute !important;
  left: calc(50% + 220px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: clamp(132px, 12vw, 174px) !important;
  margin-left: 0 !important;
}

/* Alcance de nuestros servicios en celeste como los otros títulos auxiliares */
.servicios-reference-carousel .sc-head .eyebrow {
  color: var(--c-secondary) !important;
  border-color: rgba(81,192,237,.30) !important;
  background: rgba(81,192,237,.12) !important;
}

@media (max-width: 980px) {
  .hero-home .hero-eyebrow {
    transform: translateY(-180px) !important;
    margin: 0 auto -162px !important;
  }
  .hero-20-logo {
    position: static !important;
    transform: none !important;
    width: 108px !important;
  }
  .hero-title-row {
    gap: 14px !important;
  }
}

@media (max-width: 860px) {
  .hero-home .hero-eyebrow {
    transform: translateY(-135px) !important;
    margin: 0 auto -118px !important;
  }
}


/* ===== Ajuste solicitado: logo 20 años ===== */
.hero-20-logo {
  left: calc(50% + 340px) !important;
  width: clamp(158px, 14.4vw, 209px) !important;
}

@media (max-width: 980px) {
  .hero-20-logo {
    left: auto !important;
    width: 118px !important;
  }
}


/* ===== Ajustes: alcance + CTA final ===== */
.servicios-reference-carousel .sc-head .eyebrow {
  display: inline-block !important;
  color: var(--c-secondary) !important;
  font-weight: 600 !important;
  font-size: .85rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.cta-band-home.cta-photo-reference {
  max-width: 1140px;
  margin: 0 auto;
  padding: clamp(38px, 6vw, 60px) 28px !important;
}

@media (max-width: 980px) {
  .cta-band-home.cta-photo-reference {
    max-width: calc(100% - 28px);
    padding: clamp(34px, 7vw, 48px) 22px !important;
  }
}

/* ── Prevenite: eyebrows en verde agua ── */
.plan-prevenite-page .section-header .eyebrow {
  color: var(--c-prevenite) !important;
}
.plan-prevenite-page .page-hero .eyebrow {
  color: var(--c-prevenite) !important;
}

/* ── Banner: bajar contenido para que no quede bajo el menú ── */
.plan-prevenite-page .page-hero {
  align-items: center;
  padding-top: 140px;
  padding-bottom: 60px;
  height: auto;
  min-height: 520px;
}
.plan-prevenite-page .prevenite-logo-badge {
  margin-bottom: 14px;
}

/* ── Feature cards: hover scale ── */
.card-feature-img:hover {
  transform: scale(1.02);
  box-shadow: 0 16px 40px rgba(8,58,127,.18);
}

/* ── Feature card: face-safe image position ── */
.card-feature-img__photo {
  background-position: center top;
}

/* ── CTA Brindamos: background image fusionada ── */
.cta-band-prevenite {
  background:
    linear-gradient(135deg, rgba(8,58,127,.88) 0%, rgba(30,205,176,.70) 100%),
    url('../img/content/profesionales-salud.webp') center 30%/cover no-repeat !important;
}

/* ── Card plan logo ── */
.card-plan-logo {
  width: auto;
  height: auto;

  max-width: 220px;
  max-height: 64px;

  object-fit: contain;

  display: block;
  margin-bottom: 20px;

  filter: drop-shadow(0 1px 4px rgba(0,0,0,.15));
}

/* ══════════════════════════════════════════
   ASISTENCIA INTEGRAL — Circular wheel v2
══════════════════════════════════════════ */
.aw {
  position: relative;
  max-width: 1000px;
  margin: 30px auto 0;
  aspect-ratio: 1000 / 580;
} 

.aw-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

/* Imagen central — ya trae círculo cyan, no agregar bordes */
.aw-center-img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 36%;
  height: auto;
  z-index: 2;
  display: block;
}

/* Items posicionados con anchor lateral (right/left) en 75.7% para coincidir con SVG */
.aw-item {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 3;
  transform: translateY(-50%);
}
.aw-item--l { right: 75.7%; }
.aw-item--r { left: 75.7%; }

/* Icon thin circle */
.aw-icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
}
.aw-icon svg {
  width: 100%;
  height: 100%;
  display: block;

  flex-shrink: 0;
}

/* Label sin serif */
.aw-label {
  font-weight: 700;
  text-transform: uppercase;
  color: var(--c-accent);
  font-size: .88rem;
  letter-spacing: .08em;
  line-height: 1.25;
  white-space: nowrap;
}
.aw-item--l .aw-label { text-align: right; }
.aw-item--r .aw-label { text-align: left; }

/* Mobile fallback */
.aw-mobile { display: none; }

@media (max-width: 820px) {
  .aw { display: none; }
  .aw-mobile {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 24px;
  }
  .aw-mobile-item {
    background: #fff;
    border-radius: 12px;
    padding: 18px 14px;
    text-align: center;
    font-weight: 700;
    font-size: .82rem;
    color: var(--c-accent);
    text-transform: uppercase;
    letter-spacing: .08em;
    box-shadow: 0 2px 12px rgba(8,58,127,.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    border-bottom: 3px solid var(--c-prevenite);
  }
  .aw-mobile-item span { font-size: 1.6rem; }
}

/* ══════════════════════════════════════════
   PLAN INMEDIATO — Page styles
══════════════════════════════════════════ */

/* Banner */
.plan-inmediato-hero {
  align-items: center;
  padding-top: 140px;
  padding-bottom: 60px;
  height: auto;
  min-height: 520px;
}

/* Logo badge */
.inmediato-logo-badge {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}
.inmediato-logo-badge img {
  height: 72px;
  width: auto;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.25));
}

/* Title highlight block */
.inmediato-highlight-block {
  display: block;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  color: var(--c-secondary) !important;
  line-height: 1;
}

/* Inline highlight */
.inmediato-highlight {
  color: var(--c-secondary) !important;
  font-weight: 700;
}

/* Eyebrows in inmediato blue */
.plan-inmediato-page .section-header .eyebrow {
  color: var(--c-primary) !important;
}
.plan-inmediato-page .page-hero .eyebrow {
  color: var(--c-secondary) !important;
}

/* CTA background */
.cta-band-inmediato {
  background:
    linear-gradient(
      rgba(12,50,110,.72),
      rgba(12,50,110,.72)
    ),
    url('../img/banners/banner-inmediato-cta.webp'),
    linear-gradient(135deg, #2d5f9c, #66d8cf) !important;

  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Equipo 2-column grid */
.equipo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-top: 12px;
}
.equipo-card {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(8,58,127,.10);
  background: #fff;
  display: flex;
  flex-direction: column;
  border-bottom: 3px solid var(--c-primary);
}
.equipo-photo {
  height: 240px;
  background-size: cover;
  background-position: center top;
  flex-shrink: 0;
}
.equipo-body {
  padding: 28px 32px 32px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.equipo-body h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-primary);
  margin: 18px 0 4px;
  padding-top: 18px;
  border-top: 1px solid #e8eef6;
}
.equipo-body h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.equipo-body p {
  color: var(--c-text-muted);
  font-size: .92rem;
  line-height: 1.55;
  margin: 0;
}

@media (max-width: 768px) {
  .equipo-grid { grid-template-columns: 1fr; }
  .plan-inmediato-hero { padding-top: 130px; }
}

/* ── Equipo profesionales: 2 columnas con cards individuales ── */
.equipo-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 12px;
}
.equipo-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.equipo-prof-card {
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 3px 18px rgba(8,58,127,.09);
  border-bottom: 3px solid var(--c-primary);
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.equipo-prof-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(8,58,127,.14);
}
.equipo-prof-photo {
  height: 200px;
  background-size: cover;
  background-position: center center;
  flex-shrink: 0;
}
.equipo-prof-body {
  padding: 18px 22px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 100px;
}
.equipo-prof-body h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-primary);
  margin: 0 0 6px;
}
.equipo-prof-body p {
  font-size: .88rem;
  color: var(--c-text-muted);
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 768px) {
  .equipo-cols { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════
   SOBRE NOSOTROS
══════════════════════════════════════════ */

/* Country cards */
.country-card { text-align: center; }
.country-shape { width: 80px; height: 100px; margin: 0 auto 10px; }
.country-shape svg { width: 100%; height: 100%; }
.country-flag {
  width: 72px;
  height: 44px;
  border-radius: 5px;
  overflow: hidden;
  margin: 0 auto 14px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(0,0,0,.14);
}
.flag-stripe { flex: 1; width: 100%; }

/* Historia timeline — centrada */
.historia-body h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-accent);
  margin: 0 0 5px;
}
.historia-body p {
  font-size: .88rem;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin: 0;
}

/* PMV cards */
.pmv-card { text-align: center; }
.pmv-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  background: rgba(81,192,237,.10);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.pmv-icon svg { width: 100%; height: 100%; }

/* CTA nosotros */
.cta-band-nosotros {
  background:
    linear-gradient(135deg, rgba(8,58,127,.88) 0%, rgba(29,112,183,.80) 100%),
    url('../img/content/acompanantes-salud.webp') center 30%/cover no-repeat !important;
}

/* ── Country dropdown in topbar ── */
.country-dropdown-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.country-dropdown-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  font: inherit;
  font-size: .82rem;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 2px 6px;
  border-radius: 6px;
  transition: background .15s;
}
.country-dropdown-btn:hover { background: rgba(255,255,255,.12); }
.country-caret { font-size: .65rem; opacity: .7; }
.country-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(8,58,127,.14);
  border: 1px solid #e2e8f0;
  min-width: 200px;
  padding: 6px;
  z-index: 9999;
  flex-direction: column;
}
.country-dropdown-wrap:hover .country-dropdown-menu,
.country-dropdown-wrap:focus-within .country-dropdown-menu {
  display: flex;
}
.country-dropdown-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 7px;
  font-size: .85rem;
  font-weight: 600;
  color: var(--c-accent);
  text-decoration: none;
  transition: background .15s;
}
.country-dropdown-menu a:hover { background: #f0f6ff; }
.country-dropdown-menu a span { font-size: 1.1rem; }

@media (max-width: 768px) {
  .historia-timeline::before { left: 50%; transform: translateX(-50%); }
  .historia-year { width: 56px; font-size: .78rem; }
}

/* ══════════════════════════════════════════
   FOOTER IMPROVEMENTS
══════════════════════════════════════════ */
.footer-heading-accent { color: var(--c-secondary) !important; }

.footer-contact-list { list-style: none; padding: 0; margin: 0; }
.footer-contact-list li { margin-bottom: 10px; }
.footer-contact-list a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.8);
  text-decoration: none;
  font-size: .88rem;
  transition: color .2s;
}
.footer-contact-list a:hover { color: var(--c-secondary); }
.footer-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.footer-address {
  margin-top: 14px !important;
  font-size: .8rem !important;
  color: rgba(255,255,255,.5) !important;
  line-height: 1.6;
}
.footer-brand-col p { max-width: 280px; }

/* ── Country dropdown styled like nav ── */
.country-dropdown-menu {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 8px 24px rgba(8,58,127,.14) !important;
}
.country-dropdown-menu a { color: var(--c-accent) !important; }
.country-dropdown-menu a:hover { background: #f0f6ff !important; color: var(--c-primary) !important; }

/* ── Home logos: remove grayscale, resize ── */
.logo-item {
  min-width: 185px !important;
  min-height: 110px !important;
  padding: 1rem 1.6rem !important;
}
.logo-item img {
  filter: none !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: 60px !important;
  max-width: 150px !important;
}
.logo-item:hover img { filter: none !important; }

/* ── Country flag designs ── */
.country-flag {
  width: 80px;
  height: 48px;
  border-radius: 5px;
  overflow: hidden;
  margin: 0 auto 14px;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  display: flex;
  flex-direction: column;
}
/* Argentina */
.arg-flag { flex-direction: column; }
.flag-white-center {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
.flag-sun {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #F6B40E;
  box-shadow: 0 0 0 2px rgba(246,180,14,.3);
}
/* Chile */
.chile-flag { flex-direction: column; }
.chile-top { display: flex; flex: 1; }
.chile-blue {
  width: 33%;
  background: #0033A0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chile-white { flex: 1; background: #fff; }
.chile-red { flex: 1; background: #D52B1E; }
/* Mexico */
.mexico-flag{
  display:flex;
  overflow:hidden;
}

.mex-green{
  flex:1;
  background:#006847;
}

.mex-white{
  flex:1;
  background:#fff;

  display:flex;
  align-items:center;
  justify-content:center;
}

.mex-red{
  flex:1;
  background:#CE1126;
}

.mex-white img{
  width:18px;
  height:18px;
  object-fit:contain;
}

.country-card{
  display:flex;
  flex-direction:column;
}

.country-card .btn{
  margin-top:auto;
  align-self:center;
}

.mex-flag { flex-direction: row; }
.mex-flag .flag-stripe { flex: 1; }
.flag-eagle {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1.5px solid rgba(0,100,55,.5);
  background: rgba(0,104,71,.15);
}

/* Historia timeline — left aligned, dots on line */
.historia-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 680px;
  margin: 0 auto;
  position: relative;
}
.historia-timeline::before {
  content: '';
  position: absolute;
  left: 69px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: linear-gradient(to bottom, var(--c-secondary), var(--c-primary));
}
.historia-item {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding-bottom: 36px;
}
.historia-year {
  width: 54px;
  flex-shrink: 0;
  font-weight: 800;
  font-size: .85rem;
  color: var(--c-secondary);
  letter-spacing: .04em;
  padding-top: 1px;
  text-align: right;
}
.historia-line {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--c-secondary);
  flex-shrink: 0;
  margin: 1px 0 0 8px;
  box-shadow: 0 0 0 4px rgba(81,192,237,.20);
  position: relative;
  z-index: 1;
}
.historia-body {
  padding-left: 16px;
}

/* ── Topbar SVG icons ── */
.topbar-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
  opacity: .9;
  flex-shrink: 0;
}

.topbar-socials svg {
  width: 16px;
  height: 16px;
  display: block;
}

/* ── Footer logo same size as nav ── */
.footer-logo {
  height: 48px;
  width: auto;
  display: block;
  margin-bottom: 16px;
}
.footer-brand-col img { height: 48px; width: auto; display: block; margin-bottom: 16px; }

/* ── Home service card: centered buttons ── */
.home-service-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.card-feature-img__body::before{
  content:none !important;
  display:none !important;
}

#postulacion-cards .card{
  text-align:center;
}

#postulacion-cards .btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
}

nav strong::after{
  display:none !important;
  content:none !important;
}

.nav-dropdown-menu{
  background: rgba(8,58,127,.92) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.nav-dropdown-menu a{
  color:#fff !important;
}

.nav-dropdown-menu a:hover{
  color:#fff !important;
  background:rgba(255,255,255,.10);
}

.testimonial{
  display:flex;
  flex-direction:column;
}

.testimonial-text{
  min-height: 140px;
}

.testimonial-author{
  margin-top:auto;
}

/* Base */
.logo-big{
  max-height: 32px !important;
}

.logos-track .logo-item img{
  max-width:45% !important;
  max-height:24px !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Ajuste final logos carrusel */
.confian-reference-section .logos-track .logo-item img,
.logos-track-wrap .logos-track .logo-item img {
  height: auto !important;
  max-width: 60% !important;
  max-height: 32px !important;
  object-fit: contain !important;
}

#ventajas .card-light{
  background:#fff;
  color:var(--c-text);
  border:1px solid rgba(255,255,255,.18);
}

#ventajas .card-light h3{
  color:var(--c-primary);
}

#ventajas .card-light p{
  color:var(--c-text);
}

#ventajas .card-light strong{
  color:var(--c-text);
}

#ventajas .card-light strong{
  color: var(--c-text) !important;
}

#ventajas .card-light strong{
  color: #000 !important;
}

/*
#ventajas .card-light p,
#ventajas .card-light p strong{
  color: var(--c-text) !important;
}

 Hospital Italiano 
img[alt="Hospital Italiano"]{
  max-height: 90px !important;
}*/

/* Swiss Medical 
img[alt="Swiss Medical"]{
  max-height: 90px !important;
}*/

/* Hospital Británico 
img[alt="Hospital Británico"]{
  max-height: 85px !important;
}*/

/* OSECAC 
img[alt="OSECAC"]{
  max-height: 110px !important;
}*/

/* Provincia ART 
img[alt="Provincia ART"]{
  max-height: 105px !important;
}*/

/* YPF 
img[alt="YPF"]{
  width:20px !important;
height:20px !important;
}*/

.director-photo{
  flex: 0 0 380px;
}

.director-photo img{
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 16px;
}

/* DEL SANATORIO AL DOMICILIO  */
.ct-section {
  background: var(--c-primary, #0c326e);
  padding: 0;
  overflow: hidden;
}
.ct-hero {
  padding: 4.5rem 0 3.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ct-hero .ct-logo {
  width: 440px;
  max-width: 90%;
  height: auto;
  margin-bottom: 2.25rem;
}
.ct-hero h2 {
  font-size: clamp(2rem, 4vw, 2.9rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.15;
  margin: 0 auto 1rem;
  max-width: 640px;
  letter-spacing: -.02em;
}
.ct-hero h2 em {
  font-style: normal;
  color: var(--c-secondary, #3ab8e8);
}
.ct-hero > p {
  font-size: 1.05rem;
  color: rgba(255,255,255,.65);
  max-width: 650px;
  line-height: 1.3;
  margin: 0;
}
.ct-franja {
  background: var(--c-secondary, #3ab8e8);
  padding: 1.4rem 2rem;
  text-align: center;
}
.ct-franja p {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.01em;
  line-height: 1.4;
}
.ct-pasos-wrap {
  padding: 0 0 4rem;
}
.ct-pasos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.ct-paso {
  padding: 2.25rem 2.75rem;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  transition: background .2s;
}
.ct-paso:nth-child(odd) {
  border-right: 1px solid rgba(255,255,255,.08);
}
.ct-paso:hover {
  background: rgba(255,255,255,.04);
}
.ct-paso__num {
  font-size: 2.75rem;
  font-weight: 900;
  color: var(--c-secondary, #3ab8e8);
  line-height: 1;
  flex-shrink: 0;
  letter-spacing: -.04em;
  min-width: 3.25rem;
}
.ct-paso__text {
  padding-top: .4rem;
}
.ct-paso__text strong {
  display: inline;
  font-size: .97rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .3rem;
  line-height: 1;
}
.ct-paso__text span {
  display: inline;
  font-size: .87rem;
  color: rgba(255,255,255,.55);
  line-height: 1;
}
.ct-cta {
  text-align: center;
  padding: 0 0 4.5rem;
}
@media (max-width: 720px) {
  .ct-pasos-grid { grid-template-columns: 1fr; }
  .ct-paso:nth-child(odd) { border-right: none; }
  .ct-paso { padding: 1.5rem 1.25rem; }
  .ct-hero { padding: 3rem 1.25rem 2.5rem; }
}

#confian .logo-item img{
  max-height: 38px !important;
  max-width: 120px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

#confian .logos-track .logo-item{
  min-width: 170px !important;
  padding: 1rem 1.6rem !important;
}

#confian .logos-track .logo-item img{
  height: 90px !important;
  max-height: 90px !important;
  max-width: 160px !important;
  width: auto !important;
  object-fit: contain !important;
}

.card-feature-overlay{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:420px;
  padding:0;
}

.card-feature-overlay .card-feature-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.card-feature-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      to top,
      rgba(12,50,110,.95) 0%,
      rgba(12,50,110,.85) 35%,
      rgba(12,50,110,.35) 75%,
      rgba(12,50,110,.10) 100%
    );
}

.card-feature-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:2rem;
}

.card-feature-content h3 span{
  color:var(--c-secondary);
}

.card-feature-content h3{
  color:#fff;
  font-size:1.1rem;
  line-height:1.3;
  margin-bottom:.65rem;
  font-weight:700;
}

.card-feature-content p{
  color:rgba(255,255,255,.9);
  font-size:.92rem;
  line-height:1.45;
  margin:0;
}

/* Propósito - Misión - Visión */

#pmv-section{
  background:var(--c-primary) !important;
}

#pmv-section .section-header h2{
  color:#fff !important;
}

#pmv-section .pmv-card{
  background:#fff !important;
  color:#1f2937 !important;
  border:none !important;
}

#pmv-section .pmv-card h3{
  color:var(--c-primary) !important;
}

#pmv-section .pmv-card p{
  color:#1f2937 !important;
}

/* VALORES */

#valores-section{
  background: var(--c-primary) !important;
}

#valores-section .section-header h2{
  color:#fff !important;
}

#valores-section .section-header p{
  color:rgba(255,255,255,.8) !important;
}

#valores-section .card-feature{
  background:#fff !important;
  border-radius:16px;
  padding:2rem;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

#valores-section .card-feature h3{
  color:var(--c-primary) !important;
}

#valores-section .card-feature p{
  color:#374151 !important;
}

#valores-section .card-feature span{
  color:var(--c-secondary) !important;
}


/* =========================================================
   CAPA DE RESPONSIVE HARDENING  (v1 - 2026-07)
   Aditiva: no modifica reglas previas. Solo endurece la
   responsividad ya existente. Breakpoints estándar:
     Móvil   < 768px
     Tablet  768px – 1024px
     Desktop > 1024px
   ========================================================= */

/* --- 1. Red de seguridad anti scroll horizontal --------- */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100%; }

/* Ningún medio embebido debe empujar el ancho del viewport */
img, svg, video, canvas, iframe, picture {
  max-width: 100%;
}
video { height: auto; }

/* Palabras muy largas (URLs, mails) no rompen el layout */
p, li, a, h1, h2, h3, h4, h5, h6, span, .lead {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* --- 2. Touch targets accesibles (>=44px) en táctil ----- */
@media (max-width: 1024px) {
  .btn { min-height: 44px; }
  /* Área táctil cómoda en el menú móvil */
  .nav.open .nav-links a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .nav-toggle,
  .menu-toggle,
  .hamburger {
    min-width: 44px;
    min-height: 44px;
  }
  .float-whatsapp { min-width: 44px; min-height: 44px; }
}

/* NOTA: el sistema de grillas (.grid-2/3/4) ya usa
   repeat(auto-fit, minmax()) + reglas !important en 880/540px,
   por lo que colapsa correctamente solo. No se toca. */

/* --- 3. Móvil (< 768px): padding lateral consistente ---- */
@media (max-width: 767px) {
  .container,
  .container-wide { padding-left: 16px; padding-right: 16px; }
}

/* --- 4. Pantallas muy chicas (<=360px) ------------------ */
@media (max-width: 360px) {
  .container,
  .container-wide { padding-left: 12px; padding-right: 12px; }
  .btn { padding-left: 18px; padding-right: 18px; }
}

/* --- 5. Grids y listas con estilo INLINE: apilar en móvil -
   Algunos bloques traen grid/columnas fijas escritas en el
   atributo style="" del HTML (mayor especificidad). Como no
   se toca el HTML, se sobrescriben con !important solo en
   móvil (<768px) para que las tarjetas queden una debajo de
   otra y las viñetas en una sola columna. 
@media (max-width: 767px) {
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  [style*="columns:2"],
  [style*="columns: 2"],
  [style*="columns:3"],
  [style*="columns: 3"] {
    column-count: 1 !important;
    column-width: auto !important;
  }
}*/

/* --- 6. Hero Home en móvil: texto abajo, sin tapar caras --
   En desktop el texto va anclado al pie del hero (absolute).
   En móvil pasaba a estático y caía ARRIBA, tapando a las
   personas de la foto. Se ancla el texto al fondo con flex y
   se refuerza el degradé inferior para legibilidad. */
@media (max-width: 980px) {
  .hero-home {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 0;
    padding-bottom: 40px;
  }
  .hero-home > .container {
    position: static;
    bottom: auto;
    padding-left: 24px;
    padding-right: 24px;
  }
  .hero-home::before {
    background: linear-gradient(0deg,
      rgba(8,58,127,.95) 0%,
      rgba(8,58,127,.72) 30%,
      rgba(29,112,183,.30) 58%,
      rgba(29,112,183,.05) 100%);
  }
}

/* --- 7. Menú móvil: submenú SIEMPRE azul, sin caja blanca --
   El desplegable de planes traía fondo blanco en páginas
   internas y azul translúcido en home -> se veía distinto.
   Dentro del menú abierto se funde con el panel azul y usa
   texto blanco, igual en todas las páginas. Specificity alta
   para ganarle a las reglas con !important existentes. */
@media (max-width: 980px) {
  .nav.open .nav-links .nav-dropdown-menu {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .nav.open .nav-links .nav-dropdown-menu a,
  .nav.open .nav-links .nav-dropdown-menu li a {
    color: #fff !important;
  }
  .nav.open .nav-links .nav-dropdown-menu a:hover {
    background: rgba(255,255,255,.10) !important;
    color: #fff !important;
  }
}

/* --- 8. Hero de páginas internas (.page-hero) en móvil ----
   Medía 480px con el contenido centrado y sin espacio para
   el header fijo -> la 1ª línea del título quedaba tapada.
   En móvil se despeja el header con padding-top y se centra
   la imagen de fondo (antes anclada a la derecha). */
@media (max-width: 980px) {
  .page-hero {
    height: auto;
    min-height: 440px;
    padding-top: 184px;
    padding-bottom: 44px;
    background-position: center center;
  }
}
@media (max-width: 768px) {
  .page-hero { padding-top: 176px; min-height: 400px; }
}
@media (max-width: 540px) {
  .page-hero { padding-top: 166px; min-height: 360px; }
}

/* --- 9. Franja de cifras: no tapar el texto del hero -------
   .stats-band-section sube -100px sobre el hero (diseño de
   solape en desktop). En móvil el hero es más alto y ese
   solape tapaba la última línea del texto -> se anula. */
@media (max-width: 768px) {
  .stats-band-section { margin-top: 0 !important; }
}

/* --- 10. Evitar palabras huérfanas en títulos y textos ----
   text-wrap: balance reparte las líneas de los títulos para
   que no quede una sola palabra colgando; pretty evita la
   viuda al final de los párrafos. */
h1, h2, h3, h4,
.hero-home-inner h1,
.page-hero h1,
.section-header h2,
.cta-band h2 {
  text-wrap: balance;
}
p, .lead, li {
  text-wrap: pretty;
}

/* --- 11. Topbar en móvil: teléfonos apilados, país a la
   derecha. Antes los dos teléfonos ocupaban la fila y
   "SIEMPRE Argentina" caía debajo. */
@media (max-width: 768px) {
  .topbar-inner {
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 12px;
  }
  .topbar-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
  .topbar-right {
    margin-left: auto;
    flex-shrink: 0;
  }
}

/* --- 12. Hero Home: eyebrow pegado al título y título sin
   "QUE" colgando. El rótulo traía un translateY heredado que
   lo dejaba flotando lejos del título; se fuerza sin
   desplazamiento con specificity alta. */
@media (max-width: 980px) {
  .hero-home .hero-home-inner .hero-eyebrow {
    transform: none !important;
    margin: 0 auto 14px !important;
    position: static !important;
  }
  .hero-home-inner h1 .hero-line-top,
  .hero-home-inner h1 .hero-line-accent {
    text-wrap: balance;
  }
}

/* --- 13. Hero interno: texto no se corta a la derecha ------
   .page-hero es flex y su .container se encogía al contenido,
   dejando que las líneas largas se desborden (y overflow-x
   hidden las recortaba). Se fuerza el ancho completo para que
   el texto ajuste dentro de la pantalla. */
.page-hero > .container {
  width: 100%;
  min-width: 0;
}
@media (max-width: 980px) {
  .page-hero-inner { max-width: 100%; }
  /* empresas: su padding-top inline duplicaba el espacio
     superior (ya lo aporta .page-hero) -> se anula en móvil */
  #hero-empresas .page-hero-inner { padding-top: 0 !important; }
}

/* --- 14. Pestañas de perfiles (trabajá con nosotros) ------
   El grid de columnas (2 y 3) no colapsaba bien en móvil
   (una regla base reimponía 3 columnas) y el card se salía
   de la pantalla. Se fuerza 1 columna con padding reducido. */
@media (max-width: 980px) {
  .profile-main,
  .profile-info-grid,
  .profile-info-grid-3 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .profile-info-grid,
  .profile-info-grid-3 {
    padding: 24px !important;
  }
  .profile-info-col h4 { font-size: 1.5rem; }
  .profile-tabs { flex-wrap: wrap; }
}

/* --- 15. Footer en móvil: marca centrada + 3 columnas -----
   Marca (logo + párrafo) centrada a lo ancho, y las tres
   columnas de enlaces (Planes, Empresa, Contacto) una al lado
   de la otra. Tipografía compacta para que entren. */
@media (max-width: 520px) {
  .footer-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px 12px;
    margin-bottom: 22px;
    align-items: start;
  }
  .footer-brand-col {
    grid-column: 1 / -1;
    text-align: center;
  }
  .footer-brand-col img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
  }
  .footer-brand-col p {
    margin: 0 auto;
    max-width: 340px;
    font-size: .85rem;
    line-height: 1.35;
  }
  .site-footer { padding: 36px 0 20px; }
  /* Columnas de enlaces compactas e interlineado ajustado.
     El line-height debe ir en el <li> (bloque), no solo en el
     <a>, para acercar las líneas de un enlace que se parte. */
  .site-footer h4 { margin-bottom: 8px; font-size: .72rem; }
  .site-footer li {
    margin-bottom: 8px;
    line-height: 1.2;
  }
  .site-footer a { font-size: .8rem; line-height: 1.2; }
  .footer-contact-list li {
    margin-bottom: 8px;
    line-height: 1.25;
  }
  .footer-contact-list a { line-height: 1.25; }
  .footer-address { margin-top: 8px; font-size: .78rem; line-height: 1.35; }
}

/* --- 16. Hero de empresas: caras arriba, texto abajo ------
   Con el fondo centrado, al crecer el hero las caras se
   recentraban y el texto las seguía tapando. Se sube la foto
   (background top) y se ancla el texto al fondo (flex-end),
   sobre la franja oscura. Interlineado más ajustado. */
@media (max-width: 980px) {
  #hero-empresas {
    align-items: flex-end;
    background-position: center top;
    min-height: 90vh;
    padding-top: 150px;
    padding-bottom: 48px;
  }
  #hero-empresas .page-hero-inner h1 { line-height: 1.12; }
  #hero-empresas .page-hero-inner .lead { line-height: 1.4; }
  #hero-empresas .hero-eyebrow { margin-bottom: 14px !important; }
}

/* --- 17. Formularios: los campos no desbordan a la derecha
   Los input[type=date] y select tienen ancho intrínseco y no
   se achican (min-width:auto), empujando el form más ancho que
   la pantalla. Se fuerzan a 100% y min-width:0 para que ajusten. */
.form-box label,
.form-grid > *,
.form-wrapper > * { min-width: 0; }
.form-box input,
.form-box select,
.form-box textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .form-box { padding: 22px; }
  .form-grid { grid-template-columns: 1fr !important; }
}

/* --- 18. Nav móvil: hamburguesa a la derecha -------------
   Se invierte el orden visual de "Contactar" y la hamburguesa
   con flex order (logo · Contactar · hamburguesa). */
@media (max-width: 980px) {
  .nav-cta { order: 2; margin-left: auto; }
  .nav-toggle { order: 3; }
}

@media (max-width: 980px) {
  .nav-links{
    display:none;
}
}

  .nav-toggle {
    display: block;
  }

  .nav.open .nav-links {
    display: flex;
    position: absolute;
    top: 110px;
    left: 0;
    right: 0;
    flex-direction: column;
    background: #fff;
    padding: 12px 24px 24px;
    box-shadow: var(--shadow-md);
    z-index: 999;
  }


  /* Animación hamburguesa -> X */

.nav-toggle{
    position:relative;
    width:42px;
    height:42px;
    border:none;
    background:none;
    cursor:pointer;
}

.nav-toggle span{
    position:absolute;
    left:8px;
    width:26px;
    height:2px;
    background:#fff;
    border-radius:2px;
    transition:.25s ease;
}

.nav-toggle span:nth-child(1){
    top:12px;
}

.nav-toggle span:nth-child(2){
    top:20px;
}

.nav-toggle span:nth-child(3){
    top:28px;
}

/* Cuando el menú está abierto */

.nav.open .nav-toggle span:nth-child(1){
    transform:rotate(45deg);
    top:20px;
}

.nav.open .nav-toggle span:nth-child(2){
    opacity:0;
}

.nav.open .nav-toggle span:nth-child(3){
    transform:rotate(-45deg);
    top:20px;
}

@media (min-width:981px){
  .nav-toggle{
    display:none !important;
  }

  .nav-links{
    display:flex !important;
  }
}

@media (min-width:981px){
  .nav-links{
    transform:translateY(10px);
  }
}

@media (max-width:980px){

  .section-primary .mt-lg{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
  }

  .section-primary .mt-lg > .card{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

}

@media (max-width:980px){

  section#ventajas .container > .grid.grid-3{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:24px !important;
  }

  section#ventajas .container > .grid.grid-3 > .card{
    width:100% !important;
    max-width:530px !important;
    flex:none !important;
  }

}


.servicios-mobile-carousel{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2rem;
}

@media (max-width:980px){

    .servicios-mobile-carousel{
        display:flex;
        overflow-x:auto;
        gap:18px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        padding-bottom:10px;
    }

    .servicios-mobile-carousel > article{
        flex:0 0 88%;
        max-width:88%;
        scroll-snap-align:center;
    }

    .servicios-mobile-carousel::-webkit-scrollbar{
        display:none;
    }

}

.servicios-carousel-wrap{
  position:relative;
}

.servicios-carousel-btn,
.servicios-carousel-dots{
  display:none;
}

@media (max-width:980px){

  .servicios-carousel-wrap{
    position:relative;
  }

  .servicios-mobile-carousel{
    display:flex;
    overflow-x:auto;
    gap:18px;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding-bottom:12px;
  }

  .servicios-mobile-carousel > article{
    flex:0 0 88%;
    max-width:88%;
    scroll-snap-align:center;
  }

  .servicios-mobile-carousel::-webkit-scrollbar{
    display:none;
  }

  .servicios-carousel-btn{
    display:flex;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:42px;
    height:42px;
    border-radius:50%;
    border:0;
    background:#fff;
    color:var(--c-primary);
    align-items:center;
    justify-content:center;
    font-size:2rem;
    line-height:1;
    box-shadow:0 8px 24px rgba(0,0,0,.16);
  }

  .servicios-prev{
    left:4px;
  }

  .servicios-next{
    right:4px;
  }

  .servicios-carousel-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:14px;
  }

  .servicios-carousel-dots button{
    width:9px;
    height:9px;
    border-radius:50%;
    border:0;
    background:rgba(8,58,127,.25);
    padding:0;
  }

  .servicios-carousel-dots button.active{
    width:28px;
    border-radius:999px;
    background:var(--c-secondary);
  }

}

@media (max-width:980px){

  .section-quienes-somos{
    padding:110px 0 64px !important;
    position:relative;
    overflow:hidden;
  }

  .quienes-content h2{
    font-size:2rem !important;
    line-height:1.08 !important;
  }

  .quienes-content p br{
    display:none !important;
  }

  .quienes-content p{
    max-width:360px !important;
    font-size:.95rem !important;
    line-height:1.55 !important;
  }

  .quienes-map-parallax{
    display:block !important;
    position:absolute !important;
    width:95% !important;
    right:-42% !important;
    top:165px !important;
    opacity:.28 !important;
    z-index:1 !important;
  }

  .quienes-layout,
  .quienes-content,
  .quienes-stats-row{
    position:relative !important;
    z-index:2 !important;
  }

  .stats-grid-on-dark-row{
    display:grid !important;
    grid-template-columns:repeat(3, 1fr) !important;
    gap:8px !important;
    width:100% !important;
  }

  .stats-grid-on-dark-row > div{
    padding:16px 8px !important;
    min-height:82px !important;
  }

  .stats-grid-on-dark-row .stat-number{
    font-size:1.45rem !important;
    line-height:1 !important;
  }

  .stats-grid-on-dark-row .stat-label{
    font-size:.62rem !important;
    line-height:1.2 !important;
  }

}

/* ===========================
   Carrusel Equipo (Mobile)
=========================== */

.equipo-carousel-wrap{
  display:block;
}

.equipo-mobile-carousel{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
}

.equipo-carousel-btn,
.equipo-carousel-dots{
  display:none;
}

@media (max-width:980px){

    .equipo-carousel-btn{
    display:flex;
    align-items:center;
    justify-content:center;
}

    /* Oculta el layout desktop */
    .equipo-cols{
        display:none;
    }

    /* Muestra el carrusel */
    .equipo-carousel-wrap{
        display:flex;
        align-items:center;
        gap:10px;
    }

    .equipo-mobile-carousel{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        gap:18px;
        width:100%;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }

    .equipo-mobile-carousel::-webkit-scrollbar{
        display:none;
    }

    .equipo-mobile-carousel .equipo-prof-card{
        flex:0 0 100%;
        scroll-snap-align:start;
    }

    .equipo-carousel-btn{
        width:42px;
        height:42px;
        border:none;
        border-radius:50%;
        background:#083A7F;
        color:#fff;
        font-size:22px;
        cursor:pointer;
        flex-shrink:0;
    }

    .equipo-carousel-dots{
        display:flex;
        justify-content:center;
        gap:8px;
        margin-top:18px;
    }

    .equipo-carousel-dots button{
        width:8px;
        height:8px;
        border-radius:50%;
        border:none;
        background:#c7d3e5;
        cursor:pointer;
    }

    .equipo-carousel-dots button.active{
        background:#56C0F0;
    }

}

/*=========================
  Carrusel Confianza
==========================*/

.confianza-carousel-wrap{
    display:block;
}

.confianza-mobile-carousel{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.confianza-carousel-btn,
.confianza-carousel-dots{
    display:none;
}

@media (max-width:980px){

    .confianza-mobile-carousel{
      width:100%;
      padding:0 8px;
    }

    .confianza-carousel-wrap{
      gap:6px;
    }

    .confianza-carousel-btn{
      flex:0 0 38px;
      width:38px;
      height:38px;
    }

    .confianza-mobile-carousel{
        display:flex;
        overflow-x:auto;
        gap:18px;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        scrollbar-width:none;
    }

    .confianza-mobile-carousel::-webkit-scrollbar{
        display:none;
    }

    .confianza-mobile-carousel .card-feature{
      flex:0 0 82% !important;
     max-width:82% !important;
     min-width:82% !important;
      scroll-snap-align:center;
    }

    .confianza-carousel-wrap{
        display:flex;
        align-items:center;
        gap:10px;
    }

    .confianza-carousel-btn{
        display:flex;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        border-radius:50%;
        border:none;
        background:#083A7F;
        color:#fff;
        font-size:22px;
        cursor:pointer;
    }

    .confianza-carousel-dots{
        display:flex;
        justify-content:center;
        gap:8px;
        margin-top:18px;
    }

    .confianza-carousel-dots button{
        width:8px;
        height:8px;
        border:none;
        border-radius:50%;
        background:#c7d3e5;
    }

    .confianza-carousel-dots button.active{
        background:#56C0F0;
    }

}

@media (max-width:980px){

  .quality-band{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:0 !important;
  }

  .quality-item{
    position:relative !important;
    border-right:none !important;
    border-bottom:none !important;
    padding:28px 18px !important;
  }

  /* línea vertical corta */
  .quality-item:nth-child(odd)::after{
    content:"";
    position:absolute;
    right:0;
    top:22%;
    width:1px;
    height:56%;
    background:rgba(255,255,255,.22);
  }

  /* línea horizontal corta */
  .quality-item:nth-child(n+3)::before{
    content:"";
    position:absolute;
    left:12%;
    top:0;
    width:76%;
    height:1px;
    background:rgba(255,255,255,.22);
  }

}


@media (max-width:980px){

#valores-section .grid.grid-3{
    display:grid;
    grid-template-columns:repeat(2,1fr) !important;
    gap:16px;
}

#valores-section .card-feature{
    aspect-ratio:1/1;
    padding:18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin:0;
}

#valores-section .card-feature h3{
    font-size:1.15rem;
    margin-bottom:12px;
}

#valores-section .card-feature p{
    font-size:.92rem;
    line-height:1.45;
    margin:0;
}

}

@media (max-width:980px){

 .stats-band-item{
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.18);

    padding:34px 20px 60px;
    margin-bottom:12px;
}

.stats-band-item:last-child{
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:20px;
}

}

@media (max-width:980px){

  .profile-tabs{
    overflow:hidden;
    border-radius:22px;
  }

  .profile-tab{
    border-radius:0 !important;
    margin:0 !important;
  }

  /* Primera pestaña */
  .profile-tab:first-child{
    border-radius:22px 22px 0 0 !important;
  }

  /* Pestaña del medio */
  .profile-tab:nth-child(2){
    border-radius:0 !important;
  }

  /* Última pestaña */
  .profile-tab:last-child{
    border-radius:0 0 22px 22px !important;
  }

}

@media (max-width:980px){

  .branches-nav{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:10px !important;
    max-width:420px;
    margin:0 auto 32px;
  }

  .branch-tab{
    flex:0 0 auto !important;
    text-align:center !important;
    white-space:nowrap;
  }

}



@media screen and (max-width: 860px){

  .feature-band .feature-band-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .feature-band .feature-band-grid .feature-band-item{
    position:relative !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    border-bottom:1px solid rgba(255,255,255,.18) !important;
    padding:32px 20px !important;
    margin:0 !important;
  }

  .feature-band .feature-band-grid .feature-band-item:last-child{
    border-bottom:0 !important;
  }

  .feature-band .feature-band-grid .feature-band-item::before,
  .feature-band .feature-band-grid .feature-band-item::after,
  .feature-band .feature-band-grid .feature-band-item:nth-child(odd)::before,
  .feature-band .feature-band-grid .feature-band-item:nth-child(odd)::after{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    border:0 !important;
  }

}

@media (max-width:900px){

  .stats-band-section{
    margin-top:-30px !important;
    padding:0 18px !important;
  }

  .stats-band-section .container{
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .stats-band{
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:34px 22px !important;
    box-sizing:border-box !important;
    gap:0 !important;
  }

  .stats-band-item{
    width:100% !important;
    position:relative !important;
    padding:34px 12px 42px !important;
    box-sizing:border-box !important;
    border-bottom:none !important;
  }

  .stats-band-item::after{
    display:none !important;
  }

  .stats-band-item:not(:last-child)::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:78%;
    height:1px;
    background:rgba(255,255,255,.18);
  }

  .stats-band-item:not(:last-child){
    margin-bottom:20px !important;
  }

}

@media (max-width:900px){

  .stats-band{
    grid-template-columns:1fr;
    gap:34px;
  }

  .stats-band-item:not(:last-child)::after{
    display:none;
  }

}

@media (max-width:520px){

  #valores-section .grid.grid-3{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    width:100% !important;
  }

  #valores-section .card-feature{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    aspect-ratio:1 / 1;
    padding:16px !important;
    box-sizing:border-box !important;
    overflow:hidden;
  }

  #valores-section .card-feature h3{
    font-size:1rem !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere;
  }

  #valores-section .card-feature p{
    font-size:.8rem !important;
    line-height:1.35 !important;
    overflow-wrap:anywhere;
  }

}

@media (max-width: 768px){

  .testimonios-carousel{
    gap: 18px !important;
    padding: 0 8px 14px !important;
  }

  .testimonio-video-card{
    flex: 0 0 88% !important;
    width: 82% !important;
    max-width: 82% !important;
    min-width: 82% !important;
  }

  .testimonio-video-card video{
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

}

/* Redes solo mobile */

.footer-socials-mobile{
    display:none;
}

@media (max-width:768px){

    /* Oculta las redes del header */
    .topbar-socials{
        display:none !important;
    }

    /* Muestra las del footer */
    .footer-socials-mobile{
        display:flex;
        justify-content:center;
        gap:14px;
        margin-top:22px;
    }

    .footer-socials-mobile a{
        width:42px;
        height:42px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        transition:.25s;
    }

    .footer-socials-mobile svg{
        width:18px;
        height:18px;
        fill:#fff;
    }

    .footer-socials-mobile a:hover{
        background:var(--c-secondary);
        border-color:var(--c-secondary);
    }

    

}

@media (max-width:768px){

    .country-dropdown-wrap{
        display:none !important;
    }

}

@media (max-width:768px){

  .topbar-left{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:14px !important;
    flex-wrap:nowrap !important;
    width:100% !important;
  }

  .topbar-left a{
    white-space:nowrap !important;
    font-size:.76rem !important;
  }

}

@media (max-width:768px){

  .section-quienes-somos{
    min-height:0 !important;
    height:auto !important;
    padding:48px 0 40px !important;
  }

  .section-quienes-somos > .container{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .quienes-map-parallax{
    display:none !important;
  }

  .quienes-layout{
    min-height:0 !important;
    height:auto !important;
    display:block !important;
  }

  .quienes-content{
    min-height:0 !important;
    height:auto !important;
  }

  .quienes-stats-row{
    margin-top:28px !important;
    padding-bottom:0 !important;
  }

}

@media (max-width:768px){

  .hero{
    background-position: right center !important;
  }

  .page-hero{
    background-size: auto 100% !important;
    background-position: right center !important;
}

}

@media (max-width:768px){

  .prevenite-logo-badge,
  .inmediato-logo-badge{
    display:none !important;
  }

}

.page-hero h1{
    line-height:1 !important;
}

.page-hero .lead{
    line-height:1.2 !important;
}

@media (max-width:768px){

  .page-hero .hero-ctas{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
  }

  .page-hero .hero-ctas .btn{
    flex:1 1 0 !important;
    width:auto !important;
    min-width:0 !important;
    padding:14px 10px !important;
    font-size:.82rem !important;
    white-space:nowrap !important;
  }

}

@media (max-width:768px){

  .page-hero{
    align-items:flex-start !important;
  }

  .page-hero-inner{
    margin-top:140px !important;
  }

}

.btn-agendar{
  white-space:normal !important;
}

@media (max-width:768px){

  .btn-agendar{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .btn-agendar span{
    display:block !important;
  }

}

@media (max-width:768px){

  .page-hero.hero-sobre-nosotros{
    background-image:url("../img/banners/banner-4-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
  }

}

@media (max-width:768px){

  .testimonios-section{
    min-height:0 !important;
    height:auto !important;
    padding-top:56px !important;
    padding-bottom:56px !important;
  }

  .testimonios-section .container{
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .testimonios-slider-wrap{
    margin-top:28px !important;
    margin-bottom:0 !important;
  }

  .testimonios-dots{
    margin-top:18px !important;
    margin-bottom:0 !important;
  }

}

@media (min-width:769px){

  .page-hero .page-hero-inner{
    position:relative;
    top:55px;
  }

}

.footer-iso{
  display:block;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Desktop: logo en la quinta columna */
.footer-iso-desktop{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
}

.footer-iso-desktop .footer-iso{
  max-width:60px !important;
}

/* Mobile: logo debajo de Planes */
.footer-iso-mobile{
  display:none;
}

@media (max-width:768px){

  .footer-iso-desktop{
    display:none !important;
  }

  .footer-iso-mobile{
    display:block !important;
  }

  .footer-iso-mobile .footer-iso{
    max-width:45px !important;
    margin-top:16px;
  }

}

@media (min-width:769px){

  .site-footer .footer-grid{
    display:grid !important;
    grid-template-columns:
      minmax(280px, 1.35fr)
      minmax(130px, .65fr)
      minmax(190px, .9fr)
      minmax(260px, 1.15fr)
      70px !important;

    column-gap:28px !important;
    align-items:start !important;
  }

  .site-footer .footer-iso-desktop{
    display:flex !important;
    justify-content:center !important;
    align-items:flex-start !important;
    padding-top:4px !important;
  }

  .site-footer .footer-iso-desktop .footer-iso{
    max-width:60px !important;
    margin:0 !important;
  }

}


@media (max-width:768px){

  .page-hero.hero-faq{
    background-image:url("../img/banners/banner-acompanantes-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

}

@media (max-width:768px){

  .page-hero.hero-privacidad{
    background-image:url("../img/banners/banner-politicas-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

}

@media (max-width:768px){

  .page-hero.hero-equipo{
    background-image:url("../img/banners/banner-equipo-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

}

@media (max-width:768px){

  .page-hero.hero-inmediato{
    background-image:url("../img/banners/banner-inmediato-nuevo-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

}

@media (max-width:768px){

  .page-hero.hero-home{
    background-image:url("../img/banners/home-hero-banner-2026-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    min-height:720px !important;
  }

}

@media (min-width:769px){

  .page-hero.hero-home .hero-home-inner .hero-eyebrow{
    transform:translateY(0) !important;
    margin:0 auto 24px !important;
    position:relative !important;
    top:0 !important;
  }

}

@media (min-width:769px){

  .plan-prevenite-hero .page-hero-inner{
    position:relative;
    top:20px;
  }

}

@media (min-width:769px){

  .plan-inmediato-hero .page-hero-inner{
    position:relative;
    top:20px;
  }

}


@media (min-width:769px){

  .hero-sobre-nosotros .page-hero-inner{
    position:relative;
    top:85px !important;
  }

}

@media (min-width:769px){

  .hero-contacto .page-hero-inner{
    position:relative;
    top:90px;
  }

}

@media (max-width:768px){

  .hero-contacto{
    background-image:url("../img/banners/familia-mobile.webp") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

}


.site-header a,
.site-header button{
  -webkit-tap-highlight-color: transparent;
}

.site-header a:active,
.site-header a:focus,
.site-header a:focus-visible,
.site-header button:active,
.site-header button:focus,
.site-header button:focus-visible{
  color: inherit !important;
  outline: none !important;
  box-shadow: none !important;
}

.site-header a,
.site-header button{
  -webkit-user-select:none;
  user-select:none;
}

.site-header .btn-secondary,
.site-header .nav-links a{
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

@media (min-width:769px) and (max-width:1150px){

  .site-header .container{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .main-nav{
    gap:16px !important;
  }

 .nav-logo .logo-white,
.nav-logo .logo-blue{
  width:155px !important;
}

  .nav-links{
    gap:18px !important;
  }

  .nav-links a{
    font-size:.78rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }

  .nav-cta .btn{
    padding:10px 18px !important;
    font-size:.82rem !important;
    min-width:auto !important;
  }

}

/* El isotipo permanece oculto normalmente */
.nav-logo .logo-isotipo{
  display:none !important;
}

/* Solamente en el tramo intermedio */
@media (min-width:981px) and (max-width:1150px){

  .nav-logo .logo-white,
  .nav-logo .logo-blue{
    display:none !important;
  }

  .nav-logo .logo-isotipo{
    display:block !important;
    width:40px;
    height:auto;
  }

}

/* Cuando aparece la hamburguesa */
@media (max-width:980px){

  .nav-logo .logo-isotipo{
    display:none !important;
  }

}

.nav-logo{
    display:inline-flex;
    align-items:center;
    width:155px;
}

.site-header .nav-links a::selection,
.site-header .nav-links a strong::selection{
  background: transparent;
  color: inherit;
}


/* CTA contacto */
.hero-ctas-contact{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.btn-mail{
    background:#fff;
    color:var(--c-primary);
    border:2px solid #fff;
    transition:all .25s ease;
}

.btn-mail:hover{
    background:transparent;
    color:#fff;
}

@media (max-width:768px){

    .hero-ctas-contact{
        flex-direction:column;
        align-items:center;
    }

    .hero-ctas-contact .btn{
        width:100%;
        max-width:340px;
        justify-content:center;
    }

}

.cta-band-bg{

    background:
        linear-gradient(
            rgba(12,50,110,.72),
            rgba(39, 200, 190, 1)
        ),
        url("../img/banners/banner-prevenite-cta.webp"),
        linear-gradient(135deg,#2d5f9c,#66d8cf);

    background-size:
        cover,
        cover,
        cover;

    background-position:
        center,
        center,
        center;

    background-repeat:no-repeat;
} 

.cta-band-bg h2{
  margin-bottom: 20px;
  line-height: 1.08;
}

.cta-band-bg > p{
  margin-bottom: 28px;
  line-height: 1.25;
}

.cta-band-bg .hero-ctas{
  margin-top: 0;
  margin-bottom: 24px;
}

.cta-band-bg .cta-small{
  margin: 0;
  line-height: 1.3;
}

.cta-band-bg .cta-small-home{
    max-width: none;
    text-align: center;
}

/* CTA inmediato */

.cta-band-inmediato-bg{
  background:
    linear-gradient(
      rgba(12,50,110,.72),
      rgba(12,50,110,.72)
    ),
    url("../img/banners/banner-inmediato-cta.webp"),
    linear-gradient(135deg, #2d5f9c, #51C0ED);

  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
}

.cta-band-inmediato-bg .cta-small-inmediato{
  max-width: none;
  width: 100%;
  margin: 28px 0 0;
  text-align: center;
}

.cta-band-nosotros{
  background:
    linear-gradient(
      rgba(12,50,110,.72),
      rgba(12,50,110,.72)
    ),
    url('../img/banners/banner-4-cta.webp'),
    linear-gradient(135deg, #2d5f9c, #51C0ED) !important;

  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.hero-home .hero-content{
    transform: translateY(45px);
}

.logo-item img{
  height: 90px !important;
  max-width: 220px !important;
}

.privacy-text {
  text-align: left !important;
}

.privacy-header {
  max-width: none !important;
  width: 100% !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.privacy-header .privacy-text {
  max-width: none !important;
  width: 100% !important;
  text-align: left !important;
}

/* ===== Migracion SEO 2026-09 ===== */

/* Los titulos del footer y de la feature band pasaron de <h4> a <h2> para que
   la jerarquia de encabezados no salte niveles. Estas reglas reusan el mismo
   aspecto que tenian como h4. */
.site-footer h2.footer-heading-accent {
  color: #fff;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  margin-bottom: 16px;
}
.feature-band-item h2 {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0;
  letter-spacing: .01em;
}
@media (max-width: 640px) {
  .site-footer h2.footer-heading-accent { margin-bottom: 8px; font-size: .72rem; }
}

/* faq.html tenia dos h1: el de la seccion paso a h2 y conserva el tamano del h1. */
.faq-page-section .section-header h2 {
  color: var(--c-accent);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  margin-bottom: 14px;
}

/* El banner de politica-de-privacidad tenia un <h1> vacio que solo ocupaba
   lugar (un h1 vacio es un error de SEO). Este bloque reserva el mismo alto:
   una linea del h1 del hero (line-height 1) mas su margen. */
.page-hero .hero-titulo-vacio {
  display: block;
  height: clamp(1.8rem, 3.2vw, 2.6rem);
  margin-bottom: 14px;
}
@media (max-width: 768px) {
  .page-hero .hero-titulo-vacio { height: clamp(1.7rem, 6vw, 2.2rem); }
}

/* Aviso de resultado de los formularios (lo inserta assets/js/forms.js). */
.form-aviso {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-size: .92rem;
  line-height: 1.45;
}
.form-aviso--ok {
  background: #EAF7F1;
  color: #1c6c4c;
  border: 1px solid var(--c-success);
}
.form-aviso--error {
  background: #FDECEC;
  color: #9b2c2c;
  border: 1px solid #e8a9a9;
}
.form-box button[type="submit"][disabled] {
  opacity: .6;
  cursor: progress;
}

/* Boton de chat de AsisteClick: el reset global "img, svg { display: block }"
   bajaba el texto "Chat Online" abajo del icono y lo dejaba fuera del boton.
   Se devuelve al display inline que el widget espera (como en siemprearg.com). */
#asisteclick_button_floating svg,
#asisteclick_button_floating img {
  display: inline;
}

/* El boton del chat como en siemprearg.com: alli el CSS adicional del WordPress
   (<style id="wp-custom-css">) lo lleva a 63px de alto; el widget trae 48px. El
   interlineado de 24px es el que el boton hereda alli del tema, y define donde
   quedan el icono y el texto adentro (2026-10-22). */
#asisteclick_button_floating #asisteclick_button_css {
  height: 63px;
  line-height: 24px;
}

/* El titulo de la tarjeta "Atencion a Personas" de la portada lleva a /personas/
   (n.º 4 de la planilla de Mediabros; lo eligio Denise el 2026-10-28): un enlace
   para Google que no cambia lo que se ve, ni al pasar el mouse. Sin esto toma el
   azul de "a" y el color de "a:hover". */
.enlace-tarjeta,
.enlace-tarjeta:hover {
  color: inherit;
}

/* ===== Plan Prevenite: verde en lugar de celeste (2026-10) ===== */

/* Pedido de SIEMPRE: la pagina de Prevenite usa el azul del sitio y el verde de
   Prevenite, sin un tercer color. Lo que el contenido tenia en celeste pasa a
   --c-prevenite: las etiquetas de seccion, "gratuito y personalizado" y los
   iconos del diagrama (traen el celeste como atributo del SVG). El aro de la foto
   central esta recoloreado en asistencia-paciente-prevenite.webp; Plan Inmediato
   sigue usando la foto original. El encabezado y el pie son de todo el sitio y no
   se tocan. El gancho es la clase pagina-prevenite del <body>: plan-prevenite-page
   no sirve porque arrastra reglas viejas del banner y del desplegable. */
.pagina-prevenite .eyebrow,
.pagina-prevenite .text-celeste {
  color: var(--c-prevenite) !important;
}
.pagina-prevenite [stroke="#51C0ED"] { stroke: var(--c-prevenite); }
.pagina-prevenite [fill="#51C0ED"] { fill: var(--c-prevenite); }
