.elementor-10 .elementor-element.elementor-element-48832ea6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-2474afc0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-5019cfc9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-1f0dcdfd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-2ed65a2c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-17586257{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-5fae041c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-41d7e804{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-10 .elementor-element.elementor-element-fccbd22{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-fe38a29 *//*─── HERO HOME PAGE────────────────*/
#dv-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, var(--color-navy, #152850) 0%, #11323e 55%, #0e3d3d 100%);
}

/* Línea de acento superior */
#dv-hero .dv-hero__accent-line {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-teal, #2FA8A8) 0%, transparent 70%);
  z-index: 3;
}

/* Círculos decorativos */
#dv-hero .dv-hero__circle-lg,
#dv-hero .dv-hero__circle-sm {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
#dv-hero .dv-hero__circle-lg {
  top: 15%; left: 40%;
  width: 480px; height: 480px;
  border: 1px solid rgba(47,168,168,0.08);
}
#dv-hero .dv-hero__circle-sm {
  top: 25%; left: 45%;
  width: 280px; height: 280px;
  border: 1px solid rgba(47,168,168,0.05);
}

/* Foto derecha — absolute full height */
#dv-hero .dv-hero__photo-wrap {
  position: absolute;
  top: 0; right: 0;
  width: 50%; height: 100%;
}
#dv-hero .dv-hero__photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}
#dv-hero .dv-hero__photo-fade-left {
  position: absolute; inset: 0;
  background: linear-gradient(to right, #11323e 0%, rgba(14,61,61,0.6) 30%, transparent 65%);
}
#dv-hero .dv-hero__photo-fade-bottom {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(21,40,80,0.5) 0%, transparent 40%);
}

/* Contenido izquierdo */
#dv-hero .dv-hero__content {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-xl, 48px);
  width: 100%;
  box-sizing: border-box;
}
#dv-hero .dv-hero__inner {
  max-width: 580px;
}

/* Subtag especialidad */
#dv-hero .dv-hero__subtag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}
#dv-hero .dv-hero__subtag-line {
  width: 32px; height: 1.5px;
  background: var(--color-teal, #2FA8A8);
  flex-shrink: 0;
}
#dv-hero .dv-hero__subtag-text {
  font-size: 11px;
  letter-spacing: var(--tracking-widest, 0.2em);
  text-transform: uppercase;
  color: var(--color-teal, #2FA8A8);
}

/* H1 */
#dv-hero .dv-hero__h1 {
  font-weight: 400;
  font-size: var(--text-hero, clamp(48px, 6.5vw, 84px));
  line-height: var(--leading-tight, 1.0);
  color: #fff !important; /* texto blanco sobre fondo oscuro */
  margin: 0 0 28px;
  letter-spacing: -0.01em;
}
#dv-hero .dv-hero__h1 em {
  font-style: italic;
  color: rgba(255,255,255,0.6) !important; /* texto blanco (opaco) sobre fondo oscuro */
}

/* Párrafo intro */
#dv-hero .dv-hero__p {
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,0.68);
  max-width: 440px;
  margin: 0 0 44px;
}

/* CTAs */
#dv-hero .dv-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Scroll indicator */
#dv-hero .dv-hero__scroll {
  position: absolute;
  bottom: 32px; right: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 2;
}
#dv-hero .dv-hero__scroll-text {
  font-size: 10px;
  letter-spacing: var(--tracking-widest, 0.2em);
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  writing-mode: vertical-rl;
  animation: dv-scroll-pulse 2s ease-in-out infinite;
}
#dv-hero .dv-hero__scroll-line {
  width: 1px; height: 48px;
  background: rgba(255,255,255,0.2);
}

@keyframes dv-scroll-pulse {
  0%, 100% { opacity: 0.35; }
  50%       { opacity: 0.7; }
}

/* Tablet */
@media (max-width: 1024px) {
  #dv-hero .dv-hero__photo-wrap { width: 45%; }
  #dv-hero .dv-hero__circle-lg  { left: 38%; }
}

