.elementor-3974 .elementor-element.elementor-element-4f7b891f{--display:flex;--background-transition:0.3s;}.elementor-3974 .elementor-element.elementor-element-b40080c{--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;--background-transition:0.3s;}/* Start custom CSS for html, class: .elementor-element-a8f70b9 */.de-wrap {
  font-family: Arial, Helvetica, sans-serif !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 0 40px !important;
  box-sizing: border-box !important;
}

/* ══ ENCABEZADO ══ */
.de-header {
  margin-bottom: 20px !important;
  padding-bottom: 18px !important;
  border-bottom: 3px solid #FFCD00 !important;
}
.de-tag {
  font-size: .65rem !important;
  font-weight: 800 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-bottom: 6px !important;
}
.de-tag::before {
  content: '' !important;
  width: 14px !important;
  height: 2px !important;
  background: #888 !important;
  display: block !important;
}
.de-title {
  font-size: clamp(1.4rem, 2.6vw, 2rem) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #1A1A1A !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.de-title span { color: #FFCD00 !important; }

/* ══ DESCRIPCIÓN ══ */
.de-desc {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 24px !important;
}
.de-desc p {
  font-size: .875rem !important;
  line-height: 1.75 !important;
  color: #555 !important;
  margin: 0 !important;
  text-align: justify !important;
}

/* ══ MEGA + MV ══ */
.de-estrategia {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin-bottom: 32px !important;
}

/* MEGA */
.de-mega {
  background: #1A1A1A !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border-top: 3px solid #FFCD00 !important;
}
.de-mega-hd {
  padding: 20px 24px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}
.de-mega-badge {
  display: inline-block !important;
  font-size: .6rem !important;
  font-weight: 900 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  background: rgba(255,205,0,.15) !important;
  color: #FFCD00 !important;
  border: 1px solid rgba(255,205,0,.3) !important;
  padding: 3px 10px !important;
  border-radius: 10px !important;
  margin-bottom: 10px !important;
}
.de-mega-txt {
  font-size: .875rem !important;
  color: rgba(255,255,255,.7) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  font-style: italic !important;
}

/* KPIs */
.de-mega-kpis {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
}
.de-kpi {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 18px 22px !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
}
.de-kpi:last-child { border-right: none !important; }
.de-kpi svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #FFCD00 !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  flex-shrink: 0 !important;
}
.de-kpi-num {
  display: block !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  color: #FFCD00 !important;
  line-height: 1.1 !important;
  margin-bottom: 3px !important;
}
.de-kpi-label {
  font-size: .65rem !important;
  color: rgba(255,255,255,.4) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  line-height: 1.35 !important;
}

/* MISIÓN Y VISIÓN */
.de-mv-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.de-mv-card {
  background: #FFFFFF !important;
  border: 1px solid #E8E6E0 !important;
  border-radius: 8px !important;
  padding: 18px !important;
  border-left: 4px solid #FFCD00 !important;
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
}
.de-mv-ico {
  width: 36px !important;
  height: 36px !important;
  background: rgba(255,205,0,.1) !important;
  border-radius: 7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.de-mv-ico svg {
  width: 17px !important;
  height: 17px !important;
  stroke: #9A7800 !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}
.de-mv-label {
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #9A7800 !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.de-mv-txt {
  font-size: .8rem !important;
  color: #555 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  text-align: justify !important;
}

/* ══ LABEL SECCIÓN ══ */
.de-section-label {
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #AAA !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.de-section-label::after {
  content: '' !important;
  flex: 1 !important;
  height: 1px !important;
  background: #F0EEE8 !important;
}

/* ══ PLANES ══ */
.de-planes {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Ciclo */
.de-ciclo {
  background: #FFFFFF !important;
  border: 1px solid #E8E6E0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.05) !important;
}
.de-ciclo--active { border-color: rgba(255,205,0,.35) !important; }

.de-ciclo-hd {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 18px !important;
  background: #FAFAF8 !important;
  border-bottom: 1px solid #F0EEE8 !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  color: #1A1A1A !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.de-ciclo--active .de-ciclo-hd {
  background: rgba(255,205,0,.06) !important;
  border-bottom-color: rgba(255,205,0,.2) !important;
}
.de-ciclo-periodo {
  font-size: .7rem !important;
  font-weight: 900 !important;
  background: #1A1A1A !important;
  color: #FFCD00 !important;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  letter-spacing: .06em !important;
}
.de-ciclo--active .de-ciclo-periodo {
  background: #FFCD00 !important;
  color: #000 !important;
}

/* Documentos */
.de-ciclo-docs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
}

.de-doc {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 18px 14px !important;
  text-decoration: none !important;
  color: inherit !important;
  border-right: 1px solid #F4F2EE !important;
  text-align: center !important;
  transition: background .18s !important;
  position: relative !important;
}
.de-doc:last-child { border-right: none !important; }
.de-doc:hover { background: #FFFBEA !important; }

.de-doc--latest {
  background: #1A1A1A !important;
}
.de-doc--latest:hover { background: #222 !important; }
.de-doc--latest .de-doc-ico { background: rgba(255,205,0,.15) !important; }
.de-doc--latest .de-doc-ico svg { stroke: #FFCD00 !important; }
.de-doc--latest .de-doc-accion { color: #FFFFFF !important; }
.de-doc--latest .de-doc-type { color: rgba(255,205,0,.7) !important; }
.de-doc--latest .de-doc-dl { stroke: rgba(255,205,0,.5) !important; }
.de-doc--latest:hover .de-doc-dl { stroke: #FFCD00 !important; }

.de-doc-ico {
  width: 38px !important;
  height: 38px !important;
  background: #F4F2EE !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.de-doc-ico svg {
  width: 17px !important;
  height: 17px !important;
  stroke: #9A7800 !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}
.de-doc:not(.de-doc--latest):hover .de-doc-ico { background: rgba(255,205,0,.15) !important; }

.de-doc-info { display: flex !important; flex-direction: column !important; gap: 3px !important; }
.de-doc-accion {
  font-size: .78rem !important;
  font-weight: 800 !important;
  color: #1A1A1A !important;
  line-height: 1.2 !important;
  transition: color .18s !important;
}
.de-doc:not(.de-doc--latest):hover .de-doc-accion { color: #9A7800 !important; }
.de-doc-type {
  font-size: .58rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #BBB !important;
}

.de-doc-dl {
  width: 14px !important;
  height: 14px !important;
  stroke: #CCC !important;
  fill: none !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  transition: stroke .18s, transform .18s !important;
}
.de-doc:not(.de-doc--latest):hover .de-doc-dl {
  stroke: #FFCD00 !important;
  transform: translateY(2px) !important;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
  .de-mega-kpis { grid-template-columns: 1fr !important; }
  .de-kpi { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; }
  .de-kpi:last-child { border-bottom: none !important; }
  .de-mv-grid { grid-template-columns: 1fr !important; }
  .de-ciclo-docs { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .de-ciclo-docs { grid-template-columns: 1fr !important; }
  .de-doc { border-right: none !important; border-bottom: 1px solid #F4F2EE !important; }
}/* End custom CSS */