* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  html,
  body {
    font-family: "Poppins", sans-serif;
  }
  
  html {
    overflow-x: clip;
    max-width: 100%;
  }
  
  body {
    width: 100%;
    min-height: 100vh;
    height: auto;
    overflow-x: clip;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    max-width: 100%;
  }
  body > header {
    position: sticky;
    top: 0;
    z-index: 1030;
    flex-shrink: 0;
    height: auto;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    overflow-y: visible;
  }
  body > footer {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  
  nav:not([aria-label="breadcrumb"]):not(.fempa-menu-overlay__nav) {
    width: 100%;
    /* padding-top: 15px; */
    height: 100%;
    padding: 15px 0 15px 0;
  }
  nav:not([aria-label="breadcrumb"]):not(.fempa-menu-overlay__nav) .row {
    height: 100%;
  }
  nav:not([aria-label="breadcrumb"]):not(.fempa-menu-overlay__nav) .img-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    /*padding-top: 40px;*/
    /*padding-bottom: 40px;*/
  }
  nav:not([aria-label="breadcrumb"]):not(.fempa-menu-overlay__nav) .img-container.white {
    background-color: white;
    border-radius: 0 800% 0 0;
  }
  nav:not([aria-label="breadcrumb"]):not(.fempa-menu-overlay__nav) .img-container img {
    width: clamp(150px, 50vw, 35%);
    filter: grayscale(100%) brightness(0.5);
  }
  
  .contenedor-general {
    position: relative;
    z-index: 0;
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }
  
  /* En home, las cards de servicios se superponen al banner */
  .contenedor-general > .fempa-servicios {
    margin-top: clamp(18px, 3vh, 34px);
  }
  .page-home > .fempa-servicios {
    position: relative;
    z-index: 2;
    margin-top: clamp(-6.5rem, -13vh, -4.75rem);
    padding: 0;
    background: transparent;
  }
  .page-home > .fempa-servicios .fempa-servicios__grid {
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
  }
  .page-home > .slider-principal {
    position: relative;
    z-index: 1;
  }
  
  /* ── BOTONERA / SERVICIOS (GLOBAL) ── */
  .fempa-servicios {
    width: 100%;
    padding: clamp(1.75rem, 3vw, 2.5rem) 0;
    background: #fff;
  }
  .fempa-servicios__wrap {
    width: 100%;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 0 var(--site-gutter);
    box-sizing: border-box;
  }
  .fempa-servicios__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: stretch;
  }
  .fempa-servicios-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: clamp(1.25rem, 2vw, 1.75rem) clamp(1.15rem, 1.8vw, 1.5rem) clamp(1.35rem, 2.2vw, 1.85rem);
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    color: var(--fempro-text);
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
  }
  .page-home > .fempa-servicios .fempa-servicios-card {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
  }
  .fempa-servicios-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    color: var(--fempro-text);
  }
  .fempa-servicios-card__main {
    display: flex;
    align-items: flex-start;
    gap: clamp(0.75rem, 1.5vw, 1rem);
    padding-right: 2.25rem;
  }
  .fempa-servicios-card__icon {
    flex: 0 0 auto;
    width: clamp(3rem, 5vw, 4rem);
    height: clamp(3rem, 5vw, 4rem);
    object-fit: contain;
  }
  .fempa-servicios-card__text {
    flex: 1 1 auto;
    min-width: 0;
  }
  .fempa-servicios-card__title {
    margin: 0 0 0.45rem;
    font-size: clamp(1.05rem, 1.2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.25;
    color: #1f1f1f;
  }
  .fempa-servicios-card__desc {
    margin: 0;
    font-size: clamp(0.78rem, 0.9vw, 0.875rem);
    font-weight: 400;
    line-height: 1.45;
    color: #4a4a4a;
  }
  .fempa-servicios-card__arrow {
    position: absolute;
    right: clamp(0.85rem, 1.4vw, 1.1rem);
    bottom: clamp(0.85rem, 1.4vw, 1.1rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--fempro-green-light);
    color: #fff;
    font-size: 0.72rem;
    line-height: 1;
    transition: background 0.18s ease, transform 0.18s ease;
  }
  .fempa-servicios-card:hover .fempa-servicios-card__arrow {
    background: var(--fempro-green);
    transform: translateX(2px);
  }
  @media (max-width: 900px) {
    .fempa-servicios__grid {
      grid-template-columns: 1fr;
      max-width: 28rem;
      margin: 0 auto;
    }
    .fempa-servicios-card__main {
      padding-right: 2.5rem;
    }
    .page-home > .fempa-servicios {
      margin-top: 0;
    }
    .page-home > .fempa-servicios .fempa-servicios__grid {
      margin-bottom: 1.5rem;
    }
  }
  @media (max-width: 767.98px) {
    .page-home > .fempa-servicios {
      margin-top: clamp(1.5rem, 5vw, 2.25rem);
      padding-top: 0;
    }
    .page-home > .slider-principal {
      margin-bottom: clamp(0.5rem, 2vw, 1rem);
    }
  }
  @media (max-width: 480px) {
    .fempa-servicios {
      padding: 1.5rem 0;
    }
    .page-home > .fempa-servicios {
      margin-top: clamp(1.25rem, 6vw, 2rem);
    }
  }
  
  /* ── CÓMO ASOCIARSE (HOME) ── */
  .fempro-asociarse {
    width: 100%;
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 4.5rem);
    background: #fff;
  }
  .fempro-asociarse__wrap {
    width: 100%;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 0 var(--site-gutter);
    box-sizing: border-box;
    text-align: center;
  }
  .fempro-asociarse__title {
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--fempro-text);
  }
  .fempro-asociarse__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 2.5rem);
    margin: 0 0 clamp(2.25rem, 4vw, 3rem);
    padding: 0;
    list-style: none;
  }
  .fempro-asociarse__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1rem, 2vw, 1.35rem);
  }
  .fempro-asociarse__icon {
    display: block;
    width: clamp(4.5rem, 8vw, 5.5rem);
    height: clamp(4.5rem, 8vw, 5.5rem);
    object-fit: contain;
  }
  .fempro-asociarse__text {
    margin: 0;
    max-width: 18rem;
    font-size: clamp(0.9rem, 1.05vw, 1rem);
    font-weight: 400;
    line-height: 1.55;
    color: var(--fempro-text);
  }
  .fempro-asociarse__text strong {
    font-weight: 700;
  }
  .fempro-asociarse__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: min(100%, 15rem);
    padding: 14px 36px;
    border-radius: 999px;
    background: var(--fempro-green);
    color: #fff;
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: background 0.18s ease, transform 0.18s ease;
  }
  .fempro-asociarse__btn:hover {
    background: #6fa03a;
    color: #fff;
    transform: translateY(-1px);
  }
  @media (max-width: 768px) {
    .fempro-asociarse__steps {
      grid-template-columns: 1fr;
      max-width: 22rem;
      margin-left: auto;
      margin-right: auto;
    }
    .fempro-asociarse__text {
      max-width: none;
    }
  }
  
  .content-wrapper {
    height: 100%;
  }
  .content-wrapper .row {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    line-height: 1;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .content-wrapper .row .title {
    font-size: clamp(1.8rem, 5vw, 3rem);
    color: #333;
    font-weight: 600;
  }
  .content-wrapper .row .time-container {
    font-size: clamp(6rem, 20vw, 15rem);
    color: #333;
    font-weight: 600;
  }
  .content-wrapper .row .minutes {
    font-size: clamp(2rem, 6vw, 3.5rem);
    color: #333;
    font-weight: 600;
  }
  
  /* Alineación horizontal con el contenido del header y márgenes globales del sitio */
  :root {
    --site-gutter: clamp(20px, 6vw, 96px);
    --site-max-width: 1320px;
    --fempro-green: #89c04c;
    --fempro-green-light: #a5d066;
    --fempro-green-dark: #6fa03a;
    --fempro-text: #2d2d2d;
    --font-family-base: "Poppins", sans-serif;
    --bs-body-font-family: "Poppins", sans-serif;
    --bs-font-sans-serif: "Poppins", sans-serif;
    --fempa-breadcrumb-inset-left: var(--site-gutter);
    --fempa-breadcrumb-pad-right: var(--site-gutter);
  }
  @media (max-width: 768px) {
    :root {
      --fempa-breadcrumb-inset-left: clamp(16px, 4vw, 24px);
      --fempa-breadcrumb-pad-right: clamp(16px, 4vw, 24px);
    }
  }
  
  /* Migas a ancho completo del main, mismo origen X que el logo (sin vivir en el <header>) */
  .contenedor-general > .container:has(> nav[aria-label="breadcrumb"]),
  .contenedor-general > .container:has(> .breadcrumb) {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .contenedor-general > .container > nav[aria-label="breadcrumb"] {
    padding: 10px var(--fempa-breadcrumb-pad-right) 6px var(--fempa-breadcrumb-inset-left);
    margin: 0;
    box-sizing: border-box;
  }
  
  .contenedor-general > .container-breadcrumb,
  .container-breadcrumb {
    max-width: var(--site-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-top: 10px;
    padding-bottom: 6px;
    padding-left: var(--site-gutter);
    padding-right: var(--site-gutter);
    box-sizing: border-box;
    width: 100%;
  }
  .container-breadcrumb nav[aria-label="breadcrumb"] {
    padding: 0;
    margin: 0;
  }
  
  /* Contenedores Bootstrap alineados al sitio (header / footer) */
  .contenedor-general > .container:has(> .conv-header),
  .contenedor-general > .container:has(> .breadcrumb),
  .padding-content > .container {
    max-width: var(--site-max-width) !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--site-gutter) !important;
    padding-right: var(--site-gutter) !important;
    box-sizing: border-box;
  }
  .contenedor-general > .container:has(> .breadcrumb) .container-breadcrumb {
    max-width: none;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  /* Migas globales: más lectura y contraste, sin cajas ni sombras (todas las páginas con .breadcrumb-fempa) */
  .breadcrumb-fempa {
    --bs-breadcrumb-divider-color: rgba(31, 77, 46, 0.38);
    --bs-breadcrumb-item-active-color: #4b5568;
    margin-bottom: 0;
    font-size: clamp(1.12rem, 2.4vw, 1.48rem);
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.35;
    color: #89c04c;
  }
  .breadcrumb-fempa .breadcrumb-item a {
    color: #89c04c;
    font-weight: 400;
    text-decoration: none;
    text-underline-offset: 3px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
  }
  .breadcrumb-fempa .breadcrumb-item a:hover {
    color: #6fa03a;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(31, 77, 46, 0.45);
  }
  .breadcrumb-fempa .breadcrumb-item.active {
    color: #4b5568;
    font-weight: 400;
  }
  
  /* Títulos de sección (marca Fempro — reutilizables en cualquier plantilla) */
  .titulo-fempa {
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 800;
    color: #89c04c;
    /* margin-bottom: 2vw; */
    margin-top: 2vw;
  }
  .titulo-fempa--sm {
    font-size: clamp(1.1rem, 2.8vw, 1.6rem);
    margin-bottom: 0;
  }
  
  /* ============================================================
     CONVENIOS 
     ============================================================ */
  
  .conv-section {
      width: 100%;
      padding: 60px 0 52px;
      background: #f4f9f1;
      overflow: hidden;
      box-sizing: border-box;
  }
  .convenios-page .conv-section {
      background: transparent;
      padding: 0 0 clamp(2rem, 4vw, 3rem);
  }
  .convenios-page .conv-section--landing {
      padding-top: clamp(0.25rem, 1vw, 0.75rem);
  }
  .convenios-page .conv-section--category {
      padding-top: clamp(1rem, 2.5vw, 1.75rem);
  }
  
  /* Aire superior solo en la vista principal de convenios (título + subtítulo) */
  .contenedor-general > .container:has(> .conv-header) {
      margin-top: clamp(1.25rem, 3vw, 2.5rem);
  }
  .conv-header {
      text-align: center;
      margin-bottom: 44px;
  }
  .conv-subtitulo {
      font-size: clamp(0.9rem, 2vw, 1rem);
      color: #888;
      font-weight: 400;
  }
  
  /* Flechas alineadas con el bloque "Nuestros Servicios" (padding 25px + margin-left 6vw del __left) */
  .conv-stage {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      max-width: var(--site-max-width);
      margin-left: auto;
      margin-right: auto;
      min-height: 560px;
      padding-left: var(--site-gutter);
      padding-right: var(--site-gutter);
      box-sizing: border-box;
      position: relative;
  }
  
  .conv-btn-arrow {
      flex-shrink: 0;
      width: 46px;
      height: 46px;
      border-radius: 14px;
      border: 2px solid #ddd;
      background: #fff;
      color: #89c04c;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10;
      box-shadow: 0 2px 10px rgba(80,28,113,0.09);
      transition: background 0.2s, border-color 0.2s, transform 0.15s;
  }
  .conv-btn-arrow svg { width: 20px; height: 20px; }
  .conv-btn-arrow:hover {
      background: #89c04c;
      border-color: #89c04c;
      color: #fff;
      transform: scale(1.08);
  }
  .conv-btn-arrow--prev { margin-right: 0; }
  .conv-btn-arrow--next { margin-left: 0; }
  
  .conv-track {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      perspective: 1500px;
      flex: 1 1 auto;
      min-width: 0;
      max-width: 1020px;
      height: 530px;
      overflow: visible;
  }
  
  .conv-card {
      position: absolute;
      width: 340px;
      cursor: pointer;
      opacity: 0;
      pointer-events: none;
      transform: translateX(0) scale(0.5) rotateY(0deg);
      transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1),
                  opacity   0.5s ease;
      will-change: transform, opacity;
      z-index: 0;
  }
  .conv-card.is-center {
      transform: translateX(0) scale(1) rotateY(0deg);
      opacity: 1;
      z-index: 5;
      pointer-events: auto;
  }
  .conv-card.is-left {
      transform: translateX(-58%) scale(0.82) rotateY(22deg);
      opacity: 0.65;
      z-index: 3;
      pointer-events: auto;
  }
  .conv-card.is-right {
      transform: translateX(58%) scale(0.82) rotateY(-22deg);
      opacity: 0.65;
      z-index: 3;
      pointer-events: auto;
  }
  .conv-card.is-far-left {
      transform: translateX(-100%) scale(0.62) rotateY(32deg);
      opacity: 0.25;
      z-index: 1;
      pointer-events: auto;
  }
  .conv-card.is-far-right {
      transform: translateX(100%) scale(0.62) rotateY(-32deg);
      opacity: 0.25;
      z-index: 1;
      pointer-events: auto;
  }
  
  .conv-card__shell {
      position: relative;
      width: 100%;
      aspect-ratio: 4 / 5;
      min-height: 365px;
      background: #89c04c;
      border-radius: 30px;
      overflow: hidden;
      display: block;
  }
  .conv-card.is-center .conv-card__shell {
      box-shadow: 0 24px 64px rgba(80,28,113,0.22), 0 6px 18px rgba(0,0,0,0.1);
  }
  .conv-card.is-left  .conv-card__shell,
  .conv-card.is-right .conv-card__shell {
      filter: brightness(0.9);
  }
  
  .conv-card__photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      background: #89c04c;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 0;
  }
  .conv-card__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
      transition: transform 0.4s ease;
  }
  .conv-card.is-center:hover .conv-card__photo img {
      transform: scale(1.04);
  }
  .conv-card__no-img {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #89c04c 0%, #7ab043 100%);
  }
  .conv-card__no-img span {
      font-size: 4.5rem;
      font-weight: 900;
      color: rgba(255,255,255,0.85);
      text-shadow: 0 3px 12px rgba(0,0,0,0.2);
      user-select: none;
      line-height: 1;
  }
  
  .conv-card__content {
      position: absolute;
      z-index: 2;
      left: 50%;
      bottom: 16px;
      transform: translateX(-50%);
      width: min(88%, calc(100% - 24px));
      box-sizing: border-box;
      padding: 20px 22px 22px;
      display: flex;
      flex-direction: column;
      gap: 11px;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.14), 0 2px 8px rgba(0, 0, 0, 0.06);
  }
  .conv-card__name {
      font-size: 1.14rem;
      font-weight: 800;
      color: #1a1225;
      margin: 0;
      line-height: 1.25;
  }
  
  .conv-card__items {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 3px;
  }
  .conv-card__items li { font-size: 0.86rem; }
  .conv-card__items li a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
      color: #89c04c;
      font-weight: 600;
      text-decoration: none;
      padding: 5px 9px;
      border-radius: 9px;
      transition: background 0.15s;
  }
  .conv-card__items li a svg {
      width: 12px;
      height: 12px;
      flex-shrink: 0;
      opacity: 0.55;
  }
  .conv-card__items li a:hover {
      background: rgba(31, 77, 46, 0.08);
      text-decoration: none;
      color: #6fa03a;
  }
  .conv-card__items li span {
      display: block;
      padding: 5px 9px;
      color: #555;
  }
  
  .conv-card__cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      margin-top: 4px;
      padding: 11px 22px;
      background: var(--fempro-green, #89c04c);
      color: #fff;
      border-radius: 50px;
      font-size: 0.92rem;
      font-weight: 700;
      text-decoration: none;
      text-align: center;
      align-self: flex-start;
      transform: translateY(0);
      white-space: nowrap;
      box-shadow: 0 6px 18px rgba(31, 77, 46, 0.22);
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .conv-card__cta-ico {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .conv-card__cta:hover {
      background: #6fa03a;
      color: #fff;
      text-decoration: none;
      transform: translateY(-3px);
      box-shadow: 0 10px 24px rgba(31, 77, 46, 0.28);
  }
  .conv-card__cta:active {
      transform: translateY(-1px);
      transition-duration: 0.1s;
  }
  
  .conv-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin-top: 30px;
  }
  .conv-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(31, 77, 46, 0.22);
      border: none;
      cursor: pointer;
      padding: 0;
      transition: background 0.25s, width 0.25s, border-radius 0.25s, transform 0.25s;
  }
  .conv-dot.is-active {
      background: #89c04c;
      width: 32px;
      height: 12px;
      border-radius: 6px;
      transform: scaleY(1.1);
  }
  
  .conv-empty {
      text-align: center;
      color: #aaa;
      padding: 40px;
  }
  
  @media (max-width: 900px) {
      .conv-track { max-width: 100%; height: 500px; }
      .conv-card  { width: 290px; }
      .conv-card__shell { min-height: 330px; }
      .conv-card.is-left  { transform: translateX(-52%) scale(0.78) rotateY(18deg); }
      .conv-card.is-right { transform: translateX(52%)  scale(0.78) rotateY(-18deg); }
  }
  @media (max-width: 620px) {
      .conv-stage { min-height: 440px; }
      .conv-track { height: 420px; }
      .conv-card  { width: 248px; }
      .conv-card__shell { min-height: 288px; border-radius: 22px; }
      .conv-card__content {
          bottom: 10px;
          width: min(90%, calc(100% - 20px));
          padding: 12px 14px 14px;
          border-radius: 10px;
          gap: 8px;
      }
      .conv-card__name { font-size: 0.98rem; }
      .conv-card__cta  { padding: 9px 18px; font-size: 0.82rem; }
      .conv-card.is-left  { transform: translateX(-46%) scale(0.66) rotateY(14deg); }
      .conv-card.is-right { transform: translateX(46%)  scale(0.66) rotateY(-14deg); }
      .conv-card.is-far-left,
      .conv-card.is-far-right { opacity: 0; pointer-events: none; }
      .conv-btn-arrow { width: 36px; height: 36px; border-radius: 10px; }
      .conv-btn-arrow--prev { margin-right: 4px; }
      .conv-btn-arrow--next { margin-left:  4px; }
  }
  @media (max-width: 400px) {
      .conv-stage { min-height: 380px; }
      .conv-track { height: 368px; }
      .conv-card  { width: 205px; }
      .conv-card__shell { min-height: 255px; }
      .conv-card.is-left  { transform: translateX(-40%) scale(0.6) rotateY(12deg); }
      .conv-card.is-right { transform: translateX(40%)  scale(0.6) rotateY(-12deg); }
  }
  
  @media (prefers-reduced-motion: reduce) {
      .conv-card { transition-duration: 0.01ms; }
      .conv-card__cta { transition-duration: 0.01ms; }
  }
  
  /* ── Tabs de categorías (convenios) ── */
  .conv-tabs {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 28px;
      padding: 0 16px;
  }
  .conv-tab {
      padding: 8px 22px;
      border-radius: 50px;
      border: 2px solid #89c04c;
      background: #fff;
      color: #89c04c;
      font-weight: 700;
      font-size: 0.88rem;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      white-space: nowrap;
  }
  .conv-tab.is-active,
  .conv-tab:hover {
      background: #89c04c;
      color: #fff;
  }
  .conv-panel {
      display: none;
  }
  .conv-panel.is-active {
      display: block;
  }
  
  /* ── Breadcrumb convenios (misma apariencia que el bloque de migas + .breadcrumb-fempa) ── */
  .conv-breadcrumb {
      /* margin-bottom: -10px; */
      /* padding: 10px 0 6px; */
      text-align: left;
  }
  .conv-breadcrumb .container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 14px;
  }
  .conv-breadcrumb nav[aria-label="breadcrumb"] {
      flex: 1;
      min-width: 0;
  }
  .conv-cat-btn {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 22px;
      background: #89c04c;
      color: #fff;
      border-radius: 50px;
      font-size: 0.88rem;
      font-weight: 700;
      text-decoration: none;
      white-space: nowrap;
      transition: background 0.2s;
  }
  .conv-cat-btn:hover {
      background: #6fa03a;
      color: #fff;
      text-decoration: none;
  }
  
  /* ── Grid de negocios (hijos): todas las cards idénticas en ancho y alto ── */
  .conv-grid {
      display: grid;
      /* auto-fit: solo crea las columnas que necesita → centra cards sueltas */
      grid-template-columns: repeat(auto-fit, minmax(300px, 390px));
      grid-auto-rows: 390px;
      justify-content: center;
      gap: clamp(1.25rem, 2.8vw, 1.85rem);
      width: 100%;
      max-width: var(--site-max-width);
      margin-left: auto;
      margin-right: auto;
      padding: 0 var(--site-gutter) clamp(0.75rem, 2vw, 1.25rem);
      box-sizing: border-box;
  }
  .conv-grid--cols-4 {
      grid-template-columns: repeat(auto-fit, minmax(230px, 390px));
  }
  @media (max-width: 860px) {
      .conv-grid {
          grid-template-columns: repeat(auto-fit, minmax(260px, 390px));
          gap: clamp(1rem, 2.5vw, 1.35rem);
      }
  }
  @media (max-width: 500px) {
      .conv-grid,
      .conv-grid--cols-4 {
          grid-template-columns: minmax(0, 390px);
          grid-auto-rows: 370px;
          gap: clamp(0.9rem, 3.5vw, 1.15rem);
      }
  }
  .conv-grid__card {
      position: relative;
      background: transparent;
      border-radius: 22px;
      overflow: visible;
      border: none;
      box-shadow: none;
      display: flex;
      flex-direction: column;
      width: 100%;
      min-width: 0;
      transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .conv-grid__card::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 22px;
      background: #fff;
      border: 1px solid rgba(31, 77, 46, 0.1);
      box-shadow:
          0 4px 6px rgba(31, 77, 46, 0.04),
          0 14px 36px rgba(31, 77, 46, 0.09);
      z-index: 0;
      transition: box-shadow 0.32s ease, border-color 0.32s ease;
  }
  .conv-grid__card:hover {
      transform: translateY(-8px);
  }
  .conv-grid__card:hover::before {
      border-color: rgba(31, 77, 46, 0.22);
      box-shadow:
          0 8px 16px rgba(31, 77, 46, 0.08),
          0 24px 52px rgba(31, 77, 46, 0.14);
  }
  .conv-grid__photo {
      position: relative;
      z-index: 1;
      width: calc(100% - 2px);
      margin: 1px 1px 0;
      flex-shrink: 0;
      aspect-ratio: 16 / 10;
      min-height: 195px;
      overflow: hidden;
      background: linear-gradient(145deg, #e8f0e4 0%, #dce8d8 100%);
      border-radius: 21px 21px 0 0;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  .conv-grid__photo::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(31, 77, 46, 0) 35%, rgba(31, 77, 46, 0.18) 100%);
      pointer-events: none;
      z-index: 1;
  }
  .conv-grid__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
      transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .conv-grid__card:hover .conv-grid__photo img {
      transform: scale(1.06);
  }
  .conv-grid__no-img {
      width: 100%;
      height: 100%;
      min-height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background:
          radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.14) 0%, transparent 42%),
          radial-gradient(circle at 82% 78%, rgba(255, 255, 255, 0.1) 0%, transparent 38%),
          linear-gradient(145deg, #6fa03a 0%, #89c04c 42%, #89c04c 100%);
      position: relative;
  }
  .conv-grid__no-img::before {
      content: '';
      position: absolute;
      inset: 0;
      opacity: 0.12;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cpath d='M0 40h80M40 0v80' stroke='%23ffffff' stroke-width='1' fill='none'/%3E%3C/svg%3E");
      background-size: 56px 56px;
  }
  .conv-grid__no-img-letter {
      position: relative;
      z-index: 1;
      width: clamp(3.5rem, 12vw, 4.25rem);
      height: clamp(3.5rem, 12vw, 4.25rem);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: clamp(1.45rem, 4.5vw, 1.85rem);
      font-weight: 900;
      color: #fff;
      background: rgba(255, 255, 255, 0.12);
      border: 2px solid rgba(255, 255, 255, 0.28);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  }
  .conv-grid__body {
      position: relative;
      z-index: 2;
      margin: -1.35rem 0.85rem 0.85rem;
      padding: clamp(0.95rem, 1.8vw, 1.15rem) clamp(1rem, 1.8vw, 1.2rem) clamp(1rem, 1.8vw, 1.15rem);
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      flex: 1 1 auto;
      min-height: 0;
      background: #fff;
      border-radius: 16px;
      border: 1px solid rgba(31, 77, 46, 0.1);
      box-shadow: 0 10px 28px rgba(31, 77, 46, 0.1);
  }
  .conv-grid__name {
      font-size: clamp(1rem, 1.15vw, 1.18rem);
      font-weight: 800;
      color: #89c04c;
      margin: 0;
      line-height: 1.32;
      flex-shrink: 0;
      text-wrap: balance;
      overflow-wrap: anywhere;
      word-break: break-word;
      padding-bottom: 0.55rem;
      border-bottom: 1px solid rgba(31, 77, 46, 0.08);
  }
  .conv-grid__desc {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
  }
  .conv-grid__url {
      font-size: 0.78rem;
      color: #6b7280;
      margin: 0;
      word-break: break-word;
      overflow-wrap: anywhere;
      line-height: 1.45;
      flex-shrink: 0;
  }
  .conv-grid__url:last-child {
      margin-bottom: 0;
  }
  .conv-grid__address {
      font-size: 0.84rem;
      color: #5f6b63;
      margin: 0;
      line-height: 1.62;
      display: -webkit-box;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }
  .conv-grid__cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      width: 100%;
      box-sizing: border-box;
      margin-top: auto;
      padding: 0.82rem 1.25rem;
      background: linear-gradient(135deg, #89c04c 0%, #7ab043 100%);
      color: #fff;
      border-radius: 999px;
      font-size: 0.88rem;
      font-weight: 800;
      font-family: inherit;
      text-decoration: none;
      text-align: center;
      align-self: stretch;
      box-shadow: 0 8px 22px rgba(31, 77, 46, 0.22);
      transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
      border: none;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      letter-spacing: 0.01em;
  }
  .conv-grid__cta-ico {
      width: 17px;
      height: 17px;
      flex: 0 0 17px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .conv-grid__card:hover .conv-grid__cta {
      background: linear-gradient(135deg, #6fa03a 0%, #89c04c 100%);
      transform: translateY(-1px);
      box-shadow: 0 12px 28px rgba(31, 77, 46, 0.3);
  }
  .conv-grid__cta:hover {
      color: #fff;
      text-decoration: none;
  }
  @media (max-width: 500px) {
      .conv-grid__photo {
          aspect-ratio: 16 / 11;
          min-height: 150px;
      }
      .conv-grid__body {
          margin: -1.1rem 0.65rem 0.65rem;
          padding: 0.9rem 0.85rem;
      }
      .conv-grid__address {
          -webkit-line-clamp: 5;
      }
      .conv-breadcrumb .container {
          flex-direction: column;
          align-items: flex-start;
      }
  }
  
  /* ── RESPONSIVE GLOBAL ── */
  @media (max-width: 1024px) {
      .conv-section { padding: 48px 0 40px; }
  }
  @media (max-width: 768px) {
      .conv-section { padding: 36px 0 32px; }
      .conv-header  { margin-bottom: 28px; }
      .convenios-page .conv-section { padding-bottom: 2rem; }
  }
  
  /* ── Convenios: página (categoría + landing) ── */
  .convenios-page {
      min-width: 0;
      background: linear-gradient(180deg, #f8fbf5 0%, #f3f7f0 48%, #f7faf6 100%);
      --convenios-brand: var(--fempro-green, #89c04c);
      --convenios-brand-dark: #6fa03a;
      --convenios-brand-soft: rgba(31, 77, 46, 0.08);
      --convenios-brand-border: rgba(31, 77, 46, 0.16);
      --convenios-shadow: 0 12px 40px rgba(31, 77, 46, 0.08);
  }
  .convenios-page__inner {
      display: flex;
      flex-direction: column;
      gap: clamp(1rem, 2.2vw, 1.5rem);
      max-width: var(--site-max-width) !important;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding-left: var(--site-gutter) !important;
      padding-right: var(--site-gutter) !important;
  }
  .convenios-page--landing .convenios-page__hero {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: clamp(1.75rem, 4vw, 2.75rem) var(--site-gutter) clamp(0.5rem, 1.5vw, 1rem);
      text-align: center;
  }
  .convenios-page--landing .convenios-page__h1 {
      margin: 0 auto 0.85rem;
      max-width: 18ch;
  }
  .convenios-page--landing .convenios-page__h1::after {
      content: '';
      display: block;
      width: 2.75rem;
      height: 3px;
      margin: 0.85rem auto 0;
      border-radius: 999px;
      background: var(--convenios-brand);
      opacity: 0.55;
  }
  .convenios-page__lead {
      margin: 0 auto;
      max-width: 42rem;
      font-size: clamp(0.95rem, 1.15vw, 1.05rem);
      font-weight: 400;
      line-height: 1.65;
      color: #5f6b63;
      text-wrap: balance;
  }
  .convenios-page__head {
      display: flex;
      align-items: center;
      gap: clamp(0.75rem, 1.8vw, 1rem);
      margin: 0;
  }
  .convenios-page__head--center {
      flex-direction: column;
      text-align: center;
  }
  .convenios-page__head-icon {
      flex: 0 0 auto;
      width: clamp(2.5rem, 4vw, 3rem);
      height: clamp(2.5rem, 4vw, 3rem);
      border-radius: 14px;
      background: #fff;
      border: 1px solid var(--convenios-brand-border);
      box-shadow: 0 4px 16px rgba(31, 77, 46, 0.08);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 58%;
  }
  .convenios-page__h1 {
      margin: 0;
      font-size: clamp(1.65rem, 3.2vw, 2.15rem);
      font-weight: 800;
      color: var(--convenios-brand);
      line-height: 1.12;
      letter-spacing: -0.02em;
      text-wrap: balance;
  }
  .convenios-page__intro {
      margin: 0;
      padding: clamp(1.2rem, 2.4vw, 1.65rem) clamp(1.25rem, 2.5vw, 1.75rem);
      background: #fff;
      border: 1px solid var(--convenios-brand-border);
      border-left: 4px solid var(--convenios-brand);
      border-radius: 18px;
      box-shadow: var(--convenios-shadow);
      font-size: clamp(0.93rem, 1vw, 1rem);
      line-height: 1.68;
      color: #4b5563;
  }
  .convenios-page__intro p {
      margin: 0 0 0.85rem;
      text-align: left;
  }
  .convenios-page__intro p:last-child {
      margin-bottom: 0;
  }
  .convenios-page__intro--lead {
      text-align: center;
      border-left: none;
      border-top: 4px solid var(--convenios-brand);
  }
  .convenios-intro__lead {
      margin: 0 !important;
      font-size: clamp(1rem, 1.25vw, 1.08rem) !important;
      font-weight: 600;
      color: #4b5563 !important;
      line-height: 1.65 !important;
      text-wrap: balance;
  }
  .convenios-page__toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.75rem;
  }
  .convenios-page__back {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.55rem 1.1rem;
      border-radius: 999px;
      border: 1px solid var(--convenios-brand-border);
      background: #fff;
      color: var(--convenios-brand);
      font-size: 0.88rem;
      font-weight: 700;
      text-decoration: none;
      box-shadow: 0 4px 14px rgba(31, 77, 46, 0.06);
      transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .convenios-page__back-ico {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .convenios-page__back:hover {
      background: var(--convenios-brand-soft);
      border-color: rgba(31, 77, 46, 0.28);
      color: var(--convenios-brand-dark);
      text-decoration: none;
      transform: translateY(-1px);
      box-shadow: 0 6px 18px rgba(31, 77, 46, 0.1);
  }
  .convenios-page .conv-empty {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 2rem var(--site-gutter);
      background: #fff;
      border-radius: 16px;
      border: 1px solid var(--convenios-brand-border);
      box-shadow: var(--convenios-shadow);
      color: #6b7280;
      font-weight: 500;
  }
  @media (max-width: 767.98px) {
      .convenios-page__head--center {
          gap: 0.65rem;
      }
      .convenios-page__intro,
      .convenios-page__intro--lead {
          padding: 1rem 1.1rem;
          border-radius: 14px;
      }
      .conv-grid__card {
          border-radius: 16px;
          max-width: 100%;
      }
      .conv-grid__address {
          -webkit-line-clamp: 5;
      }
  }
  
  
  /* Tablet y móvil: sin flechas (swipe + dots) */
  @media (max-width: 991.98px) {
      .conv-btn-arrow {
          display: none !important;
      }
  }
  
  /* ── Eventos / comunicados: filas tipo banner (texto | imagen), no grid de cards ── */
  .eventos-page__wrap {
      max-width: 1140px;
  }
  .eventos-page__header {
      margin-bottom: 2rem;
      text-align: center;
      padding-bottom: 1.25rem;
      border-bottom: 1px solid rgba(31, 77, 46, 0.12);
  }
  .eventos-page__h1 {
      font-size: clamp(1.45rem, 4vw, 1.85rem);
      font-weight: 800;
      color: #89c04c;
      margin: 0 0 0.5rem;
  }
  .eventos-page__lead {
      margin: 0;
      font-size: 0.98rem;
      color: rgba(31, 77, 46, 0.72);
      font-weight: 500;
  }
  .eventos-page__empty {
      text-align: center;
      margin: 2rem 0 0;
      font-size: 1rem;
  }
  .eventos-page__news{
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1.25rem;
  }
  @media (min-width: 768px){
      .eventos-page__news{
          gap: 1.35rem 1.5rem;
      }
  }
  @media (min-width: 1200px){
      .eventos-page__news{
          gap: 1.4rem 1.75rem;
      }
  }
  
  /* ── Eventos: tarjetas tipo noticiero ── */
  .ev-news-card{
      height: 100%;
      width: 100%;
      max-width: 420px;
      display: flex;
      flex-direction: column;
      border-radius: 16px;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 14px 34px rgba(31, 77, 46, 0.08);
      transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }
  @media (min-width: 768px){
      .ev-news-card{
          width: calc(50% - 0.75rem);
          max-width: none;
      }
  }
  @media (min-width: 1200px){
      .ev-news-card{
          width: calc(33.333% - 1.1667rem);
      }
  }
  .ev-news-card:hover{
      transform: translateY(-2px);
      border-color: rgba(31, 77, 46, 0.22);
      box-shadow: 0 18px 44px rgba(31, 77, 46, 0.12);
  }
  .ev-news-card__media{
      background: #f1f5f9;
  }
  .ev-news-card__img{
      display:block;
      width: 100%;
      aspect-ratio: 16 / 9;
      height: auto;
      object-fit: cover;
      object-position: center;
  }
  .ev-news-card__placeholder{
      width: 100%;
      aspect-ratio: 16 / 9;
      background: radial-gradient(120% 120% at 0% 0%, rgba(124, 58, 237, 0.35), transparent 45%),
          radial-gradient(120% 120% at 100% 0%, rgba(234, 88, 12, 0.35), transparent 45%),
          linear-gradient(135deg, rgba(31, 77, 46, 0.95), rgba(31, 77, 46, 0.7));
  }
  .ev-news-card__body{
      padding: 0.95rem 1rem 1rem;
      display:flex;
      flex-direction: column;
      gap: 0.5rem;
  }
  .ev-news-card__date{
      font-size: 0.78rem;
      font-weight: 800;
      color: rgba(31, 77, 46, 0.8);
      letter-spacing: 0.06em;
      text-transform: uppercase;
  }
  .ev-news-card__title{
      margin: 0;
      font-size: 1rem;
      font-weight: 900;
      line-height: 1.2;
      color: #111827;
  }
  .ev-news-card__excerpt{
      margin: 0;
      color: rgba(51, 65, 85, 0.9);
      font-size: 0.92rem;
      line-height: 1.45;
  }
  .ev-news-card__tab{
      list-style: none;
      cursor: pointer;
      user-select: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.55rem 1.15rem;
      background: #89c04c;
      color: #fff;
      font-weight: 800;
      font-size: 0.86rem;
      box-shadow: 0 10px 22px rgba(31, 77, 46, 0.18);
      text-decoration: none;
      border-top: 1px solid rgba(31, 77, 46, 0.12);
  }
  .ev-news-card__tab:hover{
      background: #6fa03a;
      color: #fff;
  }
  
  /* ── Eventos: detalle ── */
  .ev-detalle {
      background: linear-gradient(180deg, #f8fbf5 0%, #f3f7f0 48%, #f7faf6 100%);
  }
  .ev-detalle__wrap {
      max-width: 820px;
      padding: clamp(1.35rem, 3vw, 2.25rem) var(--site-gutter) clamp(2rem, 4vw, 3rem);
  }
  .ev-detalle__card {
      background: #fff;
      border-radius: 22px;
      border: 1px solid rgba(31, 77, 46, 0.1);
      box-shadow: 0 12px 40px rgba(31, 77, 46, 0.08);
      padding: clamp(1.25rem, 2.5vw, 1.85rem);
  }
  .ev-detalle__head {
      text-align: center;
      margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
      padding-bottom: clamp(0.85rem, 1.8vw, 1.15rem);
      border-bottom: 1px solid rgba(31, 77, 46, 0.08);
  }
  .ev-detalle__date {
      margin: 0 0 0.55rem;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: rgba(31, 77, 46, 0.72);
  }
  .ev-detalle__title {
      margin: 0;
      font-size: clamp(1.35rem, 3vw, 1.85rem);
      font-weight: 800;
      color: #89c04c;
      line-height: 1.22;
      letter-spacing: -0.02em;
      text-wrap: balance;
  }
  .ev-detalle__title::after {
      content: '';
      display: block;
      width: 2.75rem;
      height: 3px;
      margin: 0.8rem auto 0;
      border-radius: 999px;
      background: #89c04c;
      opacity: 0.5;
  }
  .ev-detalle__empty {
      margin: 0 0 1.25rem;
      text-align: center;
  }
  .ev-detalle__figure {
      margin: 0 0 clamp(1.15rem, 2vw, 1.5rem);
      border-radius: 16px;
      overflow: hidden;
      border: 1px solid rgba(31, 77, 46, 0.08);
      box-shadow: 0 8px 24px rgba(31, 77, 46, 0.08);
      background: linear-gradient(145deg, #eef4ea 0%, #e4ece0 100%);
  }
  .ev-detalle__img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      object-position: center;
  }
  .ev-detalle__content {
      font-size: clamp(0.95rem, 1.05vw, 1.02rem);
      line-height: 1.68;
      color: #4b5563;
  }
  .ev-detalle__content img {
      max-width: 100%;
      height: auto;
      border-radius: 12px;
      display: block;
      margin: 0.75rem 0;
  }
  .ev-detalle__content a {
      color: #89c04c;
      font-weight: 700;
  }
  .ev-detalle__content p {
      margin: 0 0 0.85rem;
  }
  .ev-detalle__content p:last-child {
      margin-bottom: 0;
  }
  .ev-detalle__intro + .ev-detalle__desc {
      margin-top: 1.15rem;
      padding-top: 1.15rem;
      border-top: 1px solid rgba(31, 77, 46, 0.08);
  }
  .ev-detalle__foot {
      margin-top: clamp(1.35rem, 2.5vw, 1.75rem);
      padding-top: clamp(1rem, 2vw, 1.25rem);
      border-top: 1px solid rgba(31, 77, 46, 0.08);
      text-align: center;
  }
  .ev-detalle__backlink {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.45rem;
      padding: 0.62rem 1.15rem;
      border-radius: 999px;
      border: 1px solid rgba(31, 77, 46, 0.16);
      background: #fff;
      color: #89c04c;
      font-size: 0.88rem;
      font-weight: 700;
      text-decoration: none;
      box-shadow: 0 4px 14px rgba(31, 77, 46, 0.06);
      transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .ev-detalle__backlink-ico {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .ev-detalle__backlink:hover {
      background: rgba(31, 77, 46, 0.06);
      border-color: rgba(31, 77, 46, 0.28);
      color: #6fa03a;
      text-decoration: none;
      transform: translateY(-1px);
      box-shadow: 0 6px 18px rgba(31, 77, 46, 0.1);
  }
  @media (max-width: 767.98px) {
      .ev-detalle__card {
          border-radius: 18px;
          padding: 1rem;
      }
      .ev-detalle__figure {
          border-radius: 14px;
      }
  }
  .eventos-page__pag {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 1rem 1.5rem;
      margin-top: 2rem;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(31, 77, 46, 0.12);
  }
  .eventos-page__pag-meta {
      font-size: 0.9rem;
      color: #64748b;
      font-weight: 500;
  }
  .eventos-page__pag-link {
      display: inline-block;
      padding: 0.45rem 1rem;
      font-size: 0.88rem;
      font-weight: 700;
      color: #89c04c;
      text-decoration: none;
      border: 1px solid rgba(31, 77, 46, 0.35);
      border-radius: 999px;
      background: #fff;
      transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .eventos-page__pag-link:hover {
      background: #89c04c;
      color: #fff;
      border-color: #89c04c;
      text-decoration: none;
  }
  .eventos-page__pag-link--disabled {
      opacity: 0.45;
      cursor: not-allowed;
      pointer-events: none;
      border-color: rgba(31, 77, 46, 0.15);
      color: #94a3b8;
      background: #f8fafc;
  }
  
  .eventos-banner {
      background: #fdf0e6;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(31, 77, 46, 0.1);
      box-shadow: 0 8px 28px rgba(17, 24, 39, 0.06);
  }
  .eventos-banner--hijo {
      border-left: 5px solid #89c04c;
  }
  .eventos-banner__inner {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: clamp(1.25rem, 4vw, 3rem);
      padding: clamp(1.35rem, 3.5vw, 2.75rem);
      box-sizing: border-box;
  }
  .eventos-banner__content {
      flex: 1 1 46%;
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 0.65rem;
  }
  .eventos-banner__visual {
      flex: 1 1 50%;
      min-width: 0;
      align-self: stretch;
  }
  .eventos-banner__visual img {
      width: 100%;
      height: 100%;
      min-height: 220px;
      max-height: 380px;
      object-fit: cover;
      display: block;
      border-radius: 18px;
      box-shadow: 0 12px 32px rgba(17, 24, 39, 0.12);
  }
  .eventos-banner__placeholder {
      width: 100%;
      min-height: 220px;
      height: 100%;
      max-height: 380px;
      border-radius: 18px;
      background: linear-gradient(135deg, #89c04c 0%, #c45a1a 45%, #f59e0b 100%);
      box-shadow: 0 12px 32px rgba(31, 77, 46, 0.25);
  }
  
  .eventos-banner__date {
      font-size: 0.8rem;
      font-weight: 700;
      color: #5a2d82;
      letter-spacing: 0.04em;
      text-transform: uppercase;
  }
  .eventos-banner__title {
      font-size: clamp(1.35rem, 3.2vw, 2.05rem);
      font-weight: 800;
      color: #111827;
      margin: 0;
      line-height: 1.2;
  }
  .eventos-banner__intro {
      font-size: clamp(0.95rem, 1.8vw, 1.05rem);
      line-height: 1.6;
      color: #374151;
  }
  .eventos-banner__intro :first-child {
      margin-top: 0;
  }
  .eventos-banner__intro :last-child {
      margin-bottom: 0;
  }
  .eventos-banner__intro h1,
  .eventos-banner__intro h2,
  .eventos-banner__intro h3 {
      font-size: 1.05rem;
      font-weight: 800;
      color: #111827;
      margin: 0.5rem 0 0.35rem;
      line-height: 1.25;
  }
  .eventos-banner__intro h1:first-child,
  .eventos-banner__intro h2:first-child,
  .eventos-banner__intro h3:first-child {
      margin-top: 0;
  }
  .eventos-banner__intro p {
      margin: 0 0 0.45rem;
  }
  .eventos-banner__intro ul,
  .eventos-banner__intro ol {
      margin: 0 0 0.45rem;
      padding-left: 1.2rem;
  }
  .eventos-banner__intro a {
      color: #89c04c;
      font-weight: 600;
  }
  .eventos-banner__intro img {
      max-width: 100%;
      height: auto;
      border-radius: 10px;
      display: block;
      margin: 0.35rem 0;
  }
  
  .eventos-banner__excerpt {
      font-size: 0.95rem;
      line-height: 1.55;
      color: #4b5563;
  }
  .eventos-banner__excerpt--clamp {
      display: -webkit-box;
      line-clamp: 4;
      -webkit-line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }
  .eventos-banner__excerpt :first-child {
      margin-top: 0;
  }
  .eventos-banner__excerpt :last-child {
      margin-bottom: 0;
  }
  .eventos-banner__excerpt a {
      color: #89c04c;
      font-weight: 600;
  }
  .eventos-banner__excerpt--plain {
      margin: 0;
  }
  
  .eventos-banner__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      align-self: flex-start;
      margin-top: 0.35rem;
      padding: 0.82rem 1.65rem;
      border-radius: 999px;
      background: #ea580c;
      color: #fff;
      font-size: 0.95rem;
      font-weight: 700;
      text-decoration: none;
      border: none;
      cursor: pointer;
      box-shadow: 0 6px 18px rgba(234, 88, 12, 0.35);
      transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  }
  .eventos-banner__btn:hover {
      background: #c2410c;
      color: #fff;
      transform: translateY(-1px);
      box-shadow: 0 10px 24px rgba(234, 88, 12, 0.4);
  }
  
  @media (max-width: 767.98px) {
      .eventos-banner__inner {
          flex-direction: column;
          align-items: stretch;
      }
      .eventos-banner__visual {
          order: -1;
      }
      .eventos-banner__visual img,
      .eventos-banner__placeholder {
          max-height: 260px;
          min-height: 180px;
      }
  }
  
  /* ── Home: bloque “eventos” tipo tarjetas (teaser, sección CMS 8) ── */
  .home-eventos {
      background: #f8fafc;
      padding: clamp(2rem, 5vw, 3rem) 0;
      border-top: 1px solid rgba(31, 77, 46, 0.08);
  }
  .home-eventos__inner {
      max-width: min(1140px, 100%);
      margin: 0 auto;
      padding: 0 clamp(1rem, 4vw, 1.5rem);
      box-sizing: border-box;
  }
  .home-eventos__head {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
      gap: 0.75rem 1.25rem;
      margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
  }
  .home-eventos__empty {
      margin: 0.5rem 0 0;
      font-size: 0.95rem;
      max-width: 42rem;
  }
  .home-eventos__title {
      margin: 0;
      font-size: clamp(1.35rem, 3vw, 1.65rem);
      font-weight: 800;
      color: #111827;
      letter-spacing: -0.02em;
  }
  .home-eventos__all {
      display: inline-flex;
      align-items: center;
      gap: 0.2rem;
      font-size: 0.95rem;
      font-weight: 600;
      color: #1d4ed8;
      text-decoration: none;
  }
  .home-eventos__all:hover {
      color: #1e40af;
      text-decoration: underline;
  }
  .home-eventos__chev::after {
      content: '\203A';
      margin-left: 0.15em;
      font-weight: 700;
  }
  .home-eventos__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(1rem, 2.5vw, 1.5rem);
  }
  .home-eventos__card {
      background: #fff;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 10px 40px rgba(17, 24, 39, 0.08);
      border: 1px solid rgba(17, 24, 39, 0.06);
      display: flex;
      flex-direction: column;
      min-width: 0;
      transition: box-shadow 0.2s ease, transform 0.2s ease;
  }
  .home-eventos__card:hover {
      box-shadow: 0 16px 48px rgba(17, 24, 39, 0.12);
      transform: translateY(-2px);
  }
  .home-eventos__media {
      aspect-ratio: 16 / 10;
      background: #e5e7eb;
      overflow: hidden;
  }
  .home-eventos__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
  }
  .home-eventos__placeholder {
      width: 100%;
      height: 100%;
      min-height: 140px;
      background: linear-gradient(135deg, #89c04c 0%, #a5d066 40%, #ea580c 100%);
  }
  .home-eventos__body {
      padding: 1.1rem 1.15rem 1.25rem;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      flex: 1 1 auto;
  }
  .home-eventos__date {
      margin: 0;
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #5b2b82;
  }
  .home-eventos__card-title {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: #111827;
      line-height: 1.3;
  }
  .home-eventos__desc {
      margin: 0;
      font-size: 0.9rem;
      line-height: 1.5;
      color: #6b7280;
      display: -webkit-box;
      line-clamp: 2;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }
  .home-eventos__cta {
      margin-top: auto;
      padding-top: 0.35rem;
      align-self: flex-start;
      font-size: 0.9rem;
      font-weight: 600;
      color: #1d4ed8;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 0.15rem;
  }
  .home-eventos__cta:hover {
      color: #1e40af;
      text-decoration: underline;
  }
  @media (max-width: 1024px) and (min-width: 992px) {
      .home-eventos__grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          max-width: min(920px, 100%);
          margin: 0 auto;
      }
  }
  @media (max-width: 991.98px) {
      .home-eventos__grid {
          grid-template-columns: 1fr;
          max-width: 420px;
          margin: 0 auto;
      }
  }
  
  /* ── Nuestro fondo (page/nuestrofondo, contenido_seccion 7) ── */
  .nf-page {
      background: #fff;
  }
  .nf-page__wrap {
      max-width: min(1140px, 100%);
      margin-left: auto;
      margin-right: auto;
      box-sizing: border-box;
  }
  .nf-page__header {
      text-align: center;
      margin-bottom: clamp(2rem, 5vw, 3.25rem);
      padding-bottom: clamp(1.25rem, 3vw, 1.75rem);
      border-bottom: 1px solid rgba(31, 77, 46, 0.12);
      max-width: min(52rem, 100%);
      margin-left: auto;
      margin-right: auto;
  }
  .nf-page__header .nf-page__h1.titulo-fempa {
      margin-top: 0;
      margin-bottom: 0.65rem;
  }
  .nf-page__lead {
      margin: 0 auto;
      max-width: 38rem;
      font-size: clamp(0.95rem, 1.5vw, 1.05rem);
      line-height: 1.55;
      color: #6b7280;
      font-weight: 400;
  }
  
  /* Showcase índice: tarjeta grande + pilares (estilo referencia Itaú / FEMPA) */
  .nf-page__showcase {
      margin: 0 0 clamp(2rem, 5vw, 3rem);
      width: 100%;
      box-sizing: border-box;
  }
  .nf-page__showcase-title {
      margin: 0 0 0.5rem;
      font-size: clamp(1.35rem, 2.8vw, 1.75rem);
      font-weight: 800;
      line-height: 1.2;
      color: #111827;
      letter-spacing: -0.02em;
  }
  .nf-page__showcase-lead {
      margin: 0;
      font-size: clamp(0.98rem, 1.6vw, 1.08rem);
      line-height: 1.5;
      color: #4b5563;
      font-weight: 400;
      max-width: 42rem;
  }
  .nf-page__spotlight-body .nf-page__showcase-title {
      margin: 0 0 0.65rem;
      color: #89c04c;
      max-width: none;
  }
  .nf-page__spotlight-body .nf-page__showcase-lead {
      max-width: none;
      margin: 0;
  }
  .nf-page__showcase--static {
      margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
  }
  
  .nf-page__eventos-preview {
      margin: 0 0 clamp(1.75rem, 4vw, 2.75rem);
      padding: clamp(1.25rem, 3vw, 1.65rem) clamp(1.1rem, 2.5vw, 1.5rem);
      background: linear-gradient(135deg, rgba(31, 77, 46, 0.06) 0%, rgba(31, 77, 46, 0.02) 100%);
      border: 1px solid rgba(31, 77, 46, 0.12);
      border-radius: 14px;
      box-sizing: border-box;
  }
  .nf-page__eventos-preview-head {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px 18px;
      margin-bottom: clamp(0.85rem, 2vw, 1.15rem);
  }
  .nf-page__eventos-preview-title {
      margin: 0;
      font-size: clamp(1.15rem, 2.2vw, 1.35rem);
      font-weight: 800;
      color: #89c04c;
      letter-spacing: -0.02em;
  }
  .nf-page__eventos-preview-all {
      font-weight: 700;
      font-size: 0.95rem;
      color: #89c04c;
      text-decoration: none;
      white-space: nowrap;
      border-bottom: 2px solid transparent;
      transition: border-color 0.2s ease, color 0.2s ease;
  }
  .nf-page__eventos-preview-all:hover {
      color: #6fa03a;
      border-bottom-color: rgba(31, 77, 46, 0.35);
  }
  .nf-page__eventos-preview-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
  }
  .nf-page__eventos-preview-item {
      margin: 0;
  }
  .nf-page__eventos-preview-link {
      display: block;
      text-decoration: none;
      color: inherit;
      border-radius: 10px;
      transition: background 0.2s ease, box-shadow 0.2s ease;
  }
  .nf-page__eventos-preview-link:hover {
      background: #fff;
      box-shadow: 0 4px 18px rgba(31, 77, 46, 0.08);
  }
  .nf-page__eventos-preview-link-inner {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid rgba(31, 77, 46, 0.1);
      background: rgba(255, 255, 255, 0.65);
  }
  .nf-page__eventos-preview-link:hover .nf-page__eventos-preview-link-inner {
      border-color: rgba(31, 77, 46, 0.2);
  }
  .nf-page__eventos-preview-date {
      font-size: 0.82rem;
      font-weight: 700;
      color: #6b4a7d;
      letter-spacing: 0.02em;
  }
  .nf-page__eventos-preview-item-title {
      font-size: 1.05rem;
      font-weight: 800;
      color: #111827;
      line-height: 1.3;
  }
  .nf-page__eventos-preview-excerpt {
      font-size: 0.92rem;
      line-height: 1.45;
      color: #4b5563;
  }
  
  .nf-page__bloques-wrap {
      margin-top: clamp(1.75rem, 4vw, 2.75rem);
      padding-top: clamp(1.5rem, 3.5vw, 2.25rem);
      border-top: 1px solid rgba(31, 77, 46, 0.12);
  }
  .nf-page__showcase-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
      grid-auto-rows: 1fr;
      gap: clamp(1.25rem, 3vw, 1.75rem);
      align-items: stretch;
      width: 100%;
      box-sizing: border-box;
  }
  .nf-page__showcase-grid--solo {
      grid-template-columns: 1fr;
      max-width: 480px;
      margin-left: auto;
      margin-right: auto;
  }
  .nf-page__spotlight {
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: 0;
      background: #f7f3f0;
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 4px 22px rgba(17, 24, 39, 0.07);
      border: 1px solid rgba(31, 77, 46, 0.08);
  }
  .nf-page__spotlight-visual {
      flex: 1 1 auto;
      display: flex;
      min-height: 0;
      line-height: 0;
      background: #e8e0e8;
      overflow: hidden;
  }
  .nf-page__spotlight-visual img {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 200px;
      object-fit: cover;
      object-position: center;
      transition: transform 0.35s ease;
  }
  .nf-page__spotlight-visual:hover img {
      transform: scale(1.03);
  }
  .nf-page__spotlight-body {
      flex: 0 0 auto;
      padding: clamp(1.1rem, 2.5vw, 1.45rem) clamp(1.1rem, 2.5vw, 1.5rem) clamp(1.2rem, 2.8vw, 1.6rem);
      display: flex;
      flex-direction: column;
  }
  .nf-page__pillars {
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: 0;
      gap: 14px;
  }
  .nf-page__pillar {
      display: flex;
      flex-direction: row;
      align-items: center;
      flex: 1 1 0;
      min-height: 0;
      gap: 14px;
      padding: 16px 18px;
      background: #f7f3f0;
      border-radius: 12px;
      border: 1px solid rgba(31, 77, 46, 0.08);
      box-shadow: 0 2px 12px rgba(17, 24, 39, 0.05);
      text-decoration: none;
      color: inherit;
      box-sizing: border-box;
      transition: box-shadow 0.22s ease, border-color 0.2s ease;
  }
  .nf-page__pillar-ico {
      flex: 0 0 44px;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: #89c04c;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 0;
  }
  .nf-page__pillar-ico svg {
      display: block;
      flex-shrink: 0;
  }
  .nf-page__pillar-copy {
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 4px;
  }
  .nf-page__pillar-title {
      font-weight: 800;
      font-size: 1.02rem;
      color: #111827;
      line-height: 1.25;
  }
  .nf-page__pillar-desc {
      font-size: 0.9rem;
      line-height: 1.5;
      color: #374151;
  }
  @media (max-width: 991.98px) {
      .nf-page__showcase-grid:not(.nf-page__showcase-grid--solo) {
          grid-template-columns: 1fr;
          grid-auto-rows: auto;
      }
      .nf-page__spotlight {
          height: auto;
          min-height: 0;
      }
      .nf-page__spotlight-visual {
          flex: 0 1 auto;
      }
      .nf-page__spotlight-visual img {
          height: auto;
          max-height: 280px;
      }
      .nf-page__pillars {
          height: auto;
          min-height: 0;
      }
      .nf-page__pillar {
          flex: 0 0 auto;
      }
  }
  
  .nf-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(1.5rem, 3.5vw, 2.25rem);
      align-items: stretch;
      width: 100%;
      box-sizing: border-box;
  }
  .nf-bloque {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: clamp(1rem, 2.2vw, 1.35rem);
      height: 100%;
      padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.1rem, 2.5vw, 1.5rem) clamp(1.25rem, 2.8vw, 1.65rem);
      background: linear-gradient(165deg, #ffffff 0%, #faf8fc 55%, #f5f0fa 100%);
      border: 1px solid rgba(31, 77, 46, 0.11);
      border-radius: 18px;
      box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.9) inset,
          0 6px 28px rgba(31, 77, 46, 0.07);
      box-sizing: border-box;
      transition: box-shadow 0.28s ease, transform 0.28s ease, border-color 0.25s ease;
  }
  .nf-bloque::before {
      content: "";
      width: 3rem;
      height: 4px;
      border-radius: 999px;
      background: linear-gradient(90deg, #89c04c 0%, #7ab043 55%, #a5d066 100%);
      opacity: 0.95;
      flex-shrink: 0;
  }
  .nf-bloque:hover {
      border-color: rgba(31, 77, 46, 0.2);
      box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.95) inset,
          0 14px 40px rgba(31, 77, 46, 0.14);
      transform: translateY(-3px);
  }
  .nf-bloque__title {
      margin: 0;
      font-size: clamp(1.05rem, 2vw, 1.22rem);
      font-weight: 800;
      color: #89c04c;
      line-height: 1.28;
      max-width: 20rem;
      letter-spacing: 0.01em;
  }
  .nf-bloque__figure {
      width: 100%;
      max-width: 300px;
      margin: 0 auto;
      flex: 1 1 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 0;
  }
  .nf-bloque__img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border: 1px solid rgba(31, 77, 46, 0.12);
      border-radius: 14px;
      background: #fafafa;
      box-sizing: border-box;
      box-shadow: 0 4px 16px rgba(31, 77, 46, 0.08);
      transition: box-shadow 0.25s ease, transform 0.25s ease;
  }
  .nf-bloque:hover .nf-bloque__img {
      box-shadow: 0 8px 22px rgba(31, 77, 46, 0.12);
  }
  .nf-bloque__img--empty {
      min-height: 200px;
      width: 100%;
      border-radius: 14px;
      background: linear-gradient(145deg, #ede6f5 0%, #e0d4ee 38%, #f4f0fa 72%, #faf8fc 100%);
      border: 1px dashed rgba(31, 77, 46, 0.18);
  }
  .nf-bloque__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 132px;
      margin-top: auto;
      padding: 0.58rem 1.5rem;
      border-radius: 999px;
      background: linear-gradient(180deg, #7ab043 0%, #89c04c 45%, #6fa03a 100%);
      color: #fff;
      font-size: 0.9rem;
      font-weight: 700;
      text-decoration: none;
      letter-spacing: 0.02em;
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
      box-shadow: 0 2px 10px rgba(31, 77, 46, 0.3);
  }
  .nf-bloque__btn:hover {
      background: linear-gradient(180deg, #6fa03a 0%, #6fa03a 55%, #5a8828 100%);
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(31, 77, 46, 0.4);
  }
  .nf-bloque__btn:focus-visible {
      outline: 2px solid #7ab043;
      outline-offset: 3px;
  }
  @media (max-width: 992px) {
      .nf-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  }
  @media (max-width: 576px) {
      .nf-grid {
          grid-template-columns: 1fr;
          gap: 2.25rem;
      }
      .nf-bloque__figure {
          max-width: 340px;
      }
  }
  
  /* Quiénes Somos — layout Fempro (page/nuestrofondo) */
  .nf-page--fempro {
      --nf-brand: var(--fempro-green, #89c04c);
      --nf-brand-dark: #6fa03a;
      --nf-brand-soft: rgba(31, 77, 46, 0.08);
      --nf-brand-border: rgba(31, 77, 46, 0.16);
  }
  .nf-page--fempro .nf-page__wrap {
      max-width: var(--site-max-width);
      padding-left: var(--site-gutter);
      padding-right: var(--site-gutter);
  }
  .nf-page--fempro .nf-page__header {
      text-align: left;
      max-width: none;
      margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
      padding-bottom: 0;
      border-bottom: none;
  }
  .nf-page--fempro .nf-page__h1 {
      margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
      font-size: clamp(1.85rem, 3.2vw, 2.45rem);
      font-weight: 800;
      color: var(--nf-brand);
      line-height: 1.12;
  }
  .nf-page--fempro .nf-page__welcome,
  .nf-page--fempro .nf-welcome {
      max-width: none;
  }
  .nf-page--fempro .nf-welcome__title {
      margin: 0 0 0.85rem;
      font-size: clamp(1.15rem, 2vw, 1.45rem);
      font-weight: 800;
      color: var(--nf-brand);
      line-height: 1.25;
  }
  .nf-page--fempro .nf-welcome p,
  .nf-page--fempro .nf-page__welcome p {
      margin: 0;
      font-size: clamp(0.92rem, 1vw, 1rem);
      line-height: 1.65;
      color: #444;
      text-align: left;
  }
  .nf-stories {
      display: flex;
      flex-direction: column;
      gap: clamp(1.75rem, 3vw, 2.5rem);
      margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
  }
  .nf-story {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: clamp(1.25rem, 2.5vw, 2rem);
      align-items: start;
      padding: clamp(1.1rem, 2vw, 1.35rem);
      background: #fff;
      border: 1px solid var(--nf-brand-border);
      border-radius: 18px;
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
  }
  .nf-story--reverse .nf-story__media {
      order: 2;
  }
  .nf-story--reverse .nf-story__body {
      order: 1;
  }
  .nf-story__media img,
  .nf-org-card__media img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: 14px;
      border: 1px solid rgba(15, 23, 42, 0.08);
  }
  .nf-story__media-placeholder,
  .nf-org-card__media-placeholder {
      aspect-ratio: 4 / 3;
      border-radius: 14px;
      background: linear-gradient(145deg, rgba(31, 77, 46, 0.08), rgba(139, 197, 63, 0.12));
      border: 1px dashed var(--nf-brand-border);
  }
  .nf-story__title {
      margin: 0 0 0.75rem;
      font-size: clamp(1.1rem, 1.8vw, 1.35rem);
      font-weight: 800;
      color: var(--nf-brand);
      line-height: 1.25;
  }
  .nf-story__teaser,
  .nf-org-card__teaser {
      font-size: 0.95rem;
      line-height: 1.65;
      color: #4b5563;
      margin-bottom: 0.75rem;
  }
  .nf-story__teaser p,
  .nf-org-card__teaser p {
      margin: 0 0 0.5rem;
  }
  .nf-story__teaser p:last-child,
  .nf-org-card__teaser p:last-child {
      margin-bottom: 0;
  }
  .nf-story__detail {
      margin-top: 0.9rem;
      padding-top: 0.9rem;
      border-top: 1px solid rgba(31, 77, 46, 0.1);
      font-size: 0.93rem;
      line-height: 1.7;
      color: #374151;
  }
  .nf-story__detail p {
      margin: 0 0 0.65rem;
      text-align: justify;
  }
  .nf-story__detail p:last-child { margin-bottom: 0; }
  .nf-story__detail h3,
  .nf-story__detail h4 {
      font-size: 0.95rem;
      font-weight: 800;
      color: var(--nf-brand);
      margin: 1rem 0 0.35rem;
  }
  .nf-story__detail h3:first-child,
  .nf-story__detail h4:first-child { margin-top: 0; }
  .nf-story__detail ul,
  .nf-story__detail ol {
      padding-left: 1.25rem;
      margin: 0 0 0.65rem;
  }
  .nf-story__detail li {
      margin-bottom: 0.3rem;
      line-height: 1.6;
  }
  .nf-story__detail ul > li::marker { color: var(--nf-brand); }
  .nf-story__detail strong { font-weight: 700; color: #1e293b; }
  .nf-story__detail a {
      color: var(--nf-brand);
      text-decoration: underline;
      text-underline-offset: 2px;
  }
  .nf-page__section-title {
      margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
      font-size: clamp(1.25rem, 2.2vw, 1.55rem);
      font-weight: 800;
      color: var(--nf-brand);
      line-height: 1.2;
  }
  .nf-org-entry {
      padding: clamp(1.35rem, 2.5vw, 1.75rem);
      background: #fff;
      border: 1px solid var(--nf-brand-border);
      border-radius: 18px;
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
      text-align: center;
  }
  .nf-org-entry .nf-page__section-title {
      margin-bottom: 0.75rem;
  }
  .nf-org-entry__lead {
      margin: 0 auto clamp(1.1rem, 2vw, 1.35rem);
      max-width: 42rem;
      font-size: 0.95rem;
      line-height: 1.6;
      color: #4b5563;
  }
  .nf-org-modal {
      padding-top: 0.25rem;
  }
  .nf-modal--organos {
      --nf-brand: #89c04c;
      --nf-brand-dark: #6fa03a;
      --nf-brand-border: rgba(31, 77, 46, 0.16);
  }
  .nf-modal--organos .modal-title,
  .nf-org-detail__title {
      color: #89c04c;
  }
  .nf-org-chart {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 0.5rem 0 1.75rem;
      margin-bottom: 1.5rem;
      border-bottom: 1px solid var(--nf-brand-border);
      overflow-x: auto;
  }
  .nf-org-chart__level {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: clamp(0.65rem, 1.5vw, 1rem);
      width: 100%;
      max-width: 920px;
      position: relative;
  }
  .nf-org-chart__level:not(:first-child)::before {
      content: "";
      position: absolute;
      top: -14px;
      left: 12%;
      right: 12%;
      height: 2px;
      background: #cbd5e1;
  }
  .nf-org-chart__vline {
      width: 2px;
      height: 18px;
      background: #cbd5e1;
      flex-shrink: 0;
  }
  .nf-org-chart__node {
      display: block;
      flex: 1 1 140px;
      max-width: 220px;
      min-width: 130px;
      padding: 0.85rem 0.75rem;
      border-radius: 10px;
      text-decoration: none;
      text-align: center;
      border: 2px solid transparent;
      transition: transform 0.15s ease, box-shadow 0.15s ease;
  }
  .nf-org-chart__node:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
      text-decoration: none;
  }
  .nf-org-chart__node-title {
      display: block;
      font-size: 0.82rem;
      font-weight: 800;
      line-height: 1.3;
  }
  .nf-org-chart__node--root {
      background: #89c04c;
      color: #fff;
      border-color: #6fa03a;
      max-width: 260px;
      flex: 0 1 260px;
  }
  .nf-org-chart__node--root .nf-org-chart__node-title {
      font-size: 0.92rem;
      color: #fff;
  }
  .nf-org-chart__node--board {
      background: #6fa03a;
      color: #fff;
      border-color: #5a8828;
  }
  .nf-org-chart__node--board .nf-org-chart__node-title {
      color: #fff;
  }
  .nf-org-chart__node--team {
      background: #eef4f0;
      color: #6fa03a;
      border-color: rgba(31, 77, 46, 0.16);
  }
  .nf-org-chart__node--team .nf-org-chart__node-title {
      color: #6fa03a;
  }
  .nf-org-chart__node--root:hover,
  .nf-org-chart__node--board:hover,
  .nf-org-chart__node--team:hover {
      color: inherit;
  }
  .nf-org-modal__details {
      display: flex;
      flex-direction: column;
      gap: 1rem;
  }
  .nf-org-detail {
      padding: 1rem 1.1rem;
      background: #f9fafb;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      scroll-margin-top: 1rem;
  }
  .nf-org-detail__title {
      margin: 0 0 0.5rem;
      font-size: 1rem;
      font-weight: 800;
      color: var(--nf-brand);
      line-height: 1.25;
  }
  .nf-org-detail__teaser {
      margin-bottom: 0.65rem;
      font-size: 0.9rem;
      line-height: 1.55;
      color: #4b5563;
  }
  .nf-org-detail__teaser p {
      margin: 0;
  }
  .nf-org-detail__body {
      font-size: 0.9rem;
  }
  .nf-org-detail__body p:last-child,
  .nf-org-detail__body ul:last-child {
      margin-bottom: 0;
  }
  
  /* ── Asociación (page/asociacion, contenido_seccion 13) ── */
  .asoc-page--fempro {
      --asoc-brand: var(--fempro-green, #89c04c);
      --asoc-brand-dark: #6fa03a;
      --asoc-brand-border: rgba(31, 77, 46, 0.16);
  }
  .asoc-page__wrap {
      max-width: var(--site-max-width);
      padding-left: var(--site-gutter);
      padding-right: var(--site-gutter);
  }
  .asoc-page__header {
      margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
      text-align: center;
  }
  .asoc-page__h1 {
      margin: 0;
      font-size: clamp(1.85rem, 3.2vw, 2.45rem);
      font-weight: 800;
      color: var(--asoc-brand);
      line-height: 1.12;
      letter-spacing: 0.04em;
      text-transform: uppercase;
  }
  .asoc-block + .asoc-block {
      margin-top: clamp(2rem, 4vw, 3rem);
  }
  .asoc-block__title {
      margin: 0 0 clamp(1rem, 2vw, 1.35rem);
      font-size: clamp(1.15rem, 2vw, 1.45rem);
      font-weight: 800;
      color: var(--asoc-brand);
      line-height: 1.25;
  }
  .asoc-block--center {
      text-align: center;
  }
  .asoc-block--center .asoc-block__title {
      text-align: center;
  }
  .asoc-block__line {
      width: min(120px, 40%);
      height: 3px;
      margin: 0 auto clamp(1.25rem, 2.5vw, 1.75rem);
      background: var(--asoc-brand);
      border-radius: 999px;
  }
  .asoc-block__inner {
      display: grid;
      gap: clamp(1.25rem, 2.5vw, 2rem);
      align-items: center;
  }
  .asoc-block--split .asoc-block__inner {
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  }
  .asoc-block__body {
      font-size: clamp(0.92rem, 1vw, 1rem);
      line-height: 1.65;
      color: #444;
  }
  .asoc-block__content :first-child,
  .asoc-block__intro :first-child {
      margin-top: 0;
  }
  .asoc-block__content :last-child,
  .asoc-block__intro :last-child {
      margin-bottom: 0;
  }
  .asoc-block__content p,
  .asoc-block__intro p {
      margin: 0 0 0.85rem;
      text-align: justify;
  }
  .asoc-block--center .asoc-block__content p {
      text-align: justify;
  }
  .asoc-block__content a {
      color: var(--asoc-brand);
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
  }
  .asoc-block__content a:hover {
      color: var(--asoc-brand-dark);
  }
  .asoc-beneficios__list {
      margin: 0;
      padding-left: 1.25rem;
      display: grid;
      gap: 0.65rem;
  }
  .asoc-beneficios__list li {
      text-align: justify;
  }
  .asoc-block__media img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 14px;
      border: 1px solid var(--asoc-brand-border);
      box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
  }
  @media (max-width: 767px) {
      .asoc-block--split .asoc-block__inner {
          grid-template-columns: 1fr;
      }
      .asoc-block__media {
          order: -1;
      }
  }
  
  .nf-org-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(1.1rem, 2vw, 1.5rem);
  }
  .nf-org-card {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding: clamp(1rem, 1.8vw, 1.25rem);
      background: #fff;
      border: 1px solid var(--nf-brand-border);
      border-radius: 16px;
      box-shadow: 0 6px 22px rgba(15, 23, 42, 0.05);
      text-align: center;
  }
  .nf-org-card__media {
      margin-bottom: 0.85rem;
  }
  .nf-org-card__media img {
      aspect-ratio: 16 / 10;
  }
  .nf-org-card__title {
      margin: 0 0 0.65rem;
      font-size: 1.02rem;
      font-weight: 800;
      color: var(--nf-brand);
      line-height: 1.25;
  }
  .nf-org-card__teaser {
      flex: 1 1 auto;
      margin-bottom: 0.85rem;
      font-size: 0.88rem;
      text-align: left;
  }
  .nf-page--fempro .nf-card__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: auto;
      padding: 0.55rem 1.25rem;
      border: none;
      border-radius: 999px;
      background: var(--nf-brand);
      color: #fff;
      font-size: 0.88rem;
      font-weight: 700;
      font-family: inherit;
      cursor: pointer;
      transition: background 0.2s ease;
  }
  .nf-page--fempro .nf-card__btn:hover {
      background: var(--nf-brand-dark);
      color: #fff;
  }
  .nf-org-card .nf-card__btn {
      align-self: center;
  }
  .nf-modal .modal-header {
      border-bottom-color: var(--nf-brand-border);
  }
  .nf-modal .modal-title {
      font-weight: 800;
      color: var(--nf-brand);
  }
  .nf-modal__body {
      font-size: 0.95rem;
      line-height: 1.65;
      color: #374151;
  }
  .nf-modal__body h4 {
      margin: 1.25rem 0 0.5rem;
      font-size: 1rem;
      font-weight: 800;
      color: var(--nf-brand);
  }
  .nf-modal__body h4:first-child {
      margin-top: 0;
  }
  .nf-modal__body ul {
      margin: 0 0 0.75rem;
      padding-left: 1.25rem;
  }
  .nf-modal__body p {
      margin: 0 0 0.85rem;
  }
  @media (max-width: 991px) {
      .nf-story {
          grid-template-columns: 1fr;
      }
      .nf-story--reverse .nf-story__media,
      .nf-story--reverse .nf-story__body {
          order: unset;
      }
      .nf-org-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  }
  @media (max-width: 575px) {
      .nf-org-grid {
          grid-template-columns: 1fr;
      }
      .nf-page--fempro .nf-card__btn {
          width: 100%;
      }
  }
  
  /* ── Nuestro fondo: detalle (subpágina por slug) ── */
  article.nf-detalle .container.nf-detalle__wrap {
      max-width: min(1680px, calc(100vw - 2 * max(1rem, 3.5vw)));
      width: 100%;
      margin-left: auto;
      margin-right: auto;
  }
  
  @media (min-width: 768px) {
      .nf-detalle__wrap.py-md-5 {
          padding-top: 0 !important;
          padding-bottom: 0 !important;
      }
  }
  .nf-detalle__main {
      display: flex;
      flex-direction: row;
      align-items: stretch;
      gap: clamp(1.25rem, 4vw, 3rem);
      margin-top: clamp(1.25rem, 3vw, 2rem);
      margin-bottom: clamp(1.5rem, 3vw, 2rem);
  }
  .nf-detalle__main > * {
      min-width: 0;
  }
  .nf-detalle__hero {
      flex: 1 1 52%;
      margin: 0;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid rgba(31, 77, 46, 0.12);
  }
  .nf-detalle__hero img {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 320px;
      max-height: 520px;
      object-fit: cover;
      object-position: center;
  }
  .nf-detalle__intro,
  .nf-detalle__body {
      font-size: 1rem;
      line-height: 1.7;
      color: #374151;
  }
  .nf-detalle__intro {
      flex: 1 1 48%;
      margin-bottom: 0;
  }
  .nf-detalle__main > .nf-detalle__intro:only-child {
      flex: 1 1 100%;
      max-width: 100%;
  }
  .nf-detalle__body {
      margin-bottom: 0;
  }
  .nf-detalle__intro :first-child,
  .nf-detalle__body :first-child {
      margin-top: 0;
  }
  .nf-detalle__intro h2,
  .nf-detalle__body h2 {
      font-size: 1.2rem;
      font-weight: 800;
      color: #89c04c;
      margin: 1.25rem 0 0.5rem;
  }
  .nf-detalle__intro p,
  .nf-detalle__body p {
      margin: 0 0 0.75rem;
  }
  
  /* CMS (tabla TinyMCE + img flotante): imagen mayor y texto en caja justificada */
  .nf-detalle__intro table,
  .nf-detalle__body table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
  }
  .nf-detalle__intro table td,
  .nf-detalle__body table td {
      vertical-align: top;
  }
  .nf-detalle__intro table td p,
  .nf-detalle__body table td p,
  .nf-detalle__intro table td h2,
  .nf-detalle__body table td h2 {
      text-align: justify;
      text-wrap: pretty;
      hyphens: auto;
      -webkit-hyphens: auto;
      overflow-wrap: break-word;
      word-break: normal;
  }
  .nf-detalle__intro table td > img[align="right"],
  .nf-detalle__body table td > img[align="right"] {
      float: right;
      width: min(440px, 46vw) !important;
      max-width: min(440px, 50%);
      height: auto !important;
      margin: 0 0 0.75rem 1.25rem;
  }
  .nf-detalle__intro .descripcion img.float-end,
  .nf-detalle__body .descripcion img.float-end {
      width: min(440px, 46vw) !important;
      max-width: min(440px, 50%);
      height: auto !important;
  }
  
  .nf-detalle__back {
      margin: clamp(2rem, 4vw, 3rem) 0 0;
      text-align: center;
  }
  .nf-detalle__backlink {
      font-weight: 700;
      color: #89c04c;
      text-decoration: none;
  }
  .nf-detalle__backlink:hover {
      color: #6fa03a;
      text-decoration: underline;
  }
  
  @media (max-width: 767.98px) {
      .nf-detalle__main {
          flex-direction: column;
          align-items: stretch;
      }
      .nf-detalle__hero img {
          max-height: 320px;
          min-height: 200px;
      }
  }
  
  /* ── Scroll reveal (solo Home via .page-home) ── */
  .page-home .sr{
      opacity: 0;
      transform: translateY(16px);
      transition:
          opacity 520ms cubic-bezier(.2,.7,.2,1),
          transform 520ms cubic-bezier(.2,.7,.2,1);
      will-change: opacity, transform;
  }
  .page-home .sr.sr--in{
      opacity: 1;
      transform: translateY(0);
  }
  @media (prefers-reduced-motion: reduce){
      .page-home .sr{
          opacity: 1;
          transform: none;
          transition: none;
      }
  }
  
  /* ── Scroll reveal global (todas las páginas) ────── */
  .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition:
          opacity 620ms cubic-bezier(0.22, 0.7, 0.22, 1),
          transform 620ms cubic-bezier(0.22, 0.7, 0.22, 1);
      will-change: opacity, transform;
  }
  .reveal--left  { transform: translateX(-32px); }
  .reveal--right { transform: translateX(32px); }
  .reveal--fade  { transform: none; }
  .reveal--scale { transform: scale(0.94) translateY(12px); }
  .reveal.is-visible {
      opacity: 1;
      transform: none;
  }
  @media (prefers-reduced-motion: reduce) {
      .reveal {
          opacity: 1;
          transform: none;
          transition: none;
      }
  }
  
  /* ── Responsivo (solo ≤991.98px / ≤575.98px): escritorio sin tocar ── */
  @media (max-width: 991.98px) {
      .contenedor-general .row {
          min-width: 0;
      }
      .contenedor-general .padding-content img,
      .contenedor-general article img,
      .nf-page img,
      .nf-detalle img,
      .creditos-page img {
          max-width: 100%;
          height: auto;
      }
      .nf-detalle__intro,
      .nf-detalle__body,
      .padding-content .descripcion,
      .padding-content .boton-contenido {
          max-width: 100%;
          min-width: 0;
      }
      .nf-detalle__intro,
      .nf-detalle__body {
          overflow-x: auto;
          overflow-y: visible;
          overscroll-behavior-x: contain;
          -webkit-overflow-scrolling: touch;
      }
      .nf-detalle__intro table,
      .nf-detalle__body table {
          width: max-content;
          min-width: 100%;
          max-width: none;
      }
      pre,
      code {
          max-width: 100%;
          overflow-x: auto;
          word-break: break-word;
      }
  }
  
  @media (max-width: 575.98px) {
      .nf-detalle__intro p,
      .nf-detalle__body p,
      .nf-detalle__intro table td p,
      .nf-detalle__body table td p,
      .nf-detalle .fondo-oscuro .descripcion p,
      .nf-detalle .fondo-blanco .descripcion p,
      .nf-detalle .fondo-blanco .descripcion li {
          text-align: start;
          hyphens: manual;
          -webkit-hyphens: manual;
      }
      .nf-detalle__intro p,
      .nf-detalle__body p,
      .nf-page__lead,
      .nf-page__showcase-lead,
      .nf-page__pillar-desc {
          max-width: 65ch;
      }
  }
  
  /* ============================================================
     PAGE MODULE VIEWS (CSS consolidado desde app/modules/page/Views)
     ============================================================ */
  
  /* ── Header Fempro ── */
  .fempa-header {
      position: relative;
      z-index: 1000;
      background: #fff;
      color: #333;
      height: 88px;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      border-bottom: none;
  }
  .fempa-header .wrap {
      margin: 0 auto;
      width: 100%;
      max-width: var(--site-max-width);
      padding: 0 var(--site-gutter);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0;
      height: 100%;
      flex-wrap: nowrap;
      min-width: 0;
  }
  .fempa-header a {
      color: inherit;
      text-decoration: none;
  }
  .fempa-header .brand {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
      height: 100%;
      margin-right: 0;
  }
  .fempa-header .brand__logo-slot,
  .fempa-header .brand img {
      display: block;
      width: auto;
      height: 56px;
      max-width: min(175px, 38vw);
      flex-shrink: 0;
      object-fit: contain;
      object-position: left center;
  }
  
  .fempa-header > .wrap > .nav {
      width: auto;
      padding: 0;
      height: auto;
  }
  
  .fempa-header .nav {
      display: flex;
      width: auto;
      align-items: center;
      justify-content: flex-start;
      gap: clamp(1.25rem, 2vw, 2rem);
      flex: 0 1 auto;
      height: auto;
      background: transparent;
      padding: 0;
      margin: 0;
      position: relative;
      flex-wrap: nowrap;
      min-width: 0;
  }
  @media (min-width: 769px) {
      .fempa-header .nav {
          display: contents;
      }
      .fempa-header .right {
          display: contents;
      }
  }
  .fempa-header .nav .nav-link {
      display: inline-flex;
      align-items: center;
      font-weight: 700;
      font-size: 15px;
      line-height: 1.2;
      color: #333;
      height: auto;
      justify-content: center;
      position: relative;
      padding: 0;
      transition: color 0.18s;
      white-space: nowrap;
  }
  .fempa-header .nav .nav-link:hover,
  .fempa-header .nav .nav-link.is-active {
      color: var(--fempro-green);
  }
  
  @media (max-width: 1200px) {
      .fempa-header { height: 80px; }
      .fempa-header .brand__logo-slot,
      .fempa-header .brand img { height: 50px; }
      .fempa-header .nav .nav-link { font-size: 14px; }
  }
  
  @media (max-width: 1100px) {
      .fempa-header { height: 76px; }
      .fempa-header .brand__logo-slot,
      .fempa-header .brand img { height: 46px; }
      .fempa-header .nav .nav-link { font-size: 13px; }
  }
  
  .fempa-header .nav .nav-link + .nav-link::before,
  .fempa-header .nav .nav-dropdown + .nav-link::before,
  .fempa-header .nav .nav-link + .nav-dropdown > .nav-link::before,
  .fempa-header .nav .nav-dropdown + .nav-dropdown > .nav-link::before {
      display: none;
  }
  
  .fempa-header .nav-dropdown {
      position: relative;
      height: 100%;
      display: flex;
      align-items: stretch;
  }
  .fempa-header .nav-dropdown > .nav-link { height: 100%; }
  .fempa-header .nav-dropdown:hover > .nav-link,
  .fempa-header .nav-dropdown.is-active > .nav-link {
      background: rgba(255,255,255,0.18);
  }
  
  /* ─── Submenús compactos ────────────────────────────── */
  
  /* Chevron en el trigger */
  .fempa-header .nav-dropdown > .nav-link::after {
      content: '';
      display: inline-block;
      width: 0; height: 0;
      margin-left: 5px;
      vertical-align: middle;
      border-left: 4px solid transparent;
      border-right: 4px solid transparent;
      border-top: 4px solid currentColor;
      opacity: 0.7;
      transition: transform 0.2s ease, opacity 0.2s ease;
  }
  .fempa-header .nav-dropdown:hover > .nav-link::after,
  .fempa-header .nav-dropdown.is-active > .nav-link::after {
      transform: rotate(180deg);
      opacity: 1;
  }
  
  /* Panel dropdown */
  .fempa-header .nav-dropdown > .nav-megapanel {
      left: 0;
      right: auto;
      transform: none;
      width: max-content;
      min-width: 220px;
      max-width: min(92vw, 320px);
      padding: 8px 0 10px;
      border-radius: 0 0 14px 14px;
      border-top: 3px solid var(--fempro-green, #89c04c);
      box-shadow: 0 18px 44px rgba(0,0,0,0.14), 0 3px 10px rgba(0,0,0,0.07);
  }
  .fempa-header .nav-dropdown > .nav-megapanel.is-open {
      max-height: none;
      overflow: visible;
  }
  .fempa-header .nav-dropdown:last-of-type > .nav-megapanel {
      left: auto;
      right: 0;
  }
  .fempa-header .nav-dropdown:hover > .nav-megapanel {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__grid,
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__grid.is-section {
      display: block;
      gap: 0;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__col {
      padding: 0;
      border: none;
      min-width: 0;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list {
      font-size: 0.875rem;
      line-height: 1.4;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list li {
      margin-bottom: 0;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list li + li {
      border-top: 1px solid rgba(31,77,46,0.06);
  }
  
  /* Links del dropdown */
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 20px;
      white-space: nowrap;
      color: #3a3a3a;
      font-weight: 500;
      border-left: 3px solid transparent;
      transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, padding-left 0.15s ease;
      text-decoration: none;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list a::before {
      content: '';
      display: inline-block;
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--fempro-green-light, #a5d066);
      flex-shrink: 0;
      opacity: 0;
      transition: opacity 0.15s ease;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list a:hover,
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list a.is-active {
      background: rgba(31,77,46,0.05);
      color: var(--fempro-green, #89c04c);
      border-left-color: var(--fempro-green, #89c04c);
      padding-left: 17px;
  }
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list a:hover::before,
  .fempa-header .nav-dropdown > .nav-megapanel .nav-dropdown__list a.is-active::before {
      opacity: 1;
  }
  
  .nav-megapanel {
      --nav-mega-divider: #ded4e8;
      display: block;
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      position: absolute;
      /* Sin margin:auto: el panel más ancho que .nav ya no se desborda a la izquierda (body overflow-x: clip). */
      left: 0;
      right: auto;
      top: 100%;
      width: min(94vw, 1180px);
      margin: 0;
      padding: 16px 10px 14px;
      background: #fff;
      color: #333;
      border-radius: 0 0 12px 12px;
      box-shadow: 0 12px 36px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06);
      z-index: 200;
      font-weight: 400;
      transition: opacity 0.2s, visibility 0.2s;
  }
  .nav-megapanel.is-open{
      max-height: min(70vh, 560px);
      overflow: auto;
  }
  .nav-megapanel.is-open {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
  }
  .nav-megapanel__content { display: none; }
  .nav-megapanel__content.is-active { display: block; }
  .fempa-header .nav-dropdown__section{ padding: 4px 8px 2px; }
  .fempa-header .nav-dropdown__section-title{
      font-size: .74rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 900;
      color: rgba(31, 77, 46, .85);
      margin: 0 0 8px;
  }
  .fempa-header .nav-dropdown__grid.is-section{
      display: grid;
      gap: 0;
  }
  .fempa-header .nav-dropdown__grid--by-parent {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
      column-gap: 0;
      row-gap: 10px;
      align-items: stretch;
      align-content: start;
  }
  .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__col--stack {
      display: flex;
      flex-direction: column;
      gap: 0;
      align-items: stretch;
      justify-content: flex-start;
      min-width: 0;
      min-height: 0;
      margin: 0;
      padding: 8px 14px 10px 14px;
      border-left: 1px solid var(--nav-mega-divider, #ded4e8);
      box-sizing: border-box;
  }
  .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__col--stack::after {
      display: none;
  }
  .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__col--stack:first-child {
      border-left: none;
      padding-left: 2px;
  }
  .fempa-header .nav-dropdown__col-head {
      font-size: 0.84rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: none;
      color: #1f1f1f;
      margin: 0 0 8px;
      padding: 0 0 6px 0;
      border-bottom: 1px solid #e8e2ee;
      line-height: 1.35;
  }
  .fempa-header a.nav-dropdown__col-head {
      text-decoration: none;
      color: #1f1f1f;
  }
  .fempa-header a.nav-dropdown__col-head:hover {
      color: #89c04c;
  }
  .fempa-header .nav-dropdown__stack-item {
      display: block;
      font-size: 0.8rem;
      font-weight: 500;
      color: #3d3d3d;
      line-height: 1.42;
      text-decoration: none;
      padding: 5px 8px;
      margin: 0;
      border-radius: 6px;
      overflow-wrap: break-word;
      word-break: normal;
      text-wrap: balance;
      text-transform: none;
      letter-spacing: 0.01em;
  }
  .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__stack-item {
      padding-left: 8px;
      padding-right: 8px;
  }
  .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__stack-item:hover {
      background: rgba(31, 77, 46, 0.06);
  }
  .fempa-header .nav-dropdown__stack-item:hover {
      color: #89c04c;
      font-weight: 600;
      text-decoration: none;
  }
  @media (max-width: 1100px) {
      .fempa-header .nav-dropdown__grid--by-parent {
          grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
          row-gap: 14px;
      }
  }
  
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--by-parent.nav-dropdown__grid--creditos-list,
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--by-parent.nav-dropdown__grid--ahorros-list,
  .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__grid--by-parent.nav-dropdown__grid--auxilios-list {
      grid-template-columns: minmax(0, min(280px, 38vw));
      justify-content: start;
      width: max-content;
      max-width: 100%;
  }
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__sections--productos-compact {
      justify-content: flex-start;
      flex-wrap: nowrap;
      align-items: flex-start;
  }
  .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__sections {
      align-items: flex-start;
  }
  .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__section.is-wide{
      flex: 1 1 auto;
  }
  /* Beneficios > Convenios: mantener 4 columnas parejas (como en la referencia). */
  .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__section.is-wide .nav-dropdown__grid--by-parent:not(.nav-dropdown__grid--auxilios-list){
      grid-template-columns: repeat(4, minmax(0, 1fr));
      column-gap: 0;
      row-gap: 10px;
  }
  @media (max-width: 1100px){
      .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__section.is-wide .nav-dropdown__grid--by-parent:not(.nav-dropdown__grid--auxilios-list){
          grid-template-columns: repeat(3, minmax(0, 1fr));
      }
  }
  @media (max-width: 760px){
      .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__section.is-wide .nav-dropdown__grid--by-parent:not(.nav-dropdown__grid--auxilios-list){
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  }
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--creditos-list .nav-dropdown__col--stack,
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--ahorros-list .nav-dropdown__col--stack,
  .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__grid--auxilios-list .nav-dropdown__col--stack {
      min-height: 0;
  }
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--creditos-list .nav-dropdown__col--stack::after,
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--ahorros-list .nav-dropdown__col--stack::after,
  .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__grid--auxilios-list .nav-dropdown__col--stack::after {
      display: none;
  }
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__sections--productos-compact .nav-dropdown__section.is-wide {
      flex: 0 0 auto;
      width: max-content;
      max-width: min(320px, 42vw);
      min-width: 0;
  }
  .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__sections--productos-compact .nav-dropdown__section:not(.is-wide) {
      flex: 0 0 auto;
      width: max-content;
      max-width: min(320px, 42vw);
      min-width: 0;
  }
  @media (max-width: 1100px) {
      .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--by-parent.nav-dropdown__grid--creditos-list,
      .fempa-header .nav-megapanel__content[data-content="productos"] .nav-dropdown__grid--by-parent.nav-dropdown__grid--ahorros-list,
      .fempa-header .nav-megapanel__content[data-content="beneficios"] .nav-dropdown__grid--by-parent.nav-dropdown__grid--auxilios-list {
          grid-template-columns: minmax(0, min(240px, 46vw));
      }
  }
  
  .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      align-content: flex-start;
      justify-content: flex-start;
      gap: 0;
      row-gap: 8px;
      flex: 1 1 auto;
      min-height: clamp(248px, 34vh, 420px);
      box-sizing: border-box;
  }
  .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links > .nav-dropdown__col {
      flex: 1 1 12rem;
      min-width: 0;
      max-width: none;
      border-left: none;
      padding: 10px 20px 12px 20px;
      margin: 0;
      display: flex;
      align-items: flex-start;
  }
  .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links > .nav-dropdown__col:first-child {
      padding-left: 2px;
  }
  .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links > .nav-dropdown__col + .nav-dropdown__col {
      border-left: 1px solid var(--nav-mega-divider, #ded4e8);
      padding-left: 20px;
      margin-left: 0;
  }
  .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links .nav-dropdown__cat {
      margin: 0;
      padding: 7px 10px;
      line-height: 1.42;
      text-wrap: balance;
      font-size: 0.84rem;
      font-weight: 500;
      color: #3d3d3d;
      text-decoration: none;
      text-transform: none;
      letter-spacing: 0.01em;
      border-radius: 6px;
      display: inline-block;
      max-width: 100%;
  }
  .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links .nav-dropdown__cat:hover {
      color: #89c04c;
      background: rgba(31, 77, 46, 0.06);
  }
  .fempa-header .nav-dropdown__grid.is-section .nav-dropdown__col{
      padding-top: 8px;
      padding-bottom: 8px;
  }
  .fempa-header .nav-dropdown__sections{
      display: flex;
      gap: 0;
      align-items: stretch;
      padding-top: 0;
  }
  .fempa-header .nav-dropdown__sections .nav-dropdown__section{
      flex: 1 1 280px;
      min-width: 240px;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      box-sizing: border-box;
  }
  .fempa-header .nav-dropdown__sections .nav-dropdown__section.is-wide{
      flex: 2 1 520px;
      padding-right: 14px;
      border-right: 1px solid var(--nav-mega-divider, #ded4e8);
  }
  .fempa-header .nav-dropdown__sections .nav-dropdown__section:not(.is-wide) {
      flex: 0 1 auto;
      min-width: min(280px, 100%);
      padding-left: 14px;
      box-sizing: border-box;
      justify-content: flex-start;
  }
  @media (max-width: 900px){
      .fempa-header .nav-dropdown__sections{
          flex-direction: column;
          gap: 14px;
      }
      .fempa-header .nav-dropdown__sections .nav-dropdown__section{
          min-width: 0;
      }
      .fempa-header .nav-dropdown__sections .nav-dropdown__section.is-wide {
          border-right: none;
          padding-right: 0;
      }
      .fempa-header .nav-dropdown__sections .nav-dropdown__section:not(.is-wide) {
          padding-left: 0;
      }
      .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__col--stack {
          min-height: 0;
      }
      .fempa-header .nav-dropdown__grid--by-parent .nav-dropdown__col--stack::after {
          display: none;
      }
      .fempa-header .nav-dropdown__grid.is-section.nav-dropdown__grid--side-links {
          min-height: 0;
          flex: 0 1 auto;
      }
  }
  /* Solo grids legacy sin .is-section: el megamenú usa .is-section + --by-parent (auto-fill + min ancho).
     Si esta regla aplica a .is-section, pisaba grid-template-columns y dejaba repeat(7, minmax(0,1fr)) → columnas casi nulas. */
  .fempa-header .nav-dropdown__grid:not(.is-section) {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 0;
      align-items: start;
  }
  .fempa-header .nav-dropdown__col {
      padding: 4px 14px 8px 18px;
      border-left: 1px dashed #d5d5d5;
      min-width: 0;
  }
  .fempa-header .nav-dropdown__col:first-child { border-left: none; padding-left: 14px; }
  .fempa-header .nav-dropdown__col:has(.nav-dropdown__list) .nav-dropdown__cat { margin-bottom: 6px; }
  .fempa-header .nav-dropdown__cat {
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 0 10px;
      font-size: 0.82rem;
      font-weight: 700;
      color: #2a2a2a;
      line-height: 1.25;
  }
  .fempa-header .nav-dropdown__cat i { width: 1.1em; text-align: center; color: #89c04c; font-size: 0.95rem; flex-shrink: 0; }
  .fempa-header .nav-dropdown__list { margin: 0; padding: 0; list-style: none; font-size: 0.78rem; line-height: 1.5; color: #666; }
  .fempa-header .nav-dropdown__list li { margin-bottom: 6px; }
  .fempa-header .nav-dropdown__list li:last-child { margin-bottom: 0; }
  .fempa-header .nav-dropdown__list a { color: #444; font-weight: 500; text-decoration: none; display: inline-block; }
  .fempa-header .nav-dropdown__list a:hover { color: #89c04c; text-decoration: underline; }
  .fempa-header .nav-dropdown__list a.is-highlight { color: #89c04c; font-weight: 700; }
  .fempa-header .nav-dropdown__list a.is-highlight:hover { text-decoration: underline; }
  
  .fempa-header-icon { width: 21px; height: 21px; flex-shrink: 0; }
  .fempa-header .right {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex: 0 0 auto;
      height: auto;
      padding: 0;
      margin: 0;
  }
  .fempa-header__right-inner {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 0;
      height: auto;
  }
  .fempa-header__right-inner > .nav-link,
  .fempa-header__right-inner > .btn {
      min-height: auto;
      box-sizing: border-box;
  }
  .fempa-header .right .nav-link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 600;
      font-size: clamp(13px, 1.05vw, 15px);
      line-height: 1;
      color: var(--fempro-text);
      height: auto;
      justify-content: center;
      position: relative;
      padding: 8px 0;
      transition: color 0.18s;
      white-space: nowrap;
  }
  .fempa-header .right .nav-link > i,
  .fempa-header .right .btn > i {
      width: 21px;
      min-width: 21px;
      font-size: 18px;
      line-height: 1;
      text-align: center;
      flex-shrink: 0;
  }
  .fempa-header .right .nav-link:hover,
  .fempa-header .right .nav-link.is-active {
      color: var(--fempro-green);
  }
  .fempa-header .right .nav-link + .nav-link::before,
  .fempa-header .right .nav-link + .btn::before {
      display: none;
  }
  .fempa-header-action {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 0 16px;
      font-weight: 700;
      font-size: 18px;
      color: var(--fempro-text);
      align-self: center;
  }
  .fempa-header-action:first-child { border-left: none; padding-left: 0; }
  .fempa-header-action > i { font-size: 18px; }
  .fempa-header .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border-radius: 999px;
      background: #1F4D2E;
      color: #fff;
      font-weight: 700;
      font-size: 14px;
      line-height: 1;
      white-space: nowrap;
      padding: 7px 26px;
      min-height: auto;
      position: relative;
      box-sizing: border-box;
      transition: background 0.18s, filter 0.18s;
  }
  .fempa-header .btn:hover {
      background: #173d24;
      color: #fff;
  }
  
  .fempa-hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 40px;
      height: 40px;
      padding: 6px;
      background: transparent;
      border: none;
      cursor: pointer;
      margin-left: auto;
      flex-shrink: 0;
  }
  .fempa-hamburger__bar {
      display: block;
      width: 100%;
      height: 2px;
      background: var(--fempro-green);
      border-radius: 2px;
      transition: transform 0.3s ease, opacity 0.3s ease;
  }
  
  .fempa-menu-overlay {
      position: fixed;
      inset: 0;
      width: 100%;
      max-width: 100%;
      height: 100%;
      z-index: 9999;
      background: rgba(0,0,0,0.45);
      transform: translateX(100%);
      transition: transform 0.35s ease;
      display: flex;
      justify-content: flex-end;
  }
  .fempa-menu-overlay:not(.is-open) {
      pointer-events: none;
  }
  .fempa-menu-overlay.is-open {
      transform: translateX(0);
  }
  .fempa-menu-overlay__inner {
      background: #fff;
      width: min(85vw, 360px);
      height: 100%;
      display: flex;
      flex-direction: column;
      padding: 24px 28px;
      overflow-y: auto;
  }
  .fempa-menu-overlay__close {
      align-self: flex-end;
      background: none;
      border: none;
      font-size: 1.4rem;
      color: #333;
      cursor: pointer;
      padding: 4px 8px;
      margin-bottom: 24px;
      line-height: 1;
  }
  .fempa-menu-overlay__close:hover { color: var(--fempro-green); }
  .fempa-menu-overlay__nav { flex: 1; }
  .fempa-menu-overlay__item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 18px 0;
      color: #1a1a1a;
      text-decoration: none;
      border-bottom: 1px solid #eee;
  }
  .fempa-menu-overlay__item:hover { color: var(--fempro-green); }
  .fempa-menu-overlay__title {
      display: block;
      font-weight: 800;
      font-size: 1.05rem;
      line-height: 1.2;
  }
  .fempa-menu-overlay__sub {
      display: block;
      font-size: 0.75rem;
      color: #888;
      margin-top: 3px;
  }
  .fempa-menu-overlay__plus {
      font-size: 1.6rem;
      font-weight: 300;
      color: #89c04c;
      flex-shrink: 0;
      margin-left: 12px;
      line-height: 1;
      transition: transform 0.2s ease;
  }
  .fempa-menu-overlay__group.is-open .fempa-menu-overlay__plus { transform: rotate(45deg); }
  .fempa-menu-overlay__group { border-bottom: 1px solid #eee; }
  .fempa-menu-overlay__item--trigger {
      width: 100%;
      background: none;
      border: none;
      cursor: pointer;
      font: inherit;
      color: inherit;
      text-align: left;
      box-sizing: border-box;
  }
  .fempa-menu-overlay__panel { padding: 0 0 6px 4px; }
  .fempa-menu-overlay__panel[hidden] { display: none !important; }
  .fempa-menu-overlay__subhead {
      display: block;
      font-size: 0.72rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      font-weight: 800;
      color: rgba(31, 77, 46, 0.9);
      margin: 10px 0 4px;
      padding-left: 8px;
  }
  .fempa-menu-overlay__subhead:first-child { margin-top: 0; }
  .fempa-menu-overlay__panel > a.fempa-menu-overlay__subhead:not(.fempa-menu-overlay__subhead--group) {
      text-decoration: none;
      color: rgba(31, 77, 46, 0.9);
  }
  .fempa-menu-overlay__panel > a.fempa-menu-overlay__subhead:not(.fempa-menu-overlay__subhead--group):hover {
      color: #89c04c;
  }
  .fempa-menu-overlay__panel .fempa-menu-overlay__subhead.fempa-menu-overlay__subhead--group {
      font-size: 0.88rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      text-transform: none;
      color: #1f1f1f;
      margin: 18px 0 8px;
      padding: 0 8px 8px;
      border-bottom: 1px solid #e8e2ee;
  }
  .fempa-menu-overlay__panel a.fempa-menu-overlay__subhead--group {
      text-decoration: none;
  }
  .fempa-menu-overlay__panel a.fempa-menu-overlay__subhead--group:hover {
      color: #89c04c;
  }
  .fempa-menu-overlay__subhead + .fempa-menu-overlay__subhead--group {
      margin-top: 12px;
  }
  .fempa-menu-overlay__sublink {
      display: block;
      padding: 11px 8px;
      color: #333;
      font-size: 0.9rem;
      font-weight: 600;
      text-decoration: none;
      border-top: 1px solid #f2f2f2;
  }
  .fempa-menu-overlay__sublink:hover { color: #89c04c; }
  .fempa-menu-overlay__sublink--nested {
      padding: 10px 8px 10px 22px;
      font-size: 0.85rem;
      font-weight: 400;
      color: #4a4a4a;
  }
  .fempa-menu-overlay__sublink--nested:hover {
      font-weight: 500;
  }
  .fempa-menu-overlay__footer {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding-top: 28px;
  }
  .fempa-menu-overlay__action {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: #89c04c;
      font-weight: 700;
      font-size: 0.95rem;
      text-decoration: none;
  }
  .fempa-menu-overlay__action:hover { color: #6fa03a; }
  .fempa-menu-overlay__action i { font-size: 1.2rem; }
  .fempa-menu-overlay__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 12px 24px;
      background: #1F4D2E;
      color: #fff;
      font-weight: 800;
      font-size: 0.95rem;
      border-radius: 50px;
      text-decoration: none;
      text-align: center;
  }
  .fempa-menu-overlay__btn:hover { background: #173d24; color: #fff; }
  
  /* Portátil ~1024px: más ancho útil sin pasar a menú móvil (769+) */
  @media (max-width: 1024px) and (min-width: 769px) {
      .fempa-header .brand__logo-slot,
      .fempa-header .brand img {
          height: 44px;
      }
      .fempa-header .nav .nav-link {
          font-size: 12px;
      }
      .fempa-header .btn {
          font-size: 12px;
          padding: 9px 18px;
      }
      .nav-megapanel {
          width: min(96vw, calc(100vw - 32px));
      }
  }
  @media (max-width: 1024px) {
      .fempa-header .nav-dropdown__grid:not(.nav-dropdown__grid--by-parent):not(.is-section) {
          grid-template-columns: repeat(4, minmax(0, 1fr));
      }
      .fempa-header .nav-dropdown__grid:not(.nav-dropdown__grid--by-parent):not(.is-section) .nav-dropdown__col:nth-child(4n+1) {
          border-left: none;
          padding-left: 14px;
      }
  }
  @media (max-width: 768px) {
      .fempa-header { height: 64px; }
      .fempa-header .nav { display: none; }
      .fempa-header .right { display: none; }
      .fempa-hamburger { display: flex; margin-right: 0; }
      .fempa-header .brand__logo-slot,
      .fempa-header .brand img { height: 40px; }
  }
  
  /* ── Footer Fempro ── */
  .footer-scanline {
      position: relative;
      background-color: #2c2e2a;
      color: #fff;
      width: 100%;
      padding: 0 0 clamp(1.25rem, 2vw, 1.5rem);
  }
  .footer-scanline::before {
      content: "";
      display: block;
      width: 100%;
      height: clamp(10px, 1.1vw, 13px);
      background: var(--fempro-green-light);
  }
  .footer-scanline::after {
      display: none;
  }
  .footer-scanline__inner {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: clamp(2rem, 3.2vw, 2.75rem) var(--site-gutter) 0;
      box-sizing: border-box;
  }
  .footer-scanline__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      column-gap: clamp(1.5rem, 3vw, 3rem);
      row-gap: clamp(1.75rem, 3vw, 2.25rem);
      align-items: start;
  }
  .footer-scanline__col {
      min-width: 0;
      text-align: left;
  }
  .footer-scanline__col--brand {
      max-width: 18rem;
  }
  .footer-scanline__brand {
      display: block;
      line-height: 0;
      margin: 0 0 clamp(1.25rem, 2vw, 1.5rem);
  }
  .footer-scanline__brand img {
      display: block;
      width: auto;
      height: clamp(3.5rem, 4.8vw, 4.25rem);
      max-width: min(9.5rem, 28vw);
      object-fit: contain;
      object-position: left top;
  }
  .footer-scanline__heading {
      margin: 0 0 clamp(0.85rem, 1.4vw, 1rem);
      padding-bottom: clamp(0.45rem, 0.8vw, 0.55rem);
      border-bottom: 2px solid var(--fempro-green-light);
      font-size: clamp(0.95rem, 1.05vw, 1.05rem);
      font-weight: 700;
      color: #fff;
      line-height: 1.25;
  }
  .footer-scanline__body {
      font-size: clamp(0.8rem, 0.9vw, 0.875rem);
      line-height: 1.6;
      color: rgba(255, 255, 255, 0.92);
      font-weight: 400;
  }
  .footer-scanline__line {
      margin: 0 0 0.45rem;
  }
  .footer-scanline__line strong {
      font-weight: 700;
      color: #fff;
  }
  .footer-scanline__contact-extra {
      margin-top: 0.35rem;
  }
  .footer-scanline__contact-extra:empty {
      display: none;
  }
  .footer-scanline__body :first-child { margin-top: 0; }
  .footer-scanline__body :last-child { margin-bottom: 0; }
  .footer-scanline__nav {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
  }
  .footer-scanline__nav a,
  .footer-scanline__body a {
      color: rgba(255, 255, 255, 0.92);
      font-size: clamp(0.8rem, 0.9vw, 0.875rem);
      font-weight: 400;
      line-height: 1.55;
      text-decoration: none;
      transition: color 0.18s ease;
  }
  .footer-scanline__nav a:hover,
  .footer-scanline__body a:hover {
      color: var(--fempro-green-light);
  }
  .footer-scanline__social {
      list-style: none;
      margin: clamp(1rem, 1.6vw, 1.25rem) 0 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.55rem;
  }
  .footer-scanline__social-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      background: #fff;
      color: #2c2e2a;
      text-decoration: none;
      transition: transform 0.18s ease, background 0.18s ease;
  }
  .footer-scanline__social-link:hover {
      background: var(--fempro-green-light);
      color: #fff;
      transform: translateY(-1px);
  }
  .footer-scanline__social-link i {
      font-size: 0.88rem;
      width: 0.95rem;
      text-align: center;
  }
  .footer-scanline__text {
      margin: clamp(1.75rem, 2.8vw, 2.25rem) 0 0;
      padding-top: clamp(1rem, 1.8vw, 1.25rem);
      border-top: 1px solid rgba(255, 255, 255, 0.18);
      font-size: clamp(0.72rem, 0.82vw, 0.8rem);
      font-weight: 400;
      color: rgba(255, 255, 255, 0.72);
      text-align: center;
  }
  @media (max-width: 960px) {
      .footer-scanline__grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  }
  @media (max-width: 520px) {
      .footer-scanline__grid {
          grid-template-columns: 1fr;
      }
  }
  
  /* ── Home: banner principal (antes inline en Views/template/bannerprincipal.php) ── */
  .slider-principal{
      width: 100%;
      max-width: 100%;
      overflow: hidden;
      margin-top: 0;
  }
  .page-home > .slider-principal{
      margin-top: -112px;
  }
  .slider-principal .carousel-inner{ overflow: hidden; }
  .slider-principal .fondo-imagen,
  .slider-principal .fondo-imagen-responsive{
      position: relative;
      width: 100%;
      max-width: 100%;
      overflow: hidden;
  }
  .slider-principal .fondo-imagen::after,
  .slider-principal .fondo-imagen-responsive::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
          linear-gradient(180deg, transparent 58%, rgba(255, 255, 255, 0.45) 80%, rgba(255, 255, 255, 0.92) 100%),
          linear-gradient(
              90deg,
              rgba(255, 255, 255, 0.98) 0%,
              rgba(255, 255, 255, 0.92) 18%,
              rgba(255, 255, 255, 0.72) 34%,
              rgba(255, 255, 255, 0.35) 52%,
              rgba(255, 255, 255, 0) 72%
          );
  }
  .page-home > .slider-principal .fondo-imagen::after,
  .page-home > .slider-principal .fondo-imagen-responsive::after {
      background: linear-gradient(
          90deg,
          rgba(255, 255, 255, 0.98) 0%,
          rgba(255, 255, 255, 0.92) 18%,
          rgba(255, 255, 255, 0.72) 34%,
          rgba(255, 255, 255, 0.35) 52%,
          rgba(255, 255, 255, 0) 72%
      );
  }
  .slider-principal .fondo-imagen--color{
      width: 100%;
      height: 77vh;
      min-height: 300px;
      position: relative;
  }
  /* ── Banner páginas internas (banner completo con overlay) ── */
  .page-inner-banner {
      margin: 0;
  }
  .banner-interno{
      position: relative;
      width: 100%;
      height: auto;
      min-height: 200px;
      max-height: none;
      overflow: hidden;
      background: #6fa03a;
      display: flex;
      align-items: center;
      padding: clamp(1.35rem, 2.8vw, 1.85rem) 0;
      box-sizing: border-box;
  }
  .banner-interno__bg{
      position: absolute;
      inset: 0;
      z-index: 0;
  }
  .banner-interno__img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 15%;
      display: block;
  }
  .banner-interno__overlay{
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(
          90deg,
          rgba(8, 30, 16, 0.94) 0%,
          rgba(15, 50, 28, 0.86) 38%,
          rgba(20, 60, 35, 0.50) 62%,
          rgba(31, 77, 46, 0.08) 100%
      );
  }
  .banner-interno__content{
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: var(--site-max-width);
      margin-left: auto;
      margin-right: auto;
      padding-top: 0;
      padding-bottom: 0;
      padding-left: var(--site-gutter);
      padding-right: var(--site-gutter);
      box-sizing: border-box;
  }
  .page-inner-banner .banner-interno__content.container{
      max-width: var(--site-max-width) !important;
      width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      padding-left: var(--site-gutter) !important;
      padding-right: var(--site-gutter) !important;
      box-sizing: border-box;
  }
  .banner-interno__text{
      max-width: 100%;
  }
  .banner-interno__title{
      margin: 0;
      font-family: "Poppins", sans-serif;
      font-size: clamp(1.35rem, 2.4vw, 2rem);
      font-weight: 800;
      line-height: 1.15;
      color: #ffffff;
      letter-spacing: -0.01em;
      text-wrap: balance;
  }
  .banner-interno__title::after{
      content: '';
      display: block;
      width: 2.75rem;
      height: 3px;
      margin-top: 0.45rem;
      border-radius: 999px;
      background: #a5d066;
  }
  .banner-interno__desc{
      display: block;
      margin: 0.65rem 0 0;
      max-width: min(40rem, 100%);
      font-family: "Poppins", sans-serif;
      font-size: clamp(0.875rem, 1.35vw, 1.05rem);
      font-weight: 400;
      line-height: 1.5;
      color: rgba(255, 255, 255, 0.92);
      text-wrap: pretty;
  }
  .banner-interno__btn{
      display: none;
  }
  @media (max-width: 767px){
      .banner-interno__overlay{
          background: rgba(8, 30, 16, 0.82);
      }
      .banner-interno__text{
          max-width: 100%;
      }
  }
  .slider-principal .fondo-imagen img,
  .slider-principal .fondo-imagen-responsive img{
      width: 100%;
      height: 77vh;
      object-fit: cover;
      object-position: center;
      display: block;
      margin: 0 auto;
  }
  .slider-principal .carousel-item {
      position: relative;
  }
  .slider-principal .banner-hero {
      position: absolute;
      z-index: 3;
      left: 0;
      right: 0;
      top: 50%;
      transform: translateY(-42%);
      width: 100%;
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 0 var(--site-gutter);
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: clamp(0.85rem, 1.6vw, 1.15rem);
      pointer-events: none;
  }
  .slider-principal .banner-hero__title {
      margin: 0;
      font-family: "Poppins", sans-serif;
      font-size: clamp(1.85rem, 3.2vw, 2.75rem);
      font-weight: 700;
      line-height: 1.15;
      color: #2d2d2d;
      letter-spacing: -0.01em;
  }
  .slider-principal .banner-hero__desc {
      margin: 0;
      font-family: "Poppins", sans-serif;
      font-size: clamp(0.95rem, 1.35vw, 1.15rem);
      font-weight: 400;
      line-height: 1.45;
      color: #333;
      max-width: min(36rem, 100%);
  }
  .slider-principal .banner-hero > :where(h1, p, div) {
      margin: 0;
  }
  .slider-principal .banner-hero .banner-hero {
      display: contents;
  }
  .slider-principal .banner-hero__desc :where(p, div, span) {
      margin: 0;
  }
  .slider-principal .banner-hero__btn {
      pointer-events: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: clamp(0.25rem, 0.8vw, 0.5rem);
      padding: 12px 28px;
      border-radius: 999px;
      background: #a5d066;
      color: #2d2d2d;
      font-family: "Poppins", sans-serif;
      font-size: clamp(0.9rem, 1.1vw, 1rem);
      font-weight: 700;
      line-height: 1;
      text-decoration: none;
      transition: background 0.18s ease, transform 0.18s ease;
  }
  .slider-principal .banner-hero__btn:hover {
      background: #6fa03a;
      color: #1f1f1f;
      transform: translateY(-1px);
  }
  @media (max-width: 768px) {
      .slider-principal .fondo-imagen::after,
      .slider-principal .fondo-imagen-responsive::after {
          background: linear-gradient(
              180deg,
              rgba(255, 255, 255, 0.96) 0%,
              rgba(255, 255, 255, 0.78) 28%,
              rgba(255, 255, 255, 0.2) 55%,
              rgba(255, 255, 255, 0) 78%
          );
      }
      .page-home > .slider-principal .fondo-imagen::after,
      .page-home > .slider-principal .fondo-imagen-responsive::after {
          background: linear-gradient(
              180deg,
              rgba(255, 255, 255, 0.9) 0%,
              rgba(255, 255, 255, 0.45) 24%,
              rgba(255, 255, 255, 0) 48%
          );
      }
      .slider-principal .banner-hero {
          top: auto;
          bottom: clamp(1.5rem, 5vw, 2.5rem);
          transform: none;
          gap: 0.75rem;
      }
      .slider-principal .banner-hero__title {
          font-size: clamp(1.45rem, 5.5vw, 1.85rem);
      }
      .slider-principal .banner-hero__desc {
          font-size: clamp(0.88rem, 3.5vw, 1rem);
          max-width: none;
      }
  }
  
  @media (max-width: 991.98px) {
      .slider-principal {
          margin-top: -80px;
      }
      .slider-principal .fondo-imagen-responsive {
          min-height: 0;
          background-color: #fff;
      }
      .slider-principal .fondo-imagen-responsive img {
          width: 100%;
          height: auto;
          max-height: min(75vh, 36rem);
          object-fit: contain;
          object-position: center top;
      }
  }
  @media (max-width: 767.98px) {
      .slider-principal {
          margin-top: -64px;
      }
      .slider-principal .fondo-imagen-responsive img {
          max-height: min(68vh, 30rem);
      }
  }
  
  /* ── Créditos (antes inline en Views/creditos/index.php) ── */
  .creditos-page {
      min-width: 0;
      background: linear-gradient(180deg, #f8fbf5 0%, #f3f7f0 48%, #f7faf6 100%);
      --creditos-brand: var(--fempro-green, #89c04c);
      --creditos-brand-dark: #6fa03a;
      --creditos-brand-soft: rgba(31, 77, 46, 0.08);
      --creditos-brand-border: rgba(31, 77, 46, 0.16);
      --creditos-brand-ring: rgba(31, 77, 46, 0.22);
      --creditos-shadow: 0 12px 40px rgba(31, 77, 46, 0.08);
      --creditos-shadow-hover: 0 20px 52px rgba(31, 77, 46, 0.13);
      --creditos-font: var(--font-family-base, "Poppins", sans-serif);
      --creditos-fs: clamp(0.9375rem, 0.95vw, 1rem);
      --creditos-fs-lg: clamp(1.0625rem, 1.12vw, 1.1875rem);
      --creditos-fs-h1: clamp(1.35rem, 1.6vw, 1.55rem);
      --creditos-lh: 1.6;
      font-family: var(--creditos-font);
      font-size: var(--creditos-fs);
      line-height: var(--creditos-lh);
      color: #374151;
  }
  .creditos-page :where(p, li, span, a, label, select, button, div, td, th, strong, em) {
      font-family: inherit;
  }
  .creditos-page__intro :where(p, li, span, div):not(.creditos-intro__lead),
  .credito-card__content :where(p, li, span, div, strong, em) {
      font-size: inherit;
      line-height: inherit;
      font-family: inherit;
  }
  .creditos-page__inner {
      display: flex;
      flex-direction: column;
      gap: clamp(1.15rem, 2.4vw, 1.65rem);
  }
  .creditos-page__head {
      display: flex;
      align-items: center;
      gap: clamp(0.75rem, 1.8vw, 1rem);
      margin: 0 0 0.15rem;
  }
  .creditos-page__head-icon {
      flex: 0 0 auto;
      width: clamp(2.5rem, 4vw, 3rem);
      height: clamp(2.5rem, 4vw, 3rem);
      border-radius: 14px;
      background: #fff var(--creditos-brand-soft);
      border: 1px solid var(--creditos-brand-border);
      box-shadow: 0 4px 16px rgba(31, 77, 46, 0.08);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 15h.01'/%3E%3Cpath d='M11 15h2'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 58%;
  }
  .creditos-page__h1 {
      margin: 0;
      font-family: inherit;
      font-size: var(--creditos-fs-h1);
      font-weight: 800;
      color: var(--creditos-brand);
      line-height: 1.2;
      letter-spacing: -0.02em;
  }
  .creditos-page__intro {
      margin: 0;
      padding: clamp(1.2rem, 2.4vw, 1.65rem) clamp(1.25rem, 2.5vw, 1.75rem);
      background: #fff;
      border: 1px solid var(--creditos-brand-border);
      border-left: 4px solid var(--creditos-brand);
      border-radius: 18px;
      box-shadow: var(--creditos-shadow);
      font-size: inherit;
      line-height: inherit;
      color: inherit;
  }
  .creditos-page__intro p {
      margin: 0 0 0.85rem;
      text-align: left;
  }
  .creditos-page__intro p:last-child {
      margin-bottom: 0;
  }
  .creditos-intro__lead {
      font-family: inherit;
      font-size: var(--creditos-fs-lg) !important;
      font-weight: 700;
      color: var(--creditos-brand) !important;
      line-height: 1.5 !important;
      text-wrap: balance;
  }
  .creditos-page .container,
  .creditos-page__inner {
      max-width: var(--site-max-width) !important;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding-left: var(--site-gutter) !important;
      padding-right: var(--site-gutter) !important;
  }
  .creditos-page .container {
      padding-top: 0.9rem !important;
  }
  .creditos-line-picker {
      display: none;
      background: #fff;
      border: 1px solid var(--creditos-brand-border);
      border-radius: 16px;
      box-shadow: var(--creditos-shadow);
      padding: 1rem 1.15rem 1.15rem;
      box-sizing: border-box;
  }
  .creditos-line-picker__label {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      font-family: inherit;
      font-weight: 700;
      font-size: var(--creditos-fs-lg);
      color: var(--creditos-brand);
      margin: 0 0 0.65rem;
      line-height: 1.4;
  }
  .creditos-line-picker__label-text {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-size: inherit;
  }
  .creditos-line-picker__label-text::before {
      content: '';
      flex: 0 0 18px;
      width: 18px;
      height: 18px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h10M4 18h6'/%3E%3C/svg%3E") center/contain no-repeat;
      opacity: 0.9;
  }
  .creditos-line-picker__select {
      display: block;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      min-height: 50px;
      padding: 0.65rem 2.5rem 0.65rem 1rem;
      font-size: inherit;
      font-weight: 600;
      font-family: inherit;
      line-height: inherit;
      color: #1f2937;
      border: 1px solid rgba(31, 77, 46, 0.22);
      border-radius: 12px;
      background-color: #f8fbf8;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%2389c04c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 0.75rem center;
      background-size: 1.15rem;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      cursor: pointer;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  }
  .creditos-line-picker__select:hover {
      border-color: rgba(31, 77, 46, 0.4);
      background-color: #eef5ef;
      box-shadow: 0 4px 14px rgba(31, 77, 46, 0.08);
  }
  .creditos-line-picker__select:focus {
      outline: none;
      border-color: var(--creditos-brand);
      background-color: #fff;
      box-shadow: 0 0 0 3px var(--creditos-brand-ring);
  }
  .creditos-side {
      border: 1px solid var(--creditos-brand-border);
      border-radius: 16px;
      background: #fff;
      overflow: hidden;
      width: 100%;
      box-shadow: var(--creditos-shadow);
      display: flex;
      flex-direction: column;
      height: 100%;
  }
  .creditos-side__title {
      padding: 0.95rem 1.1rem;
      font-family: inherit;
      font-weight: 800;
      font-size: inherit;
      line-height: inherit;
      color: var(--creditos-brand);
      background: linear-gradient(180deg, rgba(31, 77, 46, 0.06) 0%, rgba(31, 77, 46, 0.02) 100%);
      border-bottom: 1px solid var(--creditos-brand-border);
  }
  .creditos-side__title-text {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
  }
  .creditos-side__title-text::before {
      content: '';
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Crect x='9' y='3' width='6' height='4' rx='1'/%3E%3C/svg%3E") center/contain no-repeat;
      opacity: 0.85;
  }
  .creditos-side__list {
      padding: 0.55rem;
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
  }
  .creditos-side__item {
      display: block;
      padding: 0.78rem 0.9rem;
      border-radius: 10px;
      color: #4b5563;
      text-decoration: none;
      font-family: inherit;
      font-weight: 600;
      font-size: inherit;
      line-height: inherit;
      border: 1px solid transparent;
      transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  }
  .creditos-side__item:hover {
      background: rgba(31, 77, 46, 0.05);
      color: var(--creditos-brand-dark);
      transform: translateX(2px);
  }
  .creditos-side__item.is-active {
      color: var(--creditos-brand);
      font-weight: 800;
      background: var(--creditos-brand-soft);
      border-color: var(--creditos-brand-border);
      box-shadow: inset 3px 0 0 var(--creditos-brand);
  }
  .credito-card {
      display: flex;
      gap: 0;
      border-radius: 20px;
      overflow: hidden;
      background: #fff;
      border: 1px solid var(--creditos-brand-border);
      box-shadow: var(--creditos-shadow);
      height: clamp(420px, 50vh, 520px);
      transition: box-shadow 0.28s ease, transform 0.28s ease;
  }
  .credito-card:hover {
      box-shadow: var(--creditos-shadow-hover);
  }
  .credito-card__media {
      flex: 0 0 37%;
      background: linear-gradient(145deg, #eef4ea 0%, #e4ece0 100%);
      min-height: auto;
      height: 100%;
      position: relative;
      overflow: hidden;
  }
  .credito-card__media::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: var(--credito-media-url);
      background-size: cover;
      background-position: center;
      filter: blur(16px);
      transform: scale(1.08);
      opacity: 0.4;
  }
  .credito-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
      position: relative;
      z-index: 1;
  }
  .credito-card__body {
      flex: 0 0 63%;
      padding: 0;
      background: #fff;
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: 0;
      overflow: hidden;
  }
  .credito-card__content {
      flex: 1 1 auto;
      min-height: 0;
      overflow: auto;
      scrollbar-width: thin;
      scrollbar-color: rgba(31, 77, 46, 0.25) transparent;
  }
  .credito-card__header {
      background: linear-gradient(135deg, var(--creditos-brand) 0%, #7ab043 100%);
      color: #fff;
      padding: 1.25rem 1.75rem 1.15rem;
  }
  .credito-card__title {
      font-family: inherit;
      font-weight: 800;
      font-size: inherit;
      line-height: 1.35;
      text-wrap: balance;
  }
  .credito-card__meta {
      margin-top: 0.75rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
  }
  .credito-card__meta-row {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      font-family: inherit;
      font-weight: 600;
      font-size: inherit;
      line-height: inherit;
      padding: 0.35rem 0.75rem;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.14);
      border: 1px solid rgba(255, 255, 255, 0.22);
  }
  .credito-card__meta-ico {
      width: 16px;
      height: 16px;
      display: inline-block;
      flex: 0 0 16px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      filter: brightness(0) invert(1);
      opacity: 0.95;
  }
  .credito-card__meta-ico.is-rate {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
  }
  .credito-card__meta-ico.is-time {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  }
  .credito-card__intro {
      color: inherit;
      margin: 0;
      padding: 1.35rem 1.75rem 0.35rem;
      font-family: inherit;
      font-size: inherit;
      line-height: inherit;
      text-align: left;
  }
  .credito-card__intro p,
  .credito-card__intro li {
      text-align: left;
  }
  .credito-card__intro p:last-child {
      margin-bottom: 0;
  }
  .credito-card__list {
      margin: 0;
      padding: 0.85rem 1.75rem 0.65rem;
      list-style: none;
  }
  .credito-card__list li {
      position: relative;
      padding: 0.65rem 0.85rem 0.65rem 2.15rem;
      margin-bottom: 0.5rem;
      color: inherit;
      font-family: inherit;
      font-size: inherit;
      line-height: inherit;
      background: rgba(31, 77, 46, 0.04);
      border: 1px solid rgba(31, 77, 46, 0.08);
      border-radius: 10px;
  }
  .credito-card__list li::before {
      content: '';
      position: absolute;
      left: 0.75rem;
      top: 50%;
      transform: translateY(-50%);
      width: 18px;
      height: 18px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  }
  .credito-card__cta {
      display: flex;
      justify-content: center;
      padding: 0.65rem 1.75rem 1.35rem;
      margin-top: auto;
      border-top: 1px solid rgba(31, 77, 46, 0.08);
      background: linear-gradient(180deg, rgba(248, 251, 248, 0) 0%, rgba(248, 251, 248, 0.85) 100%);
  }
  .credito-card__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.55rem;
      background: var(--creditos-brand);
      color: #fff;
      text-decoration: none;
      border-radius: 999px;
      padding: 0.78rem 1.65rem;
      font-family: inherit;
      font-weight: 800;
      font-size: inherit;
      line-height: inherit;
      box-shadow: 0 8px 22px rgba(31, 77, 46, 0.24);
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .credito-card__btn:hover {
      background: var(--creditos-brand-dark);
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 12px 28px rgba(31, 77, 46, 0.3);
  }
  .credito-card__btn-ico {
      width: 20px;
      height: 20px;
      display: inline-block;
      flex: 0 0 20px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 15h.01'/%3E%3Cpath d='M11 15h2'/%3E%3C/svg%3E");
  }
  @media (max-width: 767.98px){
      .creditos-page__head {
          margin-bottom: 0.25rem;
      }
      .credito-card{
          flex-direction: column;
          height: auto;
          border-radius: 16px;
      }
      .credito-card__media{
          flex-basis: auto;
          min-height: 200px;
          height: auto;
          max-height: 240px;
      }
      .credito-card__body{
          flex-basis: auto;
          height: auto;
          min-width: 0;
      }
      .credito-card__content{
          overflow: visible;
      }
      .credito-card__media img{
          max-height: 240px;
          object-fit: cover;
      }
      .credito-card__header {
          padding: 1rem 1.15rem 0.95rem;
      }
      .credito-card__intro {
          padding: 1rem 1.15rem 0.25rem;
          overflow-wrap: break-word;
      }
      .credito-card__list {
          padding: 0.65rem 1.15rem 0.5rem;
      }
      .credito-card__list li {
          padding: 0.55rem 0.75rem 0.55rem 2rem;
          margin-bottom: 0.4rem;
      }
      .credito-card__list li::before {
          width: 16px;
          height: 16px;
          left: 0.65rem;
      }
      .credito-card__cta {
          padding: 0.65rem 1.15rem 1.15rem;
      }
      .credito-card__btn {
          width: 100%;
          max-width: 100%;
          justify-content: center;
          box-sizing: border-box;
          padding: 0.72rem 1.15rem;
      }
      .creditos-side {
          max-height: min(52vh, 420px);
      }
      .creditos-side__title {
          padding: 0.8rem 0.95rem;
      }
      .creditos-side__item {
          padding: 0.68rem 0.8rem;
      }
  }
  @media (min-width: 768px){
      :root{ --creditos-side-w: clamp(220px, 22vw, 300px); }
      .creditos-page .row{ align-items: stretch; gap: clamp(1rem, 2vw, 1.75rem); }
      .creditos-main-col{
          flex: 1 1 0;
          min-width: 0;
          max-width: none;
          padding-right: clamp(0.5rem, 1.5vw, 1rem);
      }
      .credito-card{ height: clamp(440px, 52vh, 560px); }
      .creditos-side-col{
          flex: 0 0 var(--creditos-side-w);
          width: var(--creditos-side-w);
          max-width: var(--creditos-side-w);
          margin-left: 0;
          padding-left: clamp(0.75rem, 1.5vw, 1.25rem);
          padding-right: 0;
          display: flex;
      }
      .creditos-side{
          width: 92%;
          max-width: 100%;
          margin-right: 0;
      }
      .credito-card__intro p,
      .credito-card__intro li{
          font-size: inherit;
          line-height: inherit;
      }
  }
  @media (min-width: 1035px){
      .creditos-side {
          position: sticky;
          top: 1rem;
          align-self: flex-start;
      }
  }
  @media (max-width: 1034.98px) {
      .creditos-line-picker {
          display: block;
          margin-bottom: 1.35rem;
      }
      .creditos-page .row > .creditos-side-col {
          display: none !important;
      }
      .creditos-page .row > .creditos-main-col {
          flex: 0 0 100%;
          max-width: 100%;
      }
  }
  @media (min-width: 768px) and (max-width: 991.98px) {
      .creditos-side-col {
          padding-left: 20px !important;
      }
      .credito-card {
          height: clamp(340px, 36vh, 460px);
      }
      .credito-card__header {
          padding: 16px 22px 14px;
      }
      .credito-card__intro {
          padding: 18px 22px 4px;
          overflow-wrap: break-word;
      }
      .credito-card__list {
          padding: 14px 22px 10px 22px;
      }
      .credito-card__list li {
          margin-bottom: 10px;
      }
      .credito-card__cta {
          padding: 8px 22px 18px;
      }
      .creditos-side__title {
          padding: 0.85rem 1rem;
      }
      .creditos-side__item {
          padding: 0.75rem 0.85rem;
      }
  }
  @media (min-width: 1200px){
      :root{ --creditos-side-w: 300px; }
      .credito-card__intro{ padding: 24px 36px 6px; }
      .credito-card__list{ padding-left: 36px; padding-right: 36px; }
      .credito-card__list li{ margin-bottom: 12px; }
      .credito-card__btn{ padding: 12px 22px; }
  }
  
  /* ── Documentos (antes inline en Views/documentos/index.php) ── */
  .documentos-page__h1 {
      font-size: 1.75rem;
      margin-bottom: 1.25rem;
  }
  
  /* ── Términos (antes inline en Views/terminos/index.php) ── */
  .terminos-page { min-width: 0; }
  .terminos-page__wrap { max-width: 1100px; width: 100%; }
  .terminos-page__block { max-width: 100%; min-width: 0; }
  .terminos-page__header {
      margin-bottom: 2rem;
      padding-bottom: 1.25rem;
      border-bottom: 1px solid rgba(31, 77, 46, 0.12);
      text-align: center;
  }
  .terminos-page__h1 { font-size: clamp(1.5rem, 4vw, 1.85rem); margin-bottom: 0.65rem; }
  .terminos-page__lead {
      margin: 0;
      font-size: 0.95rem;
      line-height: 1.5;
      color: rgba(31, 77, 46, 0.72);
      font-weight: 500;
  }
  .terminos-page__empty { margin: 0; text-align: center; font-size: 1rem; }
  .terminos-page__stack { display: flex; flex-direction: column; gap: 2rem; }
  .terminos-page__h2 {
      font-size: 1.1rem;
      font-weight: 800;
      color: #89c04c;
      margin: 0 0 1rem;
      letter-spacing: 0.02em;
  }
  .terminos-page__body {
      font-size: 0.98rem;
      line-height: 1.75;
      color: #333;
      overflow-wrap: break-word;
      word-wrap: break-word;
  }
  .terminos-page__body :first-child { margin-top: 0; }
  .terminos-page__body :last-child { margin-bottom: 0; }
  .terminos-page__body p { margin: 0 0 0.85rem; }
  .terminos-page__body ul,
  .terminos-page__body ol { margin: 0 0 0.85rem; padding-left: 1.35rem; }
  .terminos-page__body li { margin-bottom: 0.35rem; }
  .terminos-page__body a {
      color: #89c04c;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
  }
  .terminos-page__body a:hover { color: #6fa03a; }
  .terminos-page__body h3,
  .terminos-page__body h4 {
      color: #89c04c;
      font-weight: 800;
      margin: 1.25rem 0 0.5rem;
      font-size: 1rem;
  }
  .terminos-page__body img,
  .terminos-page__body video,
  .terminos-page__body iframe {
      max-width: 100%;
      height: auto;
  }
  .terminos-page__body pre {
      max-width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
  }
  .terminos-page__body table {
      max-width: 100%;
      width: 100%;
      table-layout: fixed;
      word-wrap: break-word;
      overflow-wrap: break-word;
      border-collapse: collapse;
  }
  @media (max-width: 991.98px) {
      .terminos-page__stack { gap: 1.5rem; }
      .terminos-page__header {
          margin-bottom: 1.5rem;
          padding-bottom: 1rem;
      }
      .terminos-page__h2 { font-size: 1.05rem; margin-bottom: 0.85rem; }
      .terminos-page__body h3,
      .terminos-page__body h4 { font-size: 0.95rem; margin-top: 1rem; }
  }
  @media (max-width: 767.98px) {
      .terminos-page__lead { font-size: 0.9rem; line-height: 1.55; }
      .terminos-page__body { font-size: 0.93rem; line-height: 1.72; }
      .terminos-page__body ul,
      .terminos-page__body ol { padding-left: 1.15rem; }
      .terminos-page__h2 { font-size: 1rem; }
  }
  @media (max-width: 575.98px) {
      .terminos-page__stack { gap: 1.25rem; }
      .terminos-page__header {
          margin-bottom: 1.25rem;
          padding-bottom: 0.85rem;
      }
      .terminos-page__lead { padding-right: 0.25rem; }
      .terminos-page__block {
          padding: 1rem 0.95rem 1.15rem;
          border-radius: 12px;
      }
      .terminos-page__body ul,
      .terminos-page__body ol { padding-left: 1rem; }
      .terminos-page__h2 { font-size: 0.95rem; }
  }
  
  /* ── Ahorros (antes inline en Views/ahorros/index.php) ── */
  .fempa-savings{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
  }
  .fempa-savings__card{
      background: #fff;
      border: 1px solid #eee;
      border-radius: 18px;
      padding: 22px 22px;
      box-shadow: 0 8px 24px rgba(0,0,0,.05);
  }
  .fempa-savings__card--alt{
      border-color: rgba(230,0,126,.22);
      box-shadow: 0 10px 30px rgba(80,28,113,.10);
  }
  .fempa-savings__kicker{
      font-size: .95rem;
      font-weight: 700;
      color: #89c04c;
      letter-spacing: .02em;
      text-transform: uppercase;
      margin-bottom: 6px;
  }
  .fempa-savings__title{
      font-size: 1.45rem;
      font-weight: 900;
      color: #89c04c;
      margin: 0 0 14px 0;
  }
  .fempa-savings__bullets{
      list-style: none;
      padding-left: 0;
      margin: 0;
      display: grid;
      gap: 10px;
  }
  .fempa-savings__bullets li{
      position: relative;
      padding-left: 28px;
      color: #555;
      line-height: 1.55;
  }
  .fempa-savings__bullets li::before{
      content: "";
      position: absolute;
      left: 0;
      top: 4px;
      width: 18px;
      height: 18px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
  }
  .fempa-savings__bullets strong{ color: #e6007e; font-weight: 800; }
  .fempa-savings__menu{
      margin-top: 18px;
      border-top: 1px dashed #e6e6e6;
      padding-top: 16px;
  }
  .fempa-savings__menuTitle{
      font-size: 1.05rem;
      font-weight: 800;
      color: #89c04c;
      margin: 0 0 10px 0;
  }
  .fempa-savings__step{
      border: 1px solid #eee;
      border-radius: 14px;
      padding: 0;
      background: #fafafa;
      overflow: hidden;
  }
  .fempa-savings__step + .fempa-savings__step{ margin-top: 10px; }
  .fempa-savings__step summary{
      cursor: pointer;
      padding: 12px 14px;
      font-weight: 800;
      color: #89c04c;
      list-style: none;
  }
  .fempa-savings__step summary::-webkit-details-marker{ display:none; }
  .fempa-savings__stepBody{
      padding: 0 14px 14px 14px;
      color: #555;
      line-height: 1.55;
  }
  .fempa-savings__stepBody ul{ padding-left: 18px; margin: 8px 0 0 0; }
  @media (max-width: 900px){
      .fempa-savings{ grid-template-columns: 1fr; }
  }
  
  /* ── Créditos Home (antes inline en Views/template/CreditosHome.php) ── */
  .cred-section {
      padding: 56px 0;
      background: #f4f0f8;
      display: flex;
      flex-direction: column;
      gap: 28px;
  }
  .cred-card {
      display: flex;
      align-items: stretch;
      max-width: 1080px;
      width: 92%;
      margin: 0 auto;
      background: #fff;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 8px 32px rgba(80,28,113,.10);
      min-height: 220px;
  }
  .cred-card--flip { flex-direction: row-reverse; }
  .cred-card__body {
      flex: 1 1 55%;
      padding: 56px 64px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 14px;
  }
  .cred-card__title {
      font-size: 2rem;
      font-weight: 900;
      color: #89c04c;
      margin: 0;
      line-height: 1.25;
  }
  .cred-card__desc {
      font-size: 1rem;
      color: #555;
      margin: 0;
      line-height: 1.65;
      text-align: justify;
      text-justify: inter-word;
  }
  .cred-card__desc p,
  .cred-card__desc li{
      text-align: justify;
      text-justify: inter-word;
  }
  .cred-card__desc :where(h1,h2,h3,h4,p,ul,ol) { margin: 0; }
  .cred-card__desc :where(p,ul,ol) + :where(p,ul,ol) { margin-top: 10px; }
  .cred-card__desc ul {
      list-style: none;
      padding-left: 0;
      margin-top: 16px;
      display: flex;
      flex-direction: column;
      gap: 12px;
  }
  .cred-card__desc ul li {
      position: relative;
      padding-left: 32px;
      color: #555;
      font-size: 1.05rem;
  }
  .cred-card__desc ul li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 3px;
      width: 20px;
      height: 20px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2389c04c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
  }
  .cred-card__desc ul li strong,
  .cred-card__desc ul li b {
      color: #e6007e;
      font-weight: 800;
  }
  .cred-card__desc ol { padding-left: 20px; }
  .cred-card__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 24px;
      padding: 14px 32px;
      background: #89c04c;
      color: #fff;
      border-radius: 50px;
      font-weight: 800;
      font-size: 1rem;
      text-decoration: none;
      align-self: flex-start;
      transition: background .2s, transform .2s, box-shadow .2s;
      box-shadow: 0 8px 20px rgba(80,28,113,.2);
  }
  .cred-card__btn:hover {
      transform: translateY(-3px);
      background: #6fa03a;
      color: #fff;
      text-decoration: none;
      box-shadow: 0 12px 24px rgba(80,28,113,.3);
  }
  .cred-card__img {
      position: relative;
      flex: 1 1 45%;
      min-height: clamp(220px, 38vw, 486px);
      overflow: hidden;
  }
  .cred-card__img img {
      width: 100%;
      height: 100%;
      min-height: inherit;
      object-fit: cover;
      object-position: center;
      display: block;
  }
  .cred-card:not(.cred-card--flip) .cred-card__img::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: linear-gradient(
          to right,
          #ffffff 0%,
          rgba(255, 255, 255, 0.94) 8%,
          rgba(255, 255, 255, 0.55) 32%,
          rgba(255, 255, 255, 0.12) 52%,
          rgba(255, 255, 255, 0) 68%
      );
  }
  .cred-card--flip .cred-card__img::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: linear-gradient(
          to left,
          #ffffff 0%,
          rgba(255, 255, 255, 0.94) 8%,
          rgba(255, 255, 255, 0.55) 32%,
          rgba(255, 255, 255, 0.12) 52%,
          rgba(255, 255, 255, 0) 68%
      );
  }
  @media (max-width: 700px) {
      .cred-card, .cred-card--flip { flex-direction: column; }
      .cred-card__body { padding: 40px 32px; }
      .cred-card__img { min-height: 200px; }
      .cred-card:not(.cred-card--flip) .cred-card__img::before,
      .cred-card--flip .cred-card__img::before {
          background: linear-gradient(
              to bottom,
              #ffffff 0%,
              rgba(255, 255, 255, 0.82) 22%,
              rgba(255, 255, 255, 0.2) 55%,
              rgba(255, 255, 255, 0) 78%
          );
      }
  }
  
  /* ===== CMS “Contenido simple”: texto + foto (sin div extra; img = celda del grid) ===== */
  /* El CMS suele poner justify-content-end / text-end en el .row: encoge columnas sin .col-* y deja hueco a la izquierda */
  .contenedor-seccion .content-box .row:has(.contenido-simple){
      justify-content: flex-start !important;
      text-align: start !important;
      width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
  }
  .contenedor-seccion .content-box .row > *:has(> .contenido-simple){
      min-width: 0 !important;
      max-width: none !important;
  }
  .contenedor-seccion .contenido-simple{
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 24px 32px;
      align-items: stretch;
      padding: 28px 32px 32px;
      background: #fff;
      border-radius: 18px;
      border: 1px solid rgba(58, 18, 96, 0.12);
      box-shadow: 0 10px 32px rgba(31, 77, 46, 0.07);
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      text-align: start;
  }
  .contenedor-seccion .contenido-simple:not(:has(.contenido-simple__img)){
      grid-template-columns: 1fr;
  }
  .contenedor-seccion .contenido-simple__media{
      grid-column: 2;
      grid-row: 1;
      min-width: 0;
      min-height: 280px;
      height: 100%;
      align-self: stretch;
      justify-self: stretch;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      border-radius: 16px;
      border: 1px solid rgba(0, 0, 0, 0.12);
      box-sizing: border-box;
  }
  .contenedor-seccion .contenido-simple__texto{
      grid-column: 1;
      grid-row: 1;
      min-width: 0;
      max-width: 100%;
  }
  .contenedor-seccion .contenido-simple__img{
      grid-column: auto;
      grid-row: auto;
      width: 100% !important;
      max-width: none !important;
      min-width: 0;
      min-height: 0;
      height: 100%;
      align-self: stretch;
      justify-self: stretch;
      object-fit: cover;
      object-position: center;
      border-radius: 0;
      border: none;
      display: block;
      box-sizing: border-box;
  }
  .contenedor-seccion .contenido-simple:hover{
      border-color: rgba(31, 77, 46, 0.22);
      box-shadow: 0 14px 40px rgba(31, 77, 46, 0.1);
  }
  .contenedor-seccion .row > *:not(:last-child) .contenido-simple{
      margin-bottom: 32px;
  }
  /* Título del CMS + mismo título pegado en intro/desc del editor */
  .contenedor-seccion .contenido-simple__texto > h3:first-child ~ .contenido-simple__intro > :is(h1, h2, h3):first-child,
  .contenedor-seccion .contenido-simple__texto > h3:first-child ~ .contenido-simple__desc > h2:first-of-type{
      display: none;
  }
  /* Encabezado de páginas CMS (Ahorros, Créditos, Auxilios…) */
  .cms-page-header {
      width: 100%;
      background: #fff;
      padding: clamp(1.75rem, 3.5vw, 2.5rem) 0 clamp(1rem, 2vw, 1.5rem);
      border-bottom: 1px solid rgba(31, 77, 46, 0.1);
  }
  .cms-page-header__wrap {
      max-width: var(--site-max-width);
      margin: 0 auto;
      padding: 0 var(--site-gutter);
      box-sizing: border-box;
  }
  .cms-page-header__title {
      margin: 0;
  }
  
  /* Ahorros y Auxilios: tarjetas promo CMS — wrapper .page-cms-promo-cards (el id del <section> es contenido_id en BD, p. ej. #71) */
  .page-cms-promo-cards section.contenedor-seccion > .content-box.container{
      box-sizing: border-box !important;
      max-width: var(--site-max-width) !important;
      width: 100% !important;
      margin-left: auto !important;
      margin-right: auto !important;
      padding-left: var(--site-gutter) !important;
      padding-right: var(--site-gutter) !important;
  }
  /* Dos tarjetas en fila desde tablet */
  @media (min-width: 768px){
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple){
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 16px 18px;
          align-items: stretch;
          margin-left: 0 !important;
          margin-right: 0 !important;
          width: 100%;
      }
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple) > *{
          min-width: 0 !important;
          width: 100% !important;
          max-width: 100% !important;
          flex: none !important;
      }
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple) .contenido-simple{
          margin-bottom: 0 !important;
      }
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:only-child .contenido-simple){
          display: grid !important;
          grid-template-columns: minmax(0, 1fr);
      }
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:only-child .contenido-simple) > *:has(.contenido-simple){
          width: 100% !important;
          max-width: 100% !important;
      }
  }
  @media (min-width: 992px){
      .contenedor-seccion .row > *:not(:last-child) .contenido-simple{
          margin-bottom: 40px;
      }
      /* Una tarjeta: ocupar todo el ancho del container (evita “columna chimenea” sin .col-*) */
      .contenedor-seccion .content-box .row:has(> *:only-child .contenido-simple){
          display: grid !important;
          grid-template-columns: minmax(0, 1fr);
      }
      .contenedor-seccion .content-box .row:has(> *:only-child .contenido-simple) > *:has(.contenido-simple){
          width: 100% !important;
          max-width: 100% !important;
      }
      /* Dos tarjetas: grid de 2 columnas (class="" en hijos del row) */
      .contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple),
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple){
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 28px 32px;
          align-items: stretch;
          margin-left: 0 !important;
          margin-right: 0 !important;
          width: 100%;
      }
      .contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple) > *,
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple) > *{
          min-width: 0 !important;
          width: 100% !important;
          max-width: 100% !important;
          flex: none !important;
      }
      .contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple) > * .contenido-simple,
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple) > * .contenido-simple{
          margin-bottom: 0 !important;
          padding: 28px 28px 32px;
          gap: 22px 28px;
      }
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:nth-child(2) .contenido-simple),
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(> *:only-child .contenido-simple){
          gap: 22px 28px !important;
      }
  }
  /* ===== Tarjetas tipo promo CMS — texto ~60% | foto ~40% ===== */
  .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple){
      align-items: stretch !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple) > *{
      display: flex;
      align-items: stretch;
      min-width: 0;
  }
  .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple) > * > .contenido-simple{
      flex: 1 1 auto;
      width: 100%;
      min-width: 0;
      /* no min-height:0 aquí: anulaba min-height de la tarjeta en desktop */
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple{
      display: grid !important;
      grid-template-columns: minmax(0, 1.12fr) minmax(240px, 0.78fr);
      gap: 22px 32px !important;
      align-items: stretch;
      padding: 26px 34px 30px !important;
      background: #fff;
      border-radius: 20px;
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 10px 36px rgba(15, 23, 42, 0.08);
      box-sizing: border-box;
      width: 100%;
      max-width: 100%;
      overflow: hidden;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__texto{
      grid-column: 1;
      grid-row: 1;
      min-width: 0;
      min-height: 0;
      align-self: stretch;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      overflow: hidden;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__intro{
      flex: 0 0 auto;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc{
      flex: 1 1 auto;
      min-height: 0;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
      scrollbar-color: rgba(31, 77, 46, 0.35) transparent;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc::-webkit-scrollbar{
      width: 6px;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc::-webkit-scrollbar-thumb{
      background: rgba(31, 77, 46, 0.35);
      border-radius: 4px;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
      grid-column: 2;
      grid-row: 1;
      display: flex !important;
      align-items: center;
      justify-content: center;
      width: 100% !important;
      max-width: none !important;
      height: 100%;
      min-height: 0;
      align-self: stretch !important;
      justify-self: stretch !important;
      overflow: hidden;
      border-radius: 16px;
      border: 1px solid rgba(0, 0, 0, 0.06);
      box-sizing: border-box;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
      grid-column: auto;
      grid-row: auto;
      display: block !important;
      width: 100% !important;
      max-width: none !important;
      height: 100%;
      min-height: 0;
      align-self: stretch !important;
      justify-self: stretch !important;
      object-fit: cover !important;
      object-position: center;
      border-radius: 0;
      border: none;
      box-sizing: border-box;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple h3{
      flex: 0 0 auto;
      font-size: clamp(1.1rem, 1.9vw, 1.55rem) !important;
      margin: 0 0 14px 0 !important;
      letter-spacing: 0.02em;
      line-height: 1.2;
      color: var(--fempro-green, #89c04c) !important;
      font-weight: 800 !important;
      text-transform: none !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc > h2:first-child{
      font-size: 0.95rem !important;
      margin: 0 0 12px 0 !important;
      color: #334155 !important;
      font-weight: 700 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__intro,
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc{
      font-size: 0.95rem !important;
      line-height: 1.55 !important;
      padding-right: 0 !important;
      color: #334155 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__intro p,
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc p{
      margin: 0 0 10px 0 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__intro ul,
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc ul{
      margin: 10px 0 0 0 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__intro li,
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc li{
      font-size: 0.95rem !important;
      margin: 8px 0 !important;
      padding-left: 26px !important;
      line-height: 1.45 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__intro li::before,
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc li::before{
      color: var(--fempro-green-light, #a5d066);
      font-size: 1em;
      top: 0;
  }
  /* Acordeón compacto (“menú”) */
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details{
      margin: 4px 0 !important;
      padding: 0 !important;
      max-width: 100%;
      box-sizing: border-box;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple summary{
      width: 100%;
      box-sizing: border-box;
      padding: 8px 12px !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      border-radius: 7px !important;
      gap: 6px !important;
      line-height: 1.3 !important;
      background: rgba(31, 77, 46, 0.06) !important;
      border: 1px solid rgba(31, 77, 46, 0.15) !important;
      color: var(--fempro-green, #89c04c) !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple summary strong{
      font-size: inherit !important;
      font-weight: inherit !important;
      color: inherit !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple summary::before{
      font-size: 0.5em !important;
      margin-top: 0;
      color: var(--fempro-green, #89c04c) !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple summary:hover{
      background: rgba(31, 77, 46, 0.1) !important;
      border-color: rgba(31, 77, 46, 0.22) !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details[open] summary{
      padding: 8px 12px !important;
      border-radius: 7px 7px 0 0 !important;
      background: #e2e8f0 !important;
      border-bottom: none !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details[open]{
      padding: 0 8px 7px !important;
      border-radius: 7px !important;
      background: #f1f5f9 !important;
      border: 1px solid rgba(15, 23, 42, 0.1) !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details[open] > :not(summary){
      font-size: 12px !important;
      line-height: 1.45 !important;
      padding-top: 2px !important;
      color: #334155 !important;
  }
  /* Listas y párrafos dentro del acordeón: el CMS mete <ul> dentro de <details>; deben ir más chicos que el cuerpo global */
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details ul,
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details ol{
      margin: 4px 0 0 0 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details li{
      font-size: 12px !important;
      margin: 3px 0 !important;
      padding-left: 18px !important;
      line-height: 1.4 !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details li::before{
      font-size: 0.65em !important;
      top: 2px !important;
      color: var(--fempro-green, #89c04c) !important;
  }
  .page-cms-promo-cards section.contenedor-seccion .contenido-simple details p{
      font-size: 12px !important;
      line-height: 1.45 !important;
      margin: 0 0 6px 0 !important;
  }
  /* Desktop: tarjetas más altas y anchas para reducir hueco vacío bajo el bloque Ahorros */
  @media (min-width: 992px){
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple) > * > .contenido-simple,
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple{
          min-height: clamp(420px, 48vh, 640px) !important;
          height: 100% !important;
          grid-template-rows: minmax(0, 1fr) !important;
          align-items: stretch !important;
          padding: 36px 44px 40px !important;
          gap: 26px 40px !important;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
          width: 100% !important;
          max-width: none !important;
          height: 100% !important;
          min-height: 100% !important;
          max-height: none !important;
          align-self: stretch !important;
          justify-self: stretch !important;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          width: 100% !important;
          max-width: none !important;
          height: 100% !important;
          min-height: 100% !important;
          max-height: none !important;
          align-self: stretch !important;
          justify-self: stretch !important;
          object-fit: cover !important;
      }
  }
  @media (max-width: 991px){
      .page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple) > *{
          display: block;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple{
          grid-template-columns: 1fr !important;
          padding: 22px 20px 24px !important;
          gap: 18px !important;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__texto{
          grid-column: 1;
          grid-row: 2;
          align-self: start;
          overflow: visible;
          min-height: 0;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc{
          flex: none;
          overflow: visible;
          min-height: 0;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
          grid-column: 1;
          grid-row: 1;
          height: auto !important;
          min-height: 0;
          aspect-ratio: 16 / 10;
          max-height: 280px;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          grid-column: auto;
          grid-row: auto;
          height: 100% !important;
          min-height: 0;
          aspect-ratio: auto;
          max-height: none;
      }
  }
  /* Promo CMS: ancla #id legible bajo <header> sticky */
  .page-cms-promo-cards section.contenedor-seccion{
      scroll-margin-top: clamp(88px, 14vh, 140px);
  }
  @media (max-width: 575.98px){
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple{
          border-radius: 16px;
          padding: 18px 16px 20px !important;
          gap: 14px !important;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
          max-height: 220px;
          border-radius: 12px;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          max-height: none;
          border-radius: 0;
      }
      .page-cms-promo-cards section.contenedor-seccion .contenido-simple h3{
          font-size: clamp(1rem, 4.2vw, 1.35rem) !important;
      }
  }
  
  /* Ahorros: página completa */
  .ahorros-page{
      background: linear-gradient(180deg, #f8fbf5 0%, #eef4ea 55%, #f4f9f1 100%);
      padding: clamp(1.25rem, 3vw, 2.5rem) 0 clamp(2.5rem, 5vw, 4rem);
  }
  .page-ahorros-cms section.contenedor-seccion{
      background: transparent !important;
      background-image: none !important;
      padding: 0;
  }
  .page-ahorros-cms section.contenedor-seccion > .content-box.container > h2{
      font-size: clamp(1.75rem, 3.5vw, 2.45rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      margin: 0 0 clamp(1.35rem, 2.8vw, 2rem);
      line-height: 1.12;
      text-align: center;
      letter-spacing: -0.02em;
      text-wrap: balance;
  }
  .page-ahorros-cms .descripcion-seccion:has(.ahorros-page__intro),
  .page-ahorros-cms .descripcion-seccion.ahorros-page__intro{
      margin: 0 0 clamp(2rem, 4vw, 3rem);
      padding: clamp(1.35rem, 2.8vw, 2rem);
      background: #fff;
      border-radius: 22px;
      border: 1px solid rgba(31, 77, 46, 0.1);
      box-shadow: 0 12px 40px rgba(31, 77, 46, 0.07);
  }
  .page-ahorros-cms .descripcion-seccion.ahorros-page__intro,
  .page-ahorros-cms .descripcion-seccion .ahorros-page__intro{
      margin: 0;
  }
  .page-ahorros-cms .ahorros-page__intro{
      display: grid;
      gap: clamp(1.15rem, 2.2vw, 1.65rem);
  }
  .page-ahorros-cms .ahorros-page__block{
      margin: 0;
      padding: clamp(0.85rem, 1.8vw, 1.15rem) 0;
      border-top: 1px solid rgba(31, 77, 46, 0.08);
  }
  .page-ahorros-cms .ahorros-page__block:first-child{
      padding-top: 0;
      border-top: none;
  }
  .page-ahorros-cms .ahorros-page__heading{
      font-size: clamp(1.05rem, 1.8vw, 1.28rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      margin: 0 0 0.65rem;
      line-height: 1.25;
      text-wrap: balance;
  }
  .page-ahorros-cms .ahorros-page__block p{
      margin: 0 0 0.75rem;
      font-size: clamp(0.9rem, 1vw, 0.97rem);
      line-height: 1.68;
      color: #4b5563;
      text-align: left;
  }
  .page-ahorros-cms .ahorros-page__block p:last-child{
      margin-bottom: 0;
  }
  .ahorros-servicios-intro{
      margin-bottom: clamp(2rem, 4vw, 3rem);
  }
  .ahorros-servicios-intro > .content-box.container{
      padding-left: var(--site-gutter) !important;
      padding-right: var(--site-gutter) !important;
  }
  .ahorros-servicios-intro .descripcion-seccion.ahorros-page__intro{
      --ahorros-col-pad: clamp(1.15rem, 2vw, 1.65rem);
      --ahorros-card-pad: clamp(1.35rem, 2.8vw, 2rem);
      margin: 0;
      overflow: hidden;
  }
  .ahorros-servicios-intro .ahorros-page__block{
      display: flex;
      flex-direction: column;
      align-items: stretch;
      min-height: 100%;
  }
  .ahorros-servicios-intro .ahorros-page__copy{
      flex: 1 1 auto;
      min-height: 0;
  }
  .ahorros-servicios-intro .ahorros-page__copy p{
      margin: 0 0 0.75rem;
      font-size: clamp(0.9rem, 1vw, 0.97rem);
      line-height: 1.68;
      color: #4b5563;
      text-align: left;
  }
  .ahorros-servicios-intro .ahorros-page__copy p:last-child{
      margin-bottom: 0;
  }
  .ahorros-servicios-intro .ahorros-page__media{
      margin: clamp(1rem, 2vw, 1.25rem) 0 0;
      width: 100%;
      line-height: 0;
      position: relative;
      overflow: hidden;
  }
  .ahorros-servicios-intro .ahorros-page__img{
      display: block;
      width: 100%;
      max-width: 100%;
      margin: 0;
      object-fit: cover;
      object-position: center;
      background: transparent;
      border: none;
      border-radius: 0;
      vertical-align: bottom;
  }
  .contenedor-general .padding-content .ahorros-servicios-intro .ahorros-page__media{
      width: 100% !important;
      max-width: 100% !important;
  }
  .contenedor-general .padding-content .ahorros-servicios-intro .ahorros-page__img{
      width: 100% !important;
      max-width: 100% !important;
      object-fit: cover !important;
      object-position: center;
      margin: 0 !important;
      background: transparent !important;
  }
  .ahorros-servicios-intro .ahorros-page__copy img{
      display: none !important;
  }
  @media (max-width: 991.98px){
      .ahorros-servicios-intro .ahorros-page__block{
          display: flex;
          flex-direction: column;
          grid-row: auto;
          grid-template-rows: none;
          padding-bottom: 0;
      }
      .ahorros-servicios-intro .descripcion-seccion.ahorros-page__intro,
      .page-ahorros-cms .ahorros-page__intro{
          grid-template-rows: none;
      }
      .ahorros-servicios-intro .ahorros-page__media{
          aspect-ratio: auto;
          min-height: 0;
          overflow: visible;
          position: static;
      }
      .ahorros-servicios-intro .ahorros-page__img{
          position: static;
          inset: auto;
          height: auto !important;
          max-width: 100% !important;
          object-fit: initial !important;
      }
  }
  @media (min-width: 992px){
      .ahorros-servicios-intro .descripcion-seccion.ahorros-page__intro,
      .page-ahorros-cms .ahorros-page__intro{
          grid-template-columns: repeat(3, minmax(0, 1fr));
          grid-template-rows: none;
          gap: 0;
          align-items: stretch;
      }
      .ahorros-servicios-intro .ahorros-page__block,
      .page-ahorros-cms .ahorros-page__block{
          display: flex;
          flex-direction: column;
          align-items: stretch;
          height: 100%;
          min-height: 100%;
          padding: 0 clamp(1.15rem, 2vw, 1.65rem);
          border-top: none;
          border-right: 1px solid rgba(31, 77, 46, 0.1);
      }
      .page-ahorros-cms .ahorros-page__block:first-child{
          padding-left: 0;
      }
      .page-ahorros-cms .ahorros-page__block:last-child{
          padding-right: 0;
          border-right: none;
      }
      .ahorros-servicios-intro .ahorros-page__heading{
          flex: 0 0 auto;
          min-height: calc(2 * 1.25em);
      }
      .ahorros-servicios-intro .ahorros-page__copy{
          flex: 1 1 auto;
          min-height: 0;
      }
      .ahorros-servicios-intro .ahorros-page__media{
          flex: 0 0 auto;
          width: 100%;
          height: clamp(11rem, 20vw, 12.5rem);
          min-height: clamp(11rem, 20vw, 12.5rem);
          max-height: clamp(11rem, 20vw, 12.5rem);
          margin-top: clamp(1rem, 2vw, 1.25rem);
          aspect-ratio: auto;
          align-self: stretch;
      }
      .ahorros-servicios-intro .ahorros-page__media .ahorros-page__img,
      .ahorros-servicios-intro .ahorros-page__img{
          position: absolute;
          inset: 0;
          width: 100% !important;
          height: 100% !important;
          max-width: none !important;
          max-height: none !important;
          object-fit: cover !important;
          object-position: center;
      }
      .contenedor-general .padding-content .ahorros-servicios-intro .ahorros-page__media .ahorros-page__img,
      .contenedor-general .padding-content .ahorros-servicios-intro .ahorros-page__img{
          position: absolute;
          inset: 0;
          width: 100% !important;
          height: 100% !important;
          max-width: none !important;
          max-height: none !important;
          object-fit: cover !important;
          object-position: center;
      }
  }
  .page-ahorros-cms .content-box .row:has(.contenido-simple){
      margin-top: 0;
  }
  .page-ahorros-cms .content-box .row:has(.contenido-simple)::before{
      content: "Líneas de ahorro voluntario";
      grid-column: 1 / -1;
      display: block;
      margin: 0 0 clamp(0.35rem, 1vw, 0.65rem);
      font-size: clamp(1.2rem, 2.2vw, 1.65rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      text-align: center;
      line-height: 1.25;
      letter-spacing: -0.01em;
      text-wrap: balance;
  }
  .page-ahorros-cms .content-box .row:has(.contenido-simple)::after{
      content: "Elige la modalidad que mejor se adapte a tus metas financieras.";
      grid-column: 1 / -1;
      display: block;
      margin: 0 0 clamp(1.25rem, 2.5vw, 1.85rem);
      font-size: clamp(0.92rem, 1.1vw, 1rem);
      color: #64748b;
      text-align: center;
      line-height: 1.55;
      max-width: 42rem;
      justify-self: center;
  }
  
  /* Tarjetas Ahorros: marco superior + contenido, altura contenida */
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple){
      gap: clamp(20px, 2.8vw, 32px) !important;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple{
      display: flex !important;
      flex-direction: column !important;
      grid-template-columns: none !important;
      grid-template-rows: none !important;
      min-height: 0 !important;
      height: auto !important;
      padding: 0 !important;
      gap: 0 !important;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(31, 77, 46, 0.09) !important;
      border-radius: 22px !important;
      box-shadow:
          0 12px 32px rgba(31, 77, 46, 0.07),
          0 2px 8px rgba(31, 77, 46, 0.04) !important;
      transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple:hover{
      transform: translateY(-4px);
      border-color: rgba(31, 77, 46, 0.16) !important;
      box-shadow:
          0 20px 44px rgba(31, 77, 46, 0.11),
          0 4px 12px rgba(31, 77, 46, 0.06) !important;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
      order: 1;
      flex: 0 0 auto;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      padding: 0;
      display: block;
      grid-column: auto !important;
      grid-row: auto !important;
      align-self: auto !important;
      justify-self: auto !important;
      aspect-ratio: auto !important;
      overflow: hidden;
      position: relative;
      border: none;
      border-bottom: 1px solid rgba(31, 77, 46, 0.06);
      border-radius: 22px 22px 0 0;
      background: transparent;
      box-shadow: none;
      line-height: 0;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__media::after{
      content: none;
      display: none;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
      position: relative;
      z-index: 1;
      order: 0;
      display: block;
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      padding: 0 !important;
      object-fit: initial !important;
      object-position: center;
      background: transparent !important;
      border: none;
      border-radius: 0;
      filter: none;
      transition: none;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple:hover .contenido-simple__img{
      transform: none;
      filter: none;
  }
  .contenedor-general .padding-content .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
  }
  .contenedor-general .padding-content .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
      width: 100% !important;
      max-width: 100% !important;
      height: auto !important;
      max-height: none !important;
      object-fit: initial !important;
      object-position: center;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__texto{
      order: 2;
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      gap: 0;
      min-height: 0;
      padding: clamp(1.15rem, 2.1vw, 1.45rem) clamp(1.2rem, 2.3vw, 1.55rem) clamp(1.3rem, 2.5vw, 1.65rem);
      overflow: visible;
      background: linear-gradient(180deg, #fff 0%, #fcfefb 100%);
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple h3{
      font-size: clamp(1.08rem, 1.55vw, 1.32rem) !important;
      margin: 0 0 0.9rem !important;
      padding-bottom: 0.75rem;
      line-height: 1.22 !important;
      letter-spacing: -0.01em;
      text-wrap: balance;
      position: relative;
      color: var(--fempro-green, #89c04c) !important;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple h3::after{
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 3rem;
      height: 3px;
      border-radius: 999px;
      background: linear-gradient(90deg, #89c04c 0%, #a5d066 55%, #e6007e 100%);
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__desc{
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      min-height: 0;
      overflow: visible;
  }
  .page-ahorros-cms .ahorros-card__copy p{
      margin: 0 0 0.7rem !important;
      font-size: 0.92rem !important;
      line-height: 1.62 !important;
      color: #475569 !important;
      text-align: left !important;
  }
  .page-ahorros-cms .ahorros-card__copy p:last-child{
      margin-bottom: 0 !important;
  }
  .page-ahorros-cms .ahorros-card__cta-wrap{
      margin: auto 0 0 !important;
      padding-top: 1.05rem !important;
  }
  .page-ahorros-cms .ahorros-card__cta{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      max-width: 100%;
      padding: 0.7rem 1.35rem;
      border-radius: 999px;
      background: linear-gradient(135deg, #89c04c 0%, #7ab043 100%);
      color: #fff !important;
      font-size: 0.84rem;
      font-weight: 700;
      line-height: 1.35;
      text-align: center;
      text-decoration: none !important;
      box-sizing: border-box;
      box-shadow: 0 6px 18px rgba(31, 77, 46, 0.24);
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .page-ahorros-cms .ahorros-card__cta:hover{
      background: linear-gradient(135deg, #6fa03a 0%, #89c04c 100%);
      color: #fff !important;
      transform: translateY(-2px);
      box-shadow: 0 10px 26px rgba(31, 77, 46, 0.3);
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion > .content-box.container > h2{
      position: relative;
      padding-bottom: 0.85rem;
  }
  .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion > .content-box.container > h2::after{
      content: "";
      display: block;
      width: 4.5rem;
      height: 4px;
      margin: 0.75rem auto 0;
      border-radius: 999px;
      background: linear-gradient(90deg, #89c04c, #a5d066, #e6007e);
  }
  @media (min-width: 992px){
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .content-box .row:has(.contenido-simple) > * > .contenido-simple,
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple{
          display: flex !important;
          flex-direction: column !important;
          grid-template-columns: none !important;
          grid-template-rows: none !important;
          align-items: stretch !important;
          min-height: 0 !important;
          height: auto !important;
          padding: 0 !important;
          gap: 0 !important;
      }
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__texto{
          order: 2;
      }
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
          order: 1;
          flex: 0 0 auto;
          height: auto !important;
          min-height: 0 !important;
          max-height: none !important;
      }
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          width: 100% !important;
          height: auto !important;
          max-height: none !important;
      }
      .contenedor-general .padding-content .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          height: auto !important;
          max-height: none !important;
      }
  }
  @media (max-width: 991px){
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__texto{
          grid-row: auto;
          grid-column: auto;
      }
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__media{
          flex: 0 0 auto;
          height: auto !important;
          min-height: 0 !important;
          max-height: none !important;
          border-radius: 20px 20px 0 0;
      }
      .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          height: auto !important;
          max-height: none !important;
      }
      .contenedor-general .padding-content .page-ahorros-cms.page-cms-promo-cards section.contenedor-seccion .contenido-simple__img{
          height: auto !important;
          max-height: none !important;
      }
      .page-ahorros-cms .ahorros-card__cta{
          width: 100%;
      }
  }
  
  /* —— Auxilios Solidarios (landing, como fempro.com.co/page/beneficios?categoria=4) —— */
  .auxilios-solidarios__inner{
      max-width: var(--site-max-width, 1100px);
      margin-left: auto;
      margin-right: auto;
      padding-left: max(1rem, env(safe-area-inset-left, 0px));
      padding-right: max(1rem, env(safe-area-inset-right, 0px));
      box-sizing: border-box;
  }
  .auxilios-solidarios__title{
      margin-bottom: clamp(1.25rem, 3vw, 2rem);
      text-wrap: balance;
  }
  .auxilios-solidarios__grid{
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
  }
  .auxilios-solidarios__content{
      min-width: 0;
  }
  .auxilios-solidarios__heading{
      font-size: clamp(1.15rem, 2vw, 1.45rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      margin: 0 0 1rem;
      line-height: 1.25;
  }
  .auxilios-solidarios__body{
      font-size: clamp(0.95rem, 1.05vw, 1.05rem);
      line-height: 1.65;
      color: #334155;
  }
  .auxilios-solidarios__body p{
      margin: 0 0 0.85rem;
      text-align: justify;
  }
  .auxilios-solidarios__body p:last-child{
      margin-bottom: 0;
  }
  .auxilios-solidarios__body a{
      color: var(--fempro-green, #89c04c);
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
  }
  .auxilios-solidarios__body a:hover{
      color: #6fa03a;
  }
  .auxilios-solidarios__reglamento{
      margin-top: 1.5rem !important;
      text-align: center;
  }
  .auxilios-solidarios__reglamento a{
      display: inline-block;
      font-size: clamp(0.95rem, 1.1vw, 1.05rem);
      font-weight: 800;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      text-decoration: none !important;
      color: var(--fempro-green, #89c04c) !important;
  }
  .auxilios-solidarios__reglamento a:hover{
      color: #6fa03a !important;
      text-decoration: underline !important;
  }
  .auxilios-solidarios__media{
      order: 2;
  }
  .auxilios-solidarios__figure{
      margin: 0;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 8px 28px rgba(31, 77, 46, 0.08);
      background: #f4f9f1;
  }
  .auxilios-solidarios__img{
      display: block;
      width: 100%;
      height: auto;
      max-width: 100%;
  }
  @media (min-width: 768px){
      .auxilios-solidarios__grid{
          flex-direction: row;
          align-items: flex-start;
          gap: clamp(1.75rem, 4vw, 3rem);
      }
      .auxilios-solidarios__content{
          flex: 1 1 55%;
          order: 1;
      }
      .auxilios-solidarios__media{
          flex: 0 1 45%;
          order: 2;
          max-width: 420px;
      }
  }
  
  /* —— Auxilios: listado en tarjetas (solo título + “Ver auxilio”) y detalle —— */
  .auxilios-landing__inner{
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto;
      padding-left: max(1rem, env(safe-area-inset-left, 0px));
      padding-right: max(1rem, env(safe-area-inset-right, 0px));
      box-sizing: border-box;
  }
  .auxilios-landing__title{
      margin-bottom: clamp(1.25rem, 3vw, 2rem);
      text-wrap: balance;
  }
  .auxilios-landing__empty{
      max-width: 40ch;
  }
  .auxilios-landing__grid{
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(1rem, 2.8vw, 1.5rem);
      align-items: stretch;
  }
  @media (min-width: 576px){
      .auxilios-landing__grid{
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: clamp(1.1rem, 2.2vw, 1.65rem) clamp(1rem, 2.5vw, 1.75rem);
      }
  }
  @media (min-width: 992px){
      .auxilios-landing__grid{
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 1.25rem 1.6rem;
      }
  }
  @media (min-width: 1200px){
      .auxilios-landing__grid{
          gap: 1.5rem 2rem;
      }
  }
  .auxilio-card{
      height: 100%;
      min-height: 16.5rem;
      aspect-ratio: 1 / 1.1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 0.85rem;
      box-sizing: border-box;
      background: #fff;
      border: 1px solid rgba(15, 23, 42, 0.08);
      border-radius: 18px;
      padding: clamp(1.05rem, 2.3vw, 1.45rem) clamp(0.95rem, 2.1vw, 1.25rem) clamp(1.05rem, 2.4vw, 1.4rem);
      box-shadow: 0 18px 46px rgba(31, 77, 46, 0.09);
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }
  .auxilio-card:hover{
      border-color: rgba(31, 77, 46, 0.2);
      box-shadow: 0 16px 44px rgba(31, 77, 46, 0.1);
  }
  .auxilio-card__accent{
      display: block;
      width: 2.6rem;
      height: 3px;
      border-radius: 2px;
      background: linear-gradient(90deg, #89c04c, #a5d066);
      margin: 0;
      flex-shrink: 0;
  }
  .auxilio-card__figure{
      width: 100%;
      margin: 0;
      border-radius: 16px;
      overflow: hidden;
      background: #f3f4f6;
      box-shadow: 0 16px 34px rgba(31, 77, 46, 0.14);
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
  }
  .auxilio-card__img{
      display: block;
      width: 100%;
      height: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      object-position: center;
  }
  .auxilio-card__name{
      font-size: clamp(1.02rem, 2.1vw, 1.32rem);
      line-height: 1.28;
      color: #6fa03a;
      font-weight: 800;
      margin: 0;
      padding: 0 0.25rem;
      max-width: 26ch;
      text-wrap: balance;
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  .auxilio-card__btn{
      margin-top: auto;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      padding: 0.72rem 2.1rem;
      background: #89c04c;
      color: #fff !important;
      text-decoration: none !important;
      font-weight: 700;
      font-size: 0.95rem;
      line-height: 1.2;
      border: none;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.15s ease;
  }
  .auxilio-card__btn:hover{
      background: #6fa03a;
      color: #fff !important;
      transform: translateY(-1px);
  }
  .auxilio-detalle__inner{
      max-width: 980px;
      margin-left: auto;
      margin-right: auto;
      padding-left: max(1rem, env(safe-area-inset-left, 0px));
      padding-right: max(1rem, env(safe-area-inset-right, 0px));
      box-sizing: border-box;
  }
  .auxilio-detalle__grid{
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
  }
  .auxilio-detalle__content{
      min-width: 0;
  }
  .auxilio-detalle__media{
      order: 2;
  }
  .auxilio-detalle__back-wrap{
      margin-top: 0;
  }
  .auxilio-detalle__back{
      color: #89c04c;
      font-weight: 600;
      text-decoration: none;
  }
  .auxilio-detalle__back:hover{
      text-decoration: underline;
  }
  .auxilio-detalle__title{
      text-wrap: balance;
  }
  .auxilio-detalle__figure{
      margin: 0;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 8px 28px rgba(31, 77, 46, 0.08);
      background: #f3f4f6;
  }
  .auxilio-detalle__img{
      display: block;
      width: 100%;
      height: auto;
      vertical-align: middle;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      object-position: center;
  }
  .auxilio-detalle__bloque{
      font-size: clamp(0.95rem, 1.05vw, 1.05rem);
      line-height: 1.65;
      color: #334155;
  }
  .auxilio-detalle__bloque p{
      margin: 0 0 0.85rem 0;
  }
  .auxilio-detalle__bloque p:last-child{
      margin-bottom: 0;
  }
  .auxilio-detalle__intro + .auxilio-detalle__desc{
      margin-top: 1.25rem;
  }
  
  @media (min-width: 768px){
      .auxilio-detalle__grid{
          flex-direction: row;
          align-items: flex-start;
          gap: 2rem;
      }
      .auxilio-detalle__content{
          flex: 1 1 auto;
          order: 1;
      }
      .auxilio-detalle__media{
          flex: 0 0 clamp(220px, 28vw, 320px);
          order: 2;
      }
      .auxilio-detalle__figure{
          position: sticky;
          top: 96px;
      }
  }
  
  /* Dos secciones CMS seguidas (cada una su <section>) */
  .contenedor-general > section.contenedor-seccion + section.contenedor-seccion{
      margin-top: 36px;
  }
  @media (min-width: 992px){
      .contenedor-general > section.contenedor-seccion + section.contenedor-seccion{
          margin-top: 44px;
      }
  }
  .contenedor-seccion .contenido-simple h3{
      font-size: clamp(22px, 2.2vw, 32px);
      line-height: 1.12;
      margin: 0 0 12px 0;
      padding-right: 6px;
      color: #6fa03a;
      font-weight: 800;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      min-width: 0;
      word-wrap: break-word;
      overflow-wrap: break-word;
  }
  /* Subtítulo tipo “AHORRO VOLUNTARIO” cuando viene como <h2> en la descripción */
  .contenedor-seccion .contenido-simple__desc > h2:first-child{
      font-size: 1.05rem;
      font-weight: 600;
      color: #4a4a4a;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin: 0 0 14px 0;
      line-height: 1.3;
  }
  .contenedor-seccion .contenido-simple__intro,
  .contenedor-seccion .contenido-simple__desc{
      font-size: clamp(15px, 1.1vw, 17px);
      line-height: 1.6;
      color: #333;
      min-width: 0;
      padding-right: 8px;
      box-sizing: border-box;
  }
  .contenedor-seccion .contenido-simple__intro p,
  .contenedor-seccion .contenido-simple__desc p{
      margin: 0 0 12px 0;
      font-size: inherit;
      line-height: inherit;
  }
  .contenedor-seccion .contenido-simple__intro ul,
  .contenedor-seccion .contenido-simple__desc ul{
      list-style: none;
      padding-left: 0;
      margin: 18px 0 0 0;
  }
  .contenedor-seccion .contenido-simple__intro li,
  .contenedor-seccion .contenido-simple__desc li{
      position: relative;
      padding-left: 34px;
      margin: 14px 0;
      font-size: clamp(18px, 1.35vw, 22px);
      line-height: 1.5;
  }
  .contenedor-seccion .contenido-simple__intro li::before,
  .contenedor-seccion .contenido-simple__desc li::before{
      content: "✓";
      position: absolute;
      left: 0;
      top: 1px;
      font-size: 1.05em;
      color: #7ab043;
      font-weight: 800;
  }
  /* Acordeón <details> — pastillas lavanda + triángulo (referencia card 2) */
  .contenedor-seccion .contenido-simple details{
      margin: 8px 0;
      padding: 0;
      background: transparent;
      border: none;
      max-width: 100%;
      box-sizing: border-box;
  }
  .contenedor-seccion .contenido-simple summary{
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: clamp(15px, 1.05vw, 17px);
      font-weight: 700;
      color: #6fa03a;
      padding: 12px 14px;
      background: #f3efff;
      border-radius: 12px;
      border: 1px solid rgba(31, 77, 46, 0.12);
      transition: background 0.15s ease, border-color 0.15s ease;
  }
  .contenedor-seccion .contenido-simple summary::-webkit-details-marker{
      display: none;
  }
  .contenedor-seccion .contenido-simple summary::marker{
      content: "";
  }
  .contenedor-seccion .contenido-simple summary::before{
      content: "▶";
      flex-shrink: 0;
      font-size: 0.55em;
      color: #6fa03a;
      margin-top: 1px;
  }
  .contenedor-seccion .contenido-simple details[open] summary::before{
      content: "▼";
      font-size: 0.5em;
  }
  .contenedor-seccion .contenido-simple summary:hover{
      background: #ebe4fb;
      border-color: rgba(31, 77, 46, 0.2);
  }
  .contenedor-seccion .contenido-simple details[open] summary{
      margin-bottom: 0;
      border-radius: 12px 12px 0 0;
      border-bottom: none;
  }
  .contenedor-seccion .contenido-simple details[open]{
      background: #f3efff;
      border-radius: 12px;
      border: 1px solid rgba(31, 77, 46, 0.12);
      padding: 0 14px 14px;
  }
  .contenedor-seccion .contenido-simple details[open] > :not(summary){
      padding-top: 4px;
  }
  @media (max-width: 991px){
      .contenedor-seccion .contenido-simple{
          grid-template-columns: 1fr;
          padding: 28px 22px 32px;
          gap: 22px;
          align-items: start;
      }
      .contenedor-seccion .contenido-simple__texto{
          grid-column: 1;
          grid-row: auto;
      }
      .contenedor-seccion .contenido-simple h3{
          padding-right: 0;
      }
      .contenedor-seccion .contenido-simple__intro,
      .contenedor-seccion .contenido-simple__desc{
          padding-right: 0;
      }
      .contenedor-seccion .contenido-simple__media{
          grid-column: 1;
          grid-row: auto;
          width: 100%;
          min-height: 0;
          height: auto;
          aspect-ratio: 16 / 10;
      }
      .contenedor-seccion .contenido-simple__img{
          grid-column: auto;
          grid-row: auto;
          width: 100%;
          min-height: 0;
          height: 100%;
          aspect-ratio: auto;
          object-fit: cover;
      }
  }
  
  /* Afiliación (/page/afiliacion) */
  @font-face {
      font-family: "Better-Signature";
      src: url(../fuentes/Better_Signature_Font.ttf) format("truetype");
  }
  
  @font-face {
      font-family: "Emanuela";
      src: url(../fuentes/Emanuela.otf) format("opentype");
  }
  
  @font-face {
      font-family: "Hamilton";
      src: url(../fuentes/HAMILLTON_demo.ttf) format("truetype");
  }
  
  @font-face {
      font-family: "Anastascia";
      src: url(../fuentes/Anastasia.otf) format("opentype");
  }
  
  @font-face {
      font-family: "Grateful";
      src: url(../fuentes/The_Grateful.ttf) format("truetype");
  }
  
  .header-content2 {
      text-align: center;
  }
  
  .header-content2 .logo2 {
      max-width: 280px;
      height: auto;
  }
  
  .afiliaciones {
      font-size: 18px;
  }
  
  .afiliaciones label {
      color: #74A639;
      font-size: 18px;
  }
  
  .afiliaciones .form-control {
      background-color: #f2f2f2;
      border-radius: 20px;
      border: none;
  }
  
  .fondo-azul-claro {
      background-color: #74A639;
      color: #fff;
  }
  
  .color-verde {
      color: #74A639 !important;
      font-size: 18px;
  }
  
  .caja-form {
      border: 1px solid #dedede;
      background-color: #fff;
  }
  
  .btn.btn-firma,
  #boton-firma.btn-firma {
      --bs-btn-color: #fff;
      --bs-btn-bg: #74A639;
      --bs-btn-border-color: #74A639;
      --bs-btn-hover-color: #fff;
      --bs-btn-hover-bg: #628f30;
      --bs-btn-hover-border-color: #628f30;
      --bs-btn-active-color: #fff;
      --bs-btn-active-bg: #547828;
      --bs-btn-active-border-color: #547828;
      --bs-btn-disabled-color: #fff;
      --bs-btn-disabled-bg: #74A639;
      --bs-btn-disabled-border-color: #74A639;
      background-color: #74A639 !important;
      color: #fff !important;
      font-weight: bold;
      font-size: 22px;
      padding: 10px 60px;
      border-radius: 25px;
      margin: 0 10px;
      border: none;
  }
  
  .btn.btn-firma:hover:not(:disabled),
  #boton-firma.btn-firma:hover:not(:disabled) {
      color: #fff !important;
      background-color: #628f30 !important;
      border-color: #628f30 !important;
  }
  
  .btn.btn-firma:disabled,
  #boton-firma.btn-firma:disabled {
      opacity: 0.65;
      color: #fff !important;
      background-color: #74A639 !important;
      border-color: #74A639 !important;
  }

  .afiliacion-firma-ok {
      max-width: 36rem;
      margin: clamp(4rem, 12vw, 7rem) auto clamp(3rem, 8vw, 5rem);
      padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 4vw, 2rem);
  }
  .afiliacion-firma-ok__logo {
      width: min(220px, 70%);
      height: auto;
      margin: 0 auto 1.75rem;
      display: block;
  }
  .afiliacion-firma-ok__title {
      margin: 0 0 1rem;
      font-size: clamp(1.6rem, 3vw, 2rem);
      font-weight: 700;
      color: var(--fempro-green, #89c04c);
  }
  .afiliacion-firma-ok__text {
      margin: 0 auto 2rem;
      max-width: 28rem;
      font-size: clamp(1rem, 1.2vw, 1.1rem);
      line-height: 1.6;
      color: #4a4a4a;
  }
  .afiliacion-firma-ok__btn {
      display: inline-block;
      text-decoration: none;
  }
  
  .radios [type=radio] {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
  }
  
  .radios [type=radio] + h4 {
      cursor: pointer;
      font-size: 30px;
  }
  
  .radios [type=radio]:checked + h4 {
      background: #74A639;
      padding: 10px;
      border-radius: 10px;
      color: #fff !important;
  }
  
  #font-2 {
      font: 402 18px 'Better-Signature', Helvetica, sans-serif !important;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-2r {
      font: 402 35px 'Better-Signature', Helvetica, sans-serif !important;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-3 {
      font: 400 40px 'Emanuela', Helvetica, sans-serif;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-3r {
      font: 400 60px 'Emanuela', Helvetica, sans-serif;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-4 {
      font: 40px 'Hamilton', cursive;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-4r {
      font: 60px 'Hamilton', cursive;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-5 {
      font: 30px 'Anastascia', cursive;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-5r {
      font: 40px 'Anastascia', cursive;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-6 {
      font: 60px 'Grateful', cursive;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  #font-6r {
      font: 80px 'Grateful', cursive;
      color: #2b2b2b;
      font-size: 30px;
  }
  
  .afiliaciones #documento::-webkit-inner-spin-button,
  .afiliaciones #documento::-webkit-outer-spin-button,
  .afiliaciones #telefono_personal::-webkit-inner-spin-button,
  .afiliaciones #telefono_personal::-webkit-outer-spin-button,
  .afiliaciones #celular::-webkit-inner-spin-button,
  .afiliaciones #celular::-webkit-outer-spin-button,
  .afiliaciones #cuenta_numero::-webkit-inner-spin-button,
  .afiliaciones #cuenta_numero::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
  }
  
  .flotantes2 {
      position: fixed;
      right: 20px;
      bottom: 20px;
      z-index: 999;
  }
  
  .flotantes2 a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 56px;
      height: 56px;
      background: #25d366;
      color: #fff;
      border-radius: 50%;
      font-size: 28px;
      text-decoration: none;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
  
  .modal-confirm .modal-header {
      background: #FFF8F8;
      border-bottom: none;
      position: relative;
      text-align: center;
      border-radius: 5px 5px 0 0;
      padding: 35px;
  }
  
  #ventana .modal-title,
  #ventanaLabel {
      color: #74A639;
      font-weight: 700;
      font-size: 1.25rem;
  }
  
  #ventana .modal-header {
      border-bottom: none;
      text-align: center;
  }
  
  #ventana .modal-body {
      color: #333;
  }
  
  /* Beneficios: columna imagen */
  .beneficios-container .beneficios-row {
      align-items: center;
  }
  .beneficios-container .beneficios-row__media {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 200px;
  }
  .beneficios-container .beneficios-row__img {
      display: block;
      width: 100%;
      max-width: 100%;
      height: auto;
      max-height: min(320px, 42vw);
      object-fit: contain;
      border-radius: 12px;
  }
  .beneficios-container .nosotros img,
  .beneficios-container .organos-servicios img {
      margin-bottom: 0;
  }
  
  /* ── Normatividad (Reglamentos, Estatutos, etc.) ── */
  .norm-page {
      min-width: 0;
  }
  .norm-page__wrap {
      max-width: var(--site-max-width, 1100px);
      width: 100%;
      padding-top: 1.75rem;
      padding-bottom: 2rem;
  }
  @media (min-width: 768px) {
      .norm-page__wrap {
          padding-top: 2.25rem;
          padding-bottom: 2.5rem;
      }
  }
  .norm-page__header {
      margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
      padding-bottom: 1.25rem;
      border-bottom: 1px solid rgba(31, 77, 46, 0.12);
      text-align: center;
  }
  .norm-page__h1 {
      margin-bottom: 0.65rem;
      text-wrap: balance;
  }
  .norm-page__lead {
      margin: 0 auto;
      max-width: 42rem;
      font-size: 0.98rem;
      line-height: 1.55;
      color: rgba(31, 77, 46, 0.72);
      font-weight: 500;
  }
  .norm-page__empty {
      margin: 0;
      text-align: center;
      font-size: 1rem;
  }
  .norm-page__grid {
      display: flex;
      flex-direction: column;
      gap: 1.75rem;
  }
  .norm-page__grid--media {
      background: linear-gradient(135deg, #f4f9f6 0%, #eaf3ee 100%);
      border: 1px solid rgba(31, 77, 46, 0.1);
      border-radius: 22px;
      padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2.5rem);
  }
  .norm-page__content {
      min-width: 0;
  }
  .norm-page__grid--media .norm-page__heading {
      font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  }
  .norm-page__heading {
      font-size: clamp(1.15rem, 2vw, 1.45rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      margin: 0 0 0.35rem;
      letter-spacing: 0.01em;
  }
  .norm-page__sub {
      margin: 0 0 1rem;
      font-size: 0.95rem;
      color: rgba(31, 77, 46, 0.65);
      font-weight: 600;
  }
  .norm-page__body {
      font-size: clamp(0.95rem, 1.05vw, 1.05rem);
      line-height: 1.7;
      color: #334155;
  }
  .norm-page__body :first-child {
      margin-top: 0;
  }
  .norm-page__body :last-child {
      margin-bottom: 0;
  }
  .norm-page__body p {
      margin: 0 0 0.9rem;
      text-align: justify;
  }
  .norm-page__body a {
      color: var(--fempro-green, #89c04c);
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 3px;
  }
  .norm-page__body a:hover {
      color: #6fa03a;
  }
  .norm-page__body h3,
  .norm-page__body h4 {
      color: var(--fempro-green, #89c04c);
      font-weight: 800;
      margin: 1.5rem 0 0.75rem;
      font-size: 1.05rem;
      text-align: center;
  }
  .norm-page__body h4 a,
  .norm-page__body h3 a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 0.85rem 1.5rem;
      border-radius: 999px;
      background: linear-gradient(135deg, #89c04c 0%, #7ab043 100%);
      color: #fff !important;
      text-decoration: none;
      font-size: 0.92rem;
      letter-spacing: 0.03em;
      box-shadow: 0 4px 14px rgba(31, 77, 46, 0.22);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .norm-page__body h4 a:hover,
  .norm-page__body h3 a:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(31, 77, 46, 0.28);
      color: #fff !important;
  }
  .norm-page__media {
      order: 2;
  }
  .norm-page__media-heading {
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      text-align: center;
      margin: 0 0 0.65rem;
      letter-spacing: 0.01em;
  }
  .norm-page__figure {
      margin: 0;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 12px 32px rgba(31, 77, 46, 0.12);
      background: #f4f8f5;
      aspect-ratio: 4 / 3;
  }
  .norm-page__img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
  }
  /* In the intro card, illustrations must show complete — no crop */
  .norm-page__grid--media .norm-page__figure {
      aspect-ratio: unset;
      background: transparent;
      border-radius: 0;
      box-shadow: none;
      overflow: visible;
      display: flex;
      align-items: center;
      justify-content: center;
  }
  .norm-page__grid--media .norm-page__img {
      object-fit: contain;
      height: auto;
      max-height: 260px;
      width: 100%;
      filter: drop-shadow(0 8px 18px rgba(31, 77, 46, 0.13));
  }
  .norm-page__downloads {
      margin-top: clamp(1.5rem, 3vw, 2.25rem);
      padding-top: 1.5rem;
      border-top: 1px solid rgba(31, 77, 46, 0.1);
  }
  .norm-page__downloads-title {
      font-size: 1.1rem;
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      margin: 0 0 1.25rem;
      text-align: center;
  }
  .norm-page__doc-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      gap: 0.85rem;
      grid-template-columns: 1fr;
  }
  .norm-page__doc-item:only-child {
      grid-column: 1 / -1;
      max-width: 520px;
      margin-inline: auto;
      width: 100%;
  }
  .norm-page__doc-link {
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: 1rem 1.15rem;
      border-radius: 14px;
      border: 1px solid rgba(31, 77, 46, 0.12);
      background: #fff;
      color: inherit;
      text-decoration: none;
      transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }
  .norm-page__doc-link:hover {
      border-color: rgba(31, 77, 46, 0.35);
      box-shadow: 0 8px 24px rgba(31, 77, 46, 0.1);
      transform: translateY(-2px);
  }
  .norm-page__doc-link--disabled {
      opacity: 0.55;
      cursor: default;
      pointer-events: none;
  }
  .norm-page__doc-icon {
      flex-shrink: 0;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: rgba(31, 77, 46, 0.08);
      color: var(--fempro-green, #89c04c);
      display: flex;
      align-items: center;
      justify-content: center;
  }
  .norm-page__doc-icon svg {
      width: 22px;
      height: 22px;
  }
  .norm-page__doc-text {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
      min-width: 0;
  }
  .norm-page__doc-name {
      font-weight: 700;
      font-size: 0.98rem;
      color: #1e293b;
      line-height: 1.35;
  }
  .norm-page__doc-hint {
      font-size: 0.82rem;
      color: rgba(31, 77, 46, 0.65);
      font-weight: 600;
  }
  @media (min-width: 768px) {
      .norm-page__grid--media {
          flex-direction: row;
          align-items: center;
          justify-content: space-between;
          gap: clamp(2rem, 4vw, 3rem);
      }
      .norm-page__grid--media .norm-page__content {
          flex: 1 1 0;
          order: 1;
          min-width: 0;
      }
      .norm-page__grid--media .norm-page__media {
          flex: 0 0 auto;
          order: 2;
          width: clamp(220px, 35%, 360px);
          display: flex;
          align-items: center;
          justify-content: center;
      }
      .norm-page__doc-list {
          grid-template-columns: repeat(2, 1fr);
      }
  }
  @media (min-width: 992px) {
      .norm-page__doc-list {
          grid-template-columns: repeat(2, minmax(0, 1fr));
      }
  }
  
  /* ── Beneficios (page/beneficios) ── */
  .ben-page {
      width: 100%;
      background: #fff;
  }
  .ben-page__wrap {
      max-width: var(--site-max-width);
      margin-left: auto;
      margin-right: auto;
      padding: clamp(2rem, 5vw, 3.5rem) var(--site-gutter) clamp(2.5rem, 6vw, 4rem);
      box-sizing: border-box;
  }
  .ben-page__header {
      text-align: center;
      margin-bottom: clamp(2rem, 4vw, 3rem);
      padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
      border-bottom: 1px solid rgba(31, 77, 46, 0.12);
  }
  .ben-page__h1 {
      margin: 0;
  }
  .ben-page__empty {
      text-align: center;
      margin-top: 1.5rem;
  }
  
  .ben-block {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(2rem, 5vw, 4rem);
      align-items: center;
      padding: clamp(2rem, 4vw, 3rem) 0;
      border-bottom: 1px solid rgba(31, 77, 46, 0.08);
  }
  .ben-block:last-child {
      border-bottom: none;
      padding-bottom: 0;
  }
  .ben-block--reverse .ben-block__text { order: 2; }
  .ben-block--reverse .ben-block__media { order: 1; }
  
  .ben-block__title {
      margin: 0 0 clamp(0.4rem, 1vw, 0.6rem);
      font-size: clamp(1.25rem, 2.2vw, 1.65rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      line-height: 1.2;
  }
  .ben-block__sub {
      margin: 0 0 clamp(0.75rem, 1.5vw, 1rem);
      font-size: clamp(0.92rem, 1.2vw, 1.05rem);
      font-weight: 600;
      color: var(--fempro-green-light, #a5d066);
  }
  .ben-block__body {
      font-size: clamp(0.92rem, 1vw, 1rem);
      line-height: 1.7;
      color: #444;
  }
  .ben-block__body p { margin: 0 0 0.75rem; }
  .ben-block__body p:last-child { margin-bottom: 0; }
  .ben-block__body a {
      color: var(--fempro-green, #89c04c);
      font-weight: 700;
      text-underline-offset: 3px;
  }
  .ben-block__body strong { font-weight: 700; }
  
  .ben-block__media {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      align-items: center;
  }
  .ben-block__img {
      display: block;
      width: 100%;
      height: auto;
      max-height: clamp(260px, 40vw, 420px);
      object-fit: contain;
      border-radius: 18px;
      box-shadow: 0 10px 32px rgba(31, 77, 46, 0.1);
      background: #f7f9f6;
  }
  .ben-block__img--secondary {
      max-height: clamp(160px, 22vw, 260px);
      box-shadow: 0 6px 18px rgba(31, 77, 46, 0.08);
  }
  
  @media (max-width: 768px) {
      .ben-block {
          grid-template-columns: 1fr;
          gap: 1.5rem;
      }
      .ben-block--reverse .ben-block__text { order: 1; }
      .ben-block--reverse .ben-block__media { order: 2; }
      .ben-block__img {
          max-height: clamp(200px, 55vw, 320px);
      }
  }
  
  /* ─── Quiénes Somos ─────────────────────────────────── */
  .nos-page__title { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
  
  .nos-page__intro { margin-bottom: clamp(2rem, 4vw, 3rem); }
  .nos-page__h2 {
      font-size: clamp(1.25rem, 2.5vw, 1.75rem);
      color: var(--fempro-green, #89c04c);
      font-weight: 700;
      margin-bottom: 0.5rem;
  }
  .nos-page__subtitle {
      display: block;
      font-size: 1rem;
      font-weight: 400;
      color: #666;
      margin-top: 0.25rem;
  }
  .nos-page__intro-body { line-height: 1.8; color: #444; }
  
  .nos-page__cards {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: clamp(1.5rem, 3vw, 2.5rem);
      margin-top: clamp(2rem, 4vw, 3rem);
  }
  .nos-card {
      background: #fff;
      border-radius: 14px;
      box-shadow: 0 4px 20px rgba(31,77,46,0.08);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: transform 0.22s ease, box-shadow 0.22s ease;
  }
  .nos-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 10px 32px rgba(31,77,46,0.14);
  }
  .nos-card__img-wrap { overflow: hidden; max-height: 220px; }
  .nos-card__img {
      display: block;
      width: 100%;
      height: 220px;
      object-fit: cover;
  }
  .nos-card__title {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--fempro-green, #89c04c);
      margin: 1rem 1.25rem 0.5rem;
  }
  .nos-card__body {
      font-size: 0.9rem;
      line-height: 1.7;
      color: #555;
      padding: 0 1.25rem 1.25rem;
      flex: 1;
  }
  
  .nos-organos {
      background: #f5f8f4;
      padding: clamp(3rem, 6vw, 5rem) 0;
      margin-top: clamp(2rem, 4vw, 3rem);
  }
  .nos-organos__title {
      font-size: clamp(1.35rem, 2.8vw, 1.9rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      text-align: center;
      margin-bottom: clamp(2rem, 4vw, 3rem);
  }
  .nos-organos__grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: clamp(1.25rem, 3vw, 2rem);
  }
  .nos-organo-card {
      background: #fff;
      border-radius: 14px;
      box-shadow: 0 4px 16px rgba(31,77,46,0.07);
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1.25rem;
  }
  .nos-organo-card__img-wrap { flex-shrink: 0; }
  .nos-organo-card__img {
      display: block;
      width: 72px;
      height: 72px;
      border-radius: 50%;
      object-fit: cover;
      border: 3px solid var(--fempro-green-light, #a5d066);
  }
  .nos-organo-card__body { flex: 1; min-width: 0; }
  .nos-organo-card__title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--fempro-green, #89c04c);
      margin: 0 0 0.4rem;
  }
  .nos-organo-card__intro {
      font-size: 0.88rem;
      line-height: 1.6;
      color: #555;
      margin-bottom: 0.6rem;
  }
  .btn-link-fempro {
      background: none;
      border: none;
      padding: 0;
      color: var(--fempro-green-light, #a5d066);
      font-size: 0.88rem;
      font-weight: 700;
      cursor: pointer;
      text-decoration: underline;
      text-underline-offset: 3px;
  }
  .btn-link-fempro:hover { color: var(--fempro-green, #89c04c); }
  
  /* ─── Economía Solidaria ────────────────────────────── */
  .eco-page .titulo-fempa {
      padding-bottom: 0.75rem;
      margin-bottom: 0;
      border-bottom: 3px solid rgba(31, 77, 46, 0.18);
  }
  .eco-page__body {
      max-width: 820px;
      line-height: 1.85;
      color: #374151;
      margin-top: 1.75rem;
      font-size: clamp(0.97rem, 1.1vw, 1.05rem);
  }
  .eco-page__body > p:first-child {
      font-size: 1.1em;
      color: rgba(31, 77, 46, 0.78);
      font-weight: 500;
      line-height: 1.7;
      margin-bottom: 1.5rem;
      padding-left: 1rem;
      border-left: 3px solid rgba(31, 77, 46, 0.35);
  }
  .eco-page__body p {
      margin-bottom: 1.1rem;
      text-align: justify;
  }
  .eco-page__body h2,
  .eco-page__body h3 {
      font-size: clamp(1.05rem, 1.6vw, 1.25rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c) !important;
      margin: 2rem 0 0.6rem;
      letter-spacing: 0.01em;
      display: flex;
      align-items: center;
      gap: 0.55rem;
  }
  .eco-page__body h2::before,
  .eco-page__body h3::before {
      content: '';
      display: inline-block;
      width: 4px;
      height: 1.1em;
      background: var(--fempro-green, #89c04c);
      border-radius: 4px;
      flex-shrink: 0;
  }
  .eco-page__body h4 {
      font-size: 1rem;
      font-weight: 700;
      color: #1e293b;
      margin: 1.25rem 0 0.4rem;
  }
  .eco-page__body ul,
  .eco-page__body ol {
      padding-left: 1.4rem;
      margin-bottom: 1.1rem;
  }
  .eco-page__body li {
      margin-bottom: 0.45rem;
      line-height: 1.7;
  }
  .eco-page__body ul > li::marker {
      color: var(--fempro-green, #89c04c);
  }
  .eco-page__body a {
      color: var(--fempro-green, #89c04c);
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 3px;
  }
  .eco-page__body a:hover { color: #6fa03a; }
  .eco-page__body strong {
      color: var(--fempro-green, #89c04c);
      font-weight: 800;
  }
  .eco-page__body em { font-style: italic; color: #4b5563; }
  .eco-page__body blockquote {
      border-left: 4px solid var(--fempro-green, #89c04c);
      padding: 0.8rem 1.25rem;
      margin: 1.5rem 0;
      background: rgba(31, 77, 46, 0.05);
      border-radius: 0 8px 8px 0;
      color: #374151;
      font-style: italic;
  }
  .eco-page__body :first-child { margin-top: 0; }
  .eco-page__body :last-child  { margin-bottom: 0; }
  
  /* ─── Contáctenos ───────────────────────────────────── */
  .contact-page__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(2rem, 5vw, 4rem);
      align-items: start;
      margin-top: clamp(1.5rem, 3vw, 2rem);
  }
  .contact-page__form .form-control,
  .contact-page__form select.form-control,
  .contact-page__form textarea.form-control {
      border-radius: 8px;
      border-color: #ccd9c7;
      font-size: 0.95rem;
      padding: 0.55rem 0.85rem;
  }
  .contact-page__form .form-control:focus {
      border-color: var(--fempro-green, #89c04c);
      box-shadow: 0 0 0 3px rgba(31,77,46,0.12);
      outline: none;
  }
  .btn-fempro-primary {
      display: inline-block;
      background: var(--fempro-green, #89c04c);
      color: #fff;
      font-weight: 700;
      font-size: 0.95rem;
      padding: 0.65rem 2rem;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.15s ease;
      text-decoration: none;
  }
  .btn-fempro-primary:hover {
      background: var(--fempro-green-light, #a5d066);
      transform: translateY(-1px);
      color: #fff;
  }
  .contact-page__img-col { display: flex; align-items: flex-start; }
  .contact-page__img {
      display: block;
      width: 100%;
      height: auto;
      max-height: 480px;
      object-fit: cover;
      border-radius: 18px;
      box-shadow: 0 8px 28px rgba(31,77,46,0.1);
  }
  .contact-page__intro { font-size: 0.95rem; line-height: 1.7; color: #555; }
  .contact-directorio {
      background: #f5f8f4;
      padding: clamp(3rem, 6vw, 5rem) 0;
  }
  .contact-directorio__title {
      font-size: clamp(1.35rem, 2.8vw, 1.9rem);
      font-weight: 800;
      color: var(--fempro-green, #89c04c);
      text-align: center;
      margin-bottom: clamp(2rem, 4vw, 3rem);
  }
  .contact-directorio__grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: clamp(1.25rem, 3vw, 2rem);
  }
  .contact-dir-card {
      background: #fff;
      border-radius: 14px;
      padding: 1.5rem;
      box-shadow: 0 4px 16px rgba(31,77,46,0.07);
  }
  .contact-dir-card__title {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--fempro-green, #89c04c);
      margin-bottom: 0.75rem;
  }
  .contact-dir-card__body { font-size: 0.9rem; line-height: 1.7; color: #555; }
  
  @media (max-width: 768px) {
      .contact-page__grid { grid-template-columns: 1fr; }
      .nos-organos__grid { grid-template-columns: 1fr; }
  }
  
  /* ─── Políticas ─────────────────────────────────────── */
  .politicas-page .titulo-fempa { margin-bottom: 2rem; }
  .politicas-page__stack { display: flex; flex-direction: column; gap: 2rem; }
  .politicas-page__block {
      line-height: 1.9;
      color: #444;
      padding-bottom: 2rem;
      border-bottom: 1px solid rgba(31,77,46,0.08);
  }
  .politicas-page__block:last-child { border-bottom: none; padding-bottom: 0; }
  .politicas-page__block p { margin-bottom: 0.85rem; }
  .politicas-page__block p:last-child { margin-bottom: 0; }
  
  /* ─── Beneficios — cabecera de categoría ────────────── */
  .ben-page__cat-desc {
      max-width: 760px;
      margin: 1rem auto 0;
      font-size: 1rem;
      line-height: 1.8;
      color: #555;
      text-align: center;
  }
  .ben-page__cat-img-wrap {
      display: flex;
      justify-content: center;
      margin: 1.5rem 0 0;
  }
  .ben-page__cat-img {
      display: block;
      max-width: 100%;
      max-height: 320px;
      width: auto;
      object-fit: contain;
      border-radius: 14px;
      box-shadow: 0 6px 24px rgba(31,77,46,0.1);
  }
  
  /* ── Convenio Modal ──────────────────────────────────────────────── */
  .cmod-backdrop {
      position: fixed;
      inset: 0;
      z-index: 99999;
      background: rgba(8, 20, 12, 0.68);
      /* El backdrop hace el scroll — el panel muestra todo su contenido */
      overflow-y: auto;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding: 2rem 1.25rem;
      box-sizing: border-box;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.28s ease, visibility 0.28s ease;
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
  }
  .cmod-backdrop.is-open {
      opacity: 1;
      visibility: visible;
  }
  .cmod-panel {
      background: #fff;
      border-radius: 20px;
      max-width: 500px;
      width: 100%;
      position: relative;
      box-shadow: 0 28px 72px rgba(8, 30, 16, 0.42), 0 4px 16px rgba(0,0,0,0.1);
      transform: translateY(28px) scale(0.96);
      transition: transform 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
      /* margin auto centra verticalmente cuando el contenido es corto */
      margin: auto;
  }
  .cmod-backdrop.is-open .cmod-panel {
      transform: translateY(0) scale(1);
  }
  .cmod-close {
      position: absolute;
      top: 14px;
      right: 14px;
      z-index: 20;
      width: 36px;
      height: 36px;
      border: none;
      border-radius: 50%;
      background: #f0f5f1;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #89c04c;
      box-shadow: 0 2px 8px rgba(0,0,0,0.12);
      transition: background 0.18s, transform 0.22s, box-shadow 0.18s;
      padding: 0;
  }
  .cmod-close svg { width: 16px; height: 16px; display: block; }
  .cmod-close:hover {
      background: #dceee3;
      transform: scale(1.1) rotate(90deg);
      box-shadow: 0 4px 14px rgba(0,0,0,0.18);
  }
  .cmod-body {
      padding: 2rem 1.75rem 1.75rem;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
  }
  .cmod-title {
      font-size: 1.3rem;
      font-weight: 800;
      color: #89c04c;
      margin: 0;
      line-height: 1.3;
      padding-right: 2.5rem;
  }
  .cmod-subtitle {
      font-size: 0.88rem;
      color: #6b7c6f;
      margin: 0;
      font-style: italic;
      line-height: 1.5;
  }
  .cmod-desc {
      font-size: 0.93rem;
      color: #3a4a3e;
      line-height: 1.75;
  }
  .cmod-desc p { margin: 0 0 0.65rem; }
  .cmod-desc p:last-child { margin-bottom: 0; }
  .cmod-desc ul, .cmod-desc ol { padding-left: 1.35rem; margin: 0 0 0.65rem; }
  .cmod-desc li { margin-bottom: 0.3rem; }
  .cmod-desc strong, .cmod-desc b { color: #89c04c; }
  .cmod-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.55rem;
      width: 100%;
      box-sizing: border-box;
      padding: 0.88rem 1.5rem;
      background: linear-gradient(135deg, #89c04c 0%, #7ab043 100%);
      color: #fff;
      border-radius: 999px;
      font-size: 0.92rem;
      font-weight: 800;
      font-family: inherit;
      text-decoration: none;
      text-align: center;
      box-shadow: 0 6px 20px rgba(31, 77, 46, 0.3);
      transition: background 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
      letter-spacing: 0.01em;
      margin-top: 0.5rem;
  }
  .cmod-cta:hover {
      background: linear-gradient(135deg, #6fa03a 0%, #89c04c 100%);
      color: #fff;
      text-decoration: none;
      transform: translateY(-1px);
      box-shadow: 0 10px 28px rgba(31, 77, 46, 0.38);
  }
  .cmod-cta-ico {
      width: 17px;
      height: 17px;
      flex: 0 0 17px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .conv-modal-data { display: none; }
  @media (max-width: 600px) {
      .cmod-backdrop { padding: 1rem 0.75rem; }
      .cmod-panel { border-radius: 16px; }
      .cmod-body { padding: 1.5rem 1.25rem 1.5rem; gap: 0.7rem; }
      .cmod-title { font-size: 1.1rem; }
  }
  