/* Móvil */
@media (max-width: 768px) {
  #dv-hero {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    padding-bottom: 60px;
  }
  #dv-hero .dv-hero__photo-wrap {
    width: 100%;
    opacity: 0.45;
  }
  #dv-hero .dv-hero__content {
    padding: 120px 24px 0;
  }
  #dv-hero .dv-hero__scroll,
  #dv-hero .dv-hero__circle-lg,
  #dv-hero .dv-hero__circle-sm { display: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-37993dd1 */#dv-servicios {
  background: var(--color-bg-primary, #edf4f4);
  padding: var(--section-gap, 120px) var(--space-xl, 48px);
}
#dv-servicios .dvs-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
#dv-servicios .dvs-title {
  font-size: var(--text-3xl, clamp(28px, 3.5vw, 44px));
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: var(--leading-snug, 1.1);
  color: var(--color-navy, #152850);
  margin: 0 0 16px;
}
#dv-servicios .dvs-subtitle {
  font-size: 17px;
  color: #718096;
  max-width: 520px;
  margin: 0 auto 56px;
}

/* Toggle pill strip */
#dv-servicios .dvs-toggle {
  display: inline-flex;
  gap: 4px;
  background: #fff;
  border: 1px solid #dde3ed;
  border-radius: 100px;
  padding: 5px;
  box-shadow: var(--shadow-sm, 0 2px 12px rgba(21,40,80,0.07));
  margin-bottom: 64px;
}
#dv-servicios .dvs-pill {
  font-size: 11px;
  letter-spacing: var(--tracking-wider, 0.12em);
  text-transform: uppercase;
  padding: 10px 24px;
  border-radius: 100px;
  border: none;
  background: transparent;
  color: #718096;
  cursor: pointer;
  transition: all 0.25s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
  white-space: nowrap;
  line-height: 1;
}
#dv-servicios .dvs-pill:hover:not(.dvs-pill--active) {
  background: rgba(21,40,80,0.05);
  color: var(--color-navy, #152850);
}
#dv-servicios .dvs-pill--active {
  background: var(--color-navy, #152850);
  color: #fff !important; /* texto blanco sobre fondo oscuro */
}

/* Grid de procedimientos */
#dv-servicios .dvs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  text-align: left;
  margin-bottom: 40px;
}

/* Chip de procedimiento */
#dv-servicios .dvs-chip {
  padding: 18px 20px;
  border: 1px solid #e2e8f0;
  border-radius: 2px;
  background: #fff;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  transition: border-color 0.2s var(--ease-out, cubic-bezier(0.4,0,0.2,1)),
              background   0.2s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-servicios .dvs-chip:hover {
  border-color: var(--color-steel, #1A6F94);
  background: rgba(26,111,148,0.03);
}
#dv-servicios .dvs-chip__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-silver, #C8CDD8);
  flex-shrink: 0;
  margin-top: 7px;
  transition: background 0.2s;
}
#dv-servicios .dvs-chip:hover .dvs-chip__dot {
  background: var(--color-teal, #2FA8A8);
}
#dv-servicios .dvs-chip__name {
  font-size: 16px;
  font-weight: 500;
  color: #2d3748;
  line-height: 1.3;
  margin: 0;
  transition: color 0.2s;
}
#dv-servicios .dvs-chip:hover .dvs-chip__name {
  color: var(--color-navy, #152850);
}
#dv-servicios .dvs-chip__desc {
  font-size: 12px;
  color: #a0aec0;
  margin: 3px 0 0;
  line-height: 1.4;
}
#dv-servicios .dvs-note {
  font-size: 14px;
  color: #a0aec0;
  margin: 0;
}

@media (max-width: 768px) {
  #dv-servicios { padding: var(--section-gap-mobile, 56px) 24px; }
  #dv-servicios .dvs-grid { grid-template-columns: 1fr; gap: 8px; }
  #dv-servicios .dvs-toggle { flex-wrap: wrap; border-radius: 12px; margin-bottom: 40px; }
  #dv-servicios .dvs-pill { padding: 10px 16px; font-size: 10px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-77e6d192 */#dv-diferenciadores {
  background: var(--color-bg-secondary, #e4eef0);
  padding: var(--section-gap, 120px) var(--space-xl, 48px);
}
#dv-diferenciadores .dvd-inner {
  max-width: 1280px;
  margin: 0 auto;
}

/* Header split 1fr / 1fr */
#dv-diferenciadores .dvd-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl, 80px);
  margin-bottom: 72px;
  align-items: end;
}
#dv-diferenciadores .dvd-header-title {
  font-size: var(--text-3xl, clamp(28px, 3.5vw, 44px));
  font-weight: 400;
  line-height: var(--leading-snug, 1.1);
  color: var(--color-navy, #152850);
  margin: 0;
}
#dv-diferenciadores .dvd-header-text {
  font-size: 17px;
  line-height: 1.75;
  color: #4a5568;
  margin: 0 0 20px;
}
#dv-diferenciadores .dvd-header-link {
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--color-navy, #152850);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1.5px solid var(--color-teal, #2FA8A8);
  padding-bottom: 2px;
  transition: color var(--duration-base, 0.3s) var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-diferenciadores .dvd-header-link:hover {
  color: var(--color-steel, #1A6F94);
}

/* Grid 2×2 */
#dv-diferenciadores .dvd-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

/* Card */
#dv-diferenciadores .dvd-card {
  padding: 48px;
  background: #fff;
  position: relative;
  overflow: hidden;
  transition: background 0.35s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-diferenciadores .dvd-card:hover {
  background: var(--color-navy, #152850);
}

/* Número decorativo */
#dv-diferenciadores .dvd-card__num {
  font-size: 96px;
  font-weight: 400;
  line-height: 1;
  color: rgba(21,40,80,0.06);
  position: absolute;
  top: 16px;
  right: 32px;
  user-select: none;
  pointer-events: none;
  transition: color 0.35s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-diferenciadores .dvd-card:hover .dvd-card__num {
  color: rgba(47,168,168,0.15);
}

/* Acento teal — 32px → 48px en hover */
#dv-diferenciadores .dvd-card__accent {
  width: 32px;
  height: 2px;
  background: var(--color-teal, #2FA8A8);
  margin-bottom: 28px;
  transition: width 0.3s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-diferenciadores .dvd-card:hover .dvd-card__accent {
  width: 48px;
}

/* H3 */
#dv-diferenciadores .dvd-card__title {
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-navy, #152850);
  margin: 0 0 16px;
  max-width: 320px;
  transition: color 0.35s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-diferenciadores .dvd-card:hover .dvd-card__title {
  color: #fff !important; /* texto blanco sobre fondo oscuro */
}

/* Descripción */
#dv-diferenciadores .dvd-card__desc {
  font-size: 15px;
  line-height: 1.75;
  color: #718096;
  margin: 0;
  max-width: 360px;
  transition: color 0.35s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-diferenciadores .dvd-card:hover .dvd-card__desc {
  color: rgba(255,255,255,0.65);
}

@media (max-width: 1024px) {
  #dv-diferenciadores .dvd-header { gap: 48px; }
  #dv-diferenciadores .dvd-card   { padding: 40px; }
}
@media (max-width: 768px) {
  #dv-diferenciadores                { padding: var(--section-gap-mobile, 56px) 24px; }
  #dv-diferenciadores .dvd-header    { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
  #dv-diferenciadores .dvd-grid      { grid-template-columns: 1fr; }
  #dv-diferenciadores .dvd-card      { padding: 32px 28px; }
  #dv-diferenciadores .dvd-card__num { font-size: 72px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4eef77f3 */#dv-cta1 {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  background: linear-gradient(135deg, var(--color-navy, #152850) 0%, #1e1a2e 55%, #2a1f3d 100%);
}

/* Línea acento top */
#dv-cta1 .dvc1-accent-line {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-teal, #2FA8A8) 0%, transparent 0%);
  z-index: 2;
}

/* Foto derecha */
#dv-cta1 .dvc1-photo-wrap {
  position: absolute;
  top: 0; right: 0;
  width: 52%; height: 100%;
}
#dv-cta1 .dvc1-photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
}
#dv-cta1 .dvc1-photo-fade-left {
  position: absolute; inset: 0;
  background: linear-gradient(to right, #1e1a2e 0%, rgba(30,26,46,0.5) 35%, transparent 70%);
}
#dv-cta1 .dvc1-photo-fade-bottom {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(21,40,80,0.4) 0%, transparent 50%);
}

/* Contenido izquierdo */
#dv-cta1 .dvc1-content {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 140px var(--space-xl, 48px);
  box-sizing: border-box;
}
#dv-cta1 .dvc1-inner {
  max-width: 540px;
}

/* Tag */
#dv-cta1 .dvc1-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}
#dv-cta1 .dvc1-tag-line {
  width: 24px; height: 1.5px;
  background: var(--color-teal, #2FA8A8);
  flex-shrink: 0;
}
#dv-cta1 .dvc1-tag-text {
  font-size: 11px;
  letter-spacing: var(--tracking-widest, 0.2em);
  text-transform: uppercase;
  color: var(--color-teal, #2FA8A8);
}

/* H2 */
#dv-cta1 .dvc1-h2 {
  font-size: var(--text-3xl, clamp(32px, 4vw, 52px));
  font-weight: 400;
  line-height: 1.08;
  color: #fff !important; /* texto blanco sobre fondo oscuro */
  margin: 0 0 20px;
}

/* Párrafo */
#dv-cta1 .dvc1-p {
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,0.68);
  margin: 0 0 40px;
  max-width: 440px;
}

/* CTAs */
#dv-cta1 .dvc1-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}

/* Trust signals */
#dv-cta1 .dvc1-trust {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#dv-cta1 .dvc1-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
#dv-cta1 .dvc1-trust-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--color-teal, #2FA8A8);
  flex-shrink: 0;
}
#dv-cta1 .dvc1-trust-text {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
}

@media (max-width: 1024px) {
  #dv-cta1 .dvc1-photo-wrap { width: 46%; }
}
@media (max-width: 768px) {
  #dv-cta1                   { min-height: auto; flex-direction: column; }
  #dv-cta1 .dvc1-photo-wrap  { position: relative; width: 100%; height: 260px; }
  #dv-cta1 .dvc1-photo-fade-left { background: linear-gradient(to bottom, transparent 50%, #1e1a2e 100%); }
  #dv-cta1 .dvc1-content     { padding: 56px 24px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7499736 */#dv-padecimientos {
  background: var(--color-bg-primary, #edf4f4);
  padding: var(--section-gap, 120px) var(--space-xl, 48px);
}
#dv-padecimientos .dvp-inner {
  max-width: 1280px;
  margin: 0 auto;
}

/* Header split 1fr / 1fr */
#dv-padecimientos .dvp-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl, 80px);
  margin-bottom: 72px;
  align-items: end;
}
#dv-padecimientos .dvp-title {
  font-size: var(--text-3xl, clamp(28px, 3.5vw, 44px));
  font-weight: 400;
  line-height: var(--leading-snug, 1.1);
  color: var(--color-navy, #152850);
  margin: 0;
}
#dv-padecimientos .dvp-subtitle {
  font-size: 17px;
  line-height: 1.75;
  color: #4a5568;
  margin: 0 0 20px;
}

/* Grid 3 columnas, gap 2px */
#dv-padecimientos .dvp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

/* Color de acento por columna — heredado por dots, labels y border-top */
#dv-padecimientos .dvp-col--navy  { --dvp-accent: var(--color-navy,  #152850); }
#dv-padecimientos .dvp-col--steel { --dvp-accent: var(--color-steel, #1A6F94); }
#dv-padecimientos .dvp-col--teal  { --dvp-accent: var(--color-teal,  #2FA8A8); }

#dv-padecimientos .dvp-col {
  background: #fff;
}

/* Cabecera de columna */
#dv-padecimientos .dvp-col__header {
  padding: 24px 28px;
  border-top: 3px solid var(--dvp-accent);
  border-bottom: 1px solid #edf2f7;
}
#dv-padecimientos .dvp-col__label {
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--dvp-accent);
  margin-bottom: 4px;
}
#dv-padecimientos .dvp-col__cat {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-navy, #152850);
  margin: 0;
}

/* Fila de padecimiento */
#dv-padecimientos .dvp-row {
  padding: 18px 28px;
  border-bottom: 1px solid #f0f4f4;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: transparent;
  transition: background 0.15s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-padecimientos .dvp-row:last-child {
  border-bottom: none;
}
#dv-padecimientos .dvp-row:hover {
  background: rgba(21,40,80,0.02);
}

/* Dot — cambia al color de acento de la columna en hover */
#dv-padecimientos .dvp-row__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-silver, #C8CDD8);
  flex-shrink: 0;
  margin-top: 7px;
  transition: background 0.2s;
}
#dv-padecimientos .dvp-row:hover .dvp-row__dot {
  background: var(--dvp-accent);
}

/* Nombre (H3 para SEO) */
#dv-padecimientos .dvp-row__name {
  font-size: 15px;
  font-weight: 500;
  color: #2d3748;
  line-height: 1.3;
  margin: 0;
  transition: color 0.2s;
}
#dv-padecimientos .dvp-row:hover .dvp-row__name {
  color: var(--color-navy, #152850);
}

/* Detalle */
#dv-padecimientos .dvp-row__detail {
  font-size: 13px;
  color: #a0aec0;
  margin-top: 2px;
  line-height: 1.4;
}

@media (max-width: 1024px) {
  #dv-padecimientos .dvp-header { gap: 48px; }
}
@media (max-width: 768px) {
  #dv-padecimientos            { padding: var(--section-gap-mobile, 56px) 24px; }
  #dv-padecimientos .dvp-header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
  #dv-padecimientos .dvp-grid  { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1b64783 */#dv-sobre-mi {
  background: var(--color-navy, #152850);
  position: relative;
  overflow: hidden;
}

/* Grid principal sin padding exterior */
#dv-sobre-mi .dvsm-grid {
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: 640px;
}

/* Foto izquierda — a sangre */
#dv-sobre-mi .dvsm-photo-wrap {
  position: relative;
  min-height: 640px;
}
#dv-sobre-mi .dvsm-photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
#dv-sobre-mi .dvsm-photo-fade-right {
  position: absolute; inset: 0;
  background: linear-gradient(to right, transparent 40%, var(--color-navy, #152850) 100%);
}
#dv-sobre-mi .dvsm-photo-fade-bottom {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(21,40,80,0.5) 0%, transparent 40%);
}

/* Texto derecho */
#dv-sobre-mi .dvsm-text {
  padding: 96px 64px 96px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Subtag */
#dv-sobre-mi .dvsm-tag {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}
#dv-sobre-mi .dvsm-tag-line {
  width: 28px; height: 1.5px;
  background: var(--color-teal, #2FA8A8);
  flex-shrink: 0;
}
#dv-sobre-mi .dvsm-tag-text {
  font-size: 11px;
  letter-spacing: var(--tracking-widest, 0.2em);
  text-transform: uppercase;
  color: var(--color-teal, #2FA8A8);
}

/* H2 */
#dv-sobre-mi .dvsm-h2 {
  font-size: var(--text-3xl, clamp(28px, 3vw, 42px));
  font-weight: 400;
  line-height: 1.1;
  color: #fff !important; /* texto blanco sobre fondo oscuro */
  margin: 0 0 28px;
}

/* Párrafo */
#dv-sobre-mi .dvsm-p {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255,255,255,0.7);
  margin: 0 0 20px;
}

/* Quote itálica */
#dv-sobre-mi .dvsm-quote {
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.6;
  color: rgba(255,255,255,0.55);
  border-left: 2px solid var(--color-teal, #2FA8A8);
  padding-left: 20px;
  margin: 0 0 44px;
}

/* Timeline */
#dv-sobre-mi .dvsm-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#dv-sobre-mi .dvsm-tl-item {
  display: flex;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  align-items: flex-start;
}
#dv-sobre-mi .dvsm-tl-item:last-child {
  border-bottom: none;
}
#dv-sobre-mi .dvsm-tl-year {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--color-teal, #2FA8A8);
  flex-shrink: 0;
  width: 80px;
  padding-top: 2px;
}
#dv-sobre-mi .dvsm-tl-event {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}

@media (max-width: 1024px) {
  #dv-sobre-mi .dvsm-text { padding: 72px 48px 72px 0; }
}
@media (max-width: 768px) {
  #dv-sobre-mi .dvsm-grid       { grid-template-columns: 1fr; }
  #dv-sobre-mi .dvsm-photo-wrap { min-height: 320px; }
  #dv-sobre-mi .dvsm-photo-fade-right { background: linear-gradient(to bottom, transparent 60%, var(--color-navy, #152850) 100%); }
  #dv-sobre-mi .dvsm-text       { padding: 56px 24px; }
  #dv-sobre-mi .dvsm-tl-year    { width: 68px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-29be8b87 *//* Inputs ocultos — deben ser hijos directos de #dv-testimonios
   para que el .elementor-10 .elementor-element.elementor-element-29be8b87 ~ llegue a .dvt-inner */
#dv-testimonios .dvt-radio {
  display: none;
  position: absolute;
  visibility: hidden;
}

#dv-testimonios {
  background: var(--color-bg-primary, #edf4f4);
  padding: var(--section-gap, 120px) 0;
  overflow: hidden;
}
#dv-testimonios .dvt-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-xl, 48px);
}
#dv-testimonios .dvt-header {
  margin-bottom: 64px;
}
#dv-testimonios .dvt-title {
  font-size: var(--text-3xl, clamp(28px, 3.5vw, 44px));
  font-weight: 400;
  line-height: var(--leading-snug, 1.1);
  color: var(--color-navy, #152850);
  margin: 0;
}

/* Grid */
#dv-testimonios .dvt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

/* Cita decorativa */
#dv-testimonios .dvt-deco-quote {
  font-size: 120px;
  line-height: 0.8;
  color: var(--color-teal, #2FA8A8);
  opacity: 0.3;
  margin-bottom: 8px;
  user-select: none;
  pointer-events: none;
}

/* Slides — ocultos por defecto */
#dv-testimonios .dvt-slide { display: none; }

#dv-testimonios .dvt-quote-text {
  font-size: var(--text-xl, clamp(20px, 2.2vw, 28px));
  font-weight: 400;
  font-style: italic;
  line-height: 1.55;
  color: var(--color-navy, #152850);
  margin: 0 0 32px;
}
#dv-testimonios .dvt-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 16px;
}
#dv-testimonios .dvt-star      { color: var(--color-teal, #2FA8A8); font-size: 14px; }
#dv-testimonios .dvt-slide-name {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-navy, #152850);
}
#dv-testimonios .dvt-slide-proc {
  font-size: 13px;
  color: #a0aec0;
  margin-top: 4px;
}

/* Selector — labels clickeables */
#dv-testimonios .dvt-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 16px;
}
#dv-testimonios .dvt-item {
  display: block;
  padding: 20px 24px;
  cursor: pointer;
  border-left: 3px solid transparent;
  border-radius: 2px;
  background: transparent;
  transition: background 0.2s var(--ease-out, cubic-bezier(0.4,0,0.2,1)),
              border-color 0.2s var(--ease-out, cubic-bezier(0.4,0,0.2,1));
}
#dv-testimonios .dvt-item:hover {
  background: rgba(255,255,255,0.6);
}
#dv-testimonios .dvt-item-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
#dv-testimonios .dvt-item-name  { font-size: 13px; font-weight: 600; color: #718096; transition: color 0.2s; }
#dv-testimonios .dvt-item-proc  { font-size: 12px; color: #a0aec0; margin-top: 2px; }
#dv-testimonios .dvt-item-stars { display: flex; gap: 1px; flex-shrink: 0; }
#dv-testimonios .dvt-item-star  { font-size: 11px; color: var(--color-silver, #C8CDD8); transition: color 0.2s; }
#dv-testimonios .dvt-item-preview {
  display: none;
  font-size: 13px;
  line-height: 1.65;
  color: #718096;
  font-style: italic;
  margin-top: 10px;
}

/* ─── Estados activos vía :checked ──────────────────────────────── */
/* Slide visible */
#dvt-r0:checked ~ .dvt-inner .dvt-slide--0,
#dvt-r1:checked ~ .dvt-inner .dvt-slide--1,
#dvt-r2:checked ~ .dvt-inner .dvt-slide--2,
#dvt-r3:checked ~ .dvt-inner .dvt-slide--3 { display: block; }

/* Item activo: fondo blanco + borde teal */
#dvt-r0:checked ~ .dvt-inner .dvt-item--0,
#dvt-r1:checked ~ .dvt-inner .dvt-item--1,
#dvt-r2:checked ~ .dvt-inner .dvt-item--2,
#dvt-r3:checked ~ .dvt-inner .dvt-item--3 {
  background: #fff;
  border-left-color: var(--color-teal, #2FA8A8);
}
/* Nombre navy en item activo */
#dvt-r0:checked ~ .dvt-inner .dvt-item--0 .dvt-item-name,
#dvt-r1:checked ~ .dvt-inner .dvt-item--1 .dvt-item-name,
#dvt-r2:checked ~ .dvt-inner .dvt-item--2 .dvt-item-name,
#dvt-r3:checked ~ .dvt-inner .dvt-item--3 .dvt-item-name { color: var(--color-navy, #152850); }
/* Estrellas teal en item activo */
#dvt-r0:checked ~ .dvt-inner .dvt-item--0 .dvt-item-star,
#dvt-r1:checked ~ .dvt-inner .dvt-item--1 .dvt-item-star,
#dvt-r2:checked ~ .dvt-inner .dvt-item--2 .dvt-item-star,
#dvt-r3:checked ~ .dvt-inner .dvt-item--3 .dvt-item-star { color: var(--color-teal, #2FA8A8); }
/* Preview visible en item activo */
#dvt-r0:checked ~ .dvt-inner .dvt-item--0 .dvt-item-preview,
#dvt-r1:checked ~ .dvt-inner .dvt-item--1 .dvt-item-preview,
#dvt-r2:checked ~ .dvt-inner .dvt-item--2 .dvt-item-preview,
#dvt-r3:checked ~ .dvt-inner .dvt-item--3 .dvt-item-preview { display: block; }

@media (max-width: 1024px) { #dv-testimonios .dvt-grid { gap: 48px; } }
@media (max-width: 768px) {
  #dv-testimonios            { padding: var(--section-gap-mobile, 56px) 0; }
  #dv-testimonios .dvt-inner { padding: 0 24px; }
  #dv-testimonios .dvt-grid  { grid-template-columns: 1fr; gap: 40px; }
  #dv-testimonios .dvt-deco-quote { font-size: 80px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-26d6a2d */#dv-ubicacion {
  background: var(--color-bg-secondary, #e4eef0);
  padding: var(--section-gap, 120px) var(--space-xl, 48px);
}
#dv-ubicacion .dvu-inner {
  max-width: 1280px;
  margin: 0 auto;
}

/* Grid 1fr / 1fr */
#dv-ubicacion .dvu-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl, 80px);
  align-items: start;
}

/* Titulo */
#dv-ubicacion .dvu-title {
  font-size: var(--text-3xl, clamp(28px, 3.5vw, 44px));
  font-weight: 400;
  line-height: var(--leading-snug, 1.1);
  color: var(--color-navy, #152850);
  margin: 0 0 24px;
}
#dv-ubicacion .dvu-subtitle {
  font-size: 17px;
  line-height: 1.75;
  color: #4a5568;
  margin: 0 0 48px;
}

/* Items de contacto */
#dv-ubicacion .dvu-items {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
#dv-ubicacion .dvu-item {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
#dv-ubicacion .dvu-item__bar {
  width: 3px;
  height: 40px;
  background: var(--color-teal, #2FA8A8);
  flex-shrink: 0;
  margin-top: 2px;
}
#dv-ubicacion .dvu-item__label {
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #a0aec0;
  margin-bottom: 6px;
}
#dv-ubicacion .dvu-item__value {
  font-size: 16px;
  color: #4a5568;
  line-height: 1.6;
  white-space: pre-line;
}
#dv-ubicacion .dvu-item__link {
  font-size: 16px;
  color: var(--color-steel, #1A6F94);
  text-decoration: none;
  line-height: 1.5;
  transition: color var(--duration-fast, 0.18s);
}
#dv-ubicacion .dvu-item__link:hover {
  color: var(--color-teal, #2FA8A8);
}

/* Mapa */
#dv-ubicacion .dvu-map-wrap {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: var(--shadow-md, 0 4px 24px rgba(0,0,0,0.08));
}
#dv-ubicacion .dvu-map-wrap iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
#dv-ubicacion .dvu-map-link {
  display: block;
  text-align: center;
  margin-top: 16px;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-steel, #1A6F94);
  text-decoration: none;
  transition: color var(--duration-fast, 0.18s);
}
#dv-ubicacion .dvu-map-link:hover {
  color: var(--color-teal, #2FA8A8);
}

@media (max-width: 1024px) {
  #dv-ubicacion .dvu-grid { gap: 48px; }
}
@media (max-width: 768px) {
  #dv-ubicacion           { padding: var(--section-gap-mobile, 56px) 24px; }
  #dv-ubicacion .dvu-grid { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7d169f2e */#dv-cta2 {
  background: var(--color-navy, #152850);
  padding: 100px var(--space-xl, 48px);
  position: relative;
  overflow: hidden;
  text-align: center;
}

/* Línea degradada teal→steel en el top */
#dv-cta2 .dvc2-accent-line {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-teal, #2FA8A8), var(--color-steel, #1A6F94));
}

/* Círculo decorativo bottom-right */
#dv-cta2 .dvc2-circle {
  position: absolute;
  bottom: 0; right: 0;
  width: 500px; height: 500px;
  border-radius: 50%;
  border: 1px solid rgba(47,168,168,0.12);
  transform: translate(20%, 30%);
  pointer-events: none;
}

/* Contenido centrado */
#dv-cta2 .dvc2-inner {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

#dv-cta2 .dvc2-h2 {
  font-size: var(--text-3xl, clamp(32px, 4.5vw, 56px));
  font-weight: 400;
  line-height: 1.05;
  color: #fff !important; /* texto blanco sobre fondo oscuro */
  margin: 0 0 24px;
}

#dv-cta2 .dvc2-p {
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255,255,255,0.7);
  max-width: 480px;
  margin: 0 auto 48px;
}

#dv-cta2 .dvc2-ctas {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  #dv-cta2            { padding: var(--section-gap-mobile, 56px) 24px; }
  #dv-cta2 .dvc2-circle { width: 300px; height: 300px; }
}/* End custom CSS */