/*
    Theme Name: Trabajo
    Theme URI:
    Author: Marvin Rivas Escobar
    Author URI:
    Description: Tema moderno minimalista para Fundación Natura Bolivia
    Version: 3.4
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Tags: minimalista, naturaleza, ong
    Text Domain: trabajo
*/

/* ============================================================
   FUNDACIÓN NATURA BOLIVIA — Identidad Visual
   Paleta institucional + Montserrat (manual de marca 2024)
   ============================================================ */

:root {
    /* Colores institucionales */
    --verde:        #72bf44;
    --verde-oscuro: #5ea635;
    --celeste:      #4a95c1;
    --celeste-osc:  #3a7ea6;
    --cafe:         #5a4a42;
    --gris:         #545454;
    --gris-suave:   #f4f5f3;
    --gris-borde:   #e6e8e3;
    --blanco:       #ffffff;
    --negro:        #0e0f0d;

    /* Tipografía */
    --display: 'Montserrat', sans-serif;
    --texto:   'Montserrat', sans-serif;

    /* Layout */
    --max:     128rem;
    --radio:   1.6rem;
    --t-rapida: .35s cubic-bezier(.2,.8,.2,1);
    --t-suave:  .6s cubic-bezier(.2,.8,.2,1);
}

/* ---------- Reset base ---------- */
html { box-sizing: border-box; font-size: 62.5%; scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: inherit; }

body {
    margin: 0;
    font-family: var(--texto);
    font-size: 1.6rem;
    line-height: 1.7;
    color: var(--gris);
    background: var(--blanco);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: inherit; text-decoration: none; transition: color var(--t-rapida); }
ul  { list-style: none; margin: 0; padding: 0; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

h1, h2, h3, h4, h5 {
    font-family: var(--display);
    color: var(--negro);
    line-height: 1.05;
    letter-spacing: -.02em;
    margin: 0 0 2rem;
    font-weight: 800;
}
h1 { font-size: clamp(3.4rem, 5.2vw, 6.4rem); }
h2 { font-size: clamp(3rem, 5vw, 5.6rem); }
h3 { font-size: clamp(2.2rem, 3vw, 3rem); font-weight: 700; }
h4 { font-size: 2rem; font-weight: 700; }
p  { margin: 0 0 1.5rem; }

.contenedor { max-width: var(--max); width: 92%; margin: 0 auto; }

/* ---------- Botones ---------- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.4rem 2.4rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 1.4rem;
    letter-spacing: .02em;
    transition: all var(--t-rapida);
    white-space: nowrap;
}
.btn--blanco { background: var(--blanco); color: var(--negro); }
.btn--blanco:hover { transform: translateY(-2px); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.18); }
.btn--verde  {
    background: #4a95c1;
    color: var(--blanco);
    box-shadow: 0 .8rem 2rem rgba(74,149,193,.22);
}
.btn--verde:hover { background: #3d85af; transform: translateY(-2px); box-shadow: 0 1.2rem 2.6rem rgba(74,149,193,.32); }
.btn--linea  { border: 1.5px solid currentColor; }
.btn .flecha {
    width: 2.6rem; height: 2.6rem; border-radius: 50%;
    background: var(--negro); color: var(--blanco);
    display: grid; place-items: center;
    transition: transform var(--t-rapida);
}
.btn--verde .flecha { background: var(--blanco); color: var(--verde); }
.btn:hover .flecha { transform: translateX(4px); }

/* ============================================================
   HEADER — sello institucional sobre hero, blanco al scroll
   ============================================================ */
.site-header {
    position: fixed;
    top: 1.4rem;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 4rem);
    max-width: 140rem;
    z-index: 200;
    background: #fff;
    border-radius: 1.4rem;
    border: 1px solid rgba(0,0,0,.07);
    box-shadow: 0 4px 28px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05);
    padding: 0 2.4rem;
    transition: top .45s cubic-bezier(.4,0,.2,1),
                left .45s cubic-bezier(.4,0,.2,1),
                transform .45s cubic-bezier(.4,0,.2,1),
                width .45s cubic-bezier(.4,0,.2,1),
                max-width .45s cubic-bezier(.4,0,.2,1),
                border-radius .45s cubic-bezier(.4,0,.2,1),
                background .35s ease,
                border-color .35s ease,
                box-shadow .35s ease,
                padding .45s cubic-bezier(.4,0,.2,1);
}
.site-header.is-scrolled {
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-color: transparent;
    border-bottom: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 2px 16px rgba(0,0,0,.08);
    padding: 0 4rem;
}

/* ——— Barra de nav ——— */
.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    height: 7.2rem;
}

/* ——— Logo ——— */
.nav__logo {
    display: flex; align-items: center;
    flex-shrink: 0;
    text-decoration: none;
    gap: 1.2rem;
}
.nav__logo--img {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: .4rem 0;
    transition: opacity .28s ease;
}
.nav__logo--img:hover { opacity: .82; }
.nav__logo--img img {
    height: 4.4rem;
    width: auto;
    max-width: 5rem;
    display: block;
    object-fit: contain;
    transition: opacity .28s ease, max-width .32s ease, transform .28s ease;
}
.is-scrolled .nav__logo--img img {
    opacity: 0;
    max-width: 0;
    transform: scale(.85);
}
/* Texto institucional junto al logo — DOS LÍNEAS */
.nav__logo-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
    line-height: 1;
    font-family: var(--display);
    font-style: normal;
    letter-spacing: -.01em;
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .3s ease, max-width .35s ease, transform .3s ease;
}
.is-scrolled .nav__logo-text {
    max-width: 26rem;
    opacity: 1;
    transform: translateX(0);
}
.nav__logo-text::before {
    content: 'Fundación';
    font-size: 1.1rem;
    font-weight: 500;
    color: #888;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.nav__logo-text__line {
    display: flex;
    align-items: baseline;
    gap: .55rem;
}
.nav__logo-text strong {
    font-size: 1.9rem;
    font-weight: 800;
    color: #4a95c1;
    letter-spacing: -.01em;
    text-transform: uppercase;
}
.nav__logo-text em {
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 800;
    color: #72bf44;
    letter-spacing: -.01em;
    text-transform: uppercase;
}

/* ——— Menú principal ——— */
.nav__menu {
    display: none;
    align-items: center;
    list-style: none;
    margin: 0; padding: 0;
    flex: 1;
    justify-content: center;
    gap: 0;
    height: 100%;
}
@media (min-width: 1100px) { .nav__menu { display: flex; } }

.nav__menu > li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

/* Links de nivel 1 */
.nav__menu > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    height: 100%;
    padding: 0 .95rem;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #3a3a3a;
    white-space: nowrap;
    transition: color .25s ease;
}
.nav__menu > li > a:hover { color: #4a95c1; }
.nav__menu > .current-menu-item > a,
.nav__menu > .current-menu-ancestor > a { color: #4a95c1; }

/* Scrolled: igual (siempre blanco el nav) */
.is-scrolled .nav__menu > li > a       { color: #3a3a3a; }
.is-scrolled .nav__menu > li > a:hover { color: #4a95c1; }
.is-scrolled .nav__menu > .current-menu-item   > a,
.is-scrolled .nav__menu > .current-menu-ancestor > a { color: #4a95c1; }

/* Indicador celeste bajo el texto */
.nav__menu > li > a::before {
    content: '';
    position: absolute;
    bottom: 1.4rem;
    left: .95rem; right: .95rem;
    height: 2px;
    background: #4a95c1;
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .28s cubic-bezier(.4,0,.2,1);
}
.nav__menu > li > a:hover::before,
.nav__menu > .current-menu-item   > a::before,
.nav__menu > .current-menu-ancestor > a::before { transform: scaleX(1); }

/* Caret */
.nav__menu > li > a .caret {
    font-size: .85rem;
    opacity: .55;
    transition: transform .3s ease, opacity .25s;
    line-height: 1;
}
.nav__menu > li.has-sub:hover > a .caret {
    transform: rotate(180deg);
    opacity: 1;
}

/* ——— Dropdown ——— */
.nav__menu > li.has-sub > .sub {
    position: absolute;
    top: calc(100% - 2px);
    left: 0;
    min-width: 22rem;
    background: #fff;
    border: 1px solid var(--gris-borde);
    border-radius: 0 1.2rem 1.2rem 1.2rem;
    box-shadow: 0 1.6rem 4.8rem rgba(14,15,13,.13);
    padding: .6rem 0;
    list-style: none;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .22s ease, transform .28s cubic-bezier(.2,.8,.2,1), visibility .22s;
    z-index: 300;
    pointer-events: none;
}
.nav__menu > li.has-sub:hover > .sub,
.nav__menu > li.has-sub:focus-within > .sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Título / label dentro del dropdown (clase .menu-label) */
.nav__menu .sub > li.menu-label > a {
    display: block;
    padding: 1.2rem 2rem .6rem;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--verde);
    cursor: default;
    pointer-events: none;
    background: transparent !important;
    border-radius: 0;
    margin: 0;
}
.nav__menu .sub > li.menu-label > a::before { display: none !important; }
.nav__menu .sub > li.menu-label {
    border-bottom: 1px solid var(--gris-borde) !important;
    border-top: none !important;
    margin-bottom: .4rem;
}

/* Items del dropdown */
.nav__menu .sub > li > a {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 2rem;
    font-size: 1.25rem;
    font-weight: 500;
    color: #545454;
    white-space: nowrap;
    transition: color .18s, background .18s, padding-left .22s;
    border-radius: .6rem;
    margin: 0 .5rem;
}
.nav__menu .sub > li > a::before {
    content: '·';
    color: #4a95c1;
    font-size: 1.8rem;
    line-height: 0;
    opacity: 0;
    transition: opacity .18s;
}
.nav__menu .sub > li > a:hover {
    color: #4a95c1;
    background: #eef5fb;
    padding-left: 2.4rem;
}
.nav__menu .sub > li > a:hover::before { opacity: 1; }
.nav__menu .sub > li.current-menu-item > a {
    color: #4a95c1;
    font-weight: 600;
    background: #eef5fb;
}
.nav__menu .sub > li + li {
    border-top: 1px solid #f0f3ee;
}

/* ——— Botón Donar ——— */
.nav__cta {
    display: none;
    flex-shrink: 0;
    padding: .85rem 1.8rem;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .04em;
    background: #4a95c1;
    border: 1.5px solid #4a95c1;
    color: #fff;
    box-shadow: 0 2px 10px rgba(74,149,193,.22);
    transition: background .25s, box-shadow .25s, transform .25s;
}
.nav__cta:hover {
    background: #3d85af;
    border-color: #3d85af;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(74,149,193,.32);
}
.nav__cta .flecha {
    width: 2rem; height: 2rem;
    font-size: 1.05rem;
    background: rgba(255,255,255,.2);
    color: #fff;
}
.is-scrolled .nav__cta          { background: #4a95c1; border-color: #4a95c1; }
.is-scrolled .nav__cta:hover    { background: #3d85af; border-color: #3d85af; }
.is-scrolled .nav__cta .flecha  { background: rgba(255,255,255,.2); color: #fff; }
@media (min-width: 1100px) { .nav__cta { display: inline-flex; } }

/* ——— Hamburger ——— */
.nav__toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: .52rem;
    width: 4rem; height: 4rem;
    background: transparent;
    border: none;
    padding: .8rem;
    position: relative; z-index: 210;
    cursor: pointer;
}
.nav__toggle span {
    display: block;
    height: 1.8px;
    background: #1a1a1a;
    border-radius: 2px;
    transition: all .38s cubic-bezier(.7,0,.3,1);
    transform-origin: center;
}
.nav__toggle span:nth-child(1) { width: 2.2rem; }
.nav__toggle span:nth-child(2) { width: 1.4rem; }
.nav__toggle span:nth-child(3) { width: 2.2rem; }

body.menu-open .nav__toggle span:nth-child(1) { transform: translateY(7.3px) rotate(45deg); width: 2.2rem; }
body.menu-open .nav__toggle span:nth-child(2) { opacity: 0; transform: scaleX(0); }
body.menu-open .nav__toggle span:nth-child(3) { transform: translateY(-7.3px) rotate(-45deg); width: 2.2rem; }

@media (min-width: 1100px) { .nav__toggle { display: none; } }

/* ── Mobile: navbar desaparece, solo hamburguesa flotante ── */
@media (max-width: 1099px) {
    .site-header {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 1.6rem;
        top: 1.4rem;
        width: calc(100% - 3.2rem);
    }
    .nav {
        height: auto;
        justify-content: flex-end;
    }
    .nav__logo,
    .nav__menu,
    .nav__cta { display: none !important; }

    .nav__toggle {
        width: 4.4rem;
        height: 4.4rem;
        background: rgba(255,255,255,.9);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 1.2rem;
        box-shadow: 0 2px 14px rgba(0,0,0,.15);
        padding: 1rem;
        display: flex !important;
    }
    .nav__toggle span { background: #1a1a1a; }

    body.menu-open .nav__toggle {
        background: rgba(255,255,255,.9);
        box-shadow: 0 2px 14px rgba(0,0,0,.15);
        z-index: 210;
        position: relative;
    }
    body.menu-open .nav__toggle span { background: #1a1a1a; }

    .mm-close { display: none; }
    .mm-header { display: block !important; }
}

/* ============================================================
   HERO con CARRUSEL flotante
   ============================================================ */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 14rem 0 8rem;
    color: var(--blanco);
    overflow: hidden;
    isolation: isolate;
    background-size: cover;
    background-position: center;
}
.hero__overlay {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(135deg,
        rgba(6,14,6,.78) 0%,
        rgba(14,15,13,.55) 40%,
        rgba(74,149,193,.25) 100%);
}
.hero__grid-deco {
    position: absolute; inset: 0; z-index: -1;
    background-image:
        linear-gradient(rgba(114,191,68,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(114,191,68,.04) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 80%);
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.4) 0%, transparent 80%);
}

.hero__inner {
    width: 92%; max-width: var(--max); margin: 0 auto;
    display: flex; flex-direction: column;
    gap: 2rem;
    position: relative; z-index: 1;
}

/* Chip institucional · arriba del título */
.hero__chip {
    display: inline-flex; align-items: center; gap: .8rem;
    width: max-content;
    padding: .7rem 1.6rem;
    background: rgba(114,191,68,.13);
    border: 1px solid rgba(114,191,68,.4);
    border-radius: 10rem;
    color: var(--verde);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: 0; animation: subir .9s .1s forwards;
}
.hero__chip-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--verde);
    box-shadow: 0 0 0 4px rgba(114,191,68,.2);
    animation: pulse-dot 2.4s ease-in-out infinite;
}
@keyframes pulse-dot {
    0%, 100% { box-shadow: 0 0 0 4px rgba(114,191,68,.2); }
    50% { box-shadow: 0 0 0 8px rgba(114,191,68,.05); }
}

.hero__eyebrow {
    display: inline-flex; align-items: center; gap: 1.4rem;
    font-size: clamp(1.8rem, 2.2vw, 2.4rem); letter-spacing: .03em;
    text-transform: none; font-weight: 600;
    margin-bottom: 0; color: rgba(255,255,255,.85);
    line-height: 1.4; max-width: 90rem;
    opacity: 0; animation: subir .9s .25s forwards;
}
.hero__eyebrow::before {
    content: ''; flex-shrink: 0; width: 4rem; height: 2px; background: var(--verde);
}
.hero__title {
    color: var(--blanco);
    font-weight: 800;
    font-size: clamp(5.5rem, 9.5vw, 12rem);
    line-height: .98;
    letter-spacing: -.03em;
    margin: 1rem 0 0;
    opacity: 0; animation: subir 1.1s .4s forwards;
}
.hero__title em {
    font-style: normal;
    font-weight: 800;
    color: var(--celeste);
    display: block;
}

/* Lead · párrafo descriptivo */
.hero__lead {
    font-size: clamp(1.6rem, 1.8vw, 1.9rem);
    line-height: 1.65;
    color: rgba(255,255,255,.78);
    max-width: 65rem;
    margin: 1.6rem 0 0;
    opacity: 0; animation: subir 1.1s .55s forwards;
}

/* Stats strip · 3 cifras horizontales con divisores */
.hero__stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3rem;
    margin-top: 3.6rem;
    padding-top: 3.2rem;
    border-top: 1px solid rgba(255,255,255,.16);
    max-width: 80rem;
    opacity: 0; animation: subir 1.1s .7s forwards;
}
.hero__stat { display: flex; flex-direction: column; gap: .4rem; }
.hero__stat-num {
    font-size: clamp(3.4rem, 4.5vw, 5rem);
    font-weight: 900;
    color: var(--blanco);
    line-height: 1;
    letter-spacing: -.02em;
}
.hero__stat-num:nth-of-type(odd) { color: var(--blanco); }
.hero__stat:nth-child(3) .hero__stat-num { color: var(--celeste); }
.hero__stat:nth-child(5) .hero__stat-num { color: var(--verde); }
.hero__stat-label {
    font-size: 1.3rem;
    color: rgba(255,255,255,.55);
    text-transform: uppercase;
    letter-spacing: .08em;
    line-height: 1.4;
    max-width: 18rem;
}
.hero__stats-div {
    width: 1px;
    align-self: stretch;
    background: rgba(255,255,255,.14);
}

/* Scroll indicator */
.hero__scroll {
    position: absolute;
    bottom: 3rem;
    right: 4rem;
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    color: rgba(255,255,255,.5);
    font-size: 1.2rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600;
    animation: bounce 2.4s ease-in-out infinite;
}
@media (max-width: 768px) {
    .hero__scroll { display: none; }
    .hero__stats { gap: 2rem; padding-top: 2.4rem; margin-top: 2.4rem; }
    .hero__stats-div { display: none; }
    .hero__stat-num { font-size: 3.2rem; }
}

/* ============================================================
   GRID ESTÁTICO de 5 líneas estratégicas (sin carrusel)
   ============================================================ */
.lineas-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.2rem;
    margin-top: 3rem;
    opacity: 0; animation: subir 1s .55s forwards;
}
.linea-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding: 1.8rem 1.6rem;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 1.2rem;
    color: var(--blanco);
    text-decoration: none;
    transition: all var(--t-rapida);
    min-height: 14rem;
}
.linea-card:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(114,191,68,.5);
    transform: translateY(-4px);
}
.linea-card__num {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--verde);
    letter-spacing: .08em;
}
.linea-card h4 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--blanco);
    flex-grow: 1;
}
.linea-card__flecha {
    align-self: flex-end;
    font-size: 1.8rem;
    color: var(--verde);
    transition: transform var(--t-rapida);
}
.linea-card:hover .linea-card__flecha {
    transform: translateX(6px);
}
@media (max-width: 980px) {
    .lineas-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .lineas-grid { grid-template-columns: 1fr; }
}
.hero__actions {
    display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: center;
    opacity: 0; animation: subir 1s .55s forwards;
}
.hero__social {
    display: flex; gap: .8rem; margin-left: 1rem;
}
.hero__social a {
    width: 4rem; height: 4rem; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35);
    display: grid; place-items: center;
    transition: all var(--t-rapida);
}
.hero__social a:hover { background: var(--blanco); color: var(--negro); border-color: var(--blanco); }

/* ----- Carrusel flotante (estilo referencia) ----- */
.carrusel {
    position: relative;
    opacity: 0; animation: subir 1.1s .75s forwards;
}
.carrusel__cont { position: relative; overflow: hidden; border-radius: var(--radio); }
.carrusel__pista {
    display: flex;
    transition: transform .7s cubic-bezier(.65,.05,.36,1);
}
.carrusel__card {
    flex: 0 0 100%;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: var(--radio);
    padding: 2rem;
    display: grid; gap: 1.6rem;
    grid-template-columns: 9rem 1fr;
    align-items: center;
}
.carrusel__card img {
    width: 9rem; height: 9rem; border-radius: 1.2rem; object-fit: cover;
}
.carrusel__card h4 {
    color: var(--blanco); font-size: 1.6rem; margin: 0 0 1.4rem;
    font-weight: 600; line-height: 1.3;
}
.carrusel__card .btn {
    padding: .8rem 1.4rem; font-size: 1.2rem;
    background: var(--blanco); color: var(--negro);
}
.carrusel__card .btn .flecha { width: 2rem; height: 2rem; }

.carrusel__controles {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 1.6rem;
}
.carrusel__contador { font-size: 1.3rem; letter-spacing: .1em; opacity: .85; }
.carrusel__contador strong { color: var(--verde); }
.carrusel__btns { display: flex; gap: .8rem; }
.carrusel__btns button {
    width: 4.2rem; height: 4.2rem; border-radius: 50%;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.25);
    color: var(--blanco);
    display: grid; place-items: center;
    transition: all var(--t-rapida);
}
.carrusel__btns button:hover { background: var(--blanco); color: var(--negro); }

/* ── Panel derecho: redes + indicador ── */
.hero__side {
    position: absolute;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    z-index: 10;
}
@media (min-width: 1100px) { .hero__side { display: flex; } }

.hero__socials {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}
.hero__soc-btn {
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
    display: grid;
    place-items: center;
    color: #fff;
    transition: background var(--t-rapida), border-color var(--t-rapida), transform var(--t-rapida);
    text-decoration: none;
}
.hero__soc-btn:hover {
    background: var(--verde);
    border-color: var(--verde);
    transform: scale(1.08);
}

.hero__side-sep {
    width: 1px;
    height: 3.5rem;
    background: rgba(255,255,255,.25);
}

.hero__indice {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    align-items: center;
    font-size: 1.2rem;
    letter-spacing: .14em;
    color: rgba(255,255,255,.7);
}
.hero__indice .barra { width: 1px; height: 6rem; background: rgba(255,255,255,.35); }

/* ============================================================
   SECCIONES
   ============================================================ */
.seccion { padding: 5rem 0; }
.seccion--gris { background: var(--gris-suave); }

.titular { text-align: center; max-width: 70rem; margin: 0 auto 5rem; }
.titular__eyebrow {
    display: inline-flex; align-items: center; gap: 1rem;
    font-size: 1.3rem; letter-spacing: .18em; text-transform: uppercase;
    color: var(--celeste); font-weight: 600; margin-bottom: 1.6rem;
}
.titular__eyebrow::before, .titular__eyebrow::after {
    content: ''; width: 2.4rem; height: 1px;
    background: #4a95c1;
}
.titular h2 em {
    font-style: normal;
    font-weight: 800;
    color: #4a95c1;
}

/* ----- Misión: 3 cards estilo editorial ----- */
.mision { display: grid; gap: 2rem; }
@media (min-width: 760px) { .mision { grid-template-columns: 1.3fr 1fr 1fr; } }

.mision__card {
    background: var(--blanco);
    border-radius: var(--radio);
    padding: 3rem;
    border: 1px solid var(--gris-borde);
    transition: all var(--t-rapida);
    position: relative; overflow: hidden;
}
.mision__card:hover { transform: translateY(-4px); box-shadow: 0 2rem 4rem rgba(0,0,0,.06); }

.mision__card--imagen {
    grid-row: span 1; padding: 0;
    min-height: 36rem;
    background-size: cover; background-position: center;
    color: var(--blanco);
    display: flex; flex-direction: column; justify-content: space-between;
    border: none;
}
.mision__card--imagen::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.7));
}
.mision__card--imagen > * { position: relative; z-index: 1; }
.mision__card--imagen .titulo { padding: 3rem; }
.mision__card--imagen .titulo h3 { color: var(--blanco); }
.mision__card--imagen .stat {
    padding: 3rem; display: flex; align-items: end; justify-content: space-between;
}
.mision__card--imagen .stat .num {
    font-size: 4rem; font-weight: 800; line-height: 1;
}
.mision__card--imagen .stat small { font-size: 1.2rem; opacity: .85; letter-spacing: .1em; text-transform: uppercase; }

.mision__icono {
    width: 5.6rem; height: 5.6rem; border-radius: 50%;
    background: linear-gradient(135deg, rgba(114,191,68,.15), rgba(74,149,193,.15));
    border: 1px solid rgba(74,149,193,.2);
    display: grid; place-items: center;
    margin-bottom: 2rem;
    font-size: 2.4rem;
}
.mision__card { border-top: 3px solid transparent; }
.mision__card:nth-child(2) { border-top-color: var(--verde); }
.mision__card:nth-child(3) { border-top-color: var(--celeste); }
.mision__card h3 { font-size: 2rem; margin-bottom: 1.2rem; }
.mision__card p  { font-size: 1.45rem; }

/* ----- Sección 'Donde sostenibilidad...' a sangre ----- */
.parallax {
    position: relative;
    min-height: 70vh;
    background: url('img/agua.jpg') center/cover fixed no-repeat;
    display: grid; place-items: center;
    color: var(--blanco);
    text-align: center;
    overflow: hidden;
}
.parallax::before {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
}
.parallax__inner { position: relative; z-index: 1; padding: 3rem; max-width: 80rem; }
.parallax h2 { color: var(--blanco); font-weight: 300; font-style: italic; margin-bottom: 3rem; }
.parallax h2 strong { font-style: normal; font-weight: 800; display: block; }
.parallax__btns { display: flex; gap: 1.4rem; justify-content: center; flex-wrap: wrap; }
.btn--outline-blanco {
    display: inline-flex; align-items: center; gap: .7rem;
    padding: 1.1rem 2.4rem; border-radius: 10rem;
    border: 2px solid rgba(255,255,255,.75); color: #fff;
    font-size: 1.4rem; font-weight: 600; letter-spacing: .01em;
    background: transparent; text-decoration: none;
    transition: background .2s, border-color .2s, color .2s;
}
.btn--outline-blanco:hover { background: rgba(255,255,255,.12); border-color: #fff; }
/* Alturas del banner parallax (bloque de Zonas Libres) */
.parallax--media  { min-height: 55vh; }
.parallax--grande { min-height: 70vh; }
/* Banner parallax dentro de una Zona Libre: respetar el diseño y evitar que
   .home-zona-libre a (azul + subrayado) rompa el título y los botones. */
.home-zona-libre .parallax { background-attachment: scroll; }
.home-zona-libre .parallax h2 { color: #fff; font-weight: 300; font-style: italic; }
.home-zona-libre .parallax h2 strong { color: #fff; font-style: normal; font-weight: 800; display: block; }
.home-zona-libre .parallax .btn { text-decoration: none; }
.home-zona-libre .parallax .btn--verde,
.home-zona-libre .parallax .btn--outline-blanco { color: #fff; }

/* ----- Testimonio ----- */
.testimonio {
    display: grid; gap: 4rem; align-items: center;
}
@media (min-width: 860px) { .testimonio { grid-template-columns: 1fr 1fr; } }
.testimonio__texto blockquote {
    font-family: var(--display);
    font-size: clamp(2rem, 2.4vw, 2.8rem);
    line-height: 1.5; color: var(--negro);
    font-weight: 500; margin: 0 0 3rem;
}
.testimonio__texto cite {
    font-style: normal; font-weight: 600; color: var(--negro); display: block;
}
.testimonio__texto cite span { display: block; color: var(--gris); font-weight: 400; font-size: 1.4rem; }
.testimonio__img { border-radius: var(--radio); overflow: hidden; aspect-ratio: 4/3; }
.testimonio__img img { width: 100%; height: 100%; object-fit: cover; }
.testimonio__nav {
    display: flex; gap: 1rem; margin-top: 2rem;
}
.testimonio__nav button {
    width: 4.6rem; height: 4.6rem; border-radius: 50%;
    border: 1px solid var(--gris-borde);
    display: grid; place-items: center;
    color: var(--negro);
    transition: all var(--t-rapida);
}
.testimonio__nav button:hover { background: var(--negro); color: var(--blanco); border-color: var(--negro); }

/* ============================================================
   SUBMENÚS DESPLEGABLES (desktop)
   ============================================================ */
.nav__menu .has-sub { position: relative; }
.nav__menu .caret {
    display: inline-block; margin-left: .4rem; font-size: 1rem;
    transition: transform var(--t-rapida);
}
.nav__menu .has-sub:hover .caret { transform: rotate(180deg); }

.nav__menu .sub {
    position: absolute; top: calc(100% + .8rem); left: 50%;
    transform: translateX(-50%) translateY(10px);
    min-width: 24rem;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: 1.6rem;
    padding: 1rem;
    box-shadow: 0 2rem 5rem rgba(14,15,13,.12);
    opacity: 0; visibility: hidden;
    transition: all var(--t-rapida);
    display: flex; flex-direction: column; gap: .2rem;
    z-index: 10;
}
.nav__menu .sub::before {
    content: ''; position: absolute; top: -.6rem; left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 1.2rem; height: 1.2rem;
    background: var(--blanco);
    border-left: 1px solid var(--gris-borde);
    border-top: 1px solid var(--gris-borde);
}
.nav__menu .has-sub:hover .sub {
    opacity: 1; visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.nav__menu .sub li { width: 100%; }
.nav__menu .sub a {
    display: block;
    padding: 1rem 1.4rem;
    color: var(--gris) !important;
    background: transparent !important;
    text-transform: none;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: 0;
    border-radius: .8rem;
    text-align: left;
}
.nav__menu .sub a::after { display: none; }
.nav__menu .sub a:hover {
    background: linear-gradient(120deg, rgba(114,191,68,.1), rgba(74,149,193,.1)) !important;
    color: var(--negro) !important;
    padding-left: 1.8rem;
}

/* ============================================================
   PAGE HERO (encabezado de páginas internas)
   ============================================================ */
.page-hero {
    position: relative;
    min-height: 52rem;
    padding: 15rem 0 8rem;
    color: var(--blanco);
    display: flex; align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
}
.page-hero__bg {
    position: absolute; inset: 0; z-index: -2;
    background-size: cover; background-position: center;
}
.page-hero::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(14,15,13,.4) 0%, rgba(14,15,13,.75) 100%);
}
.page-hero__inner { width: 92%; max-width: var(--max); margin: 0 auto; }
.page-hero__crumbs {
    font-size: 1.3rem; letter-spacing: .12em; text-transform: uppercase;
    margin-bottom: 2rem; opacity: .9;
    display: flex; gap: 1rem; align-items: center;
}
.page-hero__crumbs a:hover { color: var(--verde); }
.page-hero__crumbs span { opacity: .5; }
.page-hero h1 {
    color: var(--blanco);
    font-weight: 700;
    max-width: 80rem;
    margin: 0;
}
.page-hero h1 em {
    font-style: normal;
    font-weight: 800;
    color: #4a95c1;
}
.page-hero__lead {
    margin-top: 2rem; max-width: 64rem;
    font-size: 1.7rem; line-height: 1.6; opacity: .92;
}

/* ============================================================
   PROSE (contenido de páginas y entradas)
   ============================================================ */
.prose {
    max-width: 76rem;
    font-size: 1.7rem;
    line-height: 1.8;
    color: var(--gris);
}
.prose h2 { font-size: clamp(2.6rem, 3.4vw, 3.6rem); margin: 5rem 0 2rem; }
.prose h3 { font-size: 2.4rem; margin: 4rem 0 1.6rem; }
.prose p { margin: 0 0 1.8rem; }
.prose img { border-radius: var(--radio); margin: 3rem 0; }
.prose a { color: var(--celeste-osc); border-bottom: 1px solid currentColor; }
.prose a:hover { color: var(--verde); }
.prose ul, .prose ol { padding-left: 2.2rem; margin: 0 0 2rem; }
.prose li { margin-bottom: .8rem; list-style: disc; }
.prose ol li { list-style: decimal; }
.prose blockquote {
    border-left: 4px solid var(--verde);
    padding: 1rem 0 1rem 2.4rem;
    margin: 3rem 0;
    font-style: italic;
    font-size: 2rem;
    color: var(--negro);
}

/* ============================================================
   LA FUNDACIÓN — Sobre Nosotros
   ============================================================ */

/* ── Hero La Fundación ── */
.fn-hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: flex-end;
    background-size: cover;
    background-position: center top;
    color: #fff;
    overflow: hidden;
}
.fn-hero__overlay {
    position: absolute; inset: 0;
    background:
        linear-gradient(to top, rgba(5,18,5,.92) 0%, rgba(5,18,5,.55) 45%, rgba(5,18,5,.18) 100%),
        linear-gradient(100deg, rgba(0,60,20,.35) 0%, transparent 60%);
}
.fn-hero__inner {
    position: relative; z-index: 1;
    padding-top: 18rem;
    padding-bottom: 8rem;
    width: 100%;
}
.fn-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(114,191,68,.15);
    border: 1px solid rgba(114,191,68,.35);
    color: rgba(255,255,255,.9);
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .55rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.8rem;
    backdrop-filter: blur(6px);
}
.fn-hero__titulo {
    font-size: clamp(4rem, 6.5vw, 7.6rem);
    font-weight: 800;
    line-height: 1.08;
    margin-bottom: 2rem;
    letter-spacing: -.03em;
    color: #fff;
    max-width: 16em;
}
.fn-hero__titulo em {
    font-style: normal;
    color: var(--verde);
    position: relative;
}
.fn-hero__titulo em::after {
    content: '';
    position: absolute;
    bottom: .05em;
    left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--verde), var(--celeste));
    border-radius: 10rem;
    opacity: .7;
}
.fn-hero__sub {
    font-size: clamp(1.4rem, 1.8vw, 1.75rem);
    line-height: 1.6;
    color: rgba(255,255,255,.75);
    max-width: 60rem;
    margin-bottom: 4rem;
}
.fn-hero__br { display: block; }
.fn-hero__stats {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 2.2rem 0 0;
    border-top: 1px solid rgba(255,255,255,.15);
    flex-wrap: wrap;
    gap: 2rem;
}
.fn-hero__stat {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}
.fn-hero__stat strong {
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 800;
    color: #fff;
    letter-spacing: -.03em;
    line-height: 1;
}
.fn-hero__stat span {
    font-size: 1.15rem;
    color: rgba(255,255,255,.6);
    text-transform: uppercase;
    letter-spacing: .07em;
    font-weight: 500;
}
.fn-hero__sep {
    width: 1px;
    height: 3.5rem;
    background: rgba(255,255,255,.2);
    flex-shrink: 0;
}
.fn-hero__scroll {
    position: absolute; bottom: 2.8rem; left: 50%; transform: translateX(-50%);
    color: rgba(255,255,255,.4);
    animation: fn-bounce 2.2s ease infinite;
}
@keyframes fn-bounce {
    0%,100% { transform: translateX(-50%) translateY(0); }
    50%      { transform: translateX(-50%) translateY(9px); }
}

/* ── QUIÉNES SOMOS ── */
.fn-quienes {
    padding: 10rem 0 11rem;
    background: #fff;
}
.fn-quienes__grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 7rem;
    align-items: start;
}

/* Bloque de imágenes */
.fn-imgs {
    position: relative;
}
.fn-imgs__main {
    border-radius: 1.6rem;
    overflow: hidden;
    box-shadow: 0 2.4rem 6rem rgba(0,0,0,.15);
}
.fn-imgs__main img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    transition: transform .9s ease;
}
.fn-imgs__main:hover img { transform: scale(1.04); }

.fn-imgs__secondary {
    position: absolute;
    bottom: -4rem;
    right: -3rem;
    width: 58%;
    border-radius: 1.2rem;
    overflow: hidden;
    box-shadow: 0 1.6rem 4rem rgba(0,0,0,.18);
    border: 4px solid #fff;
}
.fn-imgs__secondary img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform .9s ease;
}
.fn-imgs__secondary:hover img { transform: scale(1.06); }

/* Badge años */
.fn-imgs__badge {
    position: absolute;
    top: 3rem;
    left: -2rem;
    background: var(--verde);
    color: #fff;
    border-radius: 1.2rem;
    padding: 1.4rem 1.8rem;
    text-align: center;
    box-shadow: 0 .8rem 2.4rem rgba(114,191,68,.4);
    line-height: 1.1;
}
.fn-badge__num {
    display: block;
    font-size: 3.2rem;
    font-weight: 800;
    letter-spacing: -.04em;
}
.fn-badge__lbl {
    display: block;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .9;
    margin-top: .3rem;
}

/* Bloque de texto */
.fn-texto {
    padding-top: 2rem;
}
.fn-texto .titular__eyebrow { display: inline-block; margin-bottom: 1.8rem; }
.fn-texto__h2 {
    font-size: clamp(2.8rem, 3.8vw, 4.2rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.03em;
    color: var(--negro);
    margin-bottom: 3rem;
    padding-left: 2.4rem;
    border-left: 4px solid var(--verde);
}
.fn-texto__h2 em { color: var(--verde); font-style: normal; }

/* Tagline debajo del título */
.fn-texto__tagline {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--celeste);
    font-style: italic;
    margin-top: -1.6rem;
    margin-bottom: 2.8rem;
    padding-left: 2.4rem;
    border-left: 4px solid var(--celeste);
    line-height: 1.5;
}

/* Título estilizado sección Misión & Visión */
.fn-mv__titulo-seccion {
    font-size: clamp(3.2rem, 4.5vw, 5.2rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.2;
    color: var(--negro);
}
.fn-mv__titulo-seccion em,
.fn-mv__titulo-seccion strong {
    position: relative;
    display: inline-block;
    font-style: normal;
    color: var(--celeste);
}
.fn-mv__titulo-seccion strong::after,
.fn-mv__em--verde::after {
    content: '';
    position: absolute;
    bottom: .05em;
    left: 0; right: 0;
    height: 3px;
    background: var(--verde);
    border-radius: 10rem;
}
.fn-mv__titulo-seccion em::after,
.fn-mv__em--celeste::after {
    content: '';
    position: absolute;
    bottom: .05em;
    left: 0; right: 0;
    height: 3px;
    background: var(--celeste);
    border-radius: 10rem;
}

.fn-texto__cuerpo {
    font-size: 1.55rem;
    line-height: 1.75;
    color: #3d4a3d;
    margin-bottom: 3.6rem;
}
.fn-texto__cuerpo p { margin-bottom: 1.6rem; }
.fn-texto__cuerpo p:last-child { margin-bottom: 0; }

/* Stats inline */
.fn-stats {
    display: flex;
    gap: 2.4rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}
.fn-stat {
    flex: 1;
    min-width: 14rem;
    padding: 2rem 2.4rem;
    background: #f4f6f3;
    border-radius: 1.2rem;
    border-top: 3px solid var(--verde);
}
.fn-stat--celeste { border-top-color: var(--celeste); }
.fn-stat__num {
    display: block;
    font-size: 3rem;
    font-weight: 800;
    color: var(--negro);
    letter-spacing: -.04em;
    line-height: 1;
    margin-bottom: .6rem;
}
.fn-stat--celeste .fn-stat__num { color: var(--celeste); }
.fn-stat__lbl {
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--gris);
}

/* Valores pills */
.fn-valores {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.fn-valor {
    padding: .6rem 1.6rem;
    border-radius: 10rem;
    background: transparent;
    border: 1.5px solid var(--verde);
    color: var(--verde);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .05em;
    transition: all .25s;
}
.fn-valor:hover {
    background: var(--verde);
    color: #fff;
}

/* ── MISIÓN & VISIÓN ── */
.fn-mv {
    padding: 10rem 0 11rem;
    background: #f4f6f3;
}
.fn-mv .titular--centro { margin-bottom: 6rem; }

.fn-mv__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.fn-mv__card {
    background: #fff;
    border-radius: 2rem;
    padding: 5rem 4.4rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 .4rem 2rem rgba(0,0,0,.06);
    transition: transform .4s ease, box-shadow .4s ease;
}
.fn-mv__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 2rem 5rem rgba(0,0,0,.1);
}

/* Decorative large letter */
.fn-mv__card::before {
    content: attr(data-label);
    position: absolute;
    top: -2rem; right: -1rem;
    font-size: 14rem;
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: 1;
    color: rgba(114,191,68,.07);
    pointer-events: none;
    user-select: none;
}
.fn-mv__card--vision::before { color: rgba(74,149,193,.07); }

.fn-mv__icon {
    width: 6rem; height: 6rem;
    display: flex; align-items: center; justify-content: center;
    border-radius: 1.2rem;
    background: rgba(114,191,68,.12);
    color: var(--verde);
    margin-bottom: 2.8rem;
}
.fn-mv__card--vision .fn-mv__icon {
    background: rgba(74,149,193,.12);
    color: var(--celeste);
}

.fn-mv__label {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1.2rem;
}
.fn-mv__card--vision .fn-mv__label { color: var(--celeste); }

.fn-mv__line {
    width: 4rem; height: 3px;
    background: var(--verde);
    border-radius: 10rem;
    margin-bottom: 2.4rem;
    transition: width .4s ease;
}
.fn-mv__card--vision .fn-mv__line { background: var(--celeste); }
.fn-mv__card:hover .fn-mv__line { width: 7rem; }

.fn-mv__texto {
    font-size: 1.65rem;
    line-height: 1.75;
    color: #3d4a3d;
}

/* Responsive — La Fundación */
@media (max-width: 960px) {
    .fn-quienes__grid { grid-template-columns: 1fr; gap: 8rem; }
    .fn-imgs { margin-bottom: 5rem; }
    .fn-mv__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .fn-hero__titulo { font-size: 3.8rem; }
    .fn-hero__br { display: none; }
    .fn-hero__stats { gap: 1.4rem; }
    .fn-hero__sep { height: 2.5rem; }
    .fn-imgs__badge { left: 1rem; top: 1rem; }
    .fn-imgs__secondary { right: 1rem; bottom: -3rem; width: 55%; }
    .fn-mv__card { padding: 3.6rem 2.8rem; }
    .fn-texto__h2 { font-size: 2.8rem; }
    .fn-stats { flex-direction: column; }
}

/* ============================================================
   LÍNEAS ESTRATÉGICAS — 5 pilares iguales
   ============================================================ */

.lineas-seccion {
    padding: 7rem 0 7.5rem;
    background: #fff;
}

/* Encabezado centrado */
.lineas-seccion .titular--centro {
    text-align: center;
    margin-bottom: 5.6rem;
}
.lineas-seccion .titular--centro .titular__eyebrow {
    justify-content: center;
}
.lineas-seccion .titular--centro h2 {
    max-width: none;
}

/* Grid 5 columnas iguales */
.lineas-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}

/* ——— Card uniforme ——— */
.lc {
    flex: 1 1 calc(20% - 2rem);
    min-width: 22rem;
    max-width: 30rem;
    background: transparent;     /* la card en sí es transparente */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: inherit;
    position: relative;
    overflow: visible;           /* el círculo puede sobresalir por arriba */
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
/* Panel blanco de la card: arranca a la altura del centro del círculo,
   de modo que la mitad superior del círculo queda "flotando" sobre el
   fondo (transparente) y la mitad inferior sobre este blanco. */
.lc::before {
    content: '';
    position: absolute;
    top: 10rem; left: 0; right: 0; bottom: 0;
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 1.8rem;
    box-shadow: 0 12px 32px rgba(0,0,0,.06);
    z-index: 0;
    transition: box-shadow .35s ease;
}
.lc:hover {
    transform: translateY(-7px);
}
.lc:hover::before {
    box-shadow: 0 24px 54px rgba(0,0,0,.13);
}

/* Foto circular grande, por encima del panel blanco */
.lc__foto {
    position: relative;
    z-index: 2;
    overflow: visible;
    flex-shrink: 0;
    padding: 1.5rem 0 0;
}
.lc__img {
    width: 18rem;
    height: 18rem;
    margin: 0 auto;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    box-shadow: 0 0 0 6px #fff, 0 0 0 9px var(--lc-color, #72bf44), 0 16px 36px rgba(0,0,0,.20);
    transition: transform .55s cubic-bezier(.2,.8,.2,1);
}
.lc:hover .lc__img { transform: scale(1.05); }

/* Cuerpo */
.lc__body {
    position: relative;
    z-index: 2;
    padding: 1.6rem 2.2rem 2.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;       /* estilo circular: todo centrado */
    gap: 1rem;
    flex: 1;
}

/* Número: tipografía decorativa, color del pilar */
.lc__num {
    font-family: var(--display);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    color: var(--lc-color, #72bf44);
    opacity: .7;
}

.lc__body h3 {
    color: #0d1a0d;
    font-size: 1.95rem;
    font-weight: 800;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -.02em;
}
.lc__body p {
    font-size: 1.3rem;
    color: #5a6873;
    margin: 0;
    line-height: 1.6;
    flex: 1;
    max-width: 26rem;
}

/* CTA */
.lc__cta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--lc-color, #72bf44);
    margin-top: .4rem;
    transition: gap .25s ease;
}
.lc__cta span {
    display: inline-block;
    transition: transform .25s ease;
}
.lc:hover .lc__cta { gap: 1rem; }
.lc:hover .lc__cta span { transform: translateX(4px); }

/* Responsive */
@media (max-width: 1200px) {
    .lc { flex: 1 1 calc(33% - 2rem); min-width: 24rem; }
}
@media (max-width: 760px) {
    .lc { flex: 1 1 calc(50% - 2rem); min-width: 20rem; }
}
@media (max-width: 480px) {
    .lc { flex: 1 1 100%; max-width: none; }
}

/* ============================================================
   LOGROS — Estadísticas de impacto con imágenes
   ============================================================ */
.logros {
    padding: 6.5rem 0 7rem;
    background: #fff;
    position: relative;
}


/* Encabezado centrado */
.logros__header {
    margin-bottom: 6rem;
    text-align: center;
}
.logros__eyebrow {
    display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem;
    font-size: 1.1rem; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase;
    color: #72bf44; margin-bottom: 1.6rem;
}
.logros__eyebrow::before {
    content: ''; width: 2.8rem; height: 2px;
    background: #72bf44; border-radius: 2px; flex-shrink: 0; opacity: .5;
}
.logros__eyebrow::after {
    content: ''; width: 2.8rem; height: 2px;
    background: #4a95c1; border-radius: 2px; flex-shrink: 0; opacity: .5;
}
.logros__titulo {
    color: #0d1a0d;
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.03em;
    margin: 0;
}
.logros__titulo em {
    font-style: normal;
    color: #4a95c1;
}

/* Fila de contadores */
.logros__fila {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
}

/* Separador vertical */
.logros__sep {
    width: 1px;
    background: #e4eaed;
    margin: 1.6rem 0;
    flex-shrink: 0;
    align-self: stretch;
}

/* Cada contador — base */
.logro-stat {
    flex: 1 1 16rem;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3.6rem 2.4rem 3.2rem;
    gap: 1.6rem;
    transition: background .3s ease;
    overflow: hidden;
}
.logro-stat::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 0; height: 3px;
    border-radius: 2px;
    transition: width .35s ease;
}
.logro-stat:hover { background: #f8faf7; }
.logro-stat:hover::after { width: 4rem; }

/* ——— Variante VERDE (bosques, tierra) ——— */
.logro-stat--verde .logro-stat__icon {
    background: #edf7e4;
    color: #72bf44;
}
.logro-stat--verde:hover .logro-stat__icon {
    background: #ddf2cc;
}
.logro-stat--verde .logro-stat__suffix {
    color: #72bf44;
}
.logro-stat--verde::after {
    background: #72bf44;
}

/* ——— Variante CELESTE (agua, personas) ——— */
.logro-stat--celeste .logro-stat__icon {
    background: #eaf4fb;
    color: #4a95c1;
}
.logro-stat--celeste:hover .logro-stat__icon {
    background: #d5eaf6;
}
.logro-stat--celeste .logro-stat__suffix {
    color: #4a95c1;
}
.logro-stat--celeste::after {
    background: #4a95c1;
}

/* Icono: círculo */
.logro-stat__icon {
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .3s ease, transform .3s ease;
}
.logro-stat__icon svg {
    width: 2.4rem;
    height: 2.4rem;
}
.logro-stat:hover .logro-stat__icon {
    transform: scale(1.1);
}

/* Cifra */
.logro-stat__cifra {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    line-height: 1;
}
.logro-stat__num {
    font-family: var(--display);
    font-size: clamp(3.6rem, 4.4vw, 5.2rem);
    font-weight: 800;
    letter-spacing: -.05em;
    color: #0d1a0d;
    line-height: 1;
}
.logro-stat__suffix {
    font-size: clamp(1.8rem, 2.2vw, 2.2rem);
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1;
    margin-bottom: .2rem;
}
.logro-stat__label {
    font-size: 1.25rem;
    font-weight: 500;
    color: #6b7a88;
    line-height: 1.55;
    margin: 0;
    max-width: 17rem;
    letter-spacing: .01em;
}

/* Dentro de Zonas Libres, la regla global .home-zona-libre p agranda el label a
   1.6rem y le cambia el color/margen. Lo restauramos al estilo original para que
   la etiqueta se vea idéntica a la de Nuestro Impacto (más chica y elegante). */
.home-zona-libre .logro-stat__label {
    font-size: 1.25rem;
    color: #6b7a88;
    line-height: 1.55;
    margin: 0;
    max-width: 17rem;
    letter-spacing: .01em;
}

/* Mobile */
@media (max-width: 960px) {
    .logros__sep { display: none; }
    .logros__fila {
        display: grid;
        grid-template-columns: 1fr 1fr;
        background: #e4eaed;
        border: 1px solid #e4eaed;
        border-radius: 1.6rem;
        overflow: hidden;
        gap: 1px;
    }
    .logro-stat {
        background: #fff;
        border-radius: 0;
        padding: 3rem 2rem;
    }
}
@media (max-width: 480px) {
    .logros__fila { grid-template-columns: 1fr; }
    .logro-stat { padding: 2.4rem 1.6rem; }
}

/* ============================================================
   HISTORIA INSTITUCIONAL — Timeline central alternado
   ============================================================ */
.historia-tl {
    padding: 9rem 0 10rem;
    background: #f7faf5;
}

.historia-tl .titular--centro {
    text-align: center;
    margin-bottom: 7rem;
}

/* Cuerpo: contiene línea + hitos + árbol overlay */
.historia-tl__cuerpo {
    position: relative;
}

/* ——— Línea central vertical (tronco) ——— */
.historia-tl__linea {
    position: absolute;
    left: 50%;
    top: -6rem;
    bottom: 0;
    width: 6px;
    transform: translateX(-50%);
    background: #4a95c1;
    border-radius: 6px;
    z-index: 0;
}

/* ——— Fila de hito: 3 columnas ——— */
.tl-hito {
    display: grid;
    grid-template-columns: 1fr 16rem 1fr;
    align-items: center;
    gap: 0 3.2rem;
    margin-bottom: 5.6rem;
    position: relative;
    z-index: 1;
}
.tl-hito:last-child { margin-bottom: 0; }

/* Columna lateral */
.tl-hito__lado {
    display: flex;
}
.tl-hito__lado--izq { justify-content: flex-end; }
.tl-hito__lado--der { justify-content: flex-start; }

/* ——— Badge del año ——— */
.tl-hito__centro {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}
.tl-hito__badge {
    background: #4a95c1;
    color: #fff;
    font-family: var(--display);
    font-size: 2.6rem;
    font-weight: 900;
    letter-spacing: .03em;
    padding: .9rem 2.2rem;
    border-radius: .8rem;
    box-shadow:
        0 4px 18px rgba(74,149,193,.35),
        0 0 0 4px #fff;
    white-space: nowrap;
    transition: transform .3s ease, box-shadow .3s ease;
    position: relative;
}
/* Conector horizontal badge → card */
.tl-hito--izq .tl-hito__badge::before,
.tl-hito--der .tl-hito__badge::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 3.2rem;
    height: 2px;
    background: #4a95c1;
    transform: translateY(-50%);
}
.tl-hito--izq .tl-hito__badge::before { right: 100%; }
.tl-hito--der .tl-hito__badge::after  { left: 100%; }

.tl-hito:hover .tl-hito__badge {
    transform: scale(1.06);
    box-shadow:
        0 8px 28px rgba(74,149,193,.45),
        0 0 0 5px #fff;
}

/* ——— Card de contenido ——— */
.tl-hito__card {
    background: #fff;
    border: 1.5px solid #dceedd;
    border-radius: 1.4rem;
    padding: 2.2rem 2.6rem;
    max-width: 38rem;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.tl-hito--izq .tl-hito__card { text-align: right; }
.tl-hito--der .tl-hito__card { text-align: left; }

.tl-hito:hover .tl-hito__card {
    box-shadow: 0 10px 36px rgba(114,191,68,.14);
    border-color: rgba(114,191,68,.45);
}
.tl-hito--izq:hover .tl-hito__card { transform: translateX(-5px); }
.tl-hito--der:hover .tl-hito__card { transform: translateX(5px); }

.tl-hito__card h3 {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--oscuro);
    margin: 0 0 .7rem;
    line-height: 1.25;
}
.tl-hito__card p {
    font-size: 1.35rem;
    color: var(--gris-texto);
    line-height: 1.65;
    margin: 0;
}

/* ——— Copa del árbol — entre título y timeline ——— */
.historia-tl__copa {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    margin-bottom: 2rem;
    position: relative;
    z-index: 5;
    pointer-events: none;
}
.historia-tl__copa img {
    width: 42rem;
    max-width: 90%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 24px rgba(114,191,68,.15));
}

/* ——— Mobile: timeline en columna simple ——— */
@media (max-width: 768px) {
    .historia-tl__linea {
        left: 2.4rem;
        transform: none;
    }
    .historia-tl__arbol {
        display: none;
    }
    .tl-hito {
        grid-template-columns: 5.6rem 1fr;
        grid-template-rows: auto auto;
        gap: 1.2rem 1.6rem;
        margin-bottom: 4rem;
    }
    .tl-hito__lado--izq,
    .tl-hito__lado--der:empty { display: none; }
    .tl-hito__centro {
        grid-column: 1;
        grid-row: 1;
    }
    .tl-hito__badge {
        font-size: 1.6rem;
        padding: .6rem 1.2rem;
    }
    .tl-hito__badge::before,
    .tl-hito__badge::after { display: none; }
    .tl-hito__lado--izq,
    .tl-hito__lado--der {
        grid-column: 2;
        grid-row: 1;
        justify-content: flex-start;
    }
    .tl-hito__card { text-align: left !important; max-width: 100%; }
    .tl-hito__card h3 { font-size: 1.55rem; }
}

/* ============================================================
   STATS / Métricas de impacto
   ============================================================ */
.stats {
    display: grid; gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}
.stat-card {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    transition: all var(--t-rapida);
}
.stat-card:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: 0 2rem 4rem rgba(74,149,193,.12);
}
.stat-card__num {
    font-family: var(--display);
    font-size: clamp(4rem, 6vw, 6.4rem);
    font-weight: 800;
    line-height: 1;
    color: #4a95c1;
    margin-bottom: 1rem;
}
.stat-card__label {
    font-size: 1.3rem; letter-spacing: .1em;
    text-transform: uppercase; color: var(--gris); font-weight: 600;
}

/* ============================================================
   TIMELINE — Nuestra historia
   ============================================================ */
.timeline {
    position: relative;
    max-width: 72rem; margin: 0 auto;
    padding-left: 4rem;
}
.timeline::before {
    content: '';
    position: absolute; top: 0; bottom: 0; left: 1.4rem;
    width: 2px;
    background: #4a95c1;
}
.timeline__item { position: relative; padding-bottom: 4rem; }
.timeline__item::before {
    content: '';
    position: absolute; left: -3.4rem; top: .4rem;
    width: 1.8rem; height: 1.8rem; border-radius: 50%;
    background: var(--blanco);
    border: 3px solid var(--verde);
    box-shadow: 0 0 0 6px rgba(114,191,68,.12);
}
.timeline__year {
    display: inline-block;
    background: #4a95c1;
    color: var(--blanco);
    padding: .4rem 1.2rem; border-radius: 999px;
    font-size: 1.2rem; font-weight: 700; letter-spacing: .08em;
    margin-bottom: 1rem;
}
.timeline__item h3 { font-size: 2rem; margin-bottom: 1rem; }

/* ============================================================
   CONTACTO
   ============================================================ */
.contacto-grid {
    display: grid; gap: 4rem;
}
@media (min-width: 880px) { .contacto-grid { grid-template-columns: 1fr 1.2fr; } }

.contacto-info { display: flex; flex-direction: column; gap: 2.4rem; }
.contacto-info__item {
    display: flex; gap: 1.6rem; align-items: flex-start;
    padding: 2rem;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: 1.4rem;
    transition: border-color var(--t-rapida), transform var(--t-rapida), box-shadow var(--t-rapida);
    text-decoration: none; color: inherit;
}
.contacto-info__item:hover { border-color: var(--celeste); transform: translateX(4px); }
/* Ítem dirección — clickable a Maps */
.contacto-info__item--link { cursor: pointer; }
.contacto-info__item--link:hover {
    border-color: var(--verde);
    box-shadow: 0 4px 20px rgba(114,191,68,.12);
}
.contacto-info__maps-badge {
    display: inline-block;
    font-size: 1.1rem; font-weight: 600;
    color: var(--verde);
    margin-left: .6rem;
    opacity: 0;
    transform: translateX(-4px);
    transition: opacity .2s, transform .2s;
}
.contacto-info__item--link:hover .contacto-info__maps-badge {
    opacity: 1;
    transform: translateX(0);
}
.contacto-info__icon {
    width: 4.4rem; height: 4.4rem; border-radius: 50%;
    background: linear-gradient(135deg, rgba(114,191,68,.12), rgba(74,149,193,.12));
    display: grid; place-items: center; flex-shrink: 0;
    color: var(--celeste);
}
.contacto-info__item--link .contacto-info__icon { color: var(--verde); }
.contacto-info__item h4 { font-size: 1.4rem; margin-bottom: .4rem; }
.contacto-info__item p  { font-size: 1.4rem; margin: 0; }
.contacto-info__item p a { color: var(--celeste); }
.contacto-info__item p a:hover { color: var(--verde); }

/* ── Sección Mapa ── */
.contacto-mapa {
    background: var(--gris-suave);
    padding-top: 7rem;
}
.contacto-mapa__header {
    text-align: center;
    margin-bottom: 3.5rem;
}
.contacto-mapa__eyebrow {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: .8rem;
}
.contacto-mapa__titulo {
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 800;
    color: var(--negro);
    margin: 0 0 .8rem;
}
.contacto-mapa__sub {
    font-size: 1.4rem;
    color: var(--gris);
    margin: 0;
}
.contacto-mapa__wrap {
    position: relative;
    overflow: hidden;
    box-shadow: 0 -4px 40px rgba(0,0,0,.08);
}
.contacto-mapa__wrap iframe {
    display: block;
    width: 100%;
    height: 480px;
    border: 0;
    filter: contrast(1.04) saturate(.95);
}
.contacto-mapa__btn {
    position: absolute;
    bottom: 2.4rem;
    right: 2.4rem;
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
    padding: 1.2rem 2.2rem;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(114,191,68,.40);
    transition: background .2s, transform .2s, box-shadow .2s;
    z-index: 10;
}
.contacto-mapa__btn:hover {
    background: var(--verde-oscuro);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(114,191,68,.50);
    color: #fff;
}
@media (max-width: 600px) {
    .contacto-mapa__wrap iframe { height: 340px; }
    .contacto-mapa__btn { bottom: 1.4rem; right: 1.4rem; padding: 1rem 1.8rem; font-size: 1.25rem; }
}

.form-contacto {
    background: var(--blanco);
    padding: 4rem;
    border-radius: var(--radio);
    border: 1px solid var(--gris-borde);
    display: flex; flex-direction: column; gap: 1.8rem;
}
.form-contacto label {
    font-size: 1.2rem; font-weight: 600;
    letter-spacing: .08em; text-transform: uppercase;
    color: var(--gris); margin-bottom: .6rem; display: block;
}
.form-contacto input,
.form-contacto textarea {
    width: 100%;
    padding: 1.4rem 1.6rem;
    background: var(--gris-suave);
    border: 1px solid transparent;
    border-radius: 1rem;
    font-family: inherit; font-size: 1.5rem;
    color: var(--negro);
    transition: all var(--t-rapida);
}
.form-contacto input:focus,
.form-contacto textarea:focus {
    outline: none;
    border-color: var(--celeste);
    background: var(--blanco);
}
.form-contacto textarea { min-height: 14rem; resize: vertical; }

/* ============================================================
   404
   ============================================================ */
.error-404 {
    min-height: 80vh;
    display: grid; place-items: center;
    text-align: center;
    padding: 16rem 2rem 8rem;
}
.error-404__num {
    font-size: clamp(12rem, 22vw, 26rem);
    line-height: 1;
    color: #4a95c1;
    font-weight: 800;
    margin-bottom: 2rem;
}
.error-404 h1 { font-size: clamp(2.4rem, 4vw, 4rem); margin-bottom: 1.4rem; }
.error-404 p { max-width: 50rem; margin: 0 auto 3rem; font-size: 1.6rem; }

/* ============================================================
   EQUIPO / Miembros
   ============================================================ */
.equipo-grid {
    display: grid; gap: 2.4rem;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
}
.miembro {
    text-align: center;
    background: var(--blanco);
    padding: 2.4rem;
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    transition: all var(--t-rapida);
}
.miembro:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: 0 1.6rem 3rem rgba(74,149,193,.12);
}
.miembro__foto {
    width: 14rem; height: 14rem;
    border-radius: 50%;
    background-size: cover; background-position: center;
    margin: 0 auto 1.6rem;
    border: 4px solid var(--gris-suave);
    transition: border-color var(--t-rapida);
}
.miembro:hover .miembro__foto { border-color: var(--verde); }
.miembro h4 { font-size: 1.6rem; margin: 0 0 .4rem; }
.miembro span { font-size: 1.3rem; color: var(--celeste); font-weight: 500; }

/* ============================================================
   PUBLICACIONES
   ============================================================ */
.pub-filtros {
    display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center;
    margin-bottom: 5rem;
}
.pub-filtro {
    padding: 1rem 2rem;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: 999px;
    font-size: 1.3rem; font-weight: 600;
    color: var(--gris);
    transition: all var(--t-rapida);
    cursor: pointer;
}
.pub-filtro:hover {
    border-color: var(--celeste);
    color: var(--celeste);
}
.pub-filtro.is-active {
    background: #4a95c1;
    color: var(--blanco);
    border-color: transparent;
}

.pub-grid {
    display: grid; gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
}
.pub-card {
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    overflow: hidden;
    transition: all var(--t-rapida);
    display: flex; flex-direction: column;
}
.pub-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 2rem 4rem rgba(0,0,0,.08);
}
.pub-card__cover {
    position: relative;
    aspect-ratio: 4/3;
    background-size: cover; background-position: center;
}
.pub-card__cover::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.4));
}
.pub-card__tag {
    position: absolute; top: 1.4rem; left: 1.4rem;
    background: var(--blanco); color: var(--negro);
    padding: .5rem 1.2rem; border-radius: 999px;
    font-size: 1.1rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    z-index: 1;
}
.pub-card__body { padding: 2.4rem; display: flex; flex-direction: column; flex: 1; }
.pub-card__year {
    font-size: 1.2rem; letter-spacing: .12em;
    color: var(--celeste); font-weight: 700; text-transform: uppercase;
    margin-bottom: .8rem;
}
.pub-card h3 { font-size: 1.8rem; margin-bottom: 1rem; line-height: 1.3; }
.pub-card p { font-size: 1.4rem; flex: 1; margin-bottom: 1.6rem; }
.pub-card .btn { align-self: flex-start; }

/* ============================================================
   MISIÓN / VISIÓN cards
   ============================================================ */
.mv-grid {
    display: grid; gap: 3rem;
}
@media (min-width: 760px) { .mv-grid { grid-template-columns: 1fr 1fr; } }

.mv-card {
    padding: 5rem 4rem;
    border-radius: var(--radio);
    position: relative; overflow: hidden;
    color: var(--blanco);
    isolation: isolate;
}
.mv-card::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    opacity: .15;
    background-size: cover; background-position: center;
}
.mv-card--mision {
    background: linear-gradient(135deg, var(--verde-oscuro), var(--verde));
}
.mv-card--vision {
    background: linear-gradient(135deg, var(--celeste-osc), var(--celeste));
}
.mv-card__icon { font-size: 4.4rem; display: block; margin-bottom: 2rem; }
.mv-card h2 { color: var(--blanco); font-size: 3.2rem; margin-bottom: 2rem; }
.mv-card p { font-size: 1.7rem; line-height: 1.7; opacity: .95; margin: 0; }

/* ============================================================
   BLOG GRID
   ============================================================ */
.blog-grid {
    display: grid; gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}
.blog-card {
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    overflow: hidden;
    transition: all var(--t-rapida);
    display: flex; flex-direction: column;
}
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 2rem 4rem rgba(0,0,0,.08); }
.blog-card__img { display: block; aspect-ratio: 16/10; overflow: hidden; }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.blog-card:hover .blog-card__img img { transform: scale(1.05); }
.blog-card__body { padding: 2.4rem; display: flex; flex-direction: column; flex: 1; }
.blog-card__date {
    font-size: 1.2rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--celeste); font-weight: 600; margin-bottom: 1rem;
}
.blog-card h3 { font-size: 2rem; margin-bottom: 1rem; }
.blog-card h3 a:hover { color: var(--verde); }
.blog-card p { font-size: 1.4rem; flex: 1; }
.blog-card .btn { align-self: flex-start; margin-top: 1.4rem; }

/* ============================================================
   ECORREGIONES — Diseño editorial territorial
   ============================================================ */

/* ── Hero ── */
.eco-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: #fff;
    overflow: hidden;
}
.eco-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        to top,
        rgba(4,14,4,.72) 0%,
        rgba(4,14,4,.42) 40%,
        rgba(4,14,4,.12) 70%,
        rgba(4,14,4,.04) 100%
    );
}
/* Marca de agua con el nombre de la región */
.eco-hero::after {
    content: attr(data-region);
    position: absolute;
    bottom: 4rem; right: -1rem;
    font-size: clamp(8rem, 16vw, 20rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: 1;
    color: rgba(255,255,255,.045);
    pointer-events: none;
    text-transform: uppercase;
    z-index: 1;
    white-space: nowrap;
}
.eco-hero__nav {
    position: absolute;
    top: 0; left: 50%; transform: translateX(-50%);
    width: 100%;
    padding-top: 3.2rem;
    z-index: 3;
}
.eco-hero__back {
    display: inline-flex; align-items: center; gap: .7rem;
    color: rgba(255,255,255,.7);
    font-size: 1.15rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    transition: color .25s, gap .25s;
}
.eco-hero__back svg { transition: transform .25s; }
.eco-hero__back:hover { color: var(--verde); gap: 1.2rem; }
.eco-hero__back:hover svg { transform: translateX(-3px); }
.eco-hero__inner {
    position: relative; z-index: 2;
    padding-bottom: 8rem;
    margin-top: auto;
    max-width: 96rem;
}
.eco-hero__chip {
    display: inline-flex; align-items: center; gap: .6rem;
    background: rgba(114,191,68,.12);
    border: 1px solid rgba(114,191,68,.4);
    color: var(--verde);
    font-size: 1.05rem; font-weight: 800;
    letter-spacing: .16em; text-transform: uppercase;
    padding: .55rem 1.6rem;
    border-radius: 10rem;
    margin-bottom: 2.8rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.eco-hero__titulo {
    font-size: clamp(5.5rem, 10vw, 11.5rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.05em;
    margin-bottom: 4rem;
    color: #fff;
}
.eco-hero__cita {
    position: relative;
    max-width: 66rem;
    padding: 2.6rem 3.2rem 2.6rem 5.2rem;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-left: 3px solid var(--verde);
    border-radius: 0 1.4rem 1.4rem 0;
    font-size: clamp(1.5rem, 2vw, 1.9rem);
    font-style: italic;
    line-height: 1.65;
    color: rgba(255,255,255,.88);
    margin: 0;
}
.eco-hero__cita-comilla {
    position: absolute;
    top: -.4rem; left: 1.4rem;
    font-size: 8rem; line-height: 1;
    color: var(--verde);
    font-style: normal; font-weight: 900;
    opacity: .5;
}
/* ── Contenido + Mapa ── */
.eco-contenido {
    padding: 9rem 0 8rem;
    background: #f4f6f3;
    position: relative;
}
/* Sutil textura de puntos */
.eco-contenido::before {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(114,191,68,.18) 1px, transparent 1px);
    background-size: 2.8rem 2.8rem;
    pointer-events: none;
    opacity: .55;
}
.eco-contenido__grid {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 1fr 40rem;
    gap: 6rem;
    align-items: start;
}
.eco-contenido__grid--full {
    grid-template-columns: 1fr;
    max-width: 84rem;
}
.eco-texto { font-size: 1.65rem; line-height: 1.85; color: #263525; }
.eco-texto > * + * { margin-top: 0; }
.eco-texto p { margin-bottom: 2.2rem; }
.eco-texto h2 {
    font-size: clamp(2.2rem, 3vw, 2.8rem);
    font-weight: 800;
    color: var(--negro);
    letter-spacing: -.03em;
    margin: 3.6rem 0 1.6rem;
    padding-left: 1.8rem;
    border-left: 4px solid var(--verde);
    line-height: 1.25;
}
.eco-texto h3 {
    font-size: 2rem; font-weight: 700;
    color: var(--negro); margin: 2.8rem 0 1.2rem;
}
.eco-texto ul {
    padding-left: 0; list-style: none;
    display: flex; flex-direction: column; gap: 1rem;
    margin: 2.8rem 0;
}
.eco-texto ul li {
    display: flex; align-items: flex-start; gap: 1.4rem;
    padding: 1.4rem 2rem;
    background: #fff;
    border-radius: 1rem;
    border-left: 3px solid var(--verde);
    font-size: 1.52rem; line-height: 1.55;
    box-shadow: 0 1px 6px rgba(0,0,0,.05);
}
.eco-texto ul li::before {
    content: '→';
    color: var(--verde);
    font-weight: 800;
    flex-shrink: 0;
    margin-top: .1rem;
}

/* Mapa aside */
.eco-mapa-aside { position: relative; }
.eco-mapa-wrap {
    position: sticky; top: 10rem;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 2rem 6rem rgba(0,0,0,.16), 0 0 0 1px rgba(114,191,68,.2);
    background: #0a1509;
}
#eco-mapa {
    width: 100%;
    height: 46rem;
    background: #0a1509;
}
.eco-mapa-wrap iframe {
    width: 100%;
    min-height: 42rem;
    display: block;
}

/* ── Bloques territoriales (Dónde / Qué / Áreas) ── */
.eco-blq { padding: 9rem 0; }
.eco-blq--blanco { background: #fff; }
.eco-blq--gris   { background: var(--gris-suave); }
.eco-blq--oscuro { background: var(--negro); }

.eco-blq__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.eco-blq--inv .eco-blq__grid { direction: rtl; }
.eco-blq--inv .eco-blq__grid > * { direction: ltr; }

.eco-blq__eyebrow {
    display: inline-block;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
}
.eco-blq--blanco .eco-blq__eyebrow,
.eco-blq--gris   .eco-blq__eyebrow { color: var(--celeste); }
.eco-blq--oscuro .eco-blq__eyebrow { color: var(--verde); }

.eco-blq__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 2.4rem;
}
.eco-blq--blanco .eco-blq__texto h2,
.eco-blq--gris   .eco-blq__texto h2 { color: var(--negro); }
.eco-blq--oscuro .eco-blq__texto h2 { color: #fff; }

.eco-blq__cuerpo p {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 1.6rem;
}
.eco-blq__cuerpo p:last-child { margin-bottom: 0; }
.eco-blq--blanco .eco-blq__cuerpo p,
.eco-blq--gris   .eco-blq__cuerpo p { color: var(--gris); }
.eco-blq--oscuro .eco-blq__cuerpo p { color: rgba(255,255,255,.75); }

.eco-blq__img {
    width: 100%;
    height: 50rem;
    object-fit: cover;
    border-radius: 2rem;
    display: block;
}
.eco-blq--blanco .eco-blq__img,
.eco-blq--gris   .eco-blq__img { box-shadow: 0 2rem 6rem rgba(0,0,0,.1); }
.eco-blq--oscuro .eco-blq__img { box-shadow: 0 2rem 6rem rgba(0,0,0,.4); }

.eco-blq__placeholder {
    width: 100%;
    height: 50rem;
    border-radius: 2rem;
    border: 2px dashed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.6;
}
.eco-blq--blanco .eco-blq__placeholder,
.eco-blq--gris   .eco-blq__placeholder { background: #eee; border-color: #ccc; color: #aaa; }
.eco-blq--oscuro .eco-blq__placeholder { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.15); color: rgba(255,255,255,.3); }

@media (max-width: 900px) {
    .eco-blq__grid { grid-template-columns: 1fr; gap: 3.2rem; }
    .eco-blq--inv .eco-blq__grid { direction: ltr; }
    .eco-blq__img, .eco-blq__placeholder { height: 28rem; }
}

/* Sección mapa Cobertura Territorial */
.eco-mapa-full {
    background: var(--negro);
    padding: 7rem 0 8rem;
}
.eco-mapa-full__cabeza-inner {
    display: flex;
    align-items: baseline;
    gap: 2.4rem;
    flex-wrap: wrap;
    margin-bottom: 3.6rem;
}
.eco-mapa-full__eyebrow {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde);
    white-space: nowrap;
}
.eco-mapa-full__titulo {
    font-size: clamp(2.4rem, 3.5vw, 3.8rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0;
}
.eco-mapa-full__titulo em { color: var(--verde); font-style: normal; }
.eco-mapa-full__frame {
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 1.6rem 5rem rgba(0,0,0,.4);
}
.eco-mapa-full__frame iframe {
    width: 100%;
    height: 560px;
    display: block;
    border: 0;
}
@media (max-width: 700px) {
    .eco-mapa-full__frame iframe { height: 380px; }
    .eco-mapa-full__cabeza-inner { flex-direction: column; gap: .8rem; }
}
.eco-mapa__label {
    display: flex; align-items: center; gap: .9rem;
    background: #0a1509;
    color: rgba(255,255,255,.75);
    font-size: 1.05rem; font-weight: 800;
    letter-spacing: .14em; text-transform: uppercase;
    padding: 1.4rem 2rem;
    border-top: 1px solid rgba(114,191,68,.18);
}
.eco-mapa__label svg { color: var(--verde); flex-shrink: 0; }

/* Popup MapLibre */
.eco-gl-popup .maplibregl-popup-content {
    background: #0a1509; color: #fff;
    font-size: 1.2rem; font-weight: 700;
    padding: .7rem 1.4rem;
    border-radius: .6rem;
    box-shadow: 0 .4rem 1.6rem rgba(0,0,0,.5);
}
.eco-gl-popup .maplibregl-popup-tip { border-top-color: #0a1509; }
.maplibregl-ctrl-group { border-radius: .8rem !important; overflow: hidden; }
.maplibregl-ctrl button { width: 3.2rem !important; height: 3.2rem !important; }

/* ── Estadísticas ── */
.eco-stats {
    background: #060e06;
    padding: 8rem 0 9rem;
    position: relative;
    overflow: hidden;
}
/* Brillo ambiental verde-celeste */
.eco-stats::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 90rem; height: 45rem;
    background: radial-gradient(ellipse at center,
        rgba(114,191,68,.12) 0%,
        rgba(74,149,193,.07) 50%,
        transparent 70%);
    pointer-events: none;
}
/* Línea verde en la parte superior */
.eco-stats::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--verde) 30%, var(--celeste) 70%, transparent 100%);
}
.eco-stats__eyebrow {
    position: relative; z-index: 1;
    text-align: center;
    font-size: 1.1rem; font-weight: 800;
    letter-spacing: .2em; text-transform: uppercase;
    color: rgba(255,255,255,.35);
    margin: 0 0 5.5rem;
}
.eco-stats__grid {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
}
.eco-stat-item {
    text-align: center;
    padding: 3.5rem 3rem;
}
.eco-stat-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.4rem; height: 5.4rem;
    border-radius: 50%;
    background: rgba(114,191,68,.1);
    border: 1px solid rgba(114,191,68,.2);
    color: var(--verde);
    margin: 0 auto 2rem;
    transition: background .3s, border-color .3s;
}
.eco-stat-item--celeste .eco-stat-item__icon {
    background: rgba(74,149,193,.1);
    border-color: rgba(74,149,193,.25);
    color: var(--celeste);
}
.eco-stat-item:hover .eco-stat-item__icon {
    background: rgba(114,191,68,.18);
    border-color: rgba(114,191,68,.4);
}
.eco-stat-item__num {
    display: block;
    font-size: clamp(4.2rem, 6vw, 7rem);
    font-weight: 900;
    letter-spacing: -.05em;
    color: var(--verde);
    line-height: 1;
    margin-bottom: 1.4rem;
}
.eco-stat-item--celeste .eco-stat-item__num { color: var(--celeste); }
.eco-stat-item__label {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
    line-height: 1.55;
    max-width: 17rem;
    margin: 0 auto;
}
.eco-stat-sep {
    width: 1px; height: 9rem;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,.12) 50%, transparent);
    flex-shrink: 0;
}

/* ── Historia del Territorio ── */
.eco-testimonio {
    padding: 11rem 0 12rem;
    background: #fff;
    position: relative;
    overflow: hidden;
}
/* Comilla decorativa de fondo */
.eco-testimonio::before {
    content: '"';
    position: absolute;
    top: 2rem; left: -1rem;
    font-size: clamp(28rem, 40vw, 46rem);
    line-height: .75;
    font-weight: 900;
    color: var(--verde);
    opacity: .028;
    pointer-events: none;
}
/* Banda de color en la parte superior */
.eco-testimonio__banda {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--verde) 0%, var(--celeste) 100%);
}
.eco-testimonio .titular {
    margin-bottom: 5.5rem;
}
.eco-testimonio__card {
    display: grid;
    grid-template-columns: 42rem 1fr;
    align-items: stretch;
    background: #f4f6f3;
    border-radius: 2.4rem;
    overflow: hidden;
    box-shadow: 0 1.6rem 6rem rgba(0,0,0,.08);
}
.eco-testimonio__card--sin-foto {
    grid-template-columns: 1fr;
}
.eco-testimonio__card--sin-foto .eco-testimonio__cuerpo {
    padding: 6rem 7rem;
}
.eco-testimonio__foto {
    position: relative;
    min-height: 50rem;
}
.eco-testimonio__foto img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
/* Degradado verde sobre foto */
.eco-testimonio__foto::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(
        to right,
        rgba(6,14,6,.18) 0%,
        transparent 60%
    );
}
.eco-testimonio__cuerpo {
    padding: 6rem 5.5rem 6rem 6rem;
    display: flex; flex-direction: column;
    justify-content: center;
    position: relative;
}
.eco-testimonio__cita {
    position: relative;
    margin-bottom: 3rem;
}
.eco-testimonio__comilla {
    display: block;
    font-size: 11rem;
    line-height: .7;
    color: var(--verde);
    font-weight: 900;
    opacity: .22;
    margin-bottom: -.8rem;
}
.eco-testimonio__cita p {
    font-size: clamp(1.9rem, 2.5vw, 2.6rem);
    font-style: italic;
    font-weight: 700;
    line-height: 1.5;
    color: var(--negro);
}
.eco-testimonio__autor {
    display: flex; align-items: center; gap: 1.4rem;
    margin-bottom: 3rem;
}
.eco-testimonio__autor-dot {
    width: 4.5rem; height: 3px;
    background: linear-gradient(90deg, var(--verde), var(--celeste));
    border-radius: 10rem;
    flex-shrink: 0;
}
.eco-testimonio__autor span {
    font-weight: 800;
    font-size: 1.35rem;
    color: var(--verde);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.eco-testimonio__texto {
    font-size: 1.55rem;
    line-height: 1.82;
    color: #3d4e3d;
}
.eco-testimonio__texto p { margin-bottom: 1.6rem; }

/* ── Pie ── */
.eco-pie {
    padding: 5rem 0 7rem;
    background: #f4f6f3;
    border-top: 1px solid rgba(114,191,68,.2);
}
.eco-pie__volver {
    display: inline-flex; align-items: center; gap: 1.2rem;
    font-size: 1.35rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    color: var(--gris);
    transition: color .25s, gap .25s;
}
.eco-pie__flecha {
    width: 4rem; height: 4rem;
    border-radius: 50%;
    border: 2px solid var(--gris-borde);
    display: flex; align-items: center; justify-content: center;
    color: var(--gris);
    transition: border-color .25s, background .25s, color .25s, transform .25s;
    flex-shrink: 0;
}
.eco-pie__volver:hover { color: var(--verde); gap: 1.8rem; }
.eco-pie__volver:hover .eco-pie__flecha {
    border-color: var(--verde);
    background: var(--verde);
    color: #fff;
    transform: translateX(-3px);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .eco-contenido__grid { grid-template-columns: 1fr 36rem; gap: 4rem; }
}
@media (max-width: 900px) {
    .eco-contenido__grid { grid-template-columns: 1fr; }
    .eco-mapa-aside { order: -1; }
    .eco-mapa-wrap { position: static; }
    #eco-mapa { height: 32rem; }
    .eco-stats__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .eco-stat-sep { width: 8rem; height: 1px; margin: 0 auto; }
    .eco-testimonio__card { grid-template-columns: 1fr; }
    .eco-testimonio__foto { min-height: 32rem; }
    .eco-testimonio__cuerpo { padding: 4.5rem 4rem; }
    .eco-testimonio__card--sin-foto .eco-testimonio__cuerpo { padding: 4.5rem 4rem; }
}
@media (max-width: 600px) {
    .eco-hero::after { display: none; }
    .eco-hero__titulo { font-size: 5.2rem; letter-spacing: -.04em; }
    .eco-hero__cita { padding: 2rem 2.4rem 2rem 4rem; }
    .eco-stat-item { padding: 2.8rem 2rem; }
    .eco-stat-item__num { font-size: 4.8rem; }
    .eco-testimonio__cuerpo { padding: 3.6rem 2.8rem; }
    .eco-testimonio__card--sin-foto .eco-testimonio__cuerpo { padding: 3.6rem 2.8rem; }
}

/* ============================================================
   NOTICIAS — card featured + grid secundario
   ============================================================ */

/* --- Card FEATURED --- */
.not-featured {
    display: block;
    position: relative;
    border-radius: 1.6rem;
    overflow: hidden;
    aspect-ratio: 21 / 8;
    text-decoration: none;
    color: #fff;
    margin-bottom: 3rem;
    box-shadow: 0 2rem 5rem rgba(0,0,0,.18);
    transition: transform .45s ease, box-shadow .45s ease;
}
.not-featured:hover { transform: translateY(-4px); box-shadow: 0 3rem 7rem rgba(0,0,0,.25); }

.not-featured__img {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform .9s ease;
}
.not-featured:hover .not-featured__img { transform: scale(1.04); }

.not-featured__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        to top,
        rgba(5,20,5,.82) 0%,
        rgba(5,20,5,.35) 55%,
        rgba(5,20,5,.0) 100%
    );
}

.not-featured__body {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    justify-content: flex-end;
    padding: 3.6rem 4rem;
    z-index: 1;
}

.not-featured__cat {
    display: inline-block;
    background: var(--verde);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .4rem 1.2rem;
    border-radius: 10rem;
    margin-bottom: 1.4rem;
    width: fit-content;
}

.not-featured__titulo {
    font-size: clamp(2rem, 3.5vw, 3.2rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.8rem;
    max-width: 72rem;
    color: var(--verde);
}

.not-featured__meta {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    font-size: 1.35rem;
    opacity: .85;
}

.not-featured__cta {
    display: flex; align-items: center; gap: .5rem;
    font-weight: 600;
    color: var(--verde);
    opacity: 1;
}

/* --- Grid secundario --- */
.not-grid {
    display: grid;
    gap: 2.4rem;
    grid-template-columns: repeat(3, 1fr);
}

.not-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 1.4rem;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 .4rem 2rem rgba(0,0,0,.06);
    transition: transform .38s ease, box-shadow .38s ease;
}
.not-card:hover { transform: translateY(-5px); box-shadow: 0 1.6rem 4rem rgba(0,0,0,.12); }

.not-card__img {
    aspect-ratio: 16 / 10;
    background-size: cover; background-position: center;
    transition: transform .8s ease;
    flex-shrink: 0;
    overflow: hidden;
}
.not-card:hover .not-card__img { transform: scale(1.05); }

.not-card__body {
    padding: 2.4rem;
    display: flex; flex-direction: column; flex: 1;
    gap: .8rem;
}

.not-card__cat {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--celeste);
}

.not-card h4 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--celeste);
    margin: 0;
}
.not-card:hover h4 { color: var(--verde); }

.not-card p {
    font-size: 1.35rem;
    color: var(--gris);
    line-height: 1.65;
    flex: 1;
    margin: 0;
}

.not-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: .8rem;
    padding-top: 1.6rem;
    border-top: 1px solid #eee;
}

.not-card__fecha {
    font-size: 1.15rem;
    color: var(--gris);
}

.not-card__cta {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--verde);
}

/* CTA final */
.not-cta-wrap {
    text-align: center;
    margin-top: 5rem;
}

/* Responsive */
@media (max-width: 900px) {
    .not-grid { grid-template-columns: repeat(2, 1fr); }
    .not-featured { aspect-ratio: 16 / 7; }
}
@media (max-width: 600px) {
    .not-grid { grid-template-columns: 1fr; }
    .not-featured { aspect-ratio: 4 / 3; }
    .not-featured__body { padding: 2.4rem; }
    .not-featured__titulo { font-size: 2rem; }
}

/* ============================================================
   COMPONENTES — Patrones del cliente (estilo Vsolar adaptado)
   ============================================================ */

/* ----- Patrón 1: IMPACTO mosaico ----- */
.impacto-grid {
    display: grid; gap: 2rem;
}
@media (min-width: 880px) {
    .impacto-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
        grid-template-rows: 1fr;
    }
}
.impacto-mosaico {
    position: relative;
    min-height: 42rem;
    border-radius: 2rem;
    overflow: hidden;
    background-size: cover; background-position: center;
    color: var(--blanco);
    display: flex; flex-direction: column; justify-content: space-between;
    isolation: isolate;
    transition: transform var(--t-rapida);
}
.impacto-mosaico:hover { transform: translateY(-4px); }
.impacto-mosaico::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, transparent 40%, rgba(0,0,0,.75) 100%);
}
.impacto-mosaico__top { padding: 3rem; }
.impacto-mosaico__top h3 {
    color: var(--blanco); font-size: 2.4rem; margin: 0; line-height: 1.2;
}
.impacto-mosaico__stat {
    padding: 3rem;
    display: flex; align-items: end; justify-content: space-between;
}
.impacto-mosaico__num {
    font-size: 5.4rem; font-weight: 800; line-height: 1;
}
.impacto-mosaico__label {
    font-size: 1.2rem; letter-spacing: .1em;
    text-transform: uppercase; opacity: .9;
    text-align: right; max-width: 14rem;
}

.impacto-card {
    background: var(--gris-suave);
    padding: 3.5rem 3rem;
    border-radius: 2rem;
    border: 1px solid var(--gris-borde);
    transition: all var(--t-rapida);
    display: flex; flex-direction: column;
    justify-content: flex-start;
}
.impacto-card:hover {
    background: var(--blanco);
    transform: translateY(-4px);
    box-shadow: 0 2rem 4rem rgba(74,149,193,.1);
}
.impacto-card__icon {
    width: 5.2rem; height: 5.2rem; border-radius: 1.2rem;
    background: linear-gradient(135deg, var(--verde), var(--celeste));
    display: grid; place-items: center;
    color: #fff;
    margin-bottom: 2.4rem;
}
.impacto-card__icon svg { width: 2.6rem; height: 2.6rem; }
.impacto-card h3 { font-size: 1.8rem; margin-bottom: 1.4rem; line-height: 1.3; }
.impacto-card p { font-size: 1.35rem; color: var(--gris); margin: 0; }

/* ----- Patrón 2: SPLIT con glass cards ----- */
.split-grid {
    display: grid; gap: 3rem;
}
@media (min-width: 920px) {
    .split-grid { grid-template-columns: 1fr 1.1fr; align-items: center; }
}
.split-texto {
    background: var(--gris-suave);
    padding: 5rem 4rem;
    border-radius: 2.4rem;
    border: 1px solid var(--gris-borde);
}
.split-bullets {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 1.2rem;
}
.split-bullets li {
    display: flex; gap: 1.2rem; align-items: center;
    font-size: 1.45rem; font-weight: 600; color: var(--negro);
}
.split-bullets .check {
    width: 2.4rem; height: 2.4rem; border-radius: 50%;
    background: #4a95c1;
    color: var(--blanco);
    display: grid; place-items: center;
    font-size: 1.2rem; font-weight: 700;
    flex-shrink: 0;
}

.split-foto {
    position: relative;
    min-height: 50rem;
    border-radius: 2.4rem;
    background-size: cover; background-position: center;
    isolation: isolate;
}
.split-foto::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,.2));
    border-radius: 2.4rem;
}

.glass-stat {
    position: absolute; top: 50%; right: 2rem; transform: translateY(-30%);
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 2rem;
    padding: 1.8rem 2.4rem;
    display: flex; gap: 1.4rem; align-items: center;
    color: var(--blanco);
    box-shadow: 0 1.6rem 3rem rgba(0,0,0,.25);
}
.glass-stat__icon {
    width: 4.4rem; height: 4.4rem; border-radius: 50%;
    background: #4a95c1;
    display: grid; place-items: center; font-size: 1.8rem;
    flex-shrink: 0;
}
.glass-stat__num { font-size: 2.6rem; font-weight: 800; line-height: 1; }
.glass-stat__label { font-size: 1.1rem; opacity: .85; letter-spacing: .04em; }

.glass-chip {
    position: absolute; bottom: 2rem; right: 2rem;
    background: linear-gradient(135deg, rgba(114,191,68,.85), rgba(74,149,193,.85));
    backdrop-filter: blur(14px);
    border-radius: 1.6rem;
    padding: 1.4rem 1.8rem;
    color: var(--blanco);
    display: flex; align-items: center; gap: 1rem;
    font-size: 1.2rem;
    line-height: 1.3;
    max-width: 22rem;
    box-shadow: 0 1rem 2.4rem rgba(0,0,0,.2);
}
.glass-chip__icon {
    width: 3.2rem; height: 3.2rem; border-radius: 50%;
    background: rgba(255,255,255,.25);
    display: grid; place-items: center; font-size: 1.4rem;
    flex-shrink: 0;
}
/* Bloque split-glass dentro de Zonas Libres: respetar el diseño original */
.home-zona-libre .comp-split .split-texto h2 { font-size: clamp(2.8rem, 4vw, 4rem); color: var(--negro); line-height: 1.1; }
.home-zona-libre .comp-split .split-texto h2 em { color: inherit; font-style: italic; font-weight: inherit; }
.home-zona-libre .comp-split .btn--verde { color: #fff; text-decoration: none; }
.home-zona-libre .comp-split .btn--verde:hover { color: #fff; }

/* ----- HISTORIAS DEL TERRITORIO — cards estilo blog ----- */
.historias-grid {
    display: grid;
    gap: 2.4rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 5rem;
}

.hc {
    background: #fff;
    border-radius: 1.4rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(0,0,0,.06);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
    animation-delay: var(--d, 0s);
}
.hc:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 50px rgba(0,0,0,.10);
}
.hc__foto { overflow: hidden; flex-shrink: 0; }
.hc__img {
    width: 100%;
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    transition: transform .7s cubic-bezier(.2,.8,.2,1);
}
.hc:hover .hc__img { transform: scale(1.05); }
.hc__body {
    padding: 2.6rem 2.6rem 3rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
}
.hc__fecha {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #4a95c1;
}
.hc__body h3 {
    color: #0d1a0d;
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    letter-spacing: -.02em;
}
.hc__body p {
    font-size: 1.3rem;
    color: #6b7a88;
    line-height: 1.6;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hc__cta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: #72bf44;
    margin-top: .6rem;
    align-self: flex-start;
    transition: gap .25s ease;
}
.hc__cta span { transition: transform .25s ease; }
.hc:hover .hc__cta { gap: 1rem; }
.hc:hover .hc__cta span { transform: translateX(4px); }

@media (max-width: 900px) {
    .historias-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .historias-grid { grid-template-columns: 1fr; }
}

/* ----- EQUIPO mosaic ----- */
.equipo-mosaic {
    display: grid; gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
}
.persona-card {
    position: relative;
    aspect-ratio: 3/4;
    border-radius: 2rem;
    overflow: hidden;
    isolation: isolate;
    transition: transform var(--t-rapida);
}
.persona-card:hover { transform: translateY(-4px); }
.persona-card__foto {
    position: absolute; inset: 0; z-index: -2;
    background-size: cover; background-position: center;
    transition: transform 1s;
}
.persona-card:hover .persona-card__foto { transform: scale(1.06); }
.persona-card::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.85));
}
.persona-card__body {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 2.4rem;
    color: var(--blanco);
}
.persona-card__body h4 {
    color: var(--blanco); font-size: 1.8rem; margin: 0 0 .4rem;
}
.persona-card__body span {
    font-size: 1.25rem; opacity: .85; color: var(--verde); font-weight: 500;
}

/* ============================================================
   ALIADOS & PREMIOS — Doble marquee animado
   ============================================================ */

/* Keyframes */
@keyframes marquee-izq {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
@keyframes marquee-der {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* Sección */
.aliados-marquee {
    padding: 7rem 0 8rem;
    background: var(--gris-fondo);
    overflow: hidden;
}
.aliados-marquee .titular--centro {
    text-align: center;
    margin-bottom: 6rem;
}
.aliados-marquee .titular--centro h2 {
    font-size: clamp(3rem, 4.5vw, 5rem);
}

/* Pista */
.marquee-track {
    margin-bottom: 4rem;
}
.marquee-track:last-child { margin-bottom: 0; }

/* Label de pista */
.marquee-track__label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 0 var(--gap-lateral, 4rem);
    margin-bottom: 2.4rem;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: 1;
}
.marquee-track__label > span:first-child {
    color: #4a95c1;
    white-space: nowrap;
}
.marquee-track__linea {
    width: 6rem;
    height: 2px;
    border-radius: 2px;
    background: #4a95c1;
    flex-shrink: 0;
}

/* Fade en los bordes */
.marquee-fade {
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 12%,
        #000 88%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 12%,
        #000 88%,
        transparent 100%
    );
    overflow: visible;
    padding-top: 120px;
    margin-top: -120px;
}

/* Strip: flex sin wrap, doble contenido para loop */
.marquee-strip {
    display: flex;
    width: max-content;
    gap: 0;
}
.marquee-strip--forward {
    animation: marquee-izq 22s linear infinite;
}
.marquee-strip--reverse {
    animation: marquee-der 22s linear infinite;
}
/* Pausa al hover */
.marquee-fade:hover .marquee-strip { animation-play-state: paused; }

/* Inner (un set completo de logos) */
.marquee-inner {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 0 1rem;
}

/* Logo base */
.marquee-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    flex-shrink: 0;
    height: 10rem;
    min-width: 20rem;
    padding: 0;
    background: #fff;
    border: 1px solid var(--gris-borde);
    border-radius: 1rem;
    font-family: var(--display);
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--gris-texto);
    letter-spacing: .02em;
    text-decoration: none;
    white-space: nowrap;
    filter: none;
    opacity: 1;
    transition: filter .3s, opacity .3s, border-color .3s, transform .3s, box-shadow .3s;
    cursor: default;
    position: relative;
    overflow: visible;
}
/* Área de captura para evitar temblor al hacer hover */
.marquee-logo::after {
    content: '';
    position: absolute;
    inset: -10px;
    z-index: 0;
}
a.marquee-logo {
    cursor: pointer;
}
a.marquee-logo:hover,
.marquee-logo:hover {
    filter: none;
    opacity: 1;
    border-color: var(--verde);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(114,191,68,.15);
}
.marquee-logo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    border-radius: inherit;
    transition: transform .4s ease;
}
.marquee-logo:hover img {
    transform: scale(1.06);
}

/* Premio: imagen a sangre + año overlay */
.marquee-logo--premio {
    position: relative;
    height: 10rem;
    min-width: 20rem;
    padding: 0;
    overflow: visible;
    filter: none;
    opacity: 1;
    border-color: var(--gris-borde);
    background: #f0f2ef;
}
.marquee-logo--premio:hover {
    filter: none;
    opacity: 1;
    border-color: var(--verde);
    box-shadow: 0 10px 28px rgba(114,191,68,.22);
}

/* Imagen llena todo el bloque */
.marquee-logo--premio img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    border-radius: inherit;
    transition: transform .4s ease;
}
.marquee-logo--premio:hover img {
    transform: scale(1.06);
}

/* Año: overlay fijo al fondo */
.marquee-logo--premio small {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: .5rem 1.2rem;
    background: linear-gradient(to top, rgba(10,18,10,.72), transparent);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: .1em;
    text-align: center;
    z-index: 1;
}

/* Fallback sin imagen: texto centrado */
.marquee-logo span {
    position: relative;
    z-index: 1;
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--oscuro);
    padding: 0 2rem;
    text-align: center;
    white-space: normal;
    line-height: 1.3;
}

/* Tooltip Popover para Premios */
.marquee-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translate(-50%, 10px);
    width: max-content;
    max-width: 240px;
    background: #1a2e1a; /* oscuro */
    color: #fff;
    padding: 1rem 1.4rem;
    border-radius: .8rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    white-space: normal;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, transform .3s, visibility .3s;
    z-index: 10;
    box-shadow: 0 10px 25px rgba(0,0,0,.2);
}
.marquee-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: #1a2e1a transparent transparent transparent;
}
.marquee-logo:hover .marquee-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -15px);
}

/* ----- VIDEOS grid ----- */
.videos-grid {
    display: grid; gap: 2.4rem;
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
}
.video-card {
    display: block;
    border-radius: 1.6rem;
    overflow: hidden;
    transition: transform var(--t-rapida);
}
.video-card:hover { transform: translateY(-4px); }
.video-card__thumb {
    position: relative;
    aspect-ratio: 16/10;
    background-size: cover; background-position: center;
    overflow: hidden;
}
.video-card__thumb::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.5));
}
.video-card__play {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 6.4rem; height: 6.4rem; border-radius: 50%;
    background: #4a95c1;
    color: var(--blanco);
    display: grid; place-items: center;
    font-size: 2.2rem; padding-left: .4rem;
    box-shadow: 0 1rem 3rem rgba(0,0,0,.3);
    z-index: 1;
    transition: transform var(--t-rapida);
}
.video-card:hover .video-card__play { transform: translate(-50%, -50%) scale(1.1); }
.video-card__time {
    position: absolute; bottom: 1.2rem; right: 1.2rem;
    background: rgba(0,0,0,.7);
    color: var(--blanco);
    padding: .4rem 1rem; border-radius: .6rem;
    font-size: 1.2rem; font-weight: 600;
    z-index: 1;
}
.video-card h3 {
    margin-top: 1.6rem;
    font-size: 1.7rem;
    line-height: 1.3;
}

/* ============================================================
   FOOTER nuevo (Patrón 6)
   ============================================================ */
.site-footer {
    background: var(--negro);
    color: rgba(255,255,255,.65);
}

/* Newsletter parallax */
.footer-news {
    position: relative;
    background-size: cover; background-position: center;
    padding: 9rem 0;
    isolation: isolate;
    color: var(--blanco);
}
.footer-news::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(120deg, rgba(0,0,0,.75), rgba(74,149,193,.55));
}
.footer-news__inner {
    display: grid; gap: 4rem; align-items: center;
}
@media (min-width: 880px) {
    .footer-news__inner { grid-template-columns: 1fr 1fr; }
}
.footer-news h2 {
    color: var(--blanco);
    font-size: clamp(4rem, 7vw, 8rem);
    font-weight: 800;
    margin: 0 0 1rem;
    line-height: 1;
}
.footer-news p { font-size: 1.5rem; opacity: .9; margin: 0; }

.footer-news__form {
    display: flex; align-items: center; gap: 1rem;
    background: var(--blanco);
    padding: .6rem .6rem .6rem 2rem;
    border-radius: 999px;
    box-shadow: 0 2rem 5rem rgba(0,0,0,.2);
    max-width: 50rem;
    margin-left: auto;
    width: 100%;
}
.footer-news__icon { font-size: 1.6rem; color: var(--celeste); }
.footer-news__form input {
    flex: 1; background: none; border: none; outline: none;
    color: var(--negro); font-family: inherit; font-size: 1.45rem;
    padding: 1rem 0;
}
.footer-news__form button {
    width: 5rem; height: 5rem; border-radius: 50%;
    background: #4a95c1;
    color: var(--blanco);
    display: grid; place-items: center;
    font-size: 1.8rem;
    transition: transform var(--t-rapida);
}
.footer-news__form button:hover { transform: translateX(3px); }

/* Columnas */
.footer-main {
    padding: 7rem 0 3rem;
}
.footer-cols {
    display: grid; gap: 4rem;
    padding-bottom: 5rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
@media (min-width: 760px) { .footer-cols { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }

.footer-brand__logo {
    display: inline-block;
    font-family: var(--display);
    font-size: 2.4rem; font-weight: 800;
    color: var(--blanco);
    margin-bottom: 1.4rem;
}
.footer-brand__logo strong { color: var(--verde); font-weight: 800; }
.footer-brand p { font-size: 1.4rem; max-width: 32rem; margin-bottom: 2.4rem; }
.footer-brand__social { display: flex; gap: 1rem; }
.footer-brand__social a {
    width: 4rem; height: 4rem; border-radius: 50%;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    display: grid; place-items: center;
    color: var(--blanco);
    transition: all var(--t-rapida);
}
.footer-brand__social a:hover {
    background: #4a95c1;
    border-color: transparent;
    transform: translateY(-2px);
}

.site-footer h4 {
    color: var(--blanco);
    font-size: 1.3rem; letter-spacing: .12em;
    text-transform: uppercase; margin-bottom: 2rem;
    font-weight: 700;
}
.site-footer ul { padding: 0; margin: 0; list-style: none; }
.site-footer ul li { margin-bottom: 1.2rem; font-size: 1.4rem; }
.site-footer ul a { color: rgba(255,255,255,.65); transition: color var(--t-rapida); }
.site-footer ul a:hover { color: var(--verde); }

.footer-bottom {
    padding-top: 3rem;
    display: flex; flex-wrap: wrap; gap: 2rem; justify-content: space-between;
    font-size: 1.25rem; opacity: .55;
}

/* ============================================================
   FOOTER — Fundación Natura Bolivia (rediseño profesional)
   ============================================================ */

/* Base */
.fnb-footer {
    background: #0c1810;
    color: rgba(255,255,255,.65);
    font-size: 1.4rem;
    line-height: 1.6;
}

/* ── Newsletter ── */
.fnb-footer__nl {
    position: relative;
    padding: 9rem 0;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.fnb-footer__nl-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8,24,10,.90) 0%, rgba(74,149,193,.40) 100%);
}
.fnb-footer__nl-inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 900px) {
    .fnb-footer__nl-inner { grid-template-columns: 1fr 1fr; gap: 6rem; }
}
.fnb-footer__nl-eyebrow {
    font-size: .72rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--verde);
    font-weight: 700;
    margin: 0 0 .9rem;
}
.fnb-footer__nl-titulo {
    font-size: clamp(2.8rem, 5vw, 5.2rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    margin: 0 0 1.4rem;
    font-family: var(--display);
}
.fnb-footer__nl-titulo em { color: var(--verde); font-style: normal; }
.fnb-footer__nl-sub { font-size: 1.5rem; opacity: .85; color: #fff; margin: 0; }

/* Form pill */
.fnb-footer__nl-field {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 60px;
    padding: .8rem .8rem .8rem 2.2rem;
    backdrop-filter: blur(10px);
}
.fnb-footer__nl-field svg { opacity: .55; color: #fff; flex-shrink: 0; }
.fnb-footer__nl-field input {
    flex: 1; min-width: 0;
    background: none; border: none; outline: none;
    color: #fff; font-family: inherit; font-size: 1.4rem;
}
.fnb-footer__nl-field input::placeholder { color: rgba(255,255,255,.5); }
.fnb-footer__nl-field button {
    background: var(--verde);
    color: #fff; border: none; border-radius: 50px;
    padding: 1.1rem 2.4rem;
    font-family: inherit; font-size: 1.3rem; font-weight: 700;
    cursor: pointer; white-space: nowrap; letter-spacing: .02em;
    transition: background .2s, transform .15s;
}
.fnb-footer__nl-field button:hover { background: var(--verde-oscuro); transform: translateX(2px); }
.fnb-footer__nl-thanks {
    display: flex; align-items: center; gap: 1rem;
    color: var(--verde); font-weight: 600; font-size: 1.4rem;
}

/* ── Cuerpo ── */
.fnb-footer__body { padding: 7rem 0 0; }

.fnb-footer__grid {
    display: grid;
    gap: 4.5rem;
    padding-bottom: 5.5rem;
}
@media (min-width: 900px) {
    .fnb-footer__grid { grid-template-columns: 1.7fr 1fr 1fr 1.1fr; gap: 5rem; }
}

/* Logo / Marca */
.fnb-footer__logo {
    display: inline-flex;
    align-items: center;
    gap: 1.4rem;
    text-decoration: none;
    margin-bottom: 2rem;
}
.fnb-footer__logo-drop { flex-shrink: 0; }
.fnb-footer__logo-text { display: flex; flex-direction: column; line-height: 1.25; }
.fnb-footer__logo-top {
    font-size: 1rem;
    font-weight: 500;
    color: rgba(255,255,255,.5);
    letter-spacing: .1em;
    text-transform: uppercase;
}
.fnb-footer__logo-main {
    font-size: 1.95rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: .01em;
    font-family: var(--display);
}
.fnb-footer__brand-desc {
    font-size: 1.35rem;
    line-height: 1.7;
    color: rgba(255,255,255,.55);
    margin: 0 0 2.8rem;
    max-width: 30rem;
}

/* Social icons */
.fnb-footer__social { display: flex; gap: 1rem; }
.fnb-footer__social-link {
    width: 4.2rem; height: 4.2rem; border-radius: 50%;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    display: grid; place-items: center;
    color: rgba(255,255,255,.65);
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.fnb-footer__social-link:hover {
    background: var(--verde);
    color: #fff;
    border-color: transparent;
    transform: translateY(-3px);
}

/* Columnas */
.fnb-footer__col-title {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin: 0 0 2.2rem;
    padding-bottom: 1.2rem;
    position: relative;
}
.fnb-footer__col-title::after {
    content: '';
    position: absolute; bottom: 0; left: 0;
    width: 2.4rem; height: 2px;
    background: var(--verde); border-radius: 2px;
}
.fnb-footer__col-list {
    list-style: none; padding: 0; margin: 0;
}
.fnb-footer__col-list li { margin-bottom: 1.1rem; }
.fnb-footer__col-list a {
    color: rgba(255,255,255,.58);
    text-decoration: none;
    font-size: 1.4rem;
    display: inline-flex; align-items: center; gap: .7rem;
    transition: color .2s;
}
.fnb-footer__col-list a::before {
    content: '';
    width: 4px; height: 4px; border-radius: 50%;
    background: var(--verde);
    opacity: 0;
    flex-shrink: 0;
    transition: opacity .2s;
}
.fnb-footer__col-list a:hover { color: var(--verde); }
.fnb-footer__col-list a:hover::before { opacity: 1; }

/* Contacto */
.fnb-footer__contact { font-style: normal; }
.fnb-footer__contact-item {
    display: flex; align-items: flex-start; gap: 1.2rem;
    color: rgba(255,255,255,.58); margin-bottom: 1.6rem;
    font-size: 1.4rem; line-height: 1.5;
}
.fnb-footer__contact-item svg { color: var(--verde); flex-shrink: 0; margin-top: .2rem; }
.fnb-footer__contact-item a { color: rgba(255,255,255,.58); text-decoration: none; transition: color .2s; }
.fnb-footer__contact-item a:hover { color: var(--verde); }

/* Divisor */
.fnb-footer__divider {
    height: 1px;
    background: rgba(255,255,255,.07);
}

/* Bottom bar */
.fnb-footer__bottom {
    padding: 2.6rem 0;
    display: flex; flex-wrap: wrap;
    justify-content: space-between; align-items: center;
    gap: 1.2rem;
    font-size: 1.2rem;
    color: rgba(255,255,255,.38);
}
.fnb-footer__copy strong { color: rgba(255,255,255,.58); font-weight: 600; }
.fnb-footer__tagline { font-style: italic; }

/* Responsive */
@media (max-width: 899px) {
    .fnb-footer__nl { padding: 6rem 0; }
    .fnb-footer__body { padding: 5rem 0 0; }
    .fnb-footer__bottom { justify-content: center; text-align: center; }
}
@media (max-width: 600px) {
    .fnb-footer__nl-field { flex-wrap: wrap; border-radius: 1.6rem; padding: 1.4rem; }
    .fnb-footer__nl-field button { width: 100%; justify-content: center; border-radius: 1rem; }
}

/* ============================================================
   ANIMACIONES
   ============================================================ */
@keyframes subir {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}

.reveal { opacity: 0; transform: translateY(40px); transition: all .9s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ============================================================
   MENÚ MÓVIL — rediseño minimalista
   ============================================================ */
.mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 205;
    background: #fff;
    color: #0d0d0d;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 7rem 3.2rem 4rem;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform .55s cubic-bezier(.77,0,.18,1), opacity .3s, visibility .3s;
    overflow-y: auto;
}
.mobile-menu::after {
    content: '';
    position: fixed;
    top: 0; right: 0;
    width: 60%;
    height: 50%;
    background: radial-gradient(ellipse at top right, rgba(114,191,68,.08), transparent 70%);
    pointer-events: none;
}
body.menu-open .mobile-menu {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}
body.menu-open { overflow: hidden; }

/* ── Logo dentro del overlay (sin filtro, fondo blanco) ── */
.mm-header {
    position: absolute;
    top: 2rem;
    left: 2.8rem;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .5s .1s, transform .5s .1s cubic-bezier(.2,.8,.2,1);
}
body.menu-open .mm-header { opacity: 1; transform: translateY(0); }
.mm-logo img {
    height: 5rem;
    width: auto;
    display: block;
}

/* ── Botón cerrar ── */
.mm-close {
    position: absolute;
    top: 2.4rem;
    right: 2.8rem;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 50%;
    background: rgba(0,0,0,.05);
    border: 1px solid rgba(0,0,0,.1);
    color: #1a1a1a;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: background .25s, transform .25s;
    z-index: 2;
}
.mm-close:hover { background: rgba(114,191,68,.15); transform: rotate(90deg); }

/* ── Lista de navegación ── */
.mm-nav { position: relative; z-index: 1; }
.mm-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.mm-item {
    border-bottom: 1px solid rgba(0,0,0,.07);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .45s cubic-bezier(.2,.8,.2,1), transform .45s cubic-bezier(.2,.8,.2,1);
}
body.menu-open .mm-item { opacity: 1; transform: translateY(0); }
body.menu-open .mm-item:nth-child(1) { transition-delay: .15s; }
body.menu-open .mm-item:nth-child(2) { transition-delay: .21s; }
body.menu-open .mm-item:nth-child(3) { transition-delay: .27s; }
body.menu-open .mm-item:nth-child(4) { transition-delay: .33s; }
body.menu-open .mm-item:nth-child(5) { transition-delay: .39s; }
body.menu-open .mm-item:nth-child(6) { transition-delay: .45s; }

.mm-item__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mm-item__head a {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: 1.6rem 0;
    text-decoration: none;
    color: #111;
    font-family: var(--display);
    font-size: clamp(2.2rem, 6vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -.02em;
    transition: color .25s;
    flex: 1;
}
.mm-item__head a em {
    font-style: normal;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .08em;
    color: var(--verde);
    font-family: var(--body);
    min-width: 2.6rem;
}
.mm-item__head a:hover { color: var(--verde); }
/* Con submenú: toda la fila es clickeable para abrir/cerrar */
.mm-item--has-sub > .mm-item__head { cursor: pointer; }
.mm-item--has-sub > .mm-item__head a.mm-no-nav { cursor: pointer; }
/* Enlace "Ver …" (página propia del padre) resaltado dentro del submenú */
.mm-sub__ver a { font-weight: 700; color: var(--verde); }

/* Botón expandir acordeón */
.mm-toggle {
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 50%;
    background: rgba(0,0,0,.05);
    border: 1px solid rgba(0,0,0,.1);
    color: #555;
    display: grid;
    place-items: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background .25s, color .25s, transform .35s;
}
.mm-item--has-sub.is-open .mm-toggle {
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
    transform: rotate(45deg);
}

/* Sub-menú acordeón */
.mm-sub {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s cubic-bezier(.2,.8,.2,1);
}
.mm-item--has-sub.is-open .mm-sub {
    max-height: 40rem;
}
.mm-sub li { border-top: 1px solid rgba(0,0,0,.05); }
.mm-sub a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 0 1.1rem 3.6rem;
    font-size: 1.5rem;
    color: #444;
    text-decoration: none;
    transition: color .2s, padding-left .2s;
}
.mm-sub a::before {
    content: '→';
    font-size: 1.1rem;
    color: var(--verde);
    opacity: 0;
    transition: opacity .2s;
}
.mm-sub a:hover { color: var(--verde); padding-left: 4.2rem; }
.mm-sub a:hover::before { opacity: 1; }

/* ── Pie: CTA + redes ── */
.mm-bottom {
    margin-top: 3.6rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s .55s, transform .5s .55s cubic-bezier(.2,.8,.2,1);
    position: relative;
    z-index: 1;
}
body.menu-open .mm-bottom { opacity: 1; transform: translateY(0); }

.mm-cta { flex-shrink: 0; font-size: 1.4rem; padding: 1.1rem 2.2rem; }

.mm-socials { display: flex; gap: .8rem; margin-left: auto; }
.mm-soc {
    width: 3.8rem;
    height: 3.8rem;
    border-radius: .9rem;
    background: rgba(0,0,0,.04);
    border: 1px solid rgba(0,0,0,.1);
    color: #444;
    display: grid;
    place-items: center;
    text-decoration: none;
    transition: background .25s, color .25s, border-color .25s;
}
.mm-soc:hover { background: var(--verde); border-color: var(--verde); color: #fff; }

/* ============================================================
   VIDEOS — Sección YouTube
   ============================================================ */
.videos-seccion {
    padding: 7rem 0 8rem;
    background: #fff;
    border-top: 3px solid #4a95c1;
}
.videos-seccion .titular--centro {
    text-align: left;
    max-width: none;
    margin: 0 0 5.6rem 0;
}
.videos-seccion .titular--centro .titular__eyebrow {
    justify-content: flex-start;
    color: #4a95c1;
}
.videos-seccion .titular--centro .titular__eyebrow::before,
.videos-seccion .titular--centro .titular__eyebrow::after {
    background: #4a95c1;
    opacity: .4;
}
.videos-seccion .titular--centro h2 { color: #0d1a0d; }
.videos-seccion .titular--centro em { color: #4a95c1; font-style: normal; }

/* Grid 3 columnas iguales */
.videos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}

/* Card */
.video-card {
    display: flex;
    flex-direction: column;
    border-radius: 1.4rem;
    overflow: hidden;
    background: #f4f6f3;
    border: 1px solid rgba(0,0,0,.06);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.video-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0,0,0,.10);
}

/* Thumbnail */
.video-card__thumb {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #d5e8d4;
}
.video-card__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .3s;
    filter: brightness(.92);
}
.video-card__thumb:hover img {
    transform: scale(1.04);
    filter: brightness(.75);
}

/* Botón play — centrado absoluto */
.video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    line-height: 0;
}
.video-card__play svg {
    width: 6rem; height: 6rem;
    transition: transform .3s cubic-bezier(.2,.8,.2,1);
    filter: drop-shadow(0 4px 16px rgba(0,0,0,.22));
}
.video-card__play .play-circle {
    fill: #4a95c1;
    opacity: .92;
    transition: fill .25s;
}
.video-card__play .play-triangle {
    fill: #fff;
}
.video-card__thumb:hover .video-card__play svg {
    transform: scale(1.14);
}

/* Chip YouTube */
.video-card__yt {
    position: absolute;
    bottom: 1.2rem; right: 1.2rem;
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(8px);
    color: #3a3a3a;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .06em;
    padding: .4rem .9rem;
    border-radius: .4rem;
}

/* Iframe cuando está reproduciendo */
.video-card__thumb.is-playing { cursor: default; }
.video-card__iframe {
    width: 100%; height: 100%;
    border: none;
    display: block;
}
/* Al reproducir, ocultar overlays para poder pausar/interactuar con el video */
.video-card__thumb::after { pointer-events: none; }
.video-card__thumb.is-playing::after,
.video-card__thumb.is-playing .video-card__play,
.video-card__thumb.is-playing .video-card__yt { display: none; }

/* Título del video */
.video-card__info {
    padding: 1.8rem 2rem 2.2rem;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}
.video-card__info::before {
    content: '';
    width: 3px;
    height: 2.4rem;
    background: #4a95c1;
    border-radius: 2px;
    flex-shrink: 0;
    transition: background .2s;
}
.video-card:hover .video-card__info::before { background: #72bf44; }
.video-card__info h3 {
    color: #0d1a0d;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    letter-spacing: -.01em;
    transition: color .2s;
}
.video-card:hover .video-card__info h3 { color: #4a95c1; }

/* Responsive */
@media (max-width: 900px) {
    .videos-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .videos-grid { grid-template-columns: 1fr; }
}

/* Cuando la grilla de videos se usa como BLOQUE de zona libre:
   sin borde superior ni padding/fondo de sección completa. */
.home-zona-libre .pat-grid-videos.videos-seccion {
    border-top: none;
    background: transparent;
    padding: 4rem 0;
}

/* Alineación del título del bloque (configurable: izquierda/centro/derecha) */
.home-zona-libre .pat-grid-videos--left .titular--centro {
    text-align: left; max-width: none; margin: 0 auto 5.6rem 0;
}
.home-zona-libre .pat-grid-videos--left .titular--centro .titular__eyebrow { justify-content: flex-start; }

.home-zona-libre .pat-grid-videos--center .titular--centro {
    text-align: center; max-width: 70rem; margin: 0 auto 5.6rem auto;
}
.home-zona-libre .pat-grid-videos--center .titular--centro .titular__eyebrow { justify-content: center; }

.home-zona-libre .pat-grid-videos--right .titular--centro {
    text-align: right; max-width: none; margin: 0 0 5.6rem auto;
}
.home-zona-libre .pat-grid-videos--right .titular--centro .titular__eyebrow { justify-content: flex-end; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ============================================================
   HISTORIA-2 — Hero + Directorio + Ecorregiones
   ============================================================ */

/* ── Hero ── */
.hf-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: #fff;
    overflow: hidden;
}
.hf-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        to top,
        rgba(4,14,4,.72) 0%,
        rgba(4,14,4,.44) 38%,
        rgba(4,14,4,.14) 68%,
        rgba(4,14,4,.05) 100%
    );
}
.hf-hero__inner {
    position: relative; z-index: 2;
    padding-bottom: 7rem;
    max-width: 88rem;
}
.hf-hero__chip {
    display: inline-flex; align-items: center; gap: .7rem;
    background: rgba(114,191,68,.12);
    border: 1px solid rgba(114,191,68,.35);
    color: var(--verde);
    font-size: 1.05rem; font-weight: 800;
    letter-spacing: .16em; text-transform: uppercase;
    padding: .55rem 1.6rem;
    border-radius: 10rem;
    margin-bottom: 3rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.hf-hero__titulo {
    font-size: clamp(4.5rem, 8vw, 9.5rem);
    font-weight: 900;
    line-height: .92;
    letter-spacing: -.05em;
    color: #fff;
    margin-bottom: 3.2rem;
}
.hf-hero__titulo em {
    font-style: italic;
    color: var(--verde);
}
.hf-hero__lema {
    position: relative;
    max-width: 62rem;
    padding: 2.2rem 2.8rem 2.2rem 4.8rem;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-left: 3px solid var(--verde);
    border-radius: 0 1.2rem 1.2rem 0;
    font-size: clamp(1.5rem, 1.9vw, 1.85rem);
    font-style: italic;
    line-height: 1.65;
    color: rgba(255,255,255,.88);
    margin: 0 0 4rem;
}
.hf-hero__lema-comilla {
    position: absolute;
    top: -.5rem; left: 1.2rem;
    font-size: 7rem; line-height: 1;
    color: var(--verde);
    font-style: normal; font-weight: 900;
    opacity: .5;
}
/* Navegación interna tipo tabs */
.hf-hero__tabs {
    display: flex; gap: 1.2rem; flex-wrap: wrap;
}
.hf-hero__tab {
    display: inline-flex; align-items: center; gap: .7rem;
    padding: .9rem 2rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 10rem;
    color: rgba(255,255,255,.8);
    font-size: 1.25rem; font-weight: 600;
    letter-spacing: .04em;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background .25s, border-color .25s, color .25s;
}
.hf-hero__tab:hover {
    background: rgba(114,191,68,.2);
    border-color: rgba(114,191,68,.5);
    color: var(--verde);
}
.hf-hero__tab svg { opacity: .7; transition: opacity .25s; }
.hf-hero__tab:hover svg { opacity: 1; }
.hf-hero__scroll {
    position: absolute; bottom: 2.8rem; right: 4rem;
    color: rgba(255,255,255,.3);
    animation: hs-scroll-bounce 2s ease infinite;
    z-index: 2;
}

/* ── Directorio ── */
.hf-directorio {
    padding: 10rem 0 11rem;
    background: #f4f6f3;
    position: relative;
    overflow: hidden;
}
/* Fondo sutil con puntos */
.hf-directorio::before {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(114,191,68,.15) 1px, transparent 1px);
    background-size: 3rem 3rem;
    pointer-events: none;
    opacity: .5;
}
.hf-directorio .titular { margin-bottom: 5.5rem; }

.hf-dir__grid {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}

/* Tarjeta de directivo */
.hf-dir__card {
    position: relative;
    border-radius: 1.8rem;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    cursor: pointer;
    outline: none;
}
/* Sombra y borde sutil */
.hf-dir__card::after {
    content: '';
    position: absolute; inset: 0;
    border-radius: 1.8rem;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
    transition: box-shadow .35s;
    z-index: 4;
    pointer-events: none;
}
.hf-dir__card:hover::after,
.hf-dir__card:focus-visible::after {
    box-shadow: inset 0 0 0 2.5px var(--verde);
}
.hf-dir__foto-wrap {
    position: relative;
    width: 100%; height: 100%;
}
.hf-dir__foto {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.hf-dir__card:hover .hf-dir__foto,
.hf-dir__card:focus-visible .hf-dir__foto {
    transform: scale(1.06);
}
/* Base: nombre + cargo siempre visibles */
.hf-dir__base {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 4rem 2rem 2rem;
    background: linear-gradient(to top, rgba(4,14,4,.92) 0%, rgba(4,14,4,.5) 60%, transparent 100%);
    z-index: 2;
    transition: opacity .35s;
}
.hf-dir__card:hover .hf-dir__base,
.hf-dir__card:focus-visible .hf-dir__base {
    opacity: 0;
}
.hf-dir__nombre {
    display: block;
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.3;
    margin-bottom: .3rem;
}
.hf-dir__cargo {
    display: block;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--verde);
    letter-spacing: .06em;
    text-transform: uppercase;
}
/* Bio overlay: sube desde abajo en hover */
.hf-dir__bio {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(5,22,5,.85) 0%, rgba(5,22,5,.97) 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex; align-items: flex-end;
    padding: 3.5rem 3.2rem;
    z-index: 3;
    opacity: 0;
    transform: translateY(1.6rem);
    transition: opacity .38s cubic-bezier(.2,.8,.2,1), transform .38s cubic-bezier(.2,.8,.2,1);
}
.hf-dir__card:hover .hf-dir__bio,
.hf-dir__card:focus-visible .hf-dir__bio {
    opacity: 1;
    transform: translateY(0);
}
.hf-dir__bio-inner {
    display: flex; flex-direction: column; gap: 1.2rem;
}
.hf-dir__bio-linea {
    width: 4rem; height: 3px;
    background: linear-gradient(90deg, var(--verde), var(--celeste));
    border-radius: 10rem;
    margin-bottom: .2rem;
}
.hf-dir__bio-texto {
    font-size: 1.5rem;
    line-height: 1.7;
    color: rgba(255,255,255,.9);
    margin: 0;
}
.hf-dir__nombre--bio {
    font-size: 1.45rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: .2rem;
}
.hf-dir__cargo--bio {
    font-size: 1.1rem;
    color: var(--verde);
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ── Ecorregiones ── */
.hf-ecos {
    padding: 10rem 0 11rem;
    background: #fff;
    position: relative;
}
/* Banda verde en la parte superior */
.hf-ecos::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--verde) 30%, var(--celeste) 70%, transparent 100%);
}
.hf-ecos__subtitulo {
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.7;
    color: var(--gris);
    margin: -2rem 0 5.5rem;
}
.hf-ecos__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
}
/* Card de ecorregión */
.hf-eco__card {
    display: flex;
    align-items: center;
    gap: 1.8rem;
    padding: 2.4rem 2.4rem 2.4rem 2.8rem;
    background: #f4f6f3;
    border-radius: 1.6rem;
    border-left: 4px solid var(--eco-color, var(--verde));
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: transform .28s cubic-bezier(.2,.8,.2,1),
                box-shadow .28s cubic-bezier(.2,.8,.2,1),
                background .28s;
}
.hf-eco__card::before {
    content: '';
    position: absolute; inset: 0;
    background: var(--eco-color, var(--verde));
    opacity: 0;
    transition: opacity .28s;
}
.hf-eco__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1.2rem 3.5rem rgba(0,0,0,.1);
    background: #fff;
}
.hf-eco__card:hover::before { opacity: .05; }
.hf-eco__icono {
    position: relative; z-index: 1;
    width: 4.8rem; height: 4.8rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--eco-color, var(--verde)) 14%, transparent);
    display: flex; align-items: center; justify-content: center;
    color: var(--eco-color, var(--verde));
    flex-shrink: 0;
    transition: background .28s, transform .28s;
}
.hf-eco__card:hover .hf-eco__icono {
    background: var(--eco-color, var(--verde));
    color: #fff;
    transform: scale(1.1);
}
.hf-eco__info {
    position: relative; z-index: 1;
    flex: 1;
    min-width: 0;
}
.hf-eco__eyebrow {
    display: block;
    font-size: 1rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--gris);
    margin-bottom: .3rem;
    opacity: .65;
}
.hf-eco__nombre {
    display: block;
    font-size: 1.7rem; font-weight: 800;
    color: var(--negro);
    letter-spacing: -.02em;
    line-height: 1.2;
    transition: color .25s;
}
.hf-eco__card:hover .hf-eco__nombre { color: var(--eco-color, var(--verde)); }
.hf-eco__flecha {
    position: relative; z-index: 1;
    color: rgba(0,0,0,.2);
    transition: color .25s, transform .28s;
    flex-shrink: 0;
}
.hf-eco__card:hover .hf-eco__flecha {
    color: var(--eco-color, var(--verde));
    transform: translateX(4px);
}

/* Responsive directorio */
@media (max-width: 720px) {
    .hf-dir__grid { grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
    .hf-ecos__grid { grid-template-columns: 1fr 1fr; }
    .hf-hero__titulo { font-size: 4.5rem; }
    .hf-ecos__subtitulo br { display: none; }
}
@media (max-width: 500px) {
    .hf-dir__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
    .hf-ecos__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ESCUELA ARA — Página estratégica de impacto
   ============================================================ */

/* ── Hero ── */
.ara-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: #fff;
    overflow: hidden;
}
.ara-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        to top,
        rgba(4,14,4,.72) 0%,
        rgba(4,14,4,.42) 40%,
        rgba(4,14,4,.10) 75%,
        rgba(4,14,4,.04) 100%
    );
}
/* Marca de agua "ARA" en el fondo */
.ara-hero__marca {
    position: absolute;
    bottom: -4rem; right: -2rem;
    font-size: clamp(16rem, 28vw, 32rem);
    font-weight: 900;
    letter-spacing: -.08em;
    line-height: 1;
    color: rgba(255,255,255,.04);
    pointer-events: none;
    z-index: 1;
    user-select: none;
}
.ara-hero__inner {
    position: relative; z-index: 2;
    padding-bottom: 8rem;
    max-width: 90rem;
}
.ara-hero__chip {
    display: inline-flex; align-items: center; gap: .7rem;
    background: rgba(114,191,68,.12);
    border: 1px solid rgba(114,191,68,.35);
    color: var(--verde);
    font-size: 1.05rem; font-weight: 800;
    letter-spacing: .16em; text-transform: uppercase;
    padding: .55rem 1.6rem;
    border-radius: 10rem;
    margin-bottom: 2.8rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.ara-hero__titulo {
    font-size: clamp(5rem, 9vw, 10.5rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.05em;
    color: #fff;
    margin-bottom: 3rem;
}
.ara-hero__titulo em {
    font-style: italic;
    color: var(--verde);
}
.ara-hero__bajada {
    font-size: clamp(1.6rem, 2vw, 2rem);
    font-weight: 400;
    color: rgba(255,255,255,.7);
    max-width: 60rem;
    line-height: 1.6;
    margin: 0;
    border-left: 3px solid var(--verde);
    padding-left: 2rem;
}
.ara-hero__scroll {
    position: absolute; bottom: 2.8rem; right: 4rem;
    color: rgba(255,255,255,.3);
    animation: hs-scroll-bounce 2s ease infinite;
    z-index: 2;
}

/* ── Intro ── */
.ara-intro {
    padding: 9rem 0;
    background: #fff;
    border-bottom: 1px solid var(--gris-borde);
}
.ara-intro__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.ara-intro__quote {
    position: relative;
    padding: 3.5rem 3rem 3.5rem 4rem;
    background: #f4f6f3;
    border-radius: 2rem;
    border-left: 4px solid var(--verde);
}
.ara-intro__comilla {
    position: absolute;
    top: -.5rem; left: 1.2rem;
    font-size: 9rem; line-height: 1;
    color: var(--verde);
    font-weight: 900;
    opacity: .18;
    pointer-events: none;
}
.ara-intro__quote p {
    font-size: clamp(1.9rem, 2.5vw, 2.5rem);
    font-style: italic;
    font-weight: 700;
    line-height: 1.45;
    color: var(--negro);
    position: relative; z-index: 1;
    margin: 0;
}
.ara-intro__texto p {
    font-size: 1.7rem;
    line-height: 1.8;
    color: var(--gris);
    margin: 0;
}
.ara-intro__texto strong { color: var(--negro); font-weight: 700; }

/* Variante 2 columnas: imagen + lema flotante (izq) | texto (der) */
.ara-intro__grid--media {
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
}
.ara-intro__visual {
    position: relative;
    padding-bottom: 7rem;
    padding-right: 3rem;
}
.ara-intro__imagen {
    position: relative;
    border-radius: 1.8rem;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(0,0,0,.18);
    aspect-ratio: 4 / 5;
    background: #f0f0f0;
}
.ara-intro__imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .8s ease;
}
.ara-intro__visual:hover .ara-intro__imagen img { transform: scale(1.04); }
.ara-intro__placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #f0f7ea 0%, #e3eef8 100%);
    border: 2px dashed #c8d6c0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 1rem;
    color: #9aaa90;
    text-align: center;
    padding: 2rem;
}
.ara-intro__placeholder span { font-size: 1.4rem; line-height: 1.5; }
.ara-intro__placeholder small { font-size: 1.15rem; opacity: .7; }

/* Lema flotante sobre la esquina inferior derecha de la imagen */
.ara-intro__quote--float {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 78%;
    max-width: 42rem;
    margin: 0;
    padding: 2.6rem 2.4rem 2.6rem 3.4rem;
    background: #fff;
    border-radius: 1.6rem;
    border-left: 4px solid var(--verde);
    box-shadow: 0 18px 50px rgba(0,0,0,.18);
    z-index: 3;
}
.ara-intro__quote--float .ara-intro__comilla {
    top: -.8rem; left: 1.4rem;
    font-size: 7rem;
    opacity: .22;
}
.ara-intro__quote--float p {
    font-size: clamp(1.5rem, 1.7vw, 1.85rem);
    line-height: 1.45;
    font-style: italic;
    font-weight: 700;
    color: var(--negro);
    position: relative; z-index: 1;
    margin: 0;
}

/* ── Estrategia de Impacto — 3 cards ── */
.ara-impacto {
    padding: 10rem 0 11rem;
    background: #f4f6f3;
    position: relative;
    overflow: hidden;
}
.ara-impacto::before {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(114,191,68,.14) 1px, transparent 1px);
    background-size: 3rem 3rem;
    pointer-events: none;
    opacity: .5;
}
.ara-impacto__sub {
    font-size: 1.7rem;
    line-height: 1.7;
    color: var(--gris);
    max-width: none;            /* llega al mismo ancho que las 3 cards */
    margin: -1.5rem 0 5.5rem;   /* sigue alineado a la izquierda */
}
.ara-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}
.ara-card {
    background: #fff;
    border-radius: 2rem;
    padding: 3.5rem 3.2rem 3.8rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 .4rem 2rem rgba(0,0,0,.06);
    transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s;
    display: flex;
    flex-direction: column;
}
.ara-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1.6rem 5rem rgba(0,0,0,.1);
}
/* Verde accent line on top on hover */
.ara-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--verde), var(--celeste));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.ara-card:hover::before { transform: scaleX(1); }
.ara-card__icono {
    width: 6rem; height: 6rem;
    border-radius: 1.4rem;
    background: rgba(114,191,68,.1);
    border: 1px solid rgba(114,191,68,.2);
    color: var(--verde);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 2.4rem;
    transition: background .3s, border-color .3s;
    flex-shrink: 0;
}
.ara-card:hover .ara-card__icono {
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
}
.ara-card__titulo {
    font-size: 2rem;
    font-weight: 800;
    color: var(--negro);
    letter-spacing: -.02em;
    line-height: 1.2;
    margin-bottom: 1.6rem;
}
.ara-card__linea {
    width: 4rem; height: 3px;
    background: linear-gradient(90deg, var(--verde), var(--celeste));
    border-radius: 10rem;
    margin-bottom: 2rem;
    flex-shrink: 0;
}
.ara-card__texto {
    font-size: 1.5rem;
    line-height: 1.75;
    color: var(--gris);
    margin: 0;
    flex: 1;
}

/* ── Pilares Estratégicos ── */
.ara-pilares {
    padding: 10rem 0 11rem;
    background: #fff;
    position: relative;
}
/* Línea decorativa verde izquierda */
.ara-pilares::before {
    content: '';
    position: absolute;
    top: 14rem; left: 0;
    width: 3px;
    bottom: 6rem;
    background: linear-gradient(to bottom, transparent, var(--verde) 15%, var(--verde) 85%, transparent);
    opacity: .18;
}
.ara-pilares__sub {
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.7;
    color: var(--gris);
    max-width: 70rem;
    margin: -1.5rem auto 7rem;
}
.ara-pilar {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0;
    margin-bottom: 2.4rem;
    border-radius: 2.4rem;
    overflow: hidden;
    background: #f4f6f3;
    transition: box-shadow .3s;
}
.ara-pilar:hover {
    box-shadow: 0 1.2rem 4rem rgba(0,0,0,.08);
}
/* Número decorativo de fondo */
.ara-pilar__num {
    font-size: clamp(7rem, 10vw, 12rem);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: 1;
    color: var(--verde);
    opacity: .08;
    padding: 3rem 2.5rem;
    user-select: none;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-shrink: 0;
    width: 17rem;
}
.ara-pilar--celeste .ara-pilar__num {
    color: var(--celeste);
}
.ara-pilar__body {
    display: grid;
    grid-template-columns: 30rem 1fr;
    gap: 0;
    align-items: stretch;
}
.ara-pilar__head {
    padding: 3.5rem 3rem 3.5rem 3.5rem;
    border-right: 1px solid rgba(0,0,0,.06);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    position: relative;
}
/* Borde izquierdo verde */
.ara-pilar__head::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 4px;
    background: var(--verde);
    border-radius: 0 4px 4px 0;
}
.ara-pilar--celeste .ara-pilar__head::before {
    background: var(--celeste);
}
.ara-pilar__tag {
    font-size: 1rem; font-weight: 800;
    letter-spacing: .15em; text-transform: uppercase;
    color: var(--verde);
}
.ara-pilar--celeste .ara-pilar__tag {
    color: var(--celeste);
}
.ara-pilar__titulo {
    font-size: clamp(2rem, 2.5vw, 2.6rem);
    font-weight: 900;
    color: var(--negro);
    letter-spacing: -.03em;
    line-height: 1.15;
    margin: 0;
}
.ara-pilar__acro {
    font-size: 1.1rem; font-weight: 800;
    letter-spacing: .2em;
    color: rgba(0,0,0,.2);
}
.ara-pilar__texto {
    padding: 3.5rem 4rem 3.5rem 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.4rem;
}
.ara-pilar__texto p {
    font-size: 1.55rem;
    line-height: 1.8;
    color: #4a5a4a;
    margin: 0;
}
.ara-pilar__resultado {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.4rem 2rem;
    background: rgba(114,191,68,.08);
    border-radius: 1rem;
    font-size: 1.45rem;
    font-weight: 600;
    color: var(--verde-oscuro);
    line-height: 1.5;
    border: 1px solid rgba(114,191,68,.2);
}
.ara-pilar--celeste .ara-pilar__resultado {
    background: rgba(74,149,193,.08);
    color: var(--celeste-osc);
    border-color: rgba(74,149,193,.2);
}
.ara-pilar__resultado svg {
    flex-shrink: 0;
    margin-top: .2rem;
}

/* ── Visión Global ── */
.ara-global {
    padding: 10rem 0 11rem;
    background: #060e06;
    color: #fff;
    position: relative;
    overflow: hidden;
}
/* Globo terráqueo decorativo */
.ara-global__deco {
    position: absolute;
    right: -8rem; top: 50%; transform: translateY(-50%);
    width: 50rem; height: 50rem;
    color: rgba(255,255,255,.04);
    pointer-events: none;
}
/* Línea verde superior */
.ara-global::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--verde) 30%, var(--celeste) 70%, transparent 100%);
}
/* Brillo ambiental */
.ara-global::after {
    content: '';
    position: absolute;
    top: 50%; left: 30%; transform: translate(-50%, -50%);
    width: 80rem; height: 40rem;
    background: radial-gradient(ellipse, rgba(114,191,68,.08) 0%, transparent 70%);
    pointer-events: none;
}
.ara-global .titular--blanco h2 { color: #fff; }
.ara-global .titular--blanco em { color: var(--verde); }
.ara-global .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }
.ara-global__intro {
    position: relative; z-index: 1;
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.75;
    color: rgba(255,255,255,.65);
    max-width: 72rem;
    margin: -1rem auto 6.5rem;
}
.ara-global__grid {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}
.ara-global__item {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 2rem;
    padding: 3.5rem 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.2rem;
    transition: background .3s, border-color .3s, transform .3s;
}
.ara-global__item:hover {
    background: rgba(255,255,255,.07);
    border-color: rgba(114,191,68,.3);
    transform: translateY(-4px);
}
.ara-global__icono {
    width: 5.5rem; height: 5.5rem;
    border-radius: 1.2rem;
    background: rgba(114,191,68,.1);
    border: 1px solid rgba(114,191,68,.2);
    color: var(--verde);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .3s;
}
.ara-global__item:hover .ara-global__icono {
    background: rgba(114,191,68,.2);
}
.ara-global__titulo {
    font-size: 1.8rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.02em;
    margin: 0 0 1rem;
    line-height: 1.2;
}
.ara-global__cuerpo p {
    font-size: 1.48rem;
    line-height: 1.75;
    color: rgba(255,255,255,.65);
    margin: 0;
}
.ara-global__cuerpo strong { color: var(--verde); font-weight: 700; }

/* Responsive */
@media (max-width: 1024px) {
    .ara-pilares__sub { margin-bottom: 5rem; }
}
@media (max-width: 1100px) {
    .ara-intro__grid--media { gap: 4rem; }
    .ara-intro__quote--float { width: 88%; padding: 2rem 1.8rem 2rem 2.8rem; }
}
@media (max-width: 900px) {
    .ara-intro__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .ara-intro__grid--media { grid-template-columns: 1fr; gap: 3.5rem; }
    .ara-intro__visual { padding-right: 0; padding-bottom: 5rem; max-width: 48rem; margin: 0 auto; }
    .ara-intro__imagen { aspect-ratio: 4 / 4; }
    .ara-intro__quote--float { width: 92%; right: 50%; transform: translateX(50%); }
    .ara-cards { grid-template-columns: 1fr; }
    .ara-pilar { grid-template-columns: 1fr; }
    .ara-pilar__num { width: auto; padding: 2.5rem 3rem 0; font-size: 6rem; justify-content: flex-start; }
    .ara-pilar__body { grid-template-columns: 1fr; }
    .ara-pilar__head { border-right: none; border-bottom: 1px solid rgba(0,0,0,.06); padding: 2.5rem 3rem; }
    .ara-pilar__texto { padding: 2.5rem 3rem 3rem; }
    .ara-global__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .ara-hero__titulo { font-size: 5rem; }
    .ara-hero__marca { display: none; }
    .ara-global__deco { display: none; }
}

/* ============================================================
   ARA — DIVISOR DE BLOQUE (banda verde / oscura con título)
   ============================================================ */
.ara-capitulo {
    position: relative;
    background: var(--verde);
    padding: 5rem 0 4.5rem;
    overflow: hidden;
}
.ara-capitulo--oscuro { background: #060e06; }
.ara-capitulo__num {
    position: absolute;
    right: -2rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(10rem, 18vw, 22rem);
    font-weight: 900;
    line-height: 1;
    color: rgba(255,255,255,.07);
    letter-spacing: -.06em;
    pointer-events: none;
    user-select: none;
}
.ara-capitulo__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 3rem;
}
.ara-capitulo__titulo {
    font-size: clamp(2.6rem, 4vw, 4.2rem);
    font-weight: 900;
    color: #fff;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -.02em;
}
.ara-capitulo__desc {
    font-size: 1.55rem;
    color: rgba(255,255,255,.65);
    margin: 0;
    max-width: 40rem;
    line-height: 1.5;
    border-left: 1px solid rgba(255,255,255,.2);
    padding-left: 3rem;
}
.ara-capitulo__linea {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, rgba(255,255,255,.4) 0%, rgba(255,255,255,.08) 100%);
}
.ara-capitulo--oscuro .ara-capitulo__desc { color: rgba(255,255,255,.5); border-color: rgba(114,191,68,.2); }
.ara-capitulo--oscuro .ara-capitulo__linea { background: linear-gradient(90deg, rgba(114,191,68,.5) 0%, transparent 100%); }

@media (max-width: 700px) {
    .ara-capitulo__inner { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .ara-capitulo__desc { border-left: none; padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); padding-top: 1.5rem; }
}

/* ============================================================
   ARA — LEMA / TAGLINE CENTRAL
   ============================================================ */
.ara-lema {
    background: #fff;
    padding: 7rem 0 6rem;
    text-align: center;
}
.ara-lema__inner {
    display: flex;
    align-items: center;
    gap: 3rem;
    margin-bottom: 3.5rem;
}
.ara-lema__linea {
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--verde), transparent);
    opacity: .4;
}
.ara-lema__texto {
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.5;
    color: #1a2e1a;
    max-width: 80rem;
    flex-shrink: 0;
}
.ara-lema__texto strong {
    color: var(--verde);
    font-weight: 800;
}
.ara-lema__texto em {
    color: var(--celeste);
    font-style: normal;
    font-weight: 700;
}
.ara-lema__sub {
    color: #555;
    font-size: 1.6rem;
    line-height: 1.8;
    max-width: 80rem;
    margin: 0 auto 1.8rem;
}
.ara-lema__sub strong { color: var(--verde); }

/* Grid: imagen (izq) + párrafos (der) */
.ara-lema__grid {
    display: grid;
    grid-template-columns: 42% 1fr;
    gap: 4.5rem;
    align-items: center;
    margin-top: 3rem;
    text-align: left;
}
.ara-lema__imagen {
    position: relative;
}
.ara-lema__imagen img {
    width: 100%;
    height: 100%;
    max-height: 44rem;
    object-fit: cover;
    border-radius: 1.4rem;
    box-shadow: 0 18px 50px rgba(0,0,0,.12);
    display: block;
}
.ara-lema__placeholder {
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, #f0f7ea 0%, #e3eef8 100%);
    border: 2px dashed #c8d6c0;
    border-radius: 1.4rem;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 1.2rem;
    color: #9aaa90;
    text-align: center;
    padding: 2rem;
}
.ara-lema__placeholder span { font-size: 1.3rem; line-height: 1.5; }
.ara-lema__placeholder small { font-size: 1.1rem; opacity: .7; }
.ara-lema__textos {
    text-align: left;
}
.ara-lema__textos .ara-lema__sub {
    max-width: none;
    margin: 0 0 1.6rem;
    text-align: left;
}
.ara-lema__textos .ara-lema__sub:last-child { margin-bottom: 0; }

/* ============================================================
   ARA — LOGROS / STATS
   ============================================================ */
.ara-logros {
    background: #060e06;
    padding: 8rem 0 9rem;
    position: relative;
    overflow: hidden;
}
.ara-logros::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 50% 100%, rgba(114,191,68,.09) 0%, transparent 70%);
    pointer-events: none;
}
.ara-logros__banda {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent 0%, var(--verde) 40%, var(--celeste) 60%, transparent 100%);
}
.ara-logros .titular--blanco h2 { color: #fff; }
.ara-logros .titular--blanco em { color: var(--verde); }
.ara-logros .titular--blanco .titular__eyebrow { color: rgba(114,191,68,.6); }
.ara-logros__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-top: 5rem;
}
.ara-logros__item {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(114,191,68,.15);
    border-radius: 2rem;
    padding: 4rem 3rem 3.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    transition: border-color .3s, transform .3s;
}
.ara-logros__item:hover {
    border-color: rgba(114,191,68,.4);
    transform: translateY(-4px);
}
.ara-logros__icono {
    width: 7rem;
    height: 7rem;
    background: rgba(114,191,68,.12);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--verde);
    margin-bottom: .8rem;
}
.ara-logros__icono svg {
    width: 3.2rem;
    height: 3.2rem;
}
.ara-logros__num {
    font-size: clamp(4.5rem, 6vw, 7rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
    letter-spacing: -.03em;
}
.ara-logros__label {
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--verde);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.ara-logros__desc {
    font-size: 1.4rem;
    color: rgba(255,255,255,.45);
    line-height: 1.6;
    max-width: 22rem;
}

/* ============================================================
   ARA — CONTENIDO DEL PROGRAMA
   ============================================================ */
.ara-contenido {
    background: #f5f8f2;
    padding: 8rem 0 9rem;
}
.ara-contenido__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 5rem;
    margin-top: 5rem;
    align-items: start;
}
/* Panel izquierdo */
.ara-contenido__intro {
    background: #fff;
    border-radius: 2rem;
    padding: 3.5rem;
    border: 1px solid rgba(0,0,0,.07);
    position: sticky;
    top: 10rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.ara-contenido__modulo {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.ara-contenido__modulo:last-of-type { border-bottom: none; padding-bottom: 0; }
.ara-contenido__modulo-icono {
    width: 4rem;
    height: 4rem;
    background: rgba(74,149,193,.1);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--celeste);
    flex-shrink: 0;
}
.ara-contenido__modulo-icono--verde {
    background: rgba(114,191,68,.1);
    color: var(--verde);
}
.ara-contenido__modulo strong {
    display: block;
    font-size: 1.45rem;
    color: #1a2e1a;
    margin-bottom: .5rem;
}
.ara-contenido__modulo p {
    font-size: 1.4rem;
    color: #666;
    line-height: 1.6;
    margin: 0;
}
.ara-contenido__cta {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--verde);
    padding-top: .5rem;
}
/* Panel derecho — pasos */
/* Foto opcional dentro del panel izquierdo (Contenido del Programa) */
.ara-contenido__foto {
    margin-top: 2.4rem;
    border-radius: 1.4rem;
    overflow: hidden;
    aspect-ratio: 4 / 3;
}
.ara-contenido__foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ara-contenido__pasos {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.ara-contenido__paso {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: 2.4rem;
    padding: 2.8rem 0;
    border-bottom: 1px solid rgba(0,0,0,.07);
    align-items: start;
    transition: background .2s;
}
.ara-contenido__paso:first-child { padding-top: 0; }
.ara-contenido__paso:hover { background: rgba(114,191,68,.03); }
.ara-contenido__paso-num {
    width: 5rem;
    height: 5rem;
    background: var(--verde);
    color: #fff;
    border-radius: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: .04em;
    flex-shrink: 0;
    transition: transform .2s, box-shadow .2s;
}
.ara-contenido__paso:hover .ara-contenido__paso-num {
    transform: scale(1.08);
    box-shadow: 0 6px 18px rgba(114,191,68,.35);
}
.ara-contenido__paso-body strong {
    display: block;
    font-size: 1.6rem;
    color: #1a2e1a;
    margin-bottom: .5rem;
    line-height: 1.3;
}
.ara-contenido__paso-body p {
    font-size: 1.45rem;
    color: #666;
    line-height: 1.65;
    margin: 0;
}
.ara-contenido__final {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 2.8rem 0 0;
    font-size: 1.45rem;
    color: var(--verde);
    font-weight: 600;
    line-height: 1.5;
}
.ara-contenido__final svg { flex-shrink: 0; margin-top: .2rem; }

/* ============================================================
   ARA — MODALIDADES PRESENCIAL / VIRTUAL
   ============================================================ */
.ara-modal {
    background: #fff;
    padding: 8rem 0 9rem;
}
.ara-modal__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    margin-top: 5rem;
}
.ara-modal__card {
    border-radius: 2.4rem;
    padding: 4rem;
    border: 1px solid rgba(0,0,0,.08);
    background: #f9fbf7;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    transition: box-shadow .3s, transform .3s;
}
.ara-modal__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(114,191,68,.1);
}
.ara-modal__card--oscuro {
    background: #060e06;
    border-color: rgba(114,191,68,.2);
}
.ara-modal__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.ara-modal__badge {
    background: rgba(114,191,68,.15);
    color: var(--verde);
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    border-radius: 10rem;
    border: 1px solid rgba(114,191,68,.3);
}
.ara-modal__badge--celeste {
    background: rgba(74,149,193,.15);
    color: var(--celeste);
    border-color: rgba(74,149,193,.3);
}
.ara-modal__icono {
    width: 5.5rem;
    height: 5.5rem;
    background: rgba(114,191,68,.1);
    border-radius: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--verde);
}
.ara-modal__card--oscuro .ara-modal__icono {
    background: rgba(114,191,68,.12);
}
.ara-modal__titulo {
    font-size: 2.4rem;
    color: #1a2e1a;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}
.ara-modal__titulo strong { color: var(--verde); font-weight: 800; }
.ara-modal__card--oscuro .ara-modal__titulo { color: #fff; }
.ara-modal__texto {
    font-size: 1.55rem;
    color: #555;
    line-height: 1.75;
    margin: 0;
}
.ara-modal__texto strong { color: var(--verde); }
.ara-modal__card--oscuro .ara-modal__texto { color: rgba(255,255,255,.65); }
.ara-modal__card--oscuro .ara-modal__texto strong { color: var(--verde); }
.ara-modal__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: auto;
}
.ara-modal__tags span {
    background: rgba(114,191,68,.1);
    color: var(--verde);
    font-size: 1.25rem;
    font-weight: 600;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    border: 1px solid rgba(114,191,68,.2);
}
.ara-modal__card--oscuro .ara-modal__tags span {
    background: rgba(114,191,68,.1);
    border-color: rgba(114,191,68,.25);
}

/* Responsive nuevas secciones */
@media (max-width: 960px) {
    .ara-lema__inner { flex-direction: column; gap: 1.5rem; }
    .ara-lema__linea { width: 100%; height: 2px; }
    .ara-lema__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .ara-lema__imagen img { max-height: 32rem; }
    .ara-contenido__grid { grid-template-columns: 1fr; }
    .ara-contenido__intro { position: static; }
    .ara-modal__grid { grid-template-columns: 1fr; }
    .ara-logros__grid { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
    .ara-logros__num { font-size: 5.5rem; }
    .ara-modal__card { padding: 3rem 2.4rem; }
}

/* ============================================================
   ARA — TESTIMONIOS DE PARTICIPANTES
   ============================================================ */
.ara-test {
    background: #060e06;
    padding: 9rem 0 10rem;
    position: relative;
    overflow: hidden;
}
.ara-test::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 50% at 20% 80%, rgba(114,191,68,.06) 0%, transparent 70%),
        radial-gradient(ellipse 60% 40% at 80% 20%, rgba(74,149,193,.05) 0%, transparent 70%);
    pointer-events: none;
}
.ara-test__fondo {
    position: absolute;
    top: 0; left: 0; right: 0;
    color: #0a180a;
    line-height: 0;
}
.ara-test__onda {
    width: 100%;
    height: 120px;
    display: block;
}
.ara-test .titular__eyebrow { color: rgba(114,191,68,.7); }
.ara-test .titular--blanco h2 { color: #fff; }
.ara-test .titular--blanco em { color: var(--verde); }
.ara-test__sub {
    text-align: center;
    color: rgba(255,255,255,.5);
    font-size: 1.7rem;
    margin: 0 auto 5rem;
    max-width: 56rem;
}
.ara-test__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
}
.ara-test__card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(114,191,68,.15);
    border-radius: 1.6rem;
    padding: 3.2rem 3rem 2.8rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
    transition: border-color .3s, transform .3s, box-shadow .3s;
}
.ara-test__card:hover {
    border-color: rgba(114,191,68,.45);
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.ara-test__comilla {
    font-family: Georgia, serif;
    font-size: 8rem;
    line-height: .6;
    color: var(--verde);
    opacity: .6;
    user-select: none;
}
.ara-test__texto {
    color: rgba(255,255,255,.85);
    font-size: 1.55rem;
    line-height: 1.75;
    flex: 1;
    font-style: italic;
}
.ara-test__autor {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 2rem;
}
.ara-test__foto {
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(114,191,68,.4);
}
.ara-test__foto--vacio {
    background: rgba(114,191,68,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(114,191,68,.6);
}
.ara-test__meta {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}
.ara-test__meta strong {
    color: #fff;
    font-size: 1.45rem;
    font-weight: 700;
}
.ara-test__meta span {
    color: var(--verde);
    font-size: 1.25rem;
    opacity: .8;
}

/* ============================================================
   ARA — INSTITUCIONES QUE REALIZARON ESCUELAS ARA
   ============================================================ */
.ara-inst {
    background: #f5f8f2;
    padding: 9rem 0 10rem;
    position: relative;
}
.ara-inst::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2372bf44' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='1.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}
.ara-inst__sub {
    text-align: center;
    color: #666;
    font-size: 1.65rem;
    margin: 0 auto 5rem;
    max-width: 58rem;
}
.ara-inst__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-bottom: 5rem;
}
.ara-inst__logo {
    background: #fff;
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 1.4rem;
    padding: 3rem 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 12rem;
    text-decoration: none;
    transition: border-color .3s, transform .3s, box-shadow .3s;
    position: relative;
    overflow: hidden;
}
.ara-inst__logo::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--verde);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}
.ara-inst__logo:hover {
    border-color: rgba(114,191,68,.4);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(114,191,68,.12);
}
.ara-inst__logo:hover::after {
    transform: scaleX(1);
}
.ara-inst__logo img {
    max-width: 100%;
    max-height: 7rem;
    width: auto;
    object-fit: contain;
    filter: grayscale(30%);
    transition: filter .3s;
}
.ara-inst__logo:hover img {
    filter: grayscale(0%);
}
.ara-inst__nombre {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1a2e1a;
    letter-spacing: .02em;
    text-align: center;
    text-transform: uppercase;
}
.ara-inst__nota {
    text-align: center;
    color: #666;
    font-size: 1.6rem;
}
.ara-inst__cta {
    color: var(--verde);
    font-weight: 700;
    text-decoration: none;
    margin-left: .4rem;
    transition: opacity .2s;
}
.ara-inst__cta:hover { opacity: .7; }

/* Responsive testimonios e instituciones */
@media (max-width: 900px) {
    .ara-test__grid { grid-template-columns: 1fr; }
    .ara-inst__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .ara-inst__grid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
    .ara-inst__logo { padding: 2rem 1.6rem; min-height: 9rem; }
}

/* ============================================================
   ÁREAS PROTEGIDAS — /crear-areas-protegidas/
   ============================================================ */

/* Hero Slider */
.cap-hero {
    position: relative;
    height: 92vh;
    min-height: 600px;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.cap-hero__slides {
    position: absolute;
    inset: 0;
}
.cap-hero__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s ease;
    transform: scale(1.04);
    transition: opacity 1.2s ease, transform 6s ease;
}
.cap-hero__slide--active {
    opacity: 1;
    transform: scale(1);
}
.cap-hero__overlay {
    display: none;
}
.cap-hero__inner {
    position: relative;
    z-index: 2;
    padding-top: 0;
    padding-bottom: 0;
    max-width: 68rem;
}
.cap-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(0,0,0,.35);
    border: 1px solid rgba(114,191,68,.6);
    color: var(--verde);
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .55rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.cap-hero__titulo {
    font-size: clamp(4rem, 7vw, 8rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.05;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
    text-shadow: 0 2px 20px rgba(0,0,0,.65), 0 1px 4px rgba(0,0,0,.5);
}
.cap-hero__titulo em { color: var(--verde); font-style: normal; }
.cap-hero__bajada {
    font-size: 1.85rem;
    color: rgba(255,255,255,.92);
    max-width: 52rem;
    line-height: 1.6;
    margin: 0 0 4rem;
    text-shadow: 0 1px 8px rgba(0,0,0,.7);
}
.cap-hero__nums {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    background: rgba(0,0,0,.28);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1.2rem;
    padding: 1.4rem 2.4rem;
    width: fit-content;
}
.cap-hero__num { display: flex; flex-direction: column; gap: .3rem; }
.cap-hero__num strong { font-size: 3.2rem; font-weight: 900; color: #fff; line-height: 1; letter-spacing: -.02em; }
.cap-hero__num span { font-size: 1.25rem; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: .06em; }
.cap-hero__num-div { width: 1px; height: 4rem; background: rgba(255,255,255,.25); }

/* Controles */
.cap-hero__ctrl {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 5rem;
    height: 5rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .25s, transform .25s;
    backdrop-filter: blur(6px);
}
.cap-hero__ctrl:hover { background: rgba(114,191,68,.35); transform: translateY(-50%) scale(1.08); }
.cap-hero__ctrl--prev { left: 2.5rem; }
.cap-hero__ctrl--next { right: 2.5rem; }

/* Dots */
.cap-hero__dots {
    position: absolute;
    bottom: 3.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: .9rem;
}
.cap-hero__dot {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: rgba(255,255,255,.3);
    border: 1px solid rgba(255,255,255,.4);
    cursor: pointer;
    transition: background .25s, transform .25s, width .3s;
}
.cap-hero__dot--active {
    background: var(--verde);
    border-color: var(--verde);
    width: 2.8rem;
    border-radius: 10rem;
}

/* Caption por slide */
.cap-hero__caption {
    position: absolute;
    bottom: 5.5rem;
    left: 0; right: 0;
    z-index: 4;
    text-align: center;
    color: rgba(255,255,255,.95);
    font-size: 1.55rem;
    font-style: italic;
    font-weight: 300;
    letter-spacing: .025em;
    line-height: 1.55;
    text-shadow: 0 1px 12px rgba(0,0,0,.85), 0 2px 4px rgba(0,0,0,.5);
    padding: 0 12%;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 1s ease .4s, transform 1s ease .4s;
    pointer-events: none;
}
.cap-hero__caption--active {
    opacity: 1;
    transform: translateY(0);
}

/* Barra de progreso */
.cap-hero__progress {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: rgba(255,255,255,.1);
    z-index: 3;
}
.cap-hero__progress-bar {
    height: 100%;
    width: 0%;
    background: var(--verde);
    transition: width 5s linear;
}

/* Intro + Mapa combinados */
.cap-intro-mapa {
    background: #fff;
    padding: 8rem 0 8rem;
}
.cap-intro-mapa__grid {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: 5rem;
    align-items: start;
}
.cap-intro-mapa__eyebrow {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1.4rem;
}
.cap-intro-mapa__titulo {
    font-size: clamp(3rem, 4vw, 4.4rem);
    font-weight: 900;
    color: var(--negro);
    line-height: 1.1;
    letter-spacing: -.02em;
    margin: 0 0 2.4rem;
}
.cap-intro-mapa__titulo em { color: var(--verde); font-style: normal; }
.cap-intro-mapa__texto p {
    font-size: 1.6rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 1.6rem;
}
.cap-intro-mapa__texto p:last-of-type { margin-bottom: 0; }
.cap-intro-mapa__texto strong { color: var(--negro); }
.cap-intro-mapa__stats {
    display: flex;
    align-items: center;
    gap: 3rem;
    margin-top: 3.5rem;
    padding: 2.4rem 3rem;
    background: var(--negro);
    border-radius: 1.4rem;
}
.cap-intro-mapa__stat { display: flex; flex-direction: column; gap: .3rem; }
.cap-intro-mapa__stat strong {
    font-size: 3.6rem;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    letter-spacing: -.03em;
}
.cap-intro-mapa__stat strong span { color: var(--verde); }
.cap-intro-mapa__stat span {
    font-size: 1.2rem;
    color: rgba(255,255,255,.5);
    text-transform: uppercase;
    letter-spacing: .06em;
}
.cap-intro-mapa__div { width: 1px; height: 4.5rem; background: rgba(255,255,255,.12); flex-shrink: 0; }
.cap-intro-mapa__mapa { position: relative; }
.cap-intro-mapa__mapa-frame {
    border-radius: 1.6rem;
    overflow: hidden;
    height: 54rem;
    box-shadow: 0 16px 56px rgba(0,0,0,.1);
    border: 1px solid var(--gris-borde);
}
.cap-intro-mapa__mapa-nota {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-top: 1.2rem;
    font-size: 1.25rem;
    color: #999;
}
.cap-intro-mapa__mapa-nota svg { color: var(--verde); flex-shrink: 0; }

@media (max-width: 960px) {
    .cap-intro-mapa__grid { grid-template-columns: 1fr; gap: 4rem; }
    .cap-intro-mapa__mapa-frame { height: 40rem; }
}

/* ═══════════════════════════════════════════════
   CABECERA · estilo unificado tipo ARA (bottom-left)
   ═══════════════════════════════════════════════ */
.cap-cabecera {
    min-height: 88vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    position: relative;
    padding-bottom: 7rem;
    overflow: hidden;
}
.cap-cabecera__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        170deg,
        rgba(6, 14, 6, .55) 0%,
        rgba(6, 14, 6, .32) 45%,
        rgba(74, 149, 193, .15) 100%
    );
}
.cap-cabecera__inner {
    position: relative;
    z-index: 1;
    text-align: left;
}
.cap-cabecera__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(74, 149, 193, .15);
    border: 1px solid rgba(74, 149, 193, .35);
    color: var(--celeste);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem 1.4rem;
    border-radius: 10rem;
    backdrop-filter: blur(8px);
    margin-bottom: 2.4rem;
}
.cap-cabecera__chip svg { color: var(--celeste); }
.cap-cabecera__titulo {
    font-size: clamp(3.8rem, 6.5vw, 7.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.06;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
}
.cap-cabecera__titulo em {
    color: var(--celeste);
    font-style: normal;
}
.cap-cabecera__bajada {
    font-size: 1.9rem;
    color: rgba(255, 255, 255, .65);
    max-width: 60rem;
    line-height: 1.6;
    margin: 0;
    font-weight: 400;
}
.cap-cabecera__scroll {
    position: absolute;
    bottom: 2.4rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, .65);
    animation: cap-bounce 2.4s ease-in-out infinite;
}
@keyframes cap-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); opacity: .65; }
    50%      { transform: translateX(-50%) translateY(8px); opacity: 1; }
}

@media (max-width: 760px) {
    .cap-cabecera { min-height: 70vh; padding-bottom: 5rem; }
}

/* ═══════════════════════════════════════════════
   GALERÍA · historias alternadas (storytelling)
   ═══════════════════════════════════════════════ */
.cap-galeria {
    padding: 8rem 0 10rem;
    background: #fff;
}
.cap-galeria__historias {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    margin-top: 5rem;
    max-width: 124rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2rem;
}
.cap-historia {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 5rem;
    align-items: center;
}
.cap-historia--inv {
    grid-template-columns: 1fr 1.1fr;
}
.cap-historia--inv .cap-historia__media {
    order: 2;
}
.cap-historia--inv .cap-historia__body {
    order: 1;
}
.cap-historia__media {
    position: relative;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(26, 78, 110, .18), 0 8px 20px rgba(0, 0, 0, .06);
    transition: transform .5s cubic-bezier(.2, .8, .2, 1);
}
.cap-historia__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, .35) 100%);
    pointer-events: none;
}
.cap-historia:hover .cap-historia__media {
    transform: translateY(-6px) scale(1.01);
}
.cap-historia__num {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    z-index: 2;
    background: rgba(255, 255, 255, .92);
    color: #4a95c1;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .08em;
    padding: .55rem 1.1rem;
    border-radius: 10rem;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}
.cap-historia__body {
    padding: 1rem 0;
}
.cap-historia__tag {
    display: inline-block;
    background: linear-gradient(135deg, rgba(114, 191, 68, .15), rgba(74, 149, 193, .15));
    color: #2a6e0e;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .45rem 1.1rem;
    border-radius: 10rem;
    margin-bottom: 1.4rem;
    border: 1px solid rgba(114, 191, 68, .25);
}
.cap-historia__nombre {
    font-size: clamp(2.8rem, 3.4vw, 3.8rem);
    font-weight: 800;
    color: #1a2e1a;
    line-height: 1.1;
    letter-spacing: -.015em;
    margin: 0 0 1.2rem;
}
.cap-historia__loc {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.45rem;
    color: #4a95c1;
    font-weight: 600;
    margin: 0 0 2rem;
}
.cap-historia__loc svg { flex-shrink: 0; }
.cap-historia__desc {
    border-left: 3px solid #72bf44;
    padding-left: 1.8rem;
}
.cap-historia__desc-label {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #72bf44;
    margin-bottom: .8rem;
}
.cap-historia__desc p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #3a4339;
    margin: 0;
}
.cap-historia__btn {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    margin-top: 2rem;
    padding: 1.1rem 2.2rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: 10rem;
    text-decoration: none;
    transition: background .25s, transform .25s, box-shadow .25s;
    box-shadow: 0 .8rem 2.4rem rgba(114,191,68,.22);
}
.cap-historia__btn svg { transition: transform .25s; }
.cap-historia__btn:hover { background: var(--verde-oscuro); transform: translateY(-2px); box-shadow: 0 1.2rem 3rem rgba(114,191,68,.32); }
.cap-historia__btn:hover svg { transform: translateX(4px); }
.cap-galeria__vertodas { text-align: center; margin-top: 5rem; }
.cap-galeria__vertodas-btn {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    padding: 1.4rem 3rem;
    border: 2px solid var(--verde);
    color: var(--verde-oscuro);
    background: transparent;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 10rem;
    text-decoration: none;
    transition: background .25s, color .25s, transform .25s;
}
.cap-galeria__vertodas-btn svg { transition: transform .25s; }
.cap-galeria__vertodas-btn:hover { background: var(--verde); color: #fff; transform: translateY(-2px); }
.cap-galeria__vertodas-btn:hover svg { transform: translateX(4px); }

@media (max-width: 880px) {
    .cap-historia,
    .cap-historia--inv {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }
    .cap-historia--inv .cap-historia__media,
    .cap-historia--inv .cap-historia__body {
        order: initial;
    }
    .cap-galeria__historias { gap: 5rem; }
}

/* ═══════════════════════════════════════════════
   MODELO · 3 pasos para crear un AP
   ═══════════════════════════════════════════════ */
.cap-modelo {
    padding: 8rem 0;
    background: linear-gradient(180deg, #f4faf7 0%, #edf5fb 100%);
}
.cap-modelo__flujo {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 1.2rem;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.cap-modelo__paso {
    flex: 1 1 28rem;
    max-width: 36rem;
    background: #fff;
    border-radius: 1.6rem;
    padding: 3.4rem 2.6rem 2.8rem;
    border: 1px solid rgba(74, 149, 193, .15);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .04);
    position: relative;
    transition: transform .25s ease, box-shadow .25s ease;
}
.cap-modelo__paso:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(74, 149, 193, .15);
}
.cap-modelo__num {
    position: absolute;
    top: -1.6rem;
    left: 2.4rem;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 800;
    padding: .6rem 1.4rem;
    border-radius: 10rem;
    letter-spacing: .05em;
    box-shadow: 0 6px 16px rgba(74, 149, 193, .35);
}
.cap-modelo__tit {
    font-size: 2rem;
    font-weight: 700;
    color: #1a2e1a;
    margin: 0 0 1.2rem;
    line-height: 1.25;
}
.cap-modelo__txt {
    color: #4a5249;
    line-height: 1.65;
    font-size: 1.55rem;
    margin: 0;
}
.cap-modelo__sep {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(74, 149, 193, .5);
    padding: 0 .6rem;
}

@media (max-width: 960px) {
    .cap-modelo__sep { transform: rotate(90deg); padding: 1rem 0; }
}

/* ═══════════════════════════════════════════════
   COMPONENTES DE GESTIÓN · 6 cards con hover/tap reveal
   ═══════════════════════════════════════════════ */
.cap-componentes {
    padding: 9rem 0 10rem;
    background: #f8faf6;
    position: relative;
}
.cap-componentes .titular { margin-bottom: 5rem; }

.cap-comp__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}
@media (min-width: 640px)  { .cap-comp__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .cap-comp__grid { grid-template-columns: repeat(3, 1fr); } }

.cap-comp__card {
    position: relative;
    background: #fff;
    border: 3px solid var(--card-color);
    border-radius: 1.6rem;
    padding: 4rem 2.4rem 2.8rem;
    min-height: 28rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: pointer;
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
    overflow: visible;
    outline: none;
}

/* Número 01-06 en círculo arriba a la izquierda */
.cap-comp__num {
    position: absolute;
    top: -1.8rem;
    left: 2rem;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--card-color);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: .03em;
    box-shadow: 0 6px 14px -4px color-mix(in srgb, var(--card-color) 50%, transparent);
    z-index: 3;
}

/* Flecha entre cards (oculta en mobile + al final de cada fila) */
.cap-comp__flecha {
    position: absolute;
    right: -2.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3.2rem;
    height: 2rem;
    color: #a8b8a4;
    display: none;
    z-index: 2;
    pointer-events: none;
}
.cap-comp__card .cap-comp__flecha svg { display: block; }
@media (min-width: 1000px) {
    .cap-comp__flecha { display: block; }
}
/* La 3a card (esquina derecha de fila 1 en grid 3 cols) no muestra flecha */
@media (min-width: 1000px) {
    .cap-comp__grid > .cap-comp__card:nth-child(3) .cap-comp__flecha { display: none; }
}
.cap-comp__card:hover,
.cap-comp__card:focus-visible,
.cap-comp__card.is-active {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px -12px color-mix(in srgb, var(--card-color) 35%, transparent);
}

/* Vista normal: ícono + título */
.cap-comp__base {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    transition: opacity .3s ease, transform .35s ease;
}
.cap-comp__icon {
    width: 8rem; height: 8rem;
    display: grid; place-items: center;
    color: var(--card-color);
}
.cap-comp__icon svg { width: 100%; height: 100%; }
.cap-comp__titulo {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--card-color);
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.3;
    margin: 0;
    max-width: 24rem;
}

/* Overlay con etapas (oculto por defecto) */
.cap-comp__overlay {
    position: absolute;
    inset: 0;
    background: var(--card-color);
    color: #fff;
    padding: 2.4rem 2rem;
    opacity: 0;
    transform: scale(.96);
    transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1);
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    overflow-y: auto;
    text-align: left;
}
.cap-comp__card:hover .cap-comp__overlay,
.cap-comp__card:focus-visible .cap-comp__overlay,
.cap-comp__card.is-active .cap-comp__overlay {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}
.cap-comp__overlay-titulo {
    font-size: 1.35rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
    line-height: 1.3;
    margin: 0 0 .4rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.25);
    color: #fff;
}
.cap-comp__etapas {
    list-style: none;
    margin: 0; padding: 0;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}
.cap-comp__etapa {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    font-size: 1.25rem;
    line-height: 1.4;
}
.cap-comp__etapa-badge {
    flex-shrink: 0;
    background: rgba(255,255,255,.22);
    border: 1px solid rgba(255,255,255,.35);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    padding: .25rem .7rem;
    border-radius: 10rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    min-width: 6.4rem;
    text-align: center;
}
.cap-comp__etapa-txt {
    color: #fff;
    font-weight: 600;
    padding-top: .2rem;
}

/* En mobile, ocultar el cursor pointer obvio y usar tap */
@media (hover: none) {
    .cap-comp__card { cursor: default; }
    .cap-comp__card::after {
        content: '👆 Tocá para ver etapas';
        position: absolute;
        bottom: .8rem; left: 50%;
        transform: translateX(-50%);
        font-size: 1rem;
        color: var(--card-color);
        opacity: .7;
        pointer-events: none;
        transition: opacity .3s ease;
    }
    .cap-comp__card.is-active::after { opacity: 0; }
}

/* ═══════════════════════════════════════════════
   FRASE potente
   ═══════════════════════════════════════════════ */
.cap-frase {
    padding: 8rem 0;
    background: #fff;
}
.cap-frase__cita {
    max-width: 88rem;
    margin: 0 auto;
    padding: 0 2rem;
    text-align: center;
    position: relative;
}
.cap-frase__comilla {
    display: block;
    font-family: Georgia, serif;
    font-size: 12rem;
    line-height: 1;
    color: rgba(114, 191, 68, .25);
    margin-bottom: -3rem;
}
.cap-frase__cita p {
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.45;
    color: #1a2e1a;
    font-weight: 500;
    margin: 0 0 2.4rem;
    font-style: italic;
}
.cap-frase__cita em {
    font-style: normal;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 700;
}
.cap-frase__autor {
    font-size: 1.4rem;
    font-style: normal;
    color: #4a95c1;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* ═══════════════════════════════════════════════
   INFOGRAFÍA · 4 cards con cifras y contexto
   ═══════════════════════════════════════════════ */
.cap-info {
    padding: 8rem 0;
    background: linear-gradient(180deg, #ffffff 0%, #f4faf7 100%);
}
.cap-info__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
    gap: 2rem;
    margin-top: 5rem;
}
.cap-info__card {
    padding: 3.2rem 2.4rem;
    border-radius: 1.6rem;
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
}
.cap-info__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
}
.cap-info__card::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255,255,255,.18), transparent 60%);
    pointer-events: none;
}
.cap-info__card--verde         { background: linear-gradient(160deg, #72bf44, #4d9628); }
.cap-info__card--celeste       { background: linear-gradient(160deg, #4a95c1, #2f6a93); }
.cap-info__card--verde-oscuro  { background: linear-gradient(160deg, #2a6e0e, #1a4d20); }
.cap-info__card--celeste-oscuro{ background: linear-gradient(160deg, #1a6fa8, #0e4670); }
.cap-info__icono {
    color: rgba(255, 255, 255, .85);
    margin-bottom: 1.6rem;
    position: relative;
    z-index: 1;
}
.cap-info__num {
    font-size: clamp(4.4rem, 6vw, 6rem);
    font-weight: 800;
    line-height: 1;
    margin: 0 0 .8rem;
    position: relative;
    z-index: 1;
    letter-spacing: -.02em;
}
.cap-info__num span {
    font-size: .55em;
    margin-left: .15em;
}
.cap-info__lbl {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: .4rem;
    position: relative;
    z-index: 1;
}
.cap-info__sub {
    font-size: 1.25rem;
    opacity: .85;
    position: relative;
    z-index: 1;
}

/* ─── SVG estático en lugar de iframe ─── */
.cap-intro-mapa__mapa-frame--svg {
    height: auto;
    padding: 3.6rem 2rem 2rem;
    background:
        radial-gradient(circle at 25% 25%, rgba(114, 191, 68, .08), transparent 55%),
        radial-gradient(circle at 75% 80%, rgba(74, 149, 193, .08), transparent 55%),
        linear-gradient(160deg, #f8fbf4 0%, #ffffff 50%, #edf5fb 100%);
    display: block;
    border-radius: 2rem;
    box-shadow: 0 28px 80px rgba(74, 149, 193, .12), 0 6px 20px rgba(0, 0, 0, .04);
    border: 1px solid rgba(74, 149, 193, .18);
    position: relative;
    overflow: hidden;
    aspect-ratio: auto;
}
.cap-intro-mapa__mapa-frame--svg::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(74, 149, 193, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(74, 149, 193, .05) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.cap-intro-mapa__mapa-frame--svg::after {
    content: var(--map-label, "Áreas Protegidas · Bolivia");
    position: absolute;
    top: 1.6rem;
    left: 2rem;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #4a95c1;
    background: rgba(255, 255, 255, .85);
    padding: .6rem 1.2rem;
    border-radius: 10rem;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 14px rgba(74, 149, 193, .15);
    z-index: 2;
}
.cap-intro-mapa__mapa-frame--svg svg {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
    filter: drop-shadow(0 4px 14px rgba(26, 78, 110, .12));
    position: relative;
    z-index: 1;
    overflow: visible;
}

/* Refuerza el contorno del país y los departamentos en el SVG
   (excluye los polígonos de overlay: AP, ecorregiones, fondos de agua) */
.cap-intro-mapa__mapa-frame--svg svg path:not(.ap-poly):not(.eco-poly):not(.fa-poly) {
    fill: #f4f0e3;
    stroke: #b8b09a;
    stroke-width: .8;
    transition: fill .3s ease;
}

/* Variante con tono verde-celeste muy suave para el mapa de Fondos */
.cap-intro-mapa__mapa-frame--svg.is-fondos svg path:not(.ap-poly):not(.eco-poly):not(.fa-poly):not(.fa-punto) {
    fill: #eef4f0;
    stroke: #a8c5b4;
}

/* ─── Polígonos de Áreas Protegidas ─── */
.mapa-bo__svg-wrap--ap .natura-overlay { display: none; }
.ap-overlay .ap-poly {
    fill-opacity: .75;
    stroke: #fff;
    stroke-width: .6;
    transition: fill-opacity .2s ease, stroke-width .2s ease, filter .2s ease;
    cursor: pointer;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .12));
}
.ap-overlay .ap-poly:hover {
    fill-opacity: 1;
    stroke: #1a2e1a;
    stroke-width: 1.4;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .25));
}

/* Colores por categoría */
.ap-poly--fnb           { fill: #72bf44; }   /* Verde Natura - desarrolladas por FNB */
.ap-poly--nacional      { fill: #2a6e0e; }   /* Verde oscuro - nacionales */
.ap-poly--departamental { fill: #4a95c1; }   /* Celeste - departamentales */
.ap-poly--municipal     { fill: #1a6fa8; }   /* Celeste oscuro - municipales */

/* Leyenda */
.ap-leyenda {
    list-style: none;
    margin: 1.6rem 0 0;
    padding: 1.4rem 1.6rem;
    background: #f8fbff;
    border: 1px solid rgba(74, 149, 193, .15);
    border-radius: 1rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .8rem 1.4rem;
}
.ap-leyenda__item {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.35rem;
    color: #2a2f2a;
}
.ap-leyenda__swatch {
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 3px;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,.08);
}
.ap-leyenda__swatch--fnb           { background: #72bf44; }
.ap-leyenda__swatch--nacional      { background: #2a6e0e; }
.ap-leyenda__swatch--departamental { background: #4a95c1; }
.ap-leyenda__swatch--municipal     { background: #1a6fa8; }
.ap-leyenda__count {
    margin-left: auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #4a5249;
}

/* Tooltip enriquecido */
.mapa-bo__svg-wrap--ap .mapa-bo__tooltip {
    line-height: 1.45;
    max-width: 30rem;
    min-width: 17rem;
    padding: 1.1rem 1.3rem;
    white-space: normal;   /* clave: el texto largo (municipios) envuelve dentro de la cajita */
    text-align: left;
}
.ap-tip__name {
    display: block;
    font-size: 1.4rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: .55rem;
}
.ap-tip__tipo {
    display: inline-block;
    background: rgba(255,255,255,.18);
    padding: .15rem .6rem;
    border-radius: .4rem;
    font-size: .85em;
    margin: 0 0 .55rem;
}
.ap-tip__ha {
    display: block;
    font-weight: 700;
    color: #b2e576;        /* hectáreas resaltadas en verde claro */
    margin-bottom: .5rem;
}
.ap-tip__muni {
    display: block;
    font-style: italic;
    font-weight: 500;
    font-size: 1.12rem;
    color: rgba(255,255,255,.78);
}

@media (max-width: 540px) {
    .ap-leyenda { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   FONDOS LOCALES DE AGUA · polígonos + puntos
   ═══════════════════════════════════════════════ */
.mapa-bo__svg-wrap--fa .natura-overlay { display: none; }

.fa-overlay .fa-poly {
    fill-opacity: .72;
    stroke: #fff;
    stroke-width: .5;
    transition: fill-opacity .2s ease, stroke-width .2s ease, filter .2s ease;
    cursor: pointer;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .12));
}
.fa-overlay .fa-poly:hover {
    fill-opacity: 1;
    stroke: #1a2e1a;
    stroke-width: 1.3;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .3));
}

/* Colores por ecorregión (paleta verde+celeste ampliada y vibrante) */
.fa-poly--amazonia               { fill: #1e7a3a; }   /* verde selva amazónica */
.fa-poly--chaco                  { fill: #e89a2c; }   /* ámbar Chaco */
.fa-poly--chiquitania-1          { fill: #72bf44; }   /* verde Natura · Chiquitanía */
.fa-poly--charagua-chiquitania-2 { fill: #4ea529; }   /* verde medio · Charagua */
.fa-poly--valles                 { fill: #4a95c1; }   /* celeste Valles */
.fa-poly--valles-sur             { fill: #2272a3; }   /* celeste profundo · Valles Sur */
.fa-poly--yungas                 { fill: #5cc4a2; }   /* turquesa · Yungas */
.fa-poly--fondos-de-agua         { fill: #db4436; }   /* rojo destacado */

/* Puntos de Fondos de Agua — más grandes y con halo pulsante */
.fa-overlay .fa-punto {
    fill: #db4436;
    stroke: #fff;
    stroke-width: 1.4;
    cursor: pointer;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .35));
    transition: stroke-width .2s ease, fill .2s ease, r .2s ease;
    transform-box: fill-box;
    transform-origin: center;
    animation: fa-punto-pulse 2.6s ease-in-out infinite;
}
.fa-overlay .fa-punto:hover {
    fill: #ffd54a;
    stroke: #db4436;
    stroke-width: 2.2;
    animation: none;
}
@keyframes fa-punto-pulse {
    0%, 100% { stroke-opacity: 1; }
    50%      { stroke-opacity: .4; stroke-width: 2.4; }
}

/* Leyenda */
.fa-leyenda {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .7rem;
}
.fa-leyenda__item {
    display: flex;
    align-items: center;
    gap: .9rem;
    font-size: 1.35rem;
    color: #2a2f2a;
    padding: .5rem .8rem;
    border-radius: 6px;
    transition: background .15s ease;
}
.fa-leyenda__item:hover {
    background: rgba(74, 149, 193, .08);
}
.fa-leyenda__swatch {
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 3px;
    flex-shrink: 0;
    border: 1px solid rgba(0, 0, 0, .08);
}
.fa-leyenda__swatch--amazonia               { background: #1e7a3a; }
.fa-leyenda__swatch--chaco                  { background: #e89a2c; }
.fa-leyenda__swatch--chiquitania-1          { background: #72bf44; }
.fa-leyenda__swatch--charagua-chiquitania-2 { background: #4ea529; }
.fa-leyenda__swatch--valles                 { background: #4a95c1; }
.fa-leyenda__swatch--valles-sur             { background: #2272a3; }
.fa-leyenda__swatch--yungas                 { background: #5cc4a2; }
.fa-leyenda__count {
    margin-left: auto;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #4a5249;
}
.fa-leyenda__punto-icon {
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: #db4436;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px rgba(219, 68, 54, .35);
    flex-shrink: 0;
}

/* Layout del mapa con leyenda al lado */
.rcc-mapa--svg {
    padding: 8rem 0;
    background: linear-gradient(180deg, #f4faf7 0%, #ffffff 100%);
}
.rcc-mapa__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 4rem;
    align-items: start;
    margin-top: 3.6rem;
}
.rcc-mapa__leyenda {
    padding: 2.4rem;
    background: #fff;
    border-radius: 1.4rem;
    border: 1px solid rgba(74, 149, 193, .15);
    box-shadow: 0 8px 28px rgba(74, 149, 193, .08);
}
.rcc-mapa__leyenda-tit {
    font-size: 1.4rem;
    font-weight: 800;
    color: #1a4d6e;
    margin: 0 0 1.4rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.rcc-mapa__leyenda-pie {
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 1px dashed rgba(74, 149, 193, .25);
    display: flex;
    align-items: center;
    gap: .9rem;
    font-size: 1.4rem;
    color: #2a2f2a;
}
.rcc-mapa__leyenda-pie strong {
    color: #db4436;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

/* Tooltip enriquecido */
.fa-tip__desc {
    margin-top: .6rem;
    font-size: .9em;
    line-height: 1.55;
    opacity: .9;
    text-align: left;
}

@media (max-width: 960px) {
    .rcc-mapa__grid { grid-template-columns: 1fr; }
}

/* Logros */
.cap-logros {
    background: #060e06;
    padding: 8rem 0 9rem;
    position: relative;
    overflow: hidden;
}
.cap-logros::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(114,191,68,.07) 0%, transparent 70%);
    pointer-events: none;
}
.cap-logros__banda {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--verde) 40%, var(--celeste) 60%, transparent);
}
.cap-logros .titular--blanco h2 { color: #fff; }
.cap-logros .titular--blanco em { color: var(--verde); }
.cap-logros .titular--blanco .titular__eyebrow { color: rgba(114,191,68,.6); }
.cap-logros__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.6rem;
    margin-top: 5rem;
    max-width: 102rem;
    margin-left: auto;
    margin-right: auto;
}
.cap-logros__item {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(114,191,68,.15);
    border-radius: 2rem;
    padding: 4.5rem 3.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    transition: border-color .3s, transform .3s;
}
.cap-logros__item:hover { border-color: rgba(114,191,68,.4); transform: translateY(-4px); }
.cap-logros__icono {
    width: 7.5rem; height: 7.5rem;
    background: rgba(114,191,68,.1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--verde);
}
.cap-logros__icono svg { width: 3.4rem; height: 3.4rem; }
.cap-logros__num {
    font-size: clamp(3.5rem, 4.5vw, 5.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
    letter-spacing: -.03em;
    white-space: nowrap;
}
.cap-logros__unit { font-size: .6em; color: var(--verde); }
.cap-logros__label {
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--verde);
    text-transform: uppercase;
    letter-spacing: .06em;
    line-height: 1.3;
}
.cap-logros__desc { font-size: 1.35rem; color: rgba(255,255,255,.4); line-height: 1.6; }

/* Mapa */
.cap-mapa { background: #f5f8f2; padding: 8rem 0 9rem; }
.cap-mapa__cabeza { margin-bottom: 4rem; }
.cap-mapa__eyebrow {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1rem;
}
.cap-mapa__titulo {
    font-size: clamp(2.4rem, 3.5vw, 3.6rem);
    font-weight: 900;
    color: #1a2e1a;
    margin: 0;
    letter-spacing: -.02em;
}
.cap-mapa__titulo em { color: var(--verde); font-style: normal; }
.cap-mapa__frame {
    border-radius: 1.6rem;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 12px 40px rgba(0,0,0,.08);
}
.cap-mapa__frame iframe { display: block; width: 100%; height: 520px; border: none; }
.cap-mapa__placeholder {
    height: 520px;
    background: linear-gradient(135deg, #e8f0e0, #eaf5ec);
    display: flex; align-items: center; justify-content: center;
}
.cap-mapa__placeholder-inner {
    text-align: center;
    display: flex; flex-direction: column; align-items: center; gap: 1.2rem;
    color: rgba(114,191,68,.5);
}
.cap-mapa__placeholder-inner strong { font-size: 2rem; color: #1a2e1a; }
.cap-mapa__placeholder-inner p { font-size: 1.5rem; color: #777; margin: 0; line-height: 1.6; }
.cap-mapa__chip {
    background: rgba(114,191,68,.12);
    color: var(--verde);
    font-size: 1.2rem; font-weight: 600;
    padding: .4rem 1.2rem; border-radius: 10rem;
    border: 1px solid rgba(114,191,68,.25);
}

/* CTA */
.cap-cta { background: #060e06; padding: 9rem 0; position: relative; overflow: hidden; }
.cap-cta::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 60% at 50% 100%, rgba(114,191,68,.07) 0%, transparent 70%);
    pointer-events: none;
}
.cap-cta__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6rem;
    align-items: center;
}
.cap-cta__texto h2 {
    font-size: clamp(2.4rem, 3.5vw, 3.8rem);
    font-weight: 900; color: #fff;
    margin: 0 0 1rem; line-height: 1.15; letter-spacing: -.02em;
}
.cap-cta__texto h2 em { color: var(--verde); font-style: normal; }
.cap-cta__texto p { font-size: 1.6rem; color: rgba(255,255,255,.5); margin: 0; line-height: 1.7; }
.cap-cta__btn {
    display: inline-flex; align-items: center; gap: 1rem;
    background: var(--verde); color: #fff;
    font-size: 1.6rem; font-weight: 700;
    padding: 1.6rem 3.2rem; border-radius: 10rem;
    text-decoration: none; white-space: nowrap; flex-shrink: 0;
    transition: background .25s, transform .25s;
}
.cap-cta__btn:hover { background: #5aa832; transform: translateX(3px); }

/* Responsive */
@media (max-width: 900px) {
    .cap-hero__ctrl { display: none; }
    .cap-intro__textos { grid-template-columns: 1fr; }
    .cap-logros__grid { grid-template-columns: 1fr; }
    .cap-cta__inner { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}
@media (max-width: 600px) {
    .cap-hero { height: 100vh; }
    .cap-hero__nums { gap: 2rem; }
    .cap-mapa__placeholder { height: 320px; }
}

/* ============================================================
   FONDOS DE AGUA — /autogestion-de-los-fondos-de-agua/
   ============================================================ */

/* Hero */
.fda-hero {
    min-height: 88vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    position: relative;
    padding-bottom: 7rem;
    overflow: hidden;
}
.fda-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        170deg,
        rgba(6,14,6,.55) 0%,
        rgba(6,14,6,.32) 45%,
        rgba(74,149,193,.15) 100%
    );
}
.fda-hero__inner { position: relative; z-index: 1; }
.fda-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(74,149,193,.15);
    border: 1px solid rgba(74,149,193,.35);
    color: var(--celeste);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.fda-hero__titulo {
    font-size: clamp(3.8rem, 6.5vw, 7.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.06;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
}
.fda-hero__titulo em { color: var(--celeste); font-style: normal; }
.fda-hero__bajada {
    font-size: 1.9rem;
    color: rgba(255,255,255,.65);
    max-width: 50rem;
    line-height: 1.6;
    margin: 0 0 4.5rem;
}
.fda-hero__stats {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    flex-wrap: wrap;
}
.fda-hero__stat { display: flex; flex-direction: column; gap: .3rem; }
.fda-hero__stat strong {
    font-size: 3rem;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    letter-spacing: -.02em;
}
.fda-hero__stat span {
    font-size: 1.3rem;
    color: rgba(255,255,255,.5);
    text-transform: uppercase;
    letter-spacing: .06em;
}
.fda-hero__stat-div {
    width: 1px;
    height: 4rem;
    background: rgba(255,255,255,.15);
}
.fda-hero__scroll {
    position: absolute;
    bottom: 2.5rem;
    right: 3rem;
    color: rgba(255,255,255,.35);
    animation: bounce 2s ease-in-out infinite;
}

/* Intro */
.fda-intro {
    background: #fff;
    padding: 8rem 0 7rem;
}
.fda-intro__lema {
    text-align: center;
    margin-bottom: 5rem;
    padding: 3.5rem 4rem;
    background: linear-gradient(135deg, rgba(114,191,68,.06) 0%, rgba(74,149,193,.04) 100%);
    border-radius: 2rem;
    border: 1px solid rgba(114,191,68,.12);
}
.fda-intro__lema p {
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.5;
    color: #1a2e1a;
    margin: 0;
}
.fda-intro__lema strong { color: var(--verde); font-weight: 800; }
.fda-intro__lema em { color: var(--celeste); font-style: normal; font-weight: 700; }
.fda-intro__textos {
    max-width: none;
    margin: 0;
    padding: 0 4rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}
.fda-intro__textos p {
    font-size: 1.6rem;
    color: #555;
    line-height: 1.8;
    margin: 0;
    text-align: left;
}
.fda-intro__textos strong { color: #1a2e1a; }

/* Logros */
.fda-logros {
    background: #060e06;
    padding: 8rem 0 9rem;
    position: relative;
    overflow: hidden;
}
.fda-logros::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(74,149,193,.07) 0%, transparent 70%);
    pointer-events: none;
}
.fda-logros__banda {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--celeste) 40%, var(--verde) 60%, transparent);
}
.fda-logros .titular--blanco h2 { color: #fff; }
.fda-logros .titular--blanco em { color: var(--celeste); }
.fda-logros .titular--blanco .titular__eyebrow { color: rgba(74,149,193,.6); }
.fda-logros__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
    margin-top: 5rem;
}
.fda-logros__item {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(74,149,193,.15);
    border-radius: 2rem;
    padding: 4rem 3rem 3.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    transition: border-color .3s, transform .3s;
}
.fda-logros__item:hover { border-color: rgba(74,149,193,.4); transform: translateY(-4px); }
.fda-logros__icono {
    width: 7rem; height: 7rem;
    background: rgba(74,149,193,.12);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--celeste);
}
.fda-logros__icono svg { width: 3.2rem; height: 3.2rem; }
.fda-logros__num {
    font-size: clamp(4rem, 5.5vw, 6.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
    letter-spacing: -.03em;
}
.fda-logros__num--ha { font-size: clamp(3rem, 4vw, 5rem); }
.fda-logros__label {
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--celeste);
    text-transform: uppercase;
    letter-spacing: .06em;
}
.fda-logros__desc {
    font-size: 1.35rem;
    color: rgba(255,255,255,.4);
    line-height: 1.6;
}

/* Mapa */
.fda-mapa {
    background: #f5f8f2;
    padding: 8rem 0 9rem;
}
.fda-mapa__cabeza {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 3rem;
    margin-bottom: 4rem;
    flex-wrap: wrap;
}
.fda-mapa__eyebrow {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.fda-mapa__titulo {
    font-size: clamp(2.2rem, 3vw, 3.2rem);
    font-weight: 900;
    color: #1a2e1a;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -.02em;
}
.fda-mapa__titulo em { color: var(--celeste); font-style: normal; }
.fda-mapa__badge {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(74,149,193,.1);
    border: 1px solid rgba(74,149,193,.25);
    color: var(--celeste);
    font-size: 1.25rem;
    font-weight: 600;
    padding: .7rem 1.6rem;
    border-radius: 10rem;
    white-space: nowrap;
}
.fda-mapa__frame {
    border-radius: 1.6rem;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 12px 40px rgba(0,0,0,.08);
}
.fda-mapa__frame iframe {
    display: block;
    width: 100%;
    height: 520px;
    border: none;
}

/* ── Columna lateral del mapa ARA (texto + lista interactiva) ── */
.fda-mapa__lateral {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.fda-mapa__lateral .mapa-bo__lista {
    margin: 0;
}

/* ─── Overlay de Acuerdos Recíprocos por Agua sobre el SVG ─── */
.mapa-bo__svg-wrap--ara .natura-overlay { display: none; }

.ara-acuerdos-overlay { pointer-events: auto; }
.ara-acuerdos-overlay .ara-dot {
    fill-opacity: .65;
    stroke: rgba(255, 255, 255, .55);
    stroke-width: .15;
    transition: fill-opacity .15s ease, transform .15s ease;
    transform-box: fill-box;
    transform-origin: center;
    cursor: pointer;
}
.ara-acuerdos-overlay .ara-dot:hover {
    fill-opacity: 1;
    stroke: #1a2e1a;
    stroke-width: .4;
    transform: scale(2);
}
/* Colores por departamento — paleta institucional verde+celeste */
.ara-dot--chuquisaca { fill: #72bf44; }
.ara-dot--cochabamba { fill: #4a95c1; }
.ara-dot--la-paz     { fill: #2a6e0e; }
.ara-dot--tarija     { fill: #e8a020; }
.ara-dot--santa-cruz { fill: #1a6fa8; }

/* Leyenda de departamentos del overlay ARA */
.ara-leyenda {
    list-style: none;
    margin: 1.4rem 0 0;
    padding: 1.4rem;
    border-top: 1px dashed rgba(74, 149, 193, .25);
    background: #f8fbff;
    border-radius: 1rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .8rem 1.4rem;
}
.ara-leyenda__item {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.35rem;
    color: #2a2f2a;
}
.ara-leyenda__dot {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(255,255,255,.7);
}
.ara-leyenda__dot--chuquisaca { background: #72bf44; }
.ara-leyenda__dot--cochabamba { background: #4a95c1; }
.ara-leyenda__dot--la-paz     { background: #2a6e0e; }
.ara-leyenda__dot--tarija     { background: #e8a020; }
.ara-leyenda__dot--santa-cruz { background: #1a6fa8; }
.ara-leyenda__count {
    margin-left: auto;
    font-weight: 700;
    color: #4a5249;
    font-variant-numeric: tabular-nums;
}

/* ── Mapa detallado: iframe con polígonos de cada acuerdo ── */
.fda-mapa-detalle {
    padding: 6rem 0 8rem;
    background: linear-gradient(180deg, #ffffff 0%, #f4faf7 100%);
}
.fda-mapa-detalle__cabeza {
    text-align: center;
    max-width: 78rem;
    margin: 0 auto 3.6rem;
}
.fda-mapa-detalle__eyebrow {
    display: inline-block;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: #4a95c1;
    padding: .5rem 0;
    border-top: 2px solid #4a95c1;
    border-bottom: 2px solid #4a95c1;
    margin-bottom: 1.6rem;
}
.fda-mapa-detalle__titulo {
    font-size: clamp(2.6rem, 4vw, 4rem);
    font-weight: 800;
    color: #1a2e1a;
    line-height: 1.15;
    margin: 0 0 1.2rem;
    letter-spacing: -.01em;
}
.fda-mapa-detalle__titulo em {
    font-style: normal;
    color: #4a95c1;
}
.fda-mapa-detalle__sub {
    font-size: 1.6rem;
    color: #4a5249;
    line-height: 1.6;
    margin: 0;
}
.fda-mapa-detalle__frame {
    border-radius: 1.8rem;
    overflow: hidden;
    border: 1px solid rgba(74, 149, 193, .18);
    box-shadow: 0 24px 70px rgba(74, 149, 193, .15), 0 4px 14px rgba(0, 0, 0, .04);
    background: #fff;
    margin-bottom: 2rem;
}
.fda-mapa-detalle__nota {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin: 2rem auto 0;
    padding: 1.4rem 2rem;
    background: #fff;
    border: 1px dashed rgba(114, 191, 68, .35);
    border-radius: 10rem;
    max-width: max-content;
    font-size: 1.35rem;
    color: #3a4339;
    text-align: center;
    color: #2a5e2a;
}
.fda-mapa-detalle__nota svg {
    color: #72bf44;
    flex-shrink: 0;
}

@media (max-width: 760px) {
    .fda-mapa-detalle { padding: 4rem 0 5rem; }
    .fda-mapa-detalle__frame iframe { height: 460px; }
    .fda-mapa-detalle__nota {
        flex-direction: column;
        text-align: center;
        border-radius: 1.4rem;
        padding: 1.4rem;
    }
}

/* ── (Legado) Mapa Split: mapa + explicación al lado ── */
.fda-mapa__split {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 3.2rem;
    align-items: stretch;
    margin-top: 1rem;
}
.fda-mapa__split .fda-mapa__frame {
    min-height: 100%;
}
.fda-mapa__split .fda-mapa__frame iframe {
    height: 100%;
    min-height: 560px;
}

/* ── SVG de Bolivia como fondo decorativo del iframe ── */
.fda-mapa__frame--svg-bg {
    background-color: #f4faf7;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    padding: 2.4rem;
    border: 1px solid rgba(74, 149, 193, .18);
    box-shadow: 0 16px 50px rgba(74, 149, 193, .12);
    position: relative;
}
.fda-mapa__frame--svg-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.25) 50%, rgba(255,255,255,.55) 100%);
    pointer-events: none;
    border-radius: inherit;
}
.fda-mapa__frame--svg-bg iframe {
    border-radius: 1.2rem;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .18);
    min-height: 520px;
    position: relative;
    z-index: 1;
}

@media (max-width: 980px) {
    .fda-mapa__frame--svg-bg { padding: 1.4rem; }
    .fda-mapa__frame--svg-bg iframe { min-height: 400px; }
}
.fda-mapa__texto {
    background: linear-gradient(180deg, #f6fbf4 0%, #edf5fb 100%);
    border: 1px solid rgba(74, 149, 193, .15);
    border-radius: 1.6rem;
    padding: 3rem 2.6rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    color: #2a2f2a;
    line-height: 1.65;
    font-size: 1.55rem;
    position: relative;
    overflow: hidden;
}
.fda-mapa__texto::before {
    content: "";
    position: absolute;
    top: 0; right: 0;
    width: 14rem;
    height: 14rem;
    background: radial-gradient(circle, rgba(114, 191, 68, .12), transparent 70%);
    pointer-events: none;
}
.fda-mapa__texto-icono {
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 1.2rem;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(74, 149, 193, .25);
}
.fda-mapa__texto p {
    margin: 0;
    color: #3a4339;
}
.fda-mapa__texto p strong {
    color: #1a5e20;
    font-weight: 700;
}
.fda-mapa__leyenda {
    list-style: none;
    margin: 1.6rem 0 0;
    padding: 1.6rem 0 0;
    border-top: 1px dashed rgba(74, 149, 193, .25);
    display: flex;
    flex-direction: column;
    gap: .9rem;
    font-size: 1.4rem;
    color: #4a5249;
}
.fda-mapa__leyenda li {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.fda-mapa__dot {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(255,255,255,.7);
}
.fda-mapa__dot--verde   { background: #72bf44; }
.fda-mapa__dot--celeste { background: #4a95c1; }
.fda-mapa__dot--ambar   { background: #e8a020; }

@media (max-width: 980px) {
    .fda-mapa__split {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .fda-mapa__split .fda-mapa__frame iframe {
        min-height: 420px;
    }
    .fda-mapa__texto {
        padding: 2.4rem 2rem;
    }
}
.fda-mapa__placeholder {
    height: 520px;
    background: linear-gradient(135deg, #e8f0e0, #d4e8f0);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fda-mapa__placeholder-inner {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    color: rgba(74,149,193,.5);
}
.fda-mapa__placeholder-inner strong {
    font-size: 2rem;
    color: #1a2e1a;
    display: block;
}
.fda-mapa__placeholder-inner p {
    font-size: 1.5rem;
    color: #777;
    margin: 0;
    line-height: 1.6;
}
.fda-mapa__chip {
    background: rgba(74,149,193,.15);
    color: var(--celeste);
    font-size: 1.2rem;
    font-weight: 600;
    padding: .4rem 1.2rem;
    border-radius: 10rem;
    border: 1px solid rgba(74,149,193,.3);
}

/* Diagrama ARA */
.fda-diagrama {
    background: #fff;
    padding: 8rem 0 9rem;
}
.fda-diagrama__imagen {
    margin-top: 4rem;
    border-radius: 1.6rem;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.07);
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
}
.fda-diagrama__imagen img { width: 100%; display: block; }

/* ARA Flow Diagram */
.fda-ara {
    margin-top: 5rem;
    background: #f5f8f2;
    border-radius: 2.4rem;
    padding: 5rem 4rem 4rem;
    border: 1px solid rgba(114,191,68,.15);
    position: relative;
    overflow: hidden;
}
.fda-ara::before {
    content: 'ARA';
    position: absolute;
    right: -1rem;
    top: -2rem;
    font-size: 16rem;
    font-weight: 900;
    color: rgba(114,191,68,.05);
    line-height: 1;
    pointer-events: none;
    user-select: none;
    letter-spacing: -.06em;
}
.fda-ara__flujo {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 0;
    align-items: center;
}
.fda-ara__actor {
    background: #fff;
    border-radius: 1.8rem;
    padding: 3rem 2.5rem;
    text-align: center;
    border: 2px solid transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    transition: transform .3s, box-shadow .3s;
    position: relative;
    z-index: 1;
}
.fda-ara__actor:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.1); }
.fda-ara__actor--verde { border-color: rgba(114,191,68,.3); }
.fda-ara__actor--celeste { border-color: rgba(74,149,193,.3); }
.fda-ara__actor-icono {
    width: 6rem; height: 6rem;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: .5rem;
}
.fda-ara__actor--verde .fda-ara__actor-icono { background: rgba(114,191,68,.12); color: var(--verde); }
.fda-ara__actor--celeste .fda-ara__actor-icono { background: rgba(74,149,193,.12); color: var(--celeste); }
.fda-ara__actor h4 {
    font-size: 1.7rem;
    font-weight: 800;
    color: #1a2e1a;
    line-height: 1.25;
    margin: 0;
}
.fda-ara__actor h4 span { font-weight: 500; color: #777; }
.fda-ara__actor p { font-size: 1.35rem; color: #888; margin: 0; line-height: 1.5; }

/* Flechas horizontales */
.fda-ara__flechas {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    align-items: center;
    padding: 0 1.5rem;
    width: 16rem;
    flex-shrink: 0;
}
.fda-ara__flecha {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
}
.fda-ara__flecha--azul { flex-direction: row; }
.fda-ara__flecha--inv { flex-direction: row-reverse; }
.fda-ara__flecha-linea {
    flex: 1;
    height: 3px;
    border-radius: 2px;
}
.fda-ara__flecha--azul .fda-ara__flecha-linea { background: var(--celeste); }
.fda-ara__flecha--verde .fda-ara__flecha-linea { background: var(--verde); }
.fda-ara__flecha-label {
    position: absolute;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    white-space: nowrap;
}
.fda-ara__flecha { position: relative; }
.fda-ara__flecha--azul .fda-ara__flecha-label {
    top: -2.2rem;
    left: 50%;
    transform: translateX(-50%);
    color: var(--celeste);
}
.fda-ara__flecha--verde .fda-ara__flecha-label {
    bottom: -2.2rem;
    left: 50%;
    transform: translateX(-50%);
    color: var(--verde);
}
.fda-ara__flecha-punta { flex-shrink: 0; }
.fda-ara__flecha--azul .fda-ara__flecha-punta { color: var(--celeste); }
.fda-ara__flecha--verde .fda-ara__flecha-punta { color: var(--verde); }

/* Centro: usuarios + fondo */
.fda-ara__centro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}
.fda-ara__fondo-local {
    background: var(--verde);
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: .7rem 2rem;
    border-radius: 10rem;
    display: flex;
    align-items: center;
    gap: .8rem;
}

/* Flecha vertical */
.fda-ara__flecha-v-wrap {
    display: flex;
    justify-content: center;
    padding: 0 1rem;
}
.fda-ara__flecha-v {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
}
.fda-ara__flecha-v-linea {
    width: 3px;
    height: 5rem;
    background: var(--verde);
    border-radius: 2px;
}
.fda-ara__flecha-v svg { color: var(--verde); }

/* Aliados */
.fda-ara__aliados {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}
.fda-ara__aliado {
    background: #fff;
    border: 1px solid rgba(114,191,68,.2);
    border-radius: 1.4rem;
    padding: 1.8rem 2.2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .7rem;
    min-width: 13rem;
    transition: border-color .25s;
}
.fda-ara__aliado:hover { border-color: rgba(114,191,68,.5); }
.fda-ara__aliado-icono {
    width: 4.5rem; height: 4.5rem;
    background: rgba(114,191,68,.1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--verde);
}
.fda-ara__aliado span { font-size: 1.3rem; font-weight: 700; color: #1a2e1a; line-height: 1.3; }
.fda-ara__aliado--gob .fda-ara__aliado-icono { background: rgba(74,149,193,.1); color: var(--celeste); }

/* ODS badges */
.fda-ara__ods { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; }
.fda-ara__ods--bajo { margin-top: .5rem; }
.fda-ara__ods-badge {
    font-size: 1rem;
    font-weight: 800;
    padding: .3rem .8rem;
    border-radius: .4rem;
    color: #fff;
    letter-spacing: .04em;
}
.fda-ara__ods-badge--13 { background: #3f7f44; }
.fda-ara__ods-badge--15 { background: #59ba47; }
.fda-ara__ods-badge--6  { background: #26bde2; }
.fda-ara__ods-badge--11 { background: #fd9d24; }
.fda-ara__ods-badge--1  { background: #e5243b; }
.fda-ara__ods-badge--2  { background: #dda63a; }

.fda-ara__nota {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(0,0,0,.07);
    font-size: 1.45rem;
    color: #777;
    line-height: 1.65;
}
.fda-ara__nota svg { flex-shrink: 0; color: var(--celeste); margin-top: .2rem; }

/* CTA */
.fda-cta {
    background: #060e06;
    padding: 9rem 0;
    position: relative;
    overflow: hidden;
}
.fda-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 60% at 50% 100%, rgba(74,149,193,.07) 0%, transparent 70%);
    pointer-events: none;
}
.fda-cta__inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 2.5rem 5rem;
}
.fda-cta__texto { flex: 1 1 24rem; }
.fda-cta__texto h2 {
    font-size: clamp(2.4rem, 3.5vw, 3.8rem);
    font-weight: 900;
    color: #fff;
    margin: 0 0 1rem;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.fda-cta__texto h2 em { color: var(--celeste); font-style: normal; }
.fda-cta__texto p { font-size: 1.6rem; color: rgba(255,255,255,.5); margin: 0; max-width: 50rem; line-height: 1.7; }
.fda-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: var(--celeste);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.6rem 3.2rem;
    border-radius: 10rem;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .25s, transform .25s;
}
.fda-cta__btn:hover { background: #3a80a8; transform: translateX(3px); }
/* Variante de acento verde (default = celeste) */
.fda-cta--verde::before { background: radial-gradient(ellipse 60% 60% at 50% 100%, rgba(114,191,68,.07) 0%, transparent 70%); }
.fda-cta--verde .fda-cta__texto h2 em { color: var(--verde); }
.fda-cta--verde .fda-cta__btn { background: var(--verde); }
.fda-cta--verde .fda-cta__btn:hover { background: #5aa832; }

/* JS contadores */
.fda-logros__num[data-target] { transition: none; }

/* Responsive */
@media (max-width: 1100px) {
    .fda-ara__flujo { grid-template-columns: 1fr; gap: 2.5rem; }
    .fda-ara__flechas { flex-direction: row; width: auto; padding: 0; }
    .fda-ara__flecha-v-wrap { display: none; }
    .fda-ara__aliados { flex-direction: row; justify-content: center; }
    .fda-ara__flecha-label { display: none; }
}
@media (max-width: 900px) {
    .fda-logros__grid { grid-template-columns: 1fr; gap: 2rem; }
    .fda-intro__textos { grid-template-columns: 1fr; }
    .fda-cta__inner { gap: 2.5rem 3rem; }
    .fda-mapa__cabeza { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
    .fda-hero__stats { gap: 2rem; }
    .fda-mapa__placeholder { height: 320px; }
    .fda-ara { padding: 3rem 2rem; }
}
@media (max-width: 460px) {
    /* Solo en móviles muy angostos el botón pasa debajo a ancho completo */
    .fda-cta__btn { width: 100%; justify-content: center; }
}

/* ============================================================
   TABLA DINÁMICA · Áreas Protegidas y cifras de beneficiarios
   (después de Logros en /autogestion-de-los-fondos-de-agua/)
   ============================================================ */
.fda-tabla {
    background: #f8fbf5;
    padding: 8rem 0 9rem;
    position: relative;
}
.fda-tabla__cabeza {
    text-align: center;
    max-width: 68rem;
    margin: 0 auto 4rem;
}
.fda-tabla__eyebrow {
    display: inline-flex; align-items: center;
    gap: .8rem;
    background: rgba(114,191,68,.13);
    border: 1px solid rgba(114,191,68,.35);
    color: var(--verde);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 1.6rem;
}
.fda-tabla__titulo {
    font-size: clamp(2.6rem, 3.6vw, 3.6rem);
    font-weight: 800;
    line-height: 1.2;
    color: #1a2e1a;
    margin: 0;
    letter-spacing: -.015em;
}
.fda-tabla__titulo em {
    font-style: normal;
    color: var(--celeste);
    font-weight: 800;
}

/* Stats destacadas */
.fda-tabla__stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4rem;
    flex-wrap: wrap;
    background: #fff;
    padding: 3.4rem 4rem;
    border-radius: 1.6rem;
    box-shadow: 0 4px 30px rgba(20,40,30,.06);
    border: 1px solid #e2eee0;
    max-width: 80rem;
    margin: 0 auto 5rem;
}
.fda-tabla__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
    text-align: center;
}
.fda-tabla__stat-num {
    font-size: clamp(3.4rem, 4.5vw, 4.6rem);
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    letter-spacing: -.02em;
}
/* Color de la cifra elegido por el cliente desde el panel (verde o celeste) */
.fda-tabla__stat--verde   .fda-tabla__stat-num { color: var(--verde); }
.fda-tabla__stat--celeste .fda-tabla__stat-num { color: var(--celeste); }
.fda-tabla__stat-label {
    font-size: 1.25rem;
    color: #555;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
    max-width: 22rem;
    line-height: 1.4;
}
.fda-tabla__stat-sep {
    width: 1px;
    height: 7rem;
    background: #d8e5d2;
}

/* Subtítulo de la tabla */
.fda-tabla__subtitulo {
    font-size: clamp(1.7rem, 2vw, 2.1rem);
    font-weight: 700;
    color: #1a2e1a;
    margin: 0 0 1.8rem;
    text-align: left;
    border-left: 4px solid var(--verde);
    padding-left: 1.2rem;
}

/* Tabla */
.fda-tabla__wrap {
    overflow-x: auto;
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0 4px 24px rgba(20,40,30,.07);
    border: 1px solid #e2eee0;
    margin-bottom: 1.6rem;
}
.fda-tabla__tbl {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
    min-width: 80rem;
}
.fda-tabla__tbl thead th {
    background: linear-gradient(135deg, var(--verde) 0%, #5fa838 100%);
    color: #fff;
    font-weight: 700;
    text-align: left;
    padding: 1.6rem 1.4rem;
    font-size: 1.3rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    vertical-align: middle;
    line-height: 1.3;
}
.fda-tabla__tbl thead th:last-child {
    text-align: center;
    width: 7rem;
}
.fda-tabla__tbl tbody td {
    padding: 1.4rem 1.4rem;
    border-bottom: 1px solid #ecf4e6;
    color: #333;
    line-height: 1.45;
    vertical-align: top;
}
.fda-tabla__tbl tbody tr:nth-child(even) td {
    background: #f6fbf2;
}
.fda-tabla__tbl tbody tr:hover td {
    background: #edf7e6;
}
.fda-tabla__tbl tbody tr:last-child td { border-bottom: none; }
.fda-tabla__tbl tbody td:first-child {
    font-weight: 600;
    color: #1a2e1a;
}
.fda-tabla__tbl tbody td:last-child {
    text-align: center;
    font-weight: 700;
    color: var(--verde);
    font-size: 1.5rem;
}

.fda-tabla__fuente {
    font-size: 1.25rem;
    color: #666;
    margin: 0;
    text-align: left;
    padding-left: .4rem;
}

@media (max-width: 700px) {
    .fda-tabla { padding: 5rem 0 6rem; }
    .fda-tabla__stats { padding: 2.4rem 2rem; gap: 2.4rem; }
    .fda-tabla__stat-sep { display: none; }
    .fda-tabla__tbl { font-size: 1.3rem; }
}

/* ============================================================
   HERO UNIFICADO · líneas estratégicas + Escuela ARA
   Patrón: chip + título + bajada + scroll (sin indicadores, sin stats)
   Aplica a: Autogestión Fondos, Crear AP, Resiliencia, Conservación
   Voluntaria, Desarrollo e Innovación, Escuela ARA
   ============================================================ */
.linea-hero {
    min-height: 88vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    position: relative;
    padding-bottom: 7rem;
    overflow: hidden;
}
.linea-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        170deg,
        rgba(6,14,6,.55) 0%,
        rgba(6,14,6,.32) 45%,
        rgba(74,149,193,.15) 100%
    );
}
.linea-hero__inner { position: relative; z-index: 1; }
.linea-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(74,149,193,.15);
    border: 1px solid rgba(74,149,193,.35);
    color: var(--celeste);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.linea-hero__titulo {
    font-size: clamp(3.8rem, 6.5vw, 7.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.06;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
}
.linea-hero__titulo em { color: var(--celeste); font-style: normal; }
.linea-hero__bajada {
    font-size: 1.9rem;
    color: rgba(255,255,255,.65);
    max-width: 50rem;
    line-height: 1.6;
    margin: 0 0 4.5rem;
}
.linea-hero__scroll {
    position: absolute;
    bottom: 2.5rem;
    right: 3rem;
    color: rgba(255,255,255,.35);
    animation: bounce 2s ease-in-out infinite;
}
@media (max-width: 600px) {
    .linea-hero { min-height: 70vh; padding-bottom: 5rem; }
    .linea-hero__scroll { right: 1.5rem; bottom: 1.5rem; }
}

/* ============================================================
   INNOVACIÓN — /desarrollo-e-innovacion/
   ============================================================ */

/* Hero */
.inn-hero {
    min-height: 90vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    position: relative;
    padding-bottom: 8rem;
    overflow: hidden;
}
.inn-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(6,14,6,.52) 0%,
        rgba(6,14,6,.30) 50%,
        rgba(74,149,193,.2) 100%
    );
}
.inn-hero__grid-deco {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(114,191,68,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(114,191,68,.06) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
}
.inn-hero__inner {
    position: relative;
    z-index: 1;
}
.inn-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(114,191,68,.15);
    border: 1px solid rgba(114,191,68,.35);
    color: var(--verde);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.inn-hero__titulo {
    font-size: clamp(4rem, 7vw, 8rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.05;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
}
.inn-hero__titulo em {
    color: var(--verde);
    font-style: normal;
}
.inn-hero__bajada {
    font-size: 1.9rem;
    color: rgba(255,255,255,.7);
    max-width: 52rem;
    line-height: 1.6;
    margin: 0 0 4rem;
}
.inn-hero__indicadores {
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
}
.inn-hero__ind {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: rgba(255,255,255,.55);
    font-size: 1.4rem;
    font-weight: 500;
}
.inn-hero__ind svg { color: var(--verde); flex-shrink: 0; }

/* Intro */
.inn-intro {
    background: #fff;
    padding: 7rem 0 6rem;
}

/* ═══════════════════════════════════════════════
   LOGROS · cifras del Laboratorio (fondo blanco · diseño profesional)
   ═══════════════════════════════════════════════ */
.inn-logros {
    position: relative;
    padding: 9rem 0;
    background: #fff;
    overflow: hidden;
}
.inn-logros__banda {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 50% 0%, rgba(114, 191, 68, .04), transparent 40%),
        radial-gradient(circle at 50% 100%, rgba(74, 149, 193, .04), transparent 40%);
    pointer-events: none;
}
.inn-logros .titular {
    position: relative;
    z-index: 1;
    margin-bottom: 5rem;
}
.inn-logros .titular__eyebrow {
    color: #4a95c1;
    border-color: #4a95c1;
}
.inn-logros .titular h2 {
    color: #1a2e1a;
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 800;
    letter-spacing: -.015em;
    line-height: 1.15;
}
.inn-logros .titular h2 em {
    font-style: normal;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.inn-logros__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(26rem, 1fr));
    gap: 0;
    max-width: 110rem;
    margin: 0 auto;
    border: 1px solid rgba(74, 149, 193, .15);
    border-radius: 1.6rem;
    overflow: hidden;
    box-shadow: 0 16px 50px rgba(74, 149, 193, .08), 0 2px 8px rgba(0, 0, 0, .03);
    background: #fff;
}
.inn-logros__item {
    text-align: left;
    padding: 4rem 3rem;
    background: #fff;
    border-right: 1px solid rgba(74, 149, 193, .12);
    position: relative;
    transition: background .3s ease;
}
.inn-logros__item:last-child {
    border-right: none;
}
.inn-logros__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #72bf44, #4a95c1);
    opacity: 0;
    transition: opacity .3s ease;
}
.inn-logros__item:hover {
    background: linear-gradient(180deg, #fafdf6 0%, #ffffff 100%);
}
.inn-logros__item:hover::before {
    opacity: 1;
}
.inn-logros__num {
    font-size: clamp(5rem, 7vw, 6.4rem);
    font-weight: 800;
    line-height: 1;
    margin-bottom: 1.6rem;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
    background: linear-gradient(135deg, #72bf44 0%, #4a95c1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline-block;
}
.inn-logros__label {
    font-size: 1.45rem;
    font-weight: 700;
    color: #1a2e1a;
    margin-bottom: 1rem;
    line-height: 1.3;
    letter-spacing: -.005em;
}
.inn-logros__desc {
    font-size: 1.3rem;
    color: #6b7268;
    line-height: 1.65;
}

@media (max-width: 880px) {
    .inn-logros__grid { grid-template-columns: 1fr; }
    .inn-logros__item {
        border-right: none;
        border-bottom: 1px solid rgba(74, 149, 193, .12);
    }
    .inn-logros__item:last-child { border-bottom: none; }
}
@media (max-width: 760px) {
    .inn-logros { padding: 6rem 0; }
    .inn-logros .titular { margin-bottom: 3rem; }
    .inn-logros__item { padding: 3rem 2rem; }
}
.inn-intro__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 6rem;
    align-items: start;
}
.inn-intro__lema {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}
.inn-intro__linea-v {
    width: 4px;
    min-height: 100%;
    background: linear-gradient(180deg, var(--verde), var(--celeste));
    border-radius: 2px;
    flex-shrink: 0;
    align-self: stretch;
}
.inn-intro__lema p {
    font-size: 2.2rem;
    font-weight: 700;
    color: #1a2e1a;
    line-height: 1.4;
    margin: 0;
}
.inn-intro__lema strong { color: var(--verde); }
.inn-intro__texto p {
    font-size: 1.65rem;
    color: #555;
    line-height: 1.8;
    margin: 0 0 1.6rem;
}
.inn-intro__texto p:last-child { margin-bottom: 0; }
.inn-intro__texto strong { color: #1a2e1a; }

/* Áreas */
.inn-areas { background: #f5f8f2; padding: 8rem 0 0; }
.inn-areas > .contenedor { margin-bottom: 6rem; }

/* Bloques alternados */
.inn-bloque {
    background: #fff;
}
.inn-bloque:nth-child(even) { background: #f9fbf7; }
.inn-bloque__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 52rem;
}
.inn-bloque--inv .inn-bloque__inner { }

/* Imagen placeholder */
.inn-bloque__imagen {
    position: relative;
    overflow: hidden;
    min-height: 42rem;
}
.inn-bloque__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.inn-bloque__img-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #e8f0e0 0%, #d4e8c8 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    color: rgba(114,191,68,.5);
    border: 2px dashed rgba(114,191,68,.3);
    transition: border-color .3s;
}
.inn-bloque__img-placeholder:hover { border-color: rgba(114,191,68,.6); }
.inn-bloque__img-placeholder span {
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(114,191,68,.6);
}
/* Cuando hay imagen real */
.inn-bloque__imagen img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Contenido del bloque */
.inn-bloque__contenido {
    padding: 6rem 5.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.inn-bloque__num {
    position: absolute;
    top: -1rem;
    right: 2rem;
    font-size: 12rem;
    font-weight: 900;
    color: rgba(114,191,68,.06);
    line-height: 1;
    letter-spacing: -.06em;
    pointer-events: none;
    user-select: none;
}
.inn-bloque__tag {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1.2rem;
}
.inn-bloque__titulo {
    font-size: clamp(2.4rem, 3vw, 3.4rem);
    font-weight: 900;
    color: #1a2e1a;
    line-height: 1.15;
    margin: 0 0 1.6rem;
    letter-spacing: -.02em;
}
.inn-bloque__acento {
    width: 4rem;
    height: 4px;
    background: linear-gradient(90deg, var(--verde), var(--celeste));
    border-radius: 2px;
    margin-bottom: 2.4rem;
}
.inn-bloque__texto {
    font-size: 1.6rem;
    color: #555;
    line-height: 1.8;
    margin: 0 0 1.6rem;
}
.inn-bloque__texto:last-of-type { margin-bottom: 2.4rem; }
.inn-bloque__texto strong { color: #1a2e1a; font-weight: 700; }
.inn-bloque__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: auto;
}
.inn-bloque__tags span {
    background: rgba(114,191,68,.1);
    color: var(--verde);
    font-size: 1.25rem;
    font-weight: 600;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    border: 1px solid rgba(114,191,68,.2);
}

/* Modelo de trabajo */
.inn-modelo {
    background: #060e06;
    padding: 9rem 0 10rem;
    position: relative;
    overflow: hidden;
}
.inn-modelo::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 50% at 50% 60%, rgba(74,149,193,.05) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 50% 30%, rgba(114,191,68,.05) 0%, transparent 70%);
    pointer-events: none;
}
.inn-modelo .titular--blanco h2 { color: #fff; }
.inn-modelo .titular--blanco em { color: var(--verde); }
.inn-modelo .titular--blanco .titular__eyebrow { color: rgba(114,191,68,.6); }
.inn-modelo__wrap {
    max-width: 620px;
    margin: 4rem auto 3rem;
}
.inn-modelo__svg {
    width: 100%;
    height: auto;
    display: block;
    /* Pulse animation on hub */
}
.inn-modelo__svg circle:nth-of-type(5) {
    animation: inn-pulse 3s ease-in-out infinite;
    transform-origin: 300px 300px;
}
@keyframes inn-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .7; transform: scale(1.04); }
}
.inn-modelo__nota {
    text-align: center;
    color: rgba(255,255,255,.4);
    font-size: 1.45rem;
    max-width: 55rem;
    margin: 0 auto;
    line-height: 1.7;
    font-style: italic;
}

/* CTA cierre */
.inn-cierre {
    background: #060e06;
    padding: 9rem 0;
    position: relative;
    overflow: hidden;
}
.inn-cierre::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(114,191,68,.08) 0%, transparent 70%);
    pointer-events: none;
}
.inn-cierre__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 5rem;
    align-items: center;
}
.inn-cierre__icono {
    width: 9rem;
    height: 9rem;
    background: rgba(114,191,68,.1);
    border: 1px solid rgba(114,191,68,.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--verde);
    flex-shrink: 0;
}
.inn-cierre__texto h2 {
    font-size: clamp(2.4rem, 3.5vw, 3.8rem);
    font-weight: 900;
    color: #fff;
    margin: 0 0 1rem;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.inn-cierre__texto h2 em { color: var(--verde); font-style: normal; }
.inn-cierre__texto p {
    font-size: 1.6rem;
    color: rgba(255,255,255,.5);
    line-height: 1.7;
    margin: 0;
    max-width: 50rem;
}
.inn-cierre__btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.6rem 3rem;
    border-radius: 10rem;
    text-decoration: none;
    white-space: nowrap;
    transition: background .25s, transform .25s;
    flex-shrink: 0;
}
.inn-cierre__btn:hover { background: #5aa832; transform: translateX(3px); }

/* ─── CTA final (Escuela ARA · Ecorregiones) ─── */
.ecorregion-cta {
    background: #060e06;
    padding: clamp(6rem, 9vw, 9.5rem) 0;
    position: relative;
    overflow: hidden;
}
.ecorregion-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 65% 70% at 50% 0%, rgba(114,191,68,.12) 0%, transparent 65%);
    pointer-events: none;
}
.ecorregion-cta__inner {
    position: relative;
    z-index: 1;
    max-width: 72rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}
.ecorregion-cta__titulo {
    font-size: clamp(2.6rem, 4vw, 4.2rem);
    font-weight: 900;
    color: #fff;
    margin: 0;
    line-height: 1.12;
    letter-spacing: -.03em;
}
.ecorregion-cta__titulo em { color: var(--verde); font-style: normal; }
.ecorregion-cta__titulo strong { color: var(--celeste); font-weight: inherit; }
.ecorregion-cta__desc {
    font-size: clamp(1.5rem, 2vw, 1.8rem);
    color: rgba(255,255,255,.6);
    line-height: 1.65;
    margin: 0;
    max-width: 54rem;
}
.ecorregion-cta__desc em     { color: var(--verde);   font-style: normal; }
.ecorregion-cta__desc strong { color: var(--celeste); font-weight: 700; }
.ecorregion-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.6rem 3.2rem;
    border-radius: 10rem;
    text-decoration: none;
    transition: background .25s, transform .25s, box-shadow .25s;
    box-shadow: 0 1rem 3rem rgba(114,191,68,.25);
}
.ecorregion-cta__btn svg { transition: transform .25s; }
.ecorregion-cta__btn:hover { background: #5aa832; transform: translateY(-2px); box-shadow: 0 1.4rem 3.6rem rgba(114,191,68,.35); }
.ecorregion-cta__btn:hover svg { transform: translateX(4px); }

/* Responsive */
@media (max-width: 1024px) {
    .inn-bloque__inner { grid-template-columns: 1fr; }
    .inn-bloque__imagen { min-height: 30rem; }
    .inn-bloque__img-placeholder { position: relative; min-height: 30rem; }
    .inn-bloque__contenido { padding: 4rem 3rem; }
    .inn-cierre__inner { grid-template-columns: 1fr; text-align: center; gap: 3rem; justify-items: center; }
}
@media (max-width: 768px) {
    .inn-intro__grid { grid-template-columns: 1fr; gap: 3rem; }
    .inn-hero__indicadores { gap: 2rem; }
    .inn-bloque__num { font-size: 7rem; }
}

/* ============================================================
   SINGLE HISTORIA — Página completa del artículo
   ============================================================ */

/* Hero de portada */
.hs-hero {
    min-height: 92vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: cover;
    background-position: center;
    background-color: #0d1a0d;
    position: relative;
    overflow: hidden;
}
.hs-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.28) 0%,
        rgba(0,0,0,.06) 35%,
        rgba(0,0,0,.52) 70%,
        rgba(0,0,0,.92) 100%
    );
}
.hs-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 7rem;
    max-width: 88rem;
}

/* Nav del hero — barra superior con el botón volver */
.hs-hero__nav {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding-top: 12rem;
    z-index: 3;
}

/* Botón volver */
.hs-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.2rem;
    font-weight: 600;
    color: rgba(255,255,255,.65);
    text-decoration: none;
    margin-bottom: 3rem;
    transition: color .2s, gap .2s;
}
.hs-hero__back:hover { color: #fff; gap: .9rem; }

/* Chip de categoría */
.hs-hero__chip { margin-bottom: 1.6rem; }
.hs-chip {
    display: inline-flex;
    align-items: center;
    padding: .5rem 1.4rem;
    background: #72bf44;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    border-radius: 10rem;
}

/* Título principal */
.hs-hero__titulo {
    font-size: clamp(3.4rem, 6vw, 6.4rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.06;
    letter-spacing: -.04em;
    margin: 0 0 2.4rem;
    max-width: 82rem;
}

/* Lead / extracto */
.hs-hero__lead {
    font-size: clamp(1.6rem, 2.2vw, 2rem);
    color: rgba(255,255,255,.78);
    line-height: 1.55;
    margin: 0 0 2.8rem;
    max-width: 68rem;
}

/* Meta: fecha + tiempo de lectura */
.hs-hero__meta {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    font-size: 1.3rem;
    color: rgba(255,255,255,.55);
    font-weight: 500;
}
.hs-hero__sep { opacity: .4; }

/* Flecha scroll */
.hs-hero__scroll {
    position: absolute;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,.4);
    animation: bounce-down 2s ease infinite;
}
@keyframes bounce-down {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(8px); }
}

/* ——— Artículo ——— */
.hs-article {
    background: #fff;
    padding: 6rem 0 8rem;
}
.hs-article__wrap {
    max-width: 76rem;
    margin: 0 auto;
    padding: 0 2.4rem;
}

/* Barra superior con fecha y compartir */
.hs-article__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 3.2rem;
    margin-bottom: 4rem;
    border-bottom: 1px solid #e4eaed;
}
.hs-article__bar-fecha {
    font-size: 1.2rem;
    font-weight: 600;
    color: #4a95c1;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hs-article__share {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: #9aaa9a;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.hs-share-btn {
    width: 3.4rem; height: 3.4rem;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none;
    transition: transform .2s, background .2s;
}
.hs-share-btn--fb  { background: #eaf4fb; color: #4a95c1; }
.hs-share-btn--wa  { background: #edf7e4; color: #72bf44; }
.hs-share-btn--tw  { background: #f4f6f3; color: #4a4a4a; }
.hs-share-btn:hover { transform: scale(1.12); }

/* Párrafo lead destacado — extracto al inicio del artículo */
.hs-article__lead {
    font-size: 2rem;
    line-height: 1.65;
    color: #2a3a2a;
    font-weight: 500;
    border-left: 4px solid #4a95c1;
    padding-left: 2.4rem;
    margin: 0 0 4rem;
}

/* Contenido editorial */
.hs-article__cuerpo {
    font-size: 1.75rem;
    line-height: 1.8;
    color: #2a3a2a;
}
.hs-article__cuerpo > p:first-child {
    font-size: 1.95rem;
    color: #1a2a1a;
    line-height: 1.7;
    font-weight: 500;
}
.hs-article__cuerpo h2 {
    font-size: clamp(2.4rem, 3.2vw, 3.2rem);
    font-weight: 800;
    color: #0d1a0d;
    margin: 5.6rem 0 2rem;
    letter-spacing: -.03em;
    line-height: 1.15;
    padding-left: 2rem;
    border-left: 4px solid #72bf44;
}
.hs-article__cuerpo h3 {
    font-size: clamp(1.9rem, 2.6vw, 2.4rem);
    font-weight: 700;
    color: #0d1a0d;
    margin: 4rem 0 1.4rem;
    letter-spacing: -.02em;
}
.hs-article__cuerpo p { margin: 0 0 2.4rem; }
.hs-article__cuerpo a {
    color: #4a95c1;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s;
}
.hs-article__cuerpo a:hover { color: #72bf44; }

/* Imágenes dentro del contenido */
.hs-article__cuerpo img {
    width: 100%;
    border-radius: 1.2rem;
    margin: 3.6rem 0;
    display: block;
}
.hs-article__cuerpo figure { margin: 3.6rem 0; }
.hs-article__cuerpo figcaption {
    font-size: 1.25rem;
    color: #8a9aa0;
    margin-top: 1rem;
    font-style: italic;
    text-align: center;
}

/* Cita destacada */
.hs-article__cuerpo blockquote {
    margin: 4rem 0;
    padding: 3rem 3.2rem 3rem 4rem;
    background: #f4f6f3;
    border-left: 5px solid #4a95c1;
    border-radius: 0 1.2rem 1.2rem 0;
    font-size: 2rem;
    font-style: italic;
    color: #2a3a2a;
    line-height: 1.6;
    position: relative;
}
.hs-article__cuerpo blockquote::before {
    content: '"';
    position: absolute;
    top: 1.2rem; left: 2rem;
    font-size: 5rem;
    color: #4a95c1;
    opacity: .25;
    line-height: 1;
    font-style: normal;
}

/* Listas */
.hs-article__cuerpo ul,
.hs-article__cuerpo ol {
    margin: 0 0 2.4rem 2rem;
    padding: 0;
}
.hs-article__cuerpo li {
    margin-bottom: 1rem;
    padding-left: .4rem;
}
.hs-article__cuerpo ul li::marker { color: #72bf44; }
.hs-article__cuerpo ol li::marker { color: #4a95c1; font-weight: 700; }

/* Galería de fotos extras de la historia */
.hs-galeria {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin: 4rem 0 2rem;
}
.hs-galeria__item {
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 1rem;
    box-shadow: 0 .8rem 2.5rem rgba(15,76,117,.1);
    transition: transform .3s, box-shadow .3s;
}
.hs-galeria__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s;
}
.hs-galeria__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 1.5rem 3.5rem rgba(15,76,117,.18);
}
.hs-galeria__item:hover img { transform: scale(1.05); }
@media (max-width: 700px) {
    .hs-galeria { grid-template-columns: 1fr; gap: 1rem; }
}

/* Pie del artículo */
.hs-article__pie {
    margin-top: 6rem;
    padding-top: 4rem;
    border-top: 1px solid #e4eaed;
}
.hs-volver {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.3rem;
    font-weight: 600;
    color: #4a95c1;
    text-decoration: none;
    padding: 1.2rem 2.4rem;
    border: 1.5px solid #4a95c1;
    border-radius: .8rem;
    transition: background .25s, color .25s;
}
.hs-volver:hover { background: #4a95c1; color: #fff; }

/* ——— Sección más historias ——— */
.hs-mas {
    padding: 8rem 0 10rem;
    background: #f4f6f3;
}

/* Responsive */
@media (max-width: 760px) {
    .hs-hero { min-height: 75vh; }
    .hs-hero__titulo { font-size: 3.2rem; }
    .hs-article__wrap { padding: 0 1.6rem; }
    .hs-article__bar { flex-direction: column; align-items: flex-start; gap: 1.6rem; }
    .hs-article__cuerpo { font-size: 1.6rem; }
    .hs-article__cuerpo blockquote { font-size: 1.7rem; padding: 2.4rem 2rem 2.4rem 3rem; }
}

/* ============================================================
   GCF TASK FORCE — /gcf-task-force/
   Governors Climate & Forest Task Force
   ============================================================ */

/* ── Hero ── */
.gcf-hero {
    position: relative;
    height: 85vh;
    min-height: 580px;
    background-size: cover;
    background-position: center top;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-color: #060e06;
}
.gcf-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to right, rgba(6,14,6,.60) 0%, rgba(6,14,6,.32) 48%, rgba(6,14,6,.08) 100%),
        linear-gradient(to top, rgba(6,14,6,.38) 0%, transparent 35%);
}
.gcf-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 8rem;
}
.gcf-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(114,191,68,.12);
    border: 1px solid rgba(114,191,68,.4);
    color: var(--verde);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.gcf-hero__titulo {
    font-size: clamp(3.6rem, 6vw, 7.2rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.05;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
    text-shadow: 0 2px 24px rgba(0,0,0,.4);
}
.gcf-hero__titulo em { color: var(--verde); font-style: normal; }
.gcf-hero__sub {
    font-size: 1.8rem;
    color: rgba(255,255,255,.8);
    line-height: 1.65;
    max-width: 55rem;
    margin: 0 0 3.5rem;
    text-shadow: 0 1px 8px rgba(0,0,0,.5);
}
.gcf-hero__tags { display: flex; flex-wrap: wrap; gap: 1rem; }
.gcf-hero__tag {
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: .05em;
    padding: .5rem 1.6rem;
    border-radius: 10rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.85);
    backdrop-filter: blur(4px);
}
.gcf-hero__tag--verde { background: var(--verde); border-color: var(--verde); color: #fff; }
.gcf-hero__scroll {
    position: absolute;
    bottom: 3.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background .3s;
    animation: gcf-bounce 2.4s ease-in-out infinite;
}
.gcf-hero__scroll:hover { background: rgba(114,191,68,.3); }
@keyframes gcf-bounce {
    0%,100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(7px); }
}

/* ── Intro ── */
.gcf-intro {
    padding: 9rem 0 8rem;
    background: #fff;
}
.gcf-intro__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: start;
}
.gcf-intro__lema {
    border-left: 4px solid var(--verde);
    padding-left: 3rem;
}
.gcf-intro__lema p {
    font-size: clamp(2rem, 2.5vw, 2.8rem);
    font-weight: 300;
    line-height: 1.5;
    color: var(--negro);
}
.gcf-intro__lema strong { font-weight: 800; color: var(--verde); }
.gcf-intro__texto p {
    font-size: 1.65rem;
    line-height: 1.8;
    color: var(--gris);
    margin-bottom: 1.6rem;
}
.gcf-intro__texto p:last-child { margin-bottom: 0; }

/* ── Bloques alternados imagen+texto ── */
.gcf-bloque {
    padding: 9rem 0;
    background: #fff;
}
.gcf-bloque--gris { background: var(--gris-suave); }
.gcf-bloque__grid {
    display: grid;
    grid-template-columns: 55% 1fr;
    gap: 6rem;
    align-items: center;
}
.gcf-bloque__grid--inv { grid-template-columns: 1fr 55%; }
.gcf-bloque--inv .gcf-bloque__grid { direction: rtl; }
.gcf-bloque--inv .gcf-bloque__grid > * { direction: ltr; }
.gcf-bloque__media { position: relative; }
.gcf-bloque__img {
    width: 100%;
    height: 48rem;
    object-fit: cover;
    border-radius: 1.6rem;
    display: block;
}
.gcf-bloque__placeholder {
    width: 100%;
    height: 42rem;
    background: var(--gris-borde);
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    color: #aaa;
    font-size: 1.4rem;
}
.gcf-bloque__badge {
    position: absolute;
    bottom: -1.8rem;
    right: 2.5rem;
    background: var(--verde);
    color: #fff;
    padding: 1.2rem 2rem;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    box-shadow: 0 8px 24px rgba(114,191,68,.3);
}
.gcf-bloque__badge--celeste { background: var(--celeste); box-shadow: 0 8px 24px rgba(74,149,193,.3); }
.gcf-bloque__badge span { font-size: 1.1rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.gcf-bloque__badge strong { font-size: 2.8rem; font-weight: 900; line-height: 1; }
.gcf-bloque__eyebrow {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1.2rem;
}
.gcf-bloque__texto h2 {
    font-size: clamp(2.8rem, 3.5vw, 4rem);
    font-weight: 800;
    color: var(--negro);
    line-height: 1.15;
    margin: 0 0 2.4rem;
}
.gcf-bloque__texto h2 em { color: var(--verde); font-style: normal; }
.gcf-bloque__texto p {
    font-size: 1.65rem;
    line-height: 1.8;
    color: var(--gris);
    margin-bottom: 1.6rem;
}
.gcf-bloque__cita {
    border-left: 3px solid var(--verde);
    padding: 1.4rem 2rem;
    margin: 2.4rem 0 0;
    background: rgba(114,191,68,.06);
    border-radius: 0 1rem 1rem 0;
    font-size: 1.6rem;
    font-style: italic;
    color: var(--negro);
    line-height: 1.6;
}
.gcf-bloque__stat {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-top: 2.8rem;
    padding: 1.6rem 2rem;
    background: var(--negro);
    border-radius: 1.2rem;
    color: #fff;
}
.gcf-bloque__stat strong {
    font-size: 3.6rem;
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    white-space: nowrap;
}
.gcf-bloque__stat span { font-size: 1.45rem; line-height: 1.5; color: rgba(255,255,255,.75); }
.gcf-bloque__lista {
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}
.gcf-bloque__lista li {
    padding-left: 2rem;
    position: relative;
    font-size: 1.55rem;
    color: var(--gris);
    line-height: 1.5;
}
.gcf-bloque__lista li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .7rem;
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: var(--verde);
}

/* ── Cifras ── */
.gcf-cifras {
    padding: 9rem 0;
    background: var(--negro);
}
.gcf-cifras__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.gcf-cifras__grid:has(.gcf-cifras__datos--full) { grid-template-columns: 1fr; }
.gcf-cifras__media img {
    width: 100%;
    height: 46rem;
    object-fit: cover;
    border-radius: 1.6rem;
}
.gcf-cifras__datos {
    color: #fff;
}
.gcf-cifras__eyebrow {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 2rem;
}
.gcf-cifras__num {
    font-size: clamp(7rem, 12vw, 12rem);
    font-weight: 900;
    color: var(--verde);
    line-height: .9;
    letter-spacing: -.04em;
}
.gcf-cifras__unidad {
    font-size: 2.4rem;
    font-weight: 300;
    color: rgba(255,255,255,.6);
    margin-bottom: 2.4rem;
    letter-spacing: .04em;
}
.gcf-cifras__desc {
    font-size: 1.7rem;
    color: rgba(255,255,255,.75);
    line-height: 1.7;
    margin-bottom: 3rem;
}
.gcf-cifras__pills {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}
.gcf-cifras__pills span {
    font-size: 1.2rem;
    font-weight: 600;
    padding: .45rem 1.4rem;
    border-radius: 10rem;
    border: 1px solid rgba(114,191,68,.35);
    color: rgba(255,255,255,.7);
}

/* ── Intercambio circular photos ── */
.gcf-intercambio {
    padding: 9rem 0 10rem;
    background: var(--verde);
    position: relative;
}
.gcf-intercambio .titular__eyebrow { color: rgba(255,255,255,.7); }
.gcf-intercambio .titular h2 { color: #fff; }
.gcf-intercambio .titular h2 em { color: var(--negro); }
.gcf-intercambio .titular__sub { color: rgba(255,255,255,.8); font-size: 1.65rem; margin-top: 1.2rem; }
.gcf-intercambio__fotos {
    display: flex;
    justify-content: center;
    gap: 4rem;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.gcf-intercambio__foto {
    width: 26rem;
    height: 26rem;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid rgba(255,255,255,.35);
    box-shadow: 0 12px 40px rgba(0,0,0,.2);
    flex-shrink: 0;
}
.gcf-intercambio__foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.gcf-intercambio__foto:hover img { transform: scale(1.06); }
.gcf-intercambio__foto-ph {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.6);
}

/* ── Paneles foto grid ── */
.gcf-paneles {
    padding: 9rem 0;
    background: #fff;
}
.gcf-paneles__grid {
    margin-top: 4.5rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto auto;
    gap: 1.4rem;
}
.gcf-paneles__item { border-radius: 1.2rem; overflow: hidden; }
.gcf-paneles__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.gcf-paneles__item:hover img { transform: scale(1.04); }
.gcf-paneles__item--1 { grid-column: span 7; height: 40rem; }
.gcf-paneles__item--2 { grid-column: span 5; height: 40rem; }
.gcf-paneles__item--3 { grid-column: span 4; height: 28rem; }
.gcf-paneles__item--4 { grid-column: span 4; height: 28rem; }
.gcf-paneles__item--5 { grid-column: span 4; height: 28rem; }
.gcf-paneles__placeholder {
    margin-top: 4rem;
    padding: 6rem 3rem;
    background: var(--gris-suave);
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.4rem;
    color: #aaa;
    text-align: center;
    font-size: 1.4rem;
}

/* ── Desafíos ── */
.gcf-desafios {
    position: relative;
    min-height: 52vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.gcf-desafios__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}
.gcf-desafios__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(6,14,6,.92) 0%, rgba(6,14,6,.7) 50%, rgba(6,14,6,.3) 100%);
}
.gcf-desafios__inner { position: relative; z-index: 2; padding: 8rem 0; }
.gcf-desafios__contenido { max-width: 62rem; }
.gcf-desafios__eyebrow {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1.4rem;
}
.gcf-desafios__contenido h2 {
    font-size: clamp(3rem, 4vw, 5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    margin: 0 0 2.4rem;
}
.gcf-desafios__contenido h2 em { color: var(--verde); font-style: normal; }
.gcf-desafios__contenido p {
    font-size: 1.7rem;
    color: rgba(255,255,255,.75);
    line-height: 1.75;
}

/* ── CTA ── */
.gcf-cta {
    padding: 9rem 0;
    background: var(--negro);
}
.gcf-cta__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4rem;
    align-items: center;
}
.gcf-cta__texto h2 {
    font-size: clamp(2.8rem, 3.5vw, 4rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 1.2rem;
}
.gcf-cta__texto h2 em { color: var(--verde); font-style: normal; }
.gcf-cta__texto p { font-size: 1.6rem; color: rgba(255,255,255,.6); line-height: 1.6; }
.gcf-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 1.5rem 3rem;
    border-radius: 10rem;
    text-decoration: none;
    white-space: nowrap;
    transition: background .25s, transform .25s;
}
.gcf-cta__btn:hover { background: var(--verde-oscuro); transform: translateX(3px); }
/* Variante de acento celeste (default = verde, estilo GCF) */
.gcf-cta--celeste .gcf-cta__texto h2 em { color: var(--celeste); }
.gcf-cta--celeste .gcf-cta__btn { background: var(--celeste); }
.gcf-cta--celeste .gcf-cta__btn:hover { background: var(--celeste-osc); }
/* Cuando el CTA se usa como bloque en una Zona Libre: que .home-zona-libre a
   (azul + subrayado) NO rompa el botón ni los textos. */
.home-zona-libre .gcf-cta__texto h2 { color: #fff; }
.home-zona-libre .gcf-cta__texto h2 em { color: var(--verde); }
.home-zona-libre .gcf-cta--celeste .gcf-cta__texto h2 em { color: var(--celeste); }
.home-zona-libre .gcf-cta__texto p { color: rgba(255,255,255,.6); }
.home-zona-libre .gcf-cta__btn { color: #fff; text-decoration: none; font-weight: 700; }
.home-zona-libre .gcf-cta__btn:hover { color: #fff; }

/* Responsive GCF */
@media (max-width: 960px) {
    .gcf-intro__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .gcf-bloque__grid,
    .gcf-bloque__grid--inv { grid-template-columns: 1fr; }
    .gcf-bloque--inv .gcf-bloque__grid { direction: ltr; }
    .gcf-bloque__img { height: 32rem; }
    .gcf-bloque__badge { bottom: -1.4rem; right: 1.5rem; }
    .gcf-cifras__grid { grid-template-columns: 1fr; }
    .gcf-intercambio__foto { width: 20rem; height: 20rem; }
    .gcf-paneles__grid { grid-template-columns: 1fr 1fr; }
    .gcf-paneles__item--1,
    .gcf-paneles__item--2,
    .gcf-paneles__item--3,
    .gcf-paneles__item--4,
    .gcf-paneles__item--5 { grid-column: span 1; height: 22rem; }
    .gcf-cta__inner { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .gcf-hero { height: 100vh; }
    .gcf-intercambio__fotos { gap: 2rem; }
    .gcf-intercambio__foto { width: 15rem; height: 15rem; }
    .gcf-paneles__grid { grid-template-columns: 1fr; }
    .gcf-paneles__item--1,
    .gcf-paneles__item--2,
    .gcf-paneles__item--3,
    .gcf-paneles__item--4,
    .gcf-paneles__item--5 { grid-column: span 1; height: 20rem; }
}

/* ============================================================
   RESILIENCIA CLIMÁTICA COMUNITARIA — /resilencia-climatica-comunitaria/
   ============================================================ */

/* Hero */
.rcc-hero {
    position: relative;
    min-height: 88vh;
    background: var(--negro);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding-bottom: 7rem;
    overflow: hidden;
}
.rcc-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        170deg,
        rgba(6, 14, 6, .55) 0%,
        rgba(6, 14, 6, .32) 45%,
        rgba(74, 149, 193, .15) 100%
    );
}
.rcc-hero__inner { position: relative; z-index: 2; max-width: 75rem; }
.rcc-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(74,149,193,.15);
    border: 1px solid rgba(74,149,193,.4);
    color: var(--celeste);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.rcc-hero__titulo {
    font-size: clamp(4rem, 6.5vw, 7.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.04;
    letter-spacing: -.03em;
    margin: 0 0 2rem;
    text-shadow: 0 2px 24px rgba(0,0,0,.4);
}
.rcc-hero__titulo em { color: var(--celeste); font-style: normal; }
.rcc-hero__sub {
    font-size: 1.8rem;
    color: rgba(255,255,255,.75);
    line-height: 1.65;
    max-width: 58rem;
    margin: 0 0 4rem;
}
.rcc-hero__stats {
    display: flex;
    align-items: center;
    gap: 3rem;
    background: rgba(0,0,0,.32);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 1.4rem;
    padding: 1.8rem 3rem;
    width: fit-content;
}
.rcc-hero__stat { display: flex; flex-direction: column; gap: .3rem; }
.rcc-hero__stat strong { font-size: 3rem; font-weight: 900; color: #fff; line-height: 1; letter-spacing: -.02em; }
.rcc-hero__stat span { font-size: 1.2rem; color: rgba(255,255,255,.55); text-transform: uppercase; letter-spacing: .06em; }
.rcc-hero__stat-div { width: 1px; height: 4rem; background: rgba(255,255,255,.15); flex-shrink: 0; }
.rcc-hero__scroll {
    position: absolute;
    bottom: 3.5rem; left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    width: 4.4rem; height: 4.4rem;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none;
    transition: background .3s;
    animation: rcc-bounce 2.4s ease-in-out infinite;
}
.rcc-hero__scroll:hover { background: rgba(74,149,193,.3); }
@keyframes rcc-bounce {
    0%,100% { transform: translateX(-50%) translateY(0); }
    50%      { transform: translateX(-50%) translateY(7px); }
}

/* Intro */
.rcc-intro { padding: 9rem 0 8rem; background: #fff; }

/* Cabecera full-width: eyebrow + título */
.rcc-intro__cabeza {
    max-width: 90rem;
    margin: 0 auto 5rem;
    text-align: center;
}
.rcc-intro__eyebrow {
    display: block;
    font-size: 1.2rem; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1.4rem;
}
.rcc-intro__titulo {
    font-size: clamp(3rem, 4.6vw, 5rem);
    font-weight: 900; color: var(--negro);
    line-height: 1.1; letter-spacing: -.02em;
    margin: 0;
}
.rcc-intro__titulo em { color: var(--celeste); font-style: normal; }

/* Lema base (legacy / cabecera) */
.rcc-intro__lema {
    background: linear-gradient(135deg, rgba(74,149,193,.07), rgba(114,191,68,.05));
    border-left: 4px solid var(--celeste);
    border-radius: 0 1.2rem 1.2rem 0;
    padding: 2rem 2.4rem;
}
.rcc-intro__lema p {
    font-size: clamp(1.7rem, 2.2vw, 2.2rem);
    font-weight: 300; line-height: 1.5;
    color: var(--negro); margin: 0;
}
.rcc-intro__lema strong { font-weight: 800; color: var(--negro); }
.rcc-verde { color: var(--verde) !important; }

/* Lema inline (encima de los párrafos · estilo pull-quote profesional) */
.rcc-intro__lema--inline {
    background: none;
    border: 0;
    border-left: 3px solid var(--verde);
    border-radius: 0;
    padding: .4rem 0 .4rem 2.2rem;
    margin: 0 0 2.6rem;
    position: relative;
}
.rcc-intro__lema--inline::before {
    content: "";
    position: absolute;
    left: -3px; top: 0; bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--verde), var(--celeste));
    border-radius: 3px;
}
.rcc-intro__lema--inline p {
    font-family: "Mulish", system-ui, sans-serif;
    font-size: clamp(1.8rem, 1.9vw, 2.2rem);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -.005em;
    color: var(--negro);
}
.rcc-intro__lema--inline strong { font-weight: 800; color: var(--negro); }

/* Grid: mapa (izq) + párrafos (der) */
.rcc-intro__grid {
    display: grid;
    grid-template-columns: 52% 1fr;
    gap: 5rem;
    align-items: start;
}
.rcc-intro__mapa {
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 1.6rem;
    padding: 1.6rem;
    box-shadow: 0 12px 36px rgba(0,0,0,.06);
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.6rem;
}
.rcc-intro__mapa .mapa-bo__svg-wrap--fa {
    margin: 0;
    width: 100%;
    /* Optimización de paint — el browser solo pinta el SVG cuando está cerca del viewport */
    content-visibility: auto;
    contain-intrinsic-size: 600px 600px;
}

/* Leyenda del mapa de Fondos de Agua (RCC) */
.rcc-mapa__leyenda {
    list-style: none;
    padding: 1.4rem 1.6rem;
    margin: 1.4rem 0 0;
    background: #f8fbfd;
    border: 1px solid #e0eaf0;
    border-radius: .8rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: .8rem 1.6rem;
}
.rcc-mapa__leyenda-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .8rem;
    font-size: 1.3rem;
    color: #2c4a63;
}
.rcc-mapa__leyenda-dot {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: #4a95c1;
    flex-shrink: 0;
}
.rcc-mapa__leyenda-dot--valles                 { background: #72bf44; }
.rcc-mapa__leyenda-dot--chaco                  { background: #d4a017; }
.rcc-mapa__leyenda-dot--yungas                 { background: #2c8b3d; }
.rcc-mapa__leyenda-dot--amazonia               { background: #1a6fa8; }
.rcc-mapa__leyenda-dot--charagua-chiquitania-2 { background: #8a5cb0; }
.rcc-mapa__leyenda-dot--valles-sur             { background: #c44d2c; }
.rcc-mapa__leyenda-dot--chiquitania-1          { background: #4a95c1; }
.rcc-mapa__leyenda-label { font-weight: 600; color: #1a4d6e; }
.rcc-mapa__leyenda-num {
    font-weight: 800;
    color: #0a2540;
    background: #ffffff;
    border: 1px solid #d8e3ec;
    border-radius: 10rem;
    padding: .2rem .9rem;
    font-size: 1.25rem;
    min-width: 3rem;
    text-align: center;
}
.rcc-intro__leyenda {
    margin: 0;
    padding: 1.4rem 1.6rem 1.6rem;
    background: #fafbfc;
    border-radius: 1rem;
}

.rcc-intro__texto p {
    font-size: 1.65rem; line-height: 1.85;
    color: var(--gris); margin-bottom: 1.8rem;
}
.rcc-intro__texto p:last-child { margin-bottom: 0; }

/* Logros */
.rcc-logros { background: var(--negro); padding: 9rem 0 10rem; }
.rcc-logros .titular--blanco h2 { color: #fff; }
.rcc-logros .titular--blanco em { color: var(--verde); }
.rcc-logros .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }
.rcc-logros__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem;
    margin-top: 5rem;
}
.rcc-logros__item {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 1.6rem;
    padding: 3.5rem 2.5rem 3rem;
    text-align: center;
    transition: background .3s, border-color .3s, transform .3s;
    opacity: 0; transform: translateY(20px);
    transition: opacity .5s ease calc(var(--d, 0s)), transform .5s ease calc(var(--d, 0s)), background .3s, border-color .3s;
}
.rcc-logros__item.is-visible {
    opacity: 1; transform: translateY(0);
}
.rcc-logros__item:hover {
    background: rgba(74,149,193,.08);
    border-color: rgba(74,149,193,.25);
    transform: translateY(-4px);
}
.rcc-logros__icono {
    width: 5.6rem; height: 5.6rem;
    margin: 0 auto 2rem;
    color: var(--celeste);
}
.rcc-logros__icono svg { width: 100%; height: 100%; }
.rcc-logros__num {
    font-size: clamp(3.8rem, 5vw, 5.5rem);
    font-weight: 900; color: #fff;
    line-height: 1; letter-spacing: -.03em;
    margin-bottom: .8rem;
}
.rcc-logros__unit { font-size: .6em; color: var(--celeste); }
.rcc-logros__label { font-size: 1.5rem; font-weight: 700; color: rgba(255,255,255,.9); margin-bottom: .5rem; }
.rcc-logros__desc  { font-size: 1.25rem; color: rgba(255,255,255,.4); }

/* Mapa */
/* Rol de Natura */
.rcc-rol {
    padding: 9rem 0;
    background: var(--gris-suave);
}
.rcc-rol__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.rcc-rol__img {
    width: 100%;
    height: 52rem;
    object-fit: cover;
    border-radius: 2rem;
    display: block;
}
.rcc-rol__placeholder {
    width: 100%;
    height: 52rem;
    background: #e8ebe4;
    border-radius: 2rem;
    border: 2px dashed var(--gris-borde);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    color: #aaa;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.6;
}
.rcc-rol__eyebrow {
    display: inline-block;
    color: var(--celeste);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.rcc-rol__contenido h2 {
    font-size: clamp(2.8rem, 3.5vw, 3.8rem);
    font-weight: 800;
    color: var(--negro);
    line-height: 1.2;
    margin: 0 0 2.4rem;
}
.rcc-rol__contenido h2 em { color: var(--celeste); font-style: italic; }
.rcc-rol__objetivo {
    font-size: 1.55rem;
    color: var(--gris);
    line-height: 1.75;
    margin-bottom: 2.4rem;
    padding: 1.6rem 2rem;
    background: rgba(74,149,193,.07);
    border-left: 3px solid var(--celeste);
    border-radius: 0 1rem 1rem 0;
}
.rcc-rol__objetivo strong { color: var(--negro); font-weight: 700; }
.rcc-rol__lista {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.rcc-rol__lista li {
    font-size: 1.5rem;
    color: var(--gris);
    line-height: 1.7;
    padding-left: 2rem;
    position: relative;
}
.rcc-rol__lista li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .8rem;
    width: .7rem;
    height: .7rem;
    background: var(--celeste);
    border-radius: 50%;
}

/* Actividades principales */
.rcc-actividades {
    padding: 9rem 0;
    background: var(--negro);
}
.rcc-actividades__cabeza {
    text-align: center;
    margin-bottom: 6rem;
}
.rcc-actividades__eyebrow {
    display: inline-block;
    color: var(--verde);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.rcc-actividades__cabeza h2 {
    font-size: clamp(2.8rem, 3.5vw, 3.8rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.25;
    margin: 0;
}
.rcc-actividades__cabeza h2 em { color: var(--verde); font-style: italic; }
.rcc-actividades__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.6rem;
}
.rcc-act__card {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 1.6rem;
    padding: 3.2rem 2.4rem;
    position: relative;
    overflow: hidden;
    transition: background .25s, transform .25s, box-shadow .25s;
}
.rcc-act__card:hover {
    background: rgba(255,255,255,.09);
    transform: translateY(-4px);
    box-shadow: 0 1.6rem 4rem rgba(0,0,0,.35);
}
.rcc-act__numero {
    font-size: 6rem;
    font-weight: 900;
    line-height: 1;
    color: rgba(255,255,255,.07);
    margin-bottom: 1.6rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
}
.rcc-act__barra {
    width: 4rem;
    height: .4rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.rcc-act__barra--verde   { background: var(--verde); }
.rcc-act__barra--celeste { background: var(--celeste); }
.rcc-act__barra--naranja { background: #e07b30; }
.rcc-act__barra--cafe    { background: #b08060; }
.rcc-act__barra--gris    { background: #8ba08b; }
.rcc-act__tag {
    display: inline-block;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .45rem 1.3rem;
    border-radius: .7rem;
    margin-bottom: 1.6rem;
    color: #fff;
}
.rcc-act__tag--verde    { background: var(--verde); }
.rcc-act__tag--celeste  { background: var(--celeste); }
.rcc-act__tag--naranja  { background: #e07b30; }
.rcc-act__tag--cafe     { background: #b08060; }
.rcc-act__tag--gris     { background: #8ba08b; }
.rcc-act__card p {
    font-size: 1.4rem;
    color: rgba(255,255,255,.6);
    line-height: 1.75;
    margin: 0;
}

/* ── Bloque "Actividades" reutilizable (Zonas Libres) ── */
/* Variantes de fondo de la sección */
.rcc-actividades--verde   { background: #0e1b08; }
.rcc-actividades--celeste { background: #0a1f2e; }
.rcc-actividades--imagen  { position: relative; background-size: cover; background-position: center; }
.rcc-actividades__overlay {
    position: absolute; inset: 0; z-index: 0;
    background: linear-gradient(180deg, rgba(8,12,8,.80), rgba(8,12,8,.90));
}
.rcc-actividades--imagen .contenedor { position: relative; z-index: 1; }
/* Grilla que se adapta a 1–5 tarjetas */
.rcc-actividades__grid--auto { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
/* Tarjeta con foto de fondo (overlay para legibilidad) */
.rcc-act__card--foto { background-size: cover; background-position: center; }
.rcc-act__card--foto::before {
    content: ''; position: absolute; inset: 0; z-index: 0;
    background: linear-gradient(180deg, rgba(10,14,10,.70), rgba(10,14,10,.88));
}
.rcc-act__card--foto > * { position: relative; z-index: 1; }
.rcc-act__card--foto .rcc-act__numero { color: rgba(255,255,255,.18); }
/* En Zonas Libres: conservar el título grande y el énfasis verde SIN cursiva */
.home-zona-libre .rcc-actividades__cabeza h2 { font-size: clamp(3rem, 5vw, 5.6rem); color: #fff; }
.home-zona-libre .rcc-actividades__cabeza h2 em { color: var(--verde); font-style: normal; }

.rcc-mapa { background: #f4f6f3; padding: 9rem 0; }
.rcc-mapa__cabeza { text-align: center; margin-bottom: 5rem; }
.rcc-mapa__eyebrow {
    display: block;
    font-size: 1.2rem; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--celeste); margin-bottom: 1.2rem;
}
.rcc-mapa__titulo {
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    font-weight: 900; color: var(--negro);
    line-height: 1.15; margin: 0 0 1.4rem;
}
.rcc-mapa__titulo em { color: var(--celeste); font-style: normal; }
.rcc-mapa__sub { font-size: 1.65rem; color: var(--gris); max-width: 55rem; margin: 0 auto; line-height: 1.6; }
.rcc-mapa__frame {
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,.12);
}
.rcc-mapa__frame iframe {
    display: block; width: 100%;
    height: 580px; border: 0;
}

/* CTA */
.rcc-cta { padding: 9rem 0; background: var(--negro); }
.rcc-cta__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4rem; align-items: center;
}
.rcc-cta__texto h2 {
    font-size: clamp(2.8rem, 3.5vw, 4rem);
    font-weight: 800; color: #fff;
    line-height: 1.2; margin: 0 0 1rem;
}
.rcc-cta__texto h2 em { color: var(--celeste); font-style: normal; }
.rcc-cta__texto p { font-size: 1.6rem; color: rgba(255,255,255,.55); line-height: 1.6; }
.rcc-cta__btn {
    display: inline-flex; align-items: center; gap: 1rem;
    background: var(--celeste); color: #fff;
    font-size: 1.5rem; font-weight: 700;
    padding: 1.5rem 3rem; border-radius: 10rem;
    text-decoration: none; white-space: nowrap;
    transition: background .25s, transform .25s;
}
.rcc-cta__btn:hover { background: var(--celeste-osc); transform: translateX(3px); }

/* Responsive */
@media (max-width: 960px) {
    .rcc-intro__grid { grid-template-columns: 1fr; gap: 3rem; }
    .rcc-intro__cabeza { margin-bottom: 3.5rem; }
    .rcc-rol__grid { grid-template-columns: 1fr; gap: 3rem; }
    .rcc-actividades__grid { grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
    .rcc-logros__grid { grid-template-columns: repeat(2, 1fr); }
    .rcc-cta__inner { grid-template-columns: 1fr; }
    .rcc-hero__stats { flex-wrap: wrap; gap: 2rem; }
}
@media (max-width: 600px) {
    .rcc-hero { min-height: 100vh; }
    .rcc-rol__img, .rcc-rol__placeholder { height: 28rem; }
    .rcc-actividades__grid { grid-template-columns: 1fr; }
    .rcc-logros__grid { grid-template-columns: 1fr 1fr; gap: 1.6rem; }
    .rcc-mapa__frame iframe { height: 380px; }
}

/* ============================================================
   VIDEOS — /videos/
   ============================================================ */

.vid-hero {
    background: var(--negro);
    padding: 12rem 0 7rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.vid-hero__bg {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(114,191,68,.08) 0%, transparent 60%),
                radial-gradient(ellipse at 75% 40%, rgba(74,149,193,.07) 0%, transparent 55%);
}
.vid-hero__inner { position: relative; z-index: 1; }
.vid-hero__chip {
    display: inline-flex; align-items: center; gap: .8rem;
    background: rgba(255,0,0,.1); border: 1px solid rgba(255,60,60,.3);
    color: #ff5555; font-size: 1.15rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    padding: .5rem 1.6rem; border-radius: 10rem; margin-bottom: 2.4rem;
}
.vid-hero__titulo {
    font-size: clamp(5.5rem, 9vw, 10rem); font-weight: 900;
    color: #fff; line-height: 1; letter-spacing: -.04em; margin: 0 0 2rem;
}
.vid-hero__sub {
    font-size: 1.8rem; color: rgba(255,255,255,.6);
    max-width: 52rem; margin: 0 auto 2.4rem; line-height: 1.65;
}
.vid-hero__count {
    display: inline-block; font-size: 1.3rem; font-weight: 700;
    color: rgba(255,255,255,.35); letter-spacing: .06em;
}

/* Filtros */
.vid-filtros {
    background: #111; border-bottom: 1px solid rgba(255,255,255,.08);
    position: sticky; top: 0; z-index: 90;
}
.vid-filtros__inner {
    display: flex; align-items: center; gap: .8rem;
    flex-wrap: wrap; padding: 1.4rem 0;
}
.vid-filtros__btn {
    font-size: 1.3rem; font-weight: 600; padding: .65rem 1.8rem;
    border-radius: 10rem; border: 1.5px solid rgba(255,255,255,.12);
    background: transparent; color: rgba(255,255,255,.55); cursor: pointer;
    transition: all .2s;
}
.vid-filtros__btn:hover { border-color: rgba(255,255,255,.3); color: #fff; }
.vid-filtros__btn--activo { background: #fff; border-color: #fff; color: var(--negro); }

/* Main */
.vid-main { background: #0e0f0d; padding: 6rem 0 10rem; }

/* Grid */
.vid-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

/* Card */
.vid-card {
    display: flex; flex-direction: column;
    border-radius: 1.2rem; overflow: hidden;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.07);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.vid-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,255,255,.15);
    box-shadow: 0 16px 48px rgba(0,0,0,.4);
}

/* Thumbnail */
.vid-card__thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    cursor: pointer;
    background: #1a1a1a;
}
.vid-card__img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .4s ease, filter .4s ease;
}
.vid-card:hover .vid-card__img { transform: scale(1.04); filter: brightness(.85); }

.vid-card__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.55) 0%, transparent 60%);
    transition: background .3s;
}
.vid-card:hover .vid-card__overlay {
    background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.2) 100%);
}

/* Botón play */
.vid-card__play {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    background: transparent; border: none; cursor: pointer;
    padding: 0;
}
.vid-card__play svg {
    width: 7rem; height: 7rem;
    filter: drop-shadow(0 4px 16px rgba(0,0,0,.5));
    transition: transform .25s ease;
}
.vid-card__play circle { transition: fill .25s; }
.vid-card:hover .vid-card__play svg { transform: scale(1.12); }
.vid-card:hover .vid-card__play circle { fill: rgba(220,0,0,.8); }

/* Badge categoría */
.vid-card__badge {
    position: absolute; top: 1.2rem; left: 1.2rem;
    background: rgba(0,0,0,.6); backdrop-filter: blur(4px);
    color: #fff; font-size: 1.1rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    padding: .3rem 1rem; border-radius: 10rem;
    border: 1px solid rgba(255,255,255,.15);
}

/* iframe una vez reproducido */
.vid-card__iframe-wrap {
    position: relative; aspect-ratio: 16 / 9;
    background: #000;
}
.vid-card__iframe-wrap iframe {
    position: absolute; inset: 0;
    width: 100%; height: 100%; border: 0;
}

/* Info */
.vid-card__info {
    padding: 2rem 2.2rem 2.2rem;
    display: flex; flex-direction: column; gap: .8rem; flex: 1;
}
.vid-card__titulo {
    font-size: 1.55rem; font-weight: 700; color: #fff;
    line-height: 1.4; margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vid-card__desc {
    font-size: 1.35rem; color: rgba(255,255,255,.5);
    line-height: 1.6; margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.vid-card__yt-link {
    display: inline-flex; align-items: center; gap: .6rem;
    font-size: 1.2rem; font-weight: 600; color: rgba(255,255,255,.3);
    text-decoration: none; margin-top: auto; padding-top: .6rem;
    transition: color .2s;
}
.vid-card__yt-link:hover { color: #ff5555; }

/* Empty */
.vid-empty {
    text-align: center; padding: 10rem 2rem;
    color: rgba(255,255,255,.3);
    display: flex; flex-direction: column; align-items: center; gap: 2rem;
    font-size: 1.55rem; line-height: 1.7;
}
.vid-empty strong { color: rgba(255,255,255,.6); }

/* Responsive */
@media (max-width: 960px) { .vid-grid { grid-template-columns: repeat(2, 1fr); gap: 2.4rem; } }
@media (max-width: 580px) { .vid-grid { grid-template-columns: 1fr; gap: 2rem; } }

/* ============================================================
   BOLETÍN NATURALIA — /boletin-naturalia/
   ============================================================ */

.nat-hero {
    background: var(--negro);
    padding: 12rem 0 8rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.nat-hero__deco { position: absolute; inset: 0; pointer-events: none; }
.nat-hero__deco-circle {
    position: absolute; border-radius: 50%;
    background: radial-gradient(circle, rgba(114,191,68,.12) 0%, transparent 70%);
}
.nat-hero__deco-circle--1 { width: 60rem; height: 60rem; top: -20rem; left: -15rem; }
.nat-hero__deco-circle--2 { width: 50rem; height: 50rem; bottom: -20rem; right: -10rem; background: radial-gradient(circle, rgba(74,149,193,.1) 0%, transparent 70%); }

.nat-hero__inner { position: relative; z-index: 1; }
.nat-hero__chip {
    display: inline-flex; align-items: center; gap: .7rem;
    background: rgba(114,191,68,.1); border: 1px solid rgba(114,191,68,.3);
    color: var(--verde); font-size: 1.15rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    padding: .5rem 1.6rem; border-radius: 10rem; margin-bottom: 2.4rem;
}
.nat-hero__titulo {
    font-size: clamp(5rem, 8vw, 9rem); font-weight: 900;
    color: #fff; line-height: 1; letter-spacing: -.04em;
    margin: 0 0 2rem;
}
.nat-hero__titulo em { color: var(--verde); font-style: normal; }
.nat-hero__sub {
    font-size: 1.8rem; color: rgba(255,255,255,.6);
    max-width: 50rem; margin: 0 auto 2.5rem; line-height: 1.6;
}
.nat-hero__meta {
    display: flex; align-items: center; justify-content: center;
    gap: 1.2rem; font-size: 1.35rem; color: rgba(255,255,255,.4);
    font-weight: 600; letter-spacing: .04em;
}
.nat-hero__sep { color: var(--verde); }

/* Main */
.nat-main { background: var(--gris-suave); padding: 7rem 0 10rem; }

/* Grupo por año */
.nat-grupo { margin-bottom: 7rem; }
.nat-grupo:last-child { margin-bottom: 0; }

/* Separador de año */
.nat-anio {
    display: flex; align-items: center; gap: 2rem;
    margin-bottom: 3.5rem;
}
.nat-anio__numero {
    font-size: 5rem; font-weight: 900; color: var(--negro);
    letter-spacing: -.04em; line-height: 1; flex-shrink: 0;
}
.nat-anio__linea { flex: 1; height: 2px; background: var(--gris-borde); }
.nat-anio__count {
    font-size: 1.25rem; font-weight: 600; color: #aaa;
    text-transform: uppercase; letter-spacing: .08em; flex-shrink: 0;
}

/* Grid de portadas */
.nat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
    gap: 2.8rem;
}

/* Tarjeta */
.nat-card__link {
    display: block; text-decoration: none;
    transition: transform .3s ease;
}
.nat-card__link:hover { transform: translateY(-6px); }

.nat-card__portada {
    position: relative;
    aspect-ratio: 3 / 4;
    border-radius: 1.2rem;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.1);
    transition: box-shadow .3s ease;
    background: #d8dfd6;
}
.nat-card__link:hover .nat-card__portada {
    box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.nat-card__img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .5s ease;
}
.nat-card__link:hover .nat-card__img { transform: scale(1.03); }

/* Placeholder sin imagen */
.nat-card__sin-img {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #1a2e1a 0%, #2d4a1e 100%);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 1rem;
}
.nat-card__sin-img-letra {
    font-size: 7rem; font-weight: 900; color: var(--verde);
    line-height: 1; font-family: var(--display);
}
.nat-card__sin-img-sub {
    font-size: 1.4rem; font-weight: 700; color: rgba(255,255,255,.5);
    letter-spacing: .2em; text-transform: uppercase;
}

/* Hover overlay */
.nat-card__hover {
    position: absolute; inset: 0;
    background: rgba(6,14,6,.7);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .3s ease;
}
.nat-card__link:hover .nat-card__hover { opacity: 1; }
.nat-card__hover-btn {
    display: flex; flex-direction: column; align-items: center; gap: 1.2rem;
    color: #fff; font-size: 1.35rem; font-weight: 700;
    letter-spacing: .05em; text-transform: uppercase;
    padding: 1.4rem 2.8rem;
    border: 2px solid var(--verde); border-radius: 10rem;
    color: var(--verde);
    transition: background .2s;
}
.nat-card__link:hover .nat-card__hover-btn { background: rgba(114,191,68,.15); }

/* Pie de tarjeta */
.nat-card__pie {
    display: flex; align-items: center;
    justify-content: space-between; gap: 1rem;
    padding: 1.2rem .4rem .4rem;
}
.nat-card__titulo {
    font-size: 1.4rem; font-weight: 700;
    color: var(--negro); line-height: 1.3; margin: 0;
    flex: 1;
}
.nat-card__pdf-tag {
    display: inline-flex; align-items: center; gap: .4rem;
    font-size: 1.05rem; font-weight: 700;
    color: var(--verde); letter-spacing: .06em;
    flex-shrink: 0;
}

/* Empty */
.nat-empty {
    text-align: center; padding: 10rem 2rem;
    color: #aaa; display: flex; flex-direction: column;
    align-items: center; gap: 2rem;
    font-size: 1.55rem; line-height: 1.7;
}

/* Responsive */
@media (max-width: 700px) {
    .nat-grid { grid-template-columns: repeat(2, 1fr); gap: 1.8rem; }
    .nat-anio__numero { font-size: 3.5rem; }
}
@media (max-width: 420px) {
    .nat-grid { gap: 1.2rem; }
}

/* ============================================================
   PUBLICACIONES — /publicaciones/
   Archivo moderno con portada + filtro por tipo
   ============================================================ */

/* Hero */
.pub-hero {
    background: var(--negro);
    padding: 11rem 0 7rem;
    text-align: center;
}
.pub-hero__eyebrow {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1.4rem;
}
.pub-hero__titulo {
    font-size: clamp(4rem, 6vw, 7rem);
    font-weight: 900;
    color: #fff;
    letter-spacing: -.03em;
    line-height: 1;
    margin: 0 0 2rem;
}
.pub-hero__titulo em { color: var(--verde); font-style: normal; }
.pub-hero__sub {
    font-size: 1.75rem;
    color: rgba(255,255,255,.6);
    max-width: 60rem;
    margin: 0 auto;
    line-height: 1.7;
}

/* Filtros */
.pub-filtros {
    background: #fff;
    border-bottom: 1px solid var(--gris-borde);
    position: sticky;
    top: 0;
    z-index: 90;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.pub-filtros__inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}
.pub-filtros__btn {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: .02em;
    padding: .7rem 1.8rem;
    border-radius: 10rem;
    border: 1.5px solid var(--gris-borde);
    background: transparent;
    color: var(--gris);
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.pub-filtros__btn:hover {
    border-color: var(--verde);
    color: var(--verde);
}
.pub-filtros__btn--activo {
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
}
.pub-filtros__count {
    font-size: 1.1rem;
    font-weight: 700;
    background: rgba(0,0,0,.1);
    border-radius: 10rem;
    padding: .1rem .6rem;
    line-height: 1.6;
}
.pub-filtros__btn--activo .pub-filtros__count { background: rgba(255,255,255,.25); }

/* Grid principal */
.pub-grid-wrap {
    padding: 6rem 0 9rem;
    background: var(--gris-suave);
}
.pub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
    gap: 3rem;
}

/* Tarjeta */
.pub-card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .3s ease, transform .3s ease;
}
/* Estado inicial solo si JS está activo (evita ocultar cards si JS falla) */
.js .pub-card {
    opacity: 0;
    transform: translateY(16px);
}
.pub-card--visible {
    opacity: 1;
    transform: translateY(0);
}
.pub-card__link {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 1.4rem;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: box-shadow .3s ease, transform .3s ease;
    height: 100%;
}
.pub-card__link:hover {
    box-shadow: 0 12px 40px rgba(0,0,0,.12);
    transform: translateY(-4px);
}

/* Portada con relación de aspecto libro */
.pub-card__portada {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #e8ece5;
}
.pub-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.pub-card__link:hover .pub-card__img { transform: scale(1.04); }
.pub-card__no-img {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bbb;
}

/* Hover overlay */
.pub-card__hover {
    position: absolute;
    inset: 0;
    background: rgba(6,14,6,.72);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
}
.pub-card__link:hover .pub-card__hover { opacity: 1; }
.pub-card__hover-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    color: #fff;
}
.pub-card__hover-inner svg {
    color: var(--verde);
}
.pub-card__hover-inner span {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .6rem 2rem;
    border: 2px solid var(--verde);
    border-radius: 10rem;
    color: var(--verde);
}

/* Badge tipo */
.pub-card__tipo {
    position: absolute;
    top: 1.2rem;
    left: 1.2rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .35rem 1rem;
    border-radius: 10rem;
}

/* Info */
.pub-card__info {
    padding: 1.8rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    flex: 1;
}
.pub-card__anio {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--verde);
    text-transform: uppercase;
}
.pub-card__titulo {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--negro);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}
.pub-card__autores {
    font-size: 1.25rem;
    color: #999;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Empty state */
.pub-empty {
    text-align: center;
    padding: 10rem 2rem;
    color: #aaa;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    font-size: 1.55rem;
    line-height: 1.7;
}

/* Paginación */
.pub-paginacion {
    background: var(--gris-suave);
    padding-bottom: 6rem;
}
.pub-paginacion__inner {
    display: flex;
    justify-content: center;
    gap: .8rem;
    flex-wrap: wrap;
}
.pub-paginacion__inner .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: .8rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gris);
    background: #fff;
    border: 1.5px solid var(--gris-borde);
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s;
}
.pub-paginacion__inner .page-numbers:hover,
.pub-paginacion__inner .page-numbers.current {
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
}
.pub-paginacion__inner .page-numbers.prev,
.pub-paginacion__inner .page-numbers.next {
    width: auto;
    padding: 0 1.8rem;
}

/* Responsive */
@media (max-width: 700px) {
    .pub-grid { grid-template-columns: repeat(2, 1fr); gap: 1.6rem; }
    .pub-filtros__btn { font-size: 1.2rem; padding: .6rem 1.4rem; }
}
@media (max-width: 420px) {
    .pub-grid { grid-template-columns: 1fr 1fr; gap: 1.2rem; }
}

/* ============================================================
   PERFILES PROFESIONALES — /perfiles/
   ============================================================ */

/* Hero */
.prf-hero {
    background: var(--negro);
    padding: 12rem 0 7rem;
    position: relative;
    overflow: hidden;
}
.prf-hero__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 70% 50%, rgba(114,191,68,.08) 0%, transparent 70%),
        radial-gradient(ellipse 40% 40% at 20% 80%, rgba(74,149,193,.06) 0%, transparent 60%);
}
.prf-hero__inner { position: relative; z-index: 1; }
.prf-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(114,191,68,.15);
    border: 1px solid rgba(114,191,68,.35);
    color: var(--verde);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.prf-hero__titulo {
    font-size: clamp(4rem, 7vw, 7.2rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.05;
    margin: 0 0 2rem;
}
.prf-hero__titulo em { color: var(--verde); font-style: italic; }
.prf-hero__sub {
    font-size: 1.8rem;
    color: rgba(255,255,255,.7);
    max-width: 54rem;
    line-height: 1.6;
    margin: 0 0 2.4rem;
}
.prf-hero__count {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 700;
    color: rgba(255,255,255,.4);
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Main / Grid */
.prf-main { padding: 7rem 0 10rem; background: var(--gris-suave); }
.prf-grid {
    display: grid;
    /* Se acomoda solo según cuántos perfiles haya (como el mosaico de equipo):
       ~3 columnas en desktop, 2 en tablet, 1 en móvil. El tope de ancho evita
       que 1 solo perfil se estire a toda la pantalla; justify-content los centra. */
    grid-template-columns: repeat(auto-fit, minmax(30rem, 38rem));
    gap: 2.8rem;
    justify-content: center;
}

/* Empty state */
.prf-empty {
    text-align: center;
    padding: 8rem 2rem;
    color: #aaa;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.7;
}

/* Tarjeta */
.prf-card {
    background: #fff;
    border-radius: 2rem;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,.07);
    border: 1.5px solid var(--gris-borde);
    transition: box-shadow .25s, transform .25s, border-color .25s;
    display: flex;
    flex-direction: column;
    position: relative;
}
.prf-card:hover {
    box-shadow: 0 1.2rem 4rem rgba(0,0,0,.12);
    transform: translateY(-4px);
    border-color: rgba(114,191,68,.35);
}
.prf-card--activa {
    border-color: var(--verde);
    box-shadow: 0 0 0 3px rgba(114,191,68,.2), 0 1.2rem 4rem rgba(0,0,0,.14);
    z-index: 10;
}

/* Frente */
.prf-card__frente { display: flex; flex-direction: column; }

/* Foto */
.prf-card__foto-wrap {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: linear-gradient(135deg, #1a2a1a 0%, #0e1f2e 100%);
}
.prf-card__foto {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform .4s ease;
}
.prf-card:hover .prf-card__foto { transform: scale(1.04); }
.prf-card__avatar {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5.6rem;
    font-weight: 900;
    color: rgba(255,255,255,.15);
    letter-spacing: -.05em;
}
.prf-card__exp-badge {
    position: absolute;
    bottom: 1.2rem;
    right: 1.2rem;
    background: rgba(14,15,13,.85);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1.5px solid rgba(255,255,255,.15);
    border-radius: .8rem;
    padding: .6rem 1.1rem;
    text-align: center;
}
.prf-card__exp-badge strong {
    display: block;
    font-size: 2rem;
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    margin-bottom: .2rem;
}
.prf-card__exp-badge span {
    display: block;
    font-size: .95rem;
    color: rgba(255,255,255,.6);
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.3;
    white-space: nowrap;
}

/* Info */
.prf-card__info {
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0;
}
.prf-card__nombre {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--negro);
    margin: 0 0 .4rem;
    line-height: 1.25;
}
.prf-card__cargo {
    font-size: 1.3rem;
    color: var(--celeste);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 1.6rem;
}

/* Grados académicos */
.prf-card__grados {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1.6rem;
}
.prf-card__grado {
    font-size: 1.1rem;
    font-weight: 700;
    padding: .3rem .9rem;
    border-radius: .5rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #fff;
}
.prf-card__grado--licenciado { background: var(--celeste); }
.prf-card__grado--posgrado   { background: var(--verde); }
.prf-card__grado--m-ster,
.prf-card__grado--m-ster     { background: #8e44ad; }
.prf-card__grado--doctor     { background: #c0392b; }

/* Resumen */
.prf-card__resumen {
    font-size: 1.4rem;
    color: var(--gris);
    line-height: 1.7;
    margin: 0 0 1.6rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Áreas */
.prf-card__areas {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 2rem;
}
.prf-card__area {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--gris);
    background: var(--gris-suave);
    border: 1px solid var(--gris-borde);
    padding: .3rem .9rem;
    border-radius: 10rem;
}

/* Acciones */
.prf-card__acciones {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: auto;
    padding-top: 1.6rem;
    border-top: 1px solid var(--gris-borde);
}
.prf-card__btn-ver {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--negro);
    background: var(--gris-suave);
    border: 1.5px solid var(--gris-borde);
    border-radius: .8rem;
    padding: .9rem 1.4rem;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.prf-card__btn-ver:hover,
.prf-card--activa .prf-card__btn-ver {
    background: var(--verde);
    border-color: var(--verde);
    color: #fff;
}
.prf-card__btn-ver svg { transition: transform .2s; }
.prf-card--activa .prf-card__btn-ver svg { transform: rotate(180deg); }
.prf-card__linkedin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: .8rem;
    background: #0077b5;
    color: #fff;
    text-decoration: none;
    flex-shrink: 0;
    transition: opacity .2s;
}
.prf-card__linkedin:hover { opacity: .85; }

/* Panel de trayectoria superpuesto */
.prf-card__trayectoria {
    position: absolute;
    inset: 0;                       /* cubre TODA la card, no solo la foto */
    background-color: #0e1a12;
    background-size: cover;          /* la foto del perfil como fondo (efecto equipo) */
    background-position: top center;
    padding: 2.6rem;
    z-index: 5;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.015);
    transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
    overflow: hidden;
}
.prf-card__trayectoria::before {   /* velo oscuro para legibilidad sobre la foto */
    content: '';
    position: absolute; inset: 0; z-index: 0;
    background: linear-gradient(180deg, rgba(10,20,12,.80) 0%, rgba(10,20,12,.92) 55%, rgba(10,20,12,.97) 100%);
}
.prf-card--activa .prf-card__trayectoria {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}
.prf-tray__cerrar {
    position: absolute; top: 1.4rem; right: 1.4rem; z-index: 2;
    width: 3.4rem; height: 3.4rem; border-radius: 50%;
    background: rgba(255,255,255,.14); color: #fff;
    border: 1px solid rgba(255,255,255,.2);
    display: grid; place-items: center; cursor: pointer;
    transition: background .2s, transform .2s;
}
.prf-tray__cerrar:hover { background: rgba(255,255,255,.26); transform: rotate(90deg); }
.prf-tray__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.prf-tray__texto {
    flex: 1;
    min-height: 0;                 /* permite que el scroll vertical funcione dentro del flex */
    overflow-y: auto;
    overflow-x: hidden;            /* nunca scroll horizontal */
    overflow-wrap: break-word;     /* corta palabras largas → siempre baja de línea */
    word-break: break-word;
    font-size: 1.3rem;
    color: rgba(255,255,255,.8);
    line-height: 1.6;
    margin-bottom: 1.6rem;
    padding-right: .8rem;
}
.prf-tray__texto p { margin: 0 0 1.2rem; }
.prf-tray__texto p:last-child { margin-bottom: 0; }
.prf-tray__texto strong { color: #fff; font-weight: 700; }
.prf-tray__texto::-webkit-scrollbar { width: 4px; }
.prf-tray__texto::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 4px; }

.prf-tray__footer {
    margin-top: auto;
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 1.2rem;
}
.prf-tray__nombre {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: .3rem;
    line-height: 1.2;
}
.prf-tray__cargo {
    display: block;
    font-size: 1.05rem;
    color: var(--verde);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* Overlay */
.prf-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.2);
    z-index: 5;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 1024px) {
    .prf-grid { gap: 2rem; }   /* columnas las decide auto-fit */
}
@media (max-width: 600px) {
    .prf-grid { grid-template-columns: 1fr; gap: 2rem; }   /* 1 col forzada en móvil */
    .prf-hero__titulo { font-size: 4rem; }
}

/* ============================================================
   ECORREGION CHARAGUA IYAMBAE
   ============================================================ */

/* Hero */
.char-hero {
    position: relative;
    min-height: 100svh;
    background: var(--negro) center/cover no-repeat;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.char-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(6,14,6,.18) 0%, rgba(6,14,6,.35) 60%, rgba(6,14,6,.62) 100%);
    z-index: 1;
}
.char-hero__nav {
    position: relative;
    z-index: 3;
    padding: 2.4rem 0;
}
.char-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.8);
    text-decoration: none;
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: color .2s;
}
.char-hero__back:hover { color: var(--verde); }
.char-hero__inner {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem 0 8rem;
}
.char-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(114,191,68,.2);
    border: 1px solid rgba(114,191,68,.4);
    color: var(--verde);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2.4rem;
}
.char-hero__titulo {
    font-size: clamp(4.8rem, 9vw, 9rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.0;
    margin: 0 0 2rem;
    text-shadow: 0 2px 24px rgba(0,0,0,.5);
}
.char-hero__titulo em { color: var(--verde); font-style: italic; }
.char-hero__sub {
    font-size: 1.8rem;
    color: rgba(255,255,255,.82);
    max-width: 56rem;
    line-height: 1.6;
    margin: 0 0 4rem;
}
.char-hero__stats {
    display: flex;
    align-items: center;
    gap: 3.2rem;
    background: rgba(0,0,0,.32);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1.4rem;
    padding: 2.4rem 3.2rem;
    width: fit-content;
}
.char-hero__stat strong {
    display: block;
    font-size: 2.8rem;
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    margin-bottom: .4rem;
}
.char-hero__stat span {
    font-size: 1.3rem;
    color: rgba(255,255,255,.75);
    font-weight: 500;
}
.char-hero__stat-div {
    width: 1px;
    height: 4.8rem;
    background: rgba(255,255,255,.18);
}
.char-hero__sin-img {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.4);
    font-size: 1.4rem;
    text-align: center;
    z-index: 0;
}

/* Bloques 2-col (Valor del Territorio / Por que trabajamos) */
.char-bloque {
    padding: 9rem 0;
    background: #fff;
}
.char-bloque--gris { background: var(--gris-suave); }
.char-bloque__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.char-bloque--inv .char-bloque__grid { direction: rtl; }
.char-bloque--inv .char-bloque__grid > * { direction: ltr; }
.char-bloque__eyebrow {
    display: inline-block;
    color: var(--verde);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.char-bloque__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1.2;
    color: var(--negro);
    margin: 0 0 2.4rem;
}
.char-bloque__texto h2 em { color: var(--verde); font-style: italic; }
.char-bloque__texto p {
    font-size: 1.6rem;
    color: var(--gris);
    line-height: 1.75;
    margin-bottom: 1.6rem;
}
.char-bloque__destaque {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--verde);
    font-size: 1.35rem;
    font-weight: 700;
    margin-top: .8rem;
}
.char-bloque__cita {
    border-left: 3px solid var(--verde);
    padding: 1.2rem 1.6rem;
    margin: 2rem 0 0;
    font-size: 1.6rem;
    color: var(--gris);
    font-style: italic;
    line-height: 1.7;
    background: rgba(114,191,68,.06);
    border-radius: 0 .8rem .8rem 0;
}
.char-bloque__img {
    width: 100%;
    height: 48rem;
    object-fit: cover;
    border-radius: 2rem;
    display: block;
}
.char-bloque__placeholder {
    width: 100%;
    height: 48rem;
    background: var(--gris-suave);
    border-radius: 2rem;
    border: 2px dashed var(--gris-borde);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    color: #aaa;
    font-size: 1.4rem;
}

/* Beneficios */
.char-beneficios {
    padding: 9rem 0;
    background: #fff;
}
.char-beneficios__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem;
    margin-top: 5rem;
}
.char-benef__item {
    background: var(--gris-suave);
    border-radius: 1.6rem;
    padding: 3.2rem 2.4rem;
    border: 1.5px solid var(--gris-borde);
    transition: transform .25s, box-shadow .25s;
    animation: fadeUp .5s both;
    animation-delay: var(--d, 0s);
}
.char-benef__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.2rem 3rem rgba(0,0,0,.1);
}
.char-benef__icono {
    width: 5.6rem;
    height: 5.6rem;
    background: rgba(114,191,68,.12);
    border-radius: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    color: var(--verde);
}
.char-benef__icono svg { width: 2.8rem; height: 2.8rem; }
.char-benef__item h3 {
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--negro);
    margin: 0 0 1rem;
}
.char-benef__item p {
    font-size: 1.45rem;
    color: var(--gris);
    line-height: 1.7;
    margin: 0;
}

/* Cifras de impacto */
.char-cifras {
    background: var(--negro);
    padding: 9rem 0;
}
.char-cifras__grid {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6rem;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.char-cifras__item { text-align: center; }
.char-cifras__num {
    font-size: clamp(5rem, 8vw, 8rem);
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    margin-bottom: 1rem;
    font-variant-numeric: tabular-nums;
}
.char-cifras__label {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 700;
    margin-bottom: .6rem;
}
.char-cifras__sub { font-size: 1.3rem; color: rgba(255,255,255,.5); }
.char-cifras__div { width: 1px; height: 8rem; background: rgba(255,255,255,.15); }
.char-cifras__fuente {
    display: flex;
    align-items: center;
    gap: .6rem;
    justify-content: center;
    color: rgba(255,255,255,.4);
    font-size: 1.3rem;
    margin-top: 5rem;
}

/* Historias */
.char-historias {
    padding: 9rem 0;
    background: var(--gris-suave);
}
.char-historias__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 4rem;
}
.char-historias__card {
    border-radius: 1.4rem;
    overflow: hidden;
    aspect-ratio: 4/3;
}
.char-historias__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.char-historias__placeholder {
    width: 100%;
    height: 100%;
    background: #ddd;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.4rem;
}
.char-historias__posts {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 4rem;
}
.char-historias__post {
    display: flex;
    gap: 2rem;
    align-items: center;
    text-decoration: none;
    background: #fff;
    border-radius: 1.2rem;
    padding: 1.6rem;
    border: 1.5px solid var(--gris-borde);
    transition: border-color .2s, box-shadow .2s;
}
.char-historias__post:hover {
    border-color: var(--verde);
    box-shadow: 0 .6rem 2rem rgba(114,191,68,.12);
}
.char-historias__post-img { width: 8rem; height: 6rem; object-fit: cover; border-radius: .8rem; flex-shrink: 0; }
.char-historias__post-info h4 { font-size: 1.5rem; font-weight: 700; color: var(--negro); margin: 0 0 .4rem; }
.char-historias__post-info p { font-size: 1.35rem; color: var(--gris); margin: 0; line-height: 1.6; }

/* Mapa */
.char-mapa {
    background: var(--negro);
    padding: 6rem 0 0;
}
.char-mapa__cabeza { margin-bottom: 4rem; }
.char-mapa__eyebrow {
    display: inline-block;
    color: var(--verde);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.char-mapa__titulo {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 800;
    color: #fff;
    margin: 0;
}
.char-mapa__titulo em { color: var(--verde); font-style: italic; }
.char-mapa__frame { overflow: hidden; border-radius: 2rem 2rem 0 0; }
.char-mapa__frame iframe { display: block; }

/* Mensaje clave */
.char-mensaje {
    background: var(--gris-suave);
    padding: 9rem 0;
}
.char-mensaje__inner {
    max-width: 80rem;
    margin: 0 auto;
    text-align: center;
}
.char-mensaje__comilla {
    width: 5.6rem;
    height: auto;
    color: var(--verde);
    opacity: .4;
    margin-bottom: 2.4rem;
}
.char-mensaje__texto {
    font-size: clamp(1.8rem, 2.5vw, 2.4rem);
    font-weight: 500;
    color: var(--negro);
    line-height: 1.7;
    margin: 0 0 2rem;
    font-style: italic;
}
.char-mensaje__autor {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--verde);
    letter-spacing: .06em;
    text-transform: uppercase;
    font-style: normal;
}

/* Responsive Charagua */
@media (max-width: 1024px) {
    .char-beneficios__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .char-bloque__grid { grid-template-columns: 1fr; gap: 3rem; }
    .char-bloque--inv .char-bloque__grid { direction: ltr; }
    .char-bloque__img, .char-bloque__placeholder { height: 28rem; }
    .char-hero__stats { flex-direction: column; gap: 2rem; width: 100%; }
    .char-hero__stat-div { width: 100%; height: 1px; }
    .char-cifras__grid { gap: 4rem; flex-direction: column; }
    .char-cifras__div { width: 6rem; height: 1px; }
    .char-historias__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .char-beneficios__grid { grid-template-columns: 1fr; }
    .char-historias__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ECORREGIÓN CHIQUITANÍA — chiq-
   ============================================================ */

/* ── Hero ── */
.chiq-hero {
    position: relative;
    min-height: 92vh;
    background: #0e1a0e center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}
.chiq-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(10,20,5,.25) 0%,
        rgba(10,20,5,.55) 55%,
        rgba(10,20,5,.82) 100%
    );
}
.chiq-hero__nav {
    position: absolute;
    top: 2.4rem;
    left: 0;
    right: 0;
    z-index: 2;
}
.chiq-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.75);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s;
}
.chiq-hero__back:hover { color: #fff; }
.chiq-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 8rem;
}
.chiq-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.chiq-hero__titulo {
    font-size: clamp(4.2rem, 8vw, 8rem);
    font-weight: 900;
    line-height: 1;
    color: #fff;
    margin-bottom: 1.6rem;
    letter-spacing: -.02em;
}
.chiq-hero__titulo em {
    color: var(--celeste);
    font-style: italic;
    display: block;
}
.chiq-hero__sub {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    color: rgba(255,255,255,.82);
    max-width: 56rem;
    margin-bottom: 3.5rem;
    line-height: 1.55;
}
.chiq-hero__stats {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    flex-wrap: wrap;
}
.chiq-hero__stat strong {
    display: block;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
.chiq-hero__stat span {
    font-size: 1.2rem;
    color: rgba(255,255,255,.65);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-top: .3rem;
    display: block;
}
.chiq-hero__stat-div {
    width: 1px;
    height: 5rem;
    background: rgba(255,255,255,.25);
}
.chiq-hero__sin-img {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.35);
    font-size: 1.3rem;
    text-align: center;
    pointer-events: none;
}

/* ── Bloques 2-col ── */
.chiq-bloque {
    padding: 8rem 0;
    background: #fff;
}
.chiq-bloque--gris { background: var(--gris-suave); }
.chiq-bloque__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.chiq-bloque--inv .chiq-bloque__grid { direction: rtl; }
.chiq-bloque--inv .chiq-bloque__grid > * { direction: ltr; }
.chiq-bloque__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.chiq-bloque__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.chiq-bloque__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.chiq-bloque__texto p {
    font-size: 1.65rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1.6rem;
}
.chiq-bloque__cita {
    border-left: 3px solid var(--celeste);
    padding: 1.2rem 2rem;
    margin: 2rem 0 0;
    font-size: 1.6rem;
    font-style: italic;
    color: #444;
    background: rgba(74,149,193,.05);
    border-radius: 0 .6rem .6rem 0;
}
.chiq-bloque__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.2rem;
    display: block;
}
.chiq-bloque__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #f0f2ee;
    border: 2px dashed #d0d4cc;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}

/* Ubicaciones chips */
.chiq-bloque__ubicaciones {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 2.4rem;
}
.chiq-bloque__ubi-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(74,149,193,.08);
    border: 1px solid rgba(74,149,193,.25);
    color: var(--celeste-osc);
    font-size: 1.2rem;
    font-weight: 700;
    padding: .45rem 1.1rem;
    border-radius: 10rem;
}
.chiq-bloque__ubi-chip svg { flex-shrink: 0; fill: var(--celeste); }

/* ── Pueblos Indígenas ── */
.chiq-pueblos {
    padding: 8rem 0;
    background: #fff;
}
.chiq-pueblos__intro {
    font-size: 1.7rem;
    color: #666;
    max-width: 62rem;
    margin: 1.5rem auto 0;
    text-align: center;
    line-height: 1.6;
}
.chiq-pueblos__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin-top: 5rem;
}
.chiq-pueblo__card {
    background: var(--gris-suave);
    border-radius: 1.4rem;
    padding: 3rem 2.8rem;
    transition: transform .25s, box-shadow .25s;
    animation: revealUp .5s both;
    animation-delay: var(--d, 0s);
    border-bottom: 3px solid transparent;
}
.chiq-pueblo__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 2rem 5rem rgba(0,0,0,.08);
    border-bottom-color: var(--celeste);
}
.chiq-pueblo__icono {
    width: 5.6rem;
    height: 5.6rem;
    background: rgba(74,149,193,.1);
    border-radius: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    color: var(--celeste);
}
.chiq-pueblo__icono svg { width: 2.8rem; height: 2.8rem; stroke: currentColor; }
.chiq-pueblo__card h3 {
    font-size: 2rem;
    font-weight: 800;
    color: var(--negro);
    margin-bottom: 1rem;
}
.chiq-pueblo__card p {
    font-size: 1.5rem;
    color: #666;
    line-height: 1.65;
    margin-bottom: 1.8rem;
}
.chiq-pueblo__tag {
    display: inline-block;
    background: rgba(74,149,193,.12);
    color: var(--celeste-osc);
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .35rem 1rem;
    border-radius: 10rem;
}
.chiq-pueblo__tag--urgente {
    background: rgba(200,60,40,.1);
    color: #b83030;
}
.chiq-pueblo__tag--aislamiento {
    background: rgba(114,191,68,.12);
    color: var(--verde-oscuro);
}

/* ── Cifras ── */
.chiq-cifras {
    padding: 8rem 0;
    background: var(--negro);
}
.chiq-cifras .titular--blanco h2 { color: #fff; }
.chiq-cifras .titular--blanco em { color: var(--celeste); }
.chiq-cifras .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }
.chiq-cifras__grid {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.chiq-cifras__item {
    flex: 1;
    min-width: 18rem;
    text-align: center;
}
.chiq-cifras__num {
    font-size: clamp(3.2rem, 5vw, 5.4rem);
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
    margin-bottom: .8rem;
    letter-spacing: -.02em;
}
.chiq-cifras__label {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: .6rem;
}
.chiq-cifras__sub {
    font-size: 1.25rem;
    color: rgba(255,255,255,.45);
    line-height: 1.55;
    max-width: 22rem;
    margin: 0 auto;
}
.chiq-cifras__div {
    width: 1px;
    background: rgba(255,255,255,.1);
    align-self: stretch;
    min-height: 10rem;
}

/* ── Historia Mujeres de Piso Firme ── */
.chiq-historia {
    padding: 8rem 0;
    background: var(--gris-suave);
}
.chiq-historia__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.chiq-historia__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.chiq-historia__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #e8ebe4;
    border: 2px dashed #c0c4bb;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}
.chiq-historia__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde-oscuro);
    margin-bottom: 1rem;
}
.chiq-historia__texto h2 {
    font-size: clamp(2.6rem, 3.5vw, 3.6rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.chiq-historia__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.chiq-historia__texto p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1.4rem;
}
.chiq-historia__logros {
    display: flex;
    gap: 3rem;
    margin-top: 3rem;
    padding-top: 2.5rem;
    border-top: 1px solid #dde0d8;
}
.chiq-historia__logro { text-align: center; }
.chiq-historia__logro-num {
    display: block;
    font-size: 2.4rem;
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
}
.chiq-historia__logro-lbl {
    display: block;
    font-size: 1.2rem;
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-top: .4rem;
}

/* ── Mapa ── */
.chiq-mapa { padding: 7rem 0 0; background: #fff; }
.chiq-mapa__cabeza { margin-bottom: 3rem; }
.chiq-mapa__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: .8rem;
}
.chiq-mapa__titulo {
    font-size: clamp(2.6rem, 3.5vw, 3.8rem);
    font-weight: 900;
    color: var(--negro);
}
.chiq-mapa__titulo em { color: var(--celeste); font-style: normal; }
.chiq-mapa__frame {
    border-radius: 1.6rem;
    overflow: hidden;
    border: 1px solid var(--gris-borde);
}

/* ── Mensaje clave ── */
.chiq-mensaje {
    padding: 9rem 0;
    background: var(--negro);
}
.chiq-mensaje__inner {
    max-width: 80rem;
    margin: 0 auto;
    text-align: center;
}
.chiq-mensaje__comilla {
    width: 5rem;
    height: auto;
    fill: var(--celeste);
    opacity: .35;
    margin-bottom: 2.5rem;
}
.chiq-mensaje__texto {
    font-size: clamp(2rem, 2.8vw, 2.8rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.55;
    font-style: normal;
    margin-bottom: 2.5rem;
}
.chiq-mensaje__autor {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255,255,255,.45);
    letter-spacing: .06em;
    text-transform: uppercase;
    font-style: normal;
}

/* Responsive Chiquitanía */
@media (max-width: 1024px) {
    .chiq-pueblos__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .chiq-bloque__grid { grid-template-columns: 1fr; gap: 3rem; }
    .chiq-bloque--inv .chiq-bloque__grid { direction: ltr; }
    .chiq-bloque__img, .chiq-bloque__placeholder { aspect-ratio: 16/9; }
    .chiq-hero__stats { flex-direction: column; gap: 2rem; }
    .chiq-hero__stat-div { width: 6rem; height: 1px; }
    .chiq-cifras__grid { flex-direction: column; align-items: center; }
    .chiq-cifras__div { width: 6rem; height: 1px; min-height: 0; }
    .chiq-historia__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .chiq-pueblos__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ECORREGIÓN VALLES — vall-
   ============================================================ */

/* ── Hero ── */
.vall-hero {
    position: relative;
    min-height: 92vh;
    background: #0e1a06 center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}
.vall-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(8,18,4,.22) 0%,
        rgba(8,18,4,.52) 50%,
        rgba(8,18,4,.80) 100%
    );
}
.vall-hero__nav {
    position: absolute;
    top: 2.4rem;
    left: 0;
    right: 0;
    z-index: 2;
}
.vall-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.75);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s;
}
.vall-hero__back:hover { color: #fff; }
.vall-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 8rem;
}
.vall-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.vall-hero__titulo {
    font-size: clamp(4.2rem, 8vw, 8rem);
    font-weight: 900;
    line-height: 1;
    color: #fff;
    margin-bottom: 1.6rem;
    letter-spacing: -.02em;
}
.vall-hero__titulo em {
    color: var(--verde);
    font-style: italic;
    display: block;
}
.vall-hero__sub {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    color: rgba(255,255,255,.82);
    max-width: 58rem;
    margin-bottom: 3.5rem;
    line-height: 1.55;
}
.vall-hero__stats {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    flex-wrap: wrap;
}
.vall-hero__stat strong {
    display: block;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
.vall-hero__stat span {
    font-size: 1.2rem;
    color: rgba(255,255,255,.65);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-top: .3rem;
    display: block;
}
.vall-hero__stat-div {
    width: 1px;
    height: 5rem;
    background: rgba(255,255,255,.25);
}
.vall-hero__sin-img {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.35);
    font-size: 1.3rem;
    text-align: center;
    pointer-events: none;
}

/* ── Bloques 2-col (reutilizando mismo patrón que Chiquitanía) ── */
.vall-bloque {
    padding: 8rem 0;
    background: #fff;
}
.vall-bloque--gris { background: var(--gris-suave); }
.vall-bloque__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.vall-bloque--inv .vall-bloque__grid { direction: rtl; }
.vall-bloque--inv .vall-bloque__grid > * { direction: ltr; }
.vall-bloque__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde-oscuro);
    margin-bottom: 1rem;
}
.vall-bloque__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.vall-bloque__texto h2 em {
    color: var(--verde-oscuro);
    font-style: normal;
}
.vall-bloque__texto p {
    font-size: 1.65rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1.6rem;
}
.vall-bloque__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.2rem;
    display: block;
}
.vall-bloque__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #f0f2ee;
    border: 2px dashed #d0d4cc;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}

/* Chips departamentos */
.vall-bloque__departamentos {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}
.vall-bloque__dpto {
    background: rgba(114,191,68,.12);
    border: 1px solid rgba(114,191,68,.3);
    color: var(--verde-oscuro);
    font-size: 1.2rem;
    font-weight: 700;
    padding: .4rem 1.2rem;
    border-radius: 10rem;
    letter-spacing: .04em;
}

/* Lista de áreas */
.vall-areas {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    margin-top: 1rem;
    margin-bottom: .5rem;
}
.vall-area__item {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
}
.vall-area__item > svg {
    flex-shrink: 0;
    margin-top: .4rem;
    fill: var(--verde);
    width: 1.4rem;
    height: 1.4rem;
}
.vall-area__item strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--negro);
    line-height: 1.3;
}
.vall-area__item span {
    display: block;
    font-size: 1.3rem;
    color: #777;
    line-height: 1.45;
    margin-top: .2rem;
}

/* ── Paraba Frente Roja ── */
.vall-paraba {
    padding: 8rem 0;
    background: var(--negro);
}
.vall-paraba__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 7rem;
    align-items: center;
}
.vall-paraba__media {
    position: relative;
}
.vall-paraba__img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 1.6rem;
    display: block;
    filter: saturate(1.1);
}
.vall-paraba__placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    background: #1a2015;
    border: 2px dashed #3a4035;
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.3);
    font-size: 1.3rem;
}
.vall-paraba__badge {
    position: absolute;
    top: 2rem;
    left: 2rem;
    background: var(--verde);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .4rem 1.2rem;
    border-radius: 10rem;
}
.vall-paraba__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde);
    margin-bottom: 1rem;
}
.vall-paraba__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    font-weight: 900;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 1.8rem;
}
.vall-paraba__texto h2 em {
    color: var(--verde);
    font-style: italic;
    display: block;
    font-size: .75em;
    font-weight: 600;
    letter-spacing: .02em;
}
.vall-paraba__desc {
    font-size: 1.65rem;
    line-height: 1.7;
    color: rgba(255,255,255,.7);
    margin-bottom: 3rem;
}
.vall-paraba__datos {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.vall-paraba__dato {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
}
.vall-paraba__dato > svg {
    width: 2.2rem;
    height: 2.2rem;
    flex-shrink: 0;
    stroke: var(--verde);
    margin-top: .2rem;
}
.vall-paraba__dato strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: .3rem;
}
.vall-paraba__dato span {
    font-size: 1.3rem;
    color: rgba(255,255,255,.5);
    line-height: 1.5;
}

/* ── Cifras ── */
.vall-cifras {
    padding: 8rem 0;
    background: #111a0a;
}
.vall-cifras__grid {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.vall-cifras__item {
    flex: 1;
    min-width: 15rem;
    text-align: center;
}
.vall-cifras__num {
    font-size: clamp(2.8rem, 4vw, 4.6rem);
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    margin-bottom: .8rem;
    letter-spacing: -.02em;
}
.vall-cifras__label {
    font-size: 1.45rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: .6rem;
}
.vall-cifras__sub {
    font-size: 1.2rem;
    color: rgba(255,255,255,.4);
    line-height: 1.55;
    max-width: 20rem;
    margin: 0 auto;
}
.vall-cifras__div {
    width: 1px;
    background: rgba(255,255,255,.08);
    align-self: stretch;
    min-height: 10rem;
}
.vall-cifras .titular--blanco h2 { color: #fff; }
.vall-cifras .titular--blanco em { color: var(--verde); }
.vall-cifras .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }
/* Conserva el tamaño grande del título cuando el bloque vive en una Zona Libre */
.home-zona-libre .vall-cifras .titular h2 { font-size: clamp(3rem, 5vw, 5.6rem); line-height: 1.1; }
.home-zona-libre .vall-cifras .titular--blanco h2 { color: #fff; }
.home-zona-libre .vall-cifras .titular--blanco em { color: var(--verde); }

/* ── Historia Don Freddy ── */
.vall-historia {
    padding: 8rem 0;
    background: var(--gris-suave);
}
.vall-historia__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 6rem;
    align-items: center;
}
.vall-historia__media {
    position: relative;
}
.vall-historia__img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.vall-historia__placeholder {
    width: 100%;
    aspect-ratio: 4/5;
    background: #e8ebe4;
    border: 2px dashed #c0c4bb;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}
.vall-historia__lugar {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(0,0,0,.7);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    padding: .55rem 1.2rem;
    border-radius: 10rem;
}
.vall-historia__lugar svg { fill: var(--verde); }
.vall-historia__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde-oscuro);
    margin-bottom: 1rem;
}
.vall-historia__texto h2 {
    font-size: clamp(2.6rem, 3.5vw, 3.8rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.vall-historia__texto h2 em {
    color: var(--verde-oscuro);
    font-style: normal;
}
.vall-historia__texto p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1.4rem;
}
.vall-historia__cita {
    border-left: 3px solid var(--verde);
    padding: 1.2rem 2rem;
    margin: 2rem 0;
    font-size: 1.55rem;
    font-style: italic;
    color: #444;
    background: rgba(114,191,68,.06);
    border-radius: 0 .6rem .6rem 0;
}
.vall-historia__cita cite {
    display: block;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 700;
    color: var(--verde-oscuro);
    margin-top: .8rem;
    letter-spacing: .04em;
}
.vall-historia__logros {
    display: flex;
    gap: 2.5rem;
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid #dde0d8;
}
.vall-historia__logro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    text-align: center;
}
.vall-historia__logro-ico {
    font-size: 2.6rem;
    line-height: 1;
}
.vall-historia__logro-lbl {
    font-size: 1.2rem;
    font-weight: 700;
    color: #777;
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.3;
}

/* ── Mapa ── */
.vall-mapa { padding: 7rem 0 0; background: #fff; }
.vall-mapa__cabeza { margin-bottom: 3rem; }
.vall-mapa__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--verde-oscuro);
    margin-bottom: .8rem;
}
.vall-mapa__titulo {
    font-size: clamp(2.6rem, 3.5vw, 3.8rem);
    font-weight: 900;
    color: var(--negro);
}
.vall-mapa__titulo em { color: var(--verde-oscuro); font-style: normal; }
.vall-mapa__frame {
    border-radius: 1.6rem;
    overflow: hidden;
    border: 1px solid var(--gris-borde);
}

/* ── Mensaje clave ── */
.vall-mensaje {
    padding: 9rem 0;
    background: #111a0a;
}
.vall-mensaje__inner {
    max-width: 74rem;
    margin: 0 auto;
    text-align: center;
}
.vall-mensaje__comilla {
    width: 5rem;
    height: auto;
    fill: var(--verde);
    opacity: .3;
    margin-bottom: 2.5rem;
}
.vall-mensaje__texto {
    font-size: clamp(2.2rem, 3.2vw, 3.2rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    font-style: normal;
    margin-bottom: 2.5rem;
}
.vall-mensaje__autor {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255,255,255,.4);
    letter-spacing: .06em;
    text-transform: uppercase;
    font-style: normal;
}

/* Responsive Valles */
@media (max-width: 1100px) {
    .vall-paraba__grid { grid-template-columns: 1fr; gap: 4rem; }
    .vall-paraba__img, .vall-paraba__placeholder { aspect-ratio: 16/9; }
}
@media (max-width: 768px) {
    .vall-bloque__grid { grid-template-columns: 1fr; gap: 3rem; }
    .vall-bloque--inv .vall-bloque__grid { direction: ltr; }
    .vall-bloque__img, .vall-bloque__placeholder { aspect-ratio: 16/9; }
    .vall-hero__stats { flex-direction: column; gap: 2rem; }
    .vall-hero__stat-div { width: 6rem; height: 1px; }
    .vall-cifras__grid { flex-direction: column; align-items: center; }
    .vall-cifras__div { width: 6rem; height: 1px; min-height: 0; }
    .vall-historia__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .vall-historia__lugar { position: static; display: inline-flex; margin-top: 1rem; background: var(--negro); }
}

/* ============================================================
   ECORREGIÓN YUNGAS — yung-
   ============================================================ */

/* ── Hero ── */
.yung-hero {
    position: relative;
    min-height: 92vh;
    background: #061418 center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}
.yung-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(4,16,20,.20) 0%,
        rgba(4,16,20,.50) 50%,
        rgba(4,16,20,.82) 100%
    );
}
.yung-hero__nav {
    position: absolute;
    top: 2.4rem;
    left: 0;
    right: 0;
    z-index: 2;
}
.yung-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.75);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s;
}
.yung-hero__back:hover { color: #fff; }
.yung-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 8rem;
}
.yung-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.25);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.yung-hero__titulo {
    font-size: clamp(4.2rem, 8vw, 8rem);
    font-weight: 900;
    line-height: 1;
    color: #fff;
    margin-bottom: 1.6rem;
    letter-spacing: -.02em;
}
.yung-hero__titulo em {
    color: var(--celeste);
    font-style: italic;
    display: block;
}
.yung-hero__sub {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    color: rgba(255,255,255,.82);
    max-width: 62rem;
    margin-bottom: 3.5rem;
    line-height: 1.55;
}
.yung-hero__stats {
    display: flex;
    align-items: center;
    gap: 3.5rem;
    flex-wrap: wrap;
}
.yung-hero__stat strong {
    display: block;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
.yung-hero__stat span {
    font-size: 1.2rem;
    color: rgba(255,255,255,.65);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-top: .3rem;
    display: block;
}
.yung-hero__stat-div {
    width: 1px;
    height: 5rem;
    background: rgba(255,255,255,.25);
}
.yung-hero__sin-img {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.35);
    font-size: 1.3rem;
    text-align: center;
    pointer-events: none;
}

/* ── Bloques 2-col ── */
.yung-bloque {
    padding: 8rem 0;
    background: #fff;
}
.yung-bloque--gris { background: var(--gris-suave); }
.yung-bloque__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
    align-items: center;
}
.yung-bloque--inv .yung-bloque__grid { direction: rtl; }
.yung-bloque--inv .yung-bloque__grid > * { direction: ltr; }
.yung-bloque__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.yung-bloque__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.yung-bloque__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.yung-bloque__texto p {
    font-size: 1.65rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1.6rem;
}
.yung-bloque__cita {
    border-left: 3px solid var(--celeste);
    padding: 1.2rem 2rem;
    margin: 2rem 0 0;
    font-size: 1.6rem;
    font-style: italic;
    color: #444;
    background: rgba(74,149,193,.05);
    border-radius: 0 .6rem .6rem 0;
}
.yung-bloque__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.2rem;
    display: block;
}
.yung-bloque__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #edf3f5;
    border: 2px dashed #c8d8e0;
    border-radius: 1.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}

/* Iconos concepto */
.yung-bloque__concepto {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 2.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid var(--gris-borde);
}
.yung-bloque__concepto-item {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    font-size: 1.45rem;
    font-weight: 600;
    color: #555;
}
.yung-bloque__concepto-item svg {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    stroke: var(--celeste);
}

/* ── Cifras ── */
.yung-cifras {
    padding: 8rem 0;
    background: #061418;
}
.yung-cifras__grid {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.yung-cifras__item {
    flex: 1;
    min-width: 18rem;
    text-align: center;
}
.yung-cifras__num {
    font-size: clamp(3.2rem, 5vw, 5.2rem);
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
    margin-bottom: .8rem;
    letter-spacing: -.02em;
}
.yung-cifras__label {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: .6rem;
}
.yung-cifras__sub {
    font-size: 1.25rem;
    color: rgba(255,255,255,.42);
    line-height: 1.55;
    max-width: 22rem;
    margin: 0 auto;
}
.yung-cifras__div {
    width: 1px;
    background: rgba(255,255,255,.08);
    align-self: stretch;
    min-height: 10rem;
}
.yung-cifras .titular--blanco h2 { color: #fff; }
.yung-cifras .titular--blanco em { color: var(--celeste); }
.yung-cifras .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }

/* ── Historia Elizabeth Farfán ── */
.yung-historia {
    padding: 8rem 0;
    background: #fff;
}
.yung-historia__grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 7rem;
    align-items: center;
}
.yung-historia__media {
    position: relative;
}
.yung-historia__img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.yung-historia__placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    background: #edf3f5;
    border: 2px dashed #c8d8e0;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}
.yung-historia__lugar {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(6,20,24,.75);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    padding: .55rem 1.2rem;
    border-radius: 10rem;
}
.yung-historia__lugar svg { fill: var(--celeste); }
.yung-historia__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.yung-historia__texto h2 {
    font-size: clamp(2.6rem, 3.5vw, 3.8rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.yung-historia__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.yung-historia__texto p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #555;
    margin-bottom: 1.4rem;
}

/* Pilares (3 logros en columna) */
.yung-historia__pilares {
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid var(--gris-borde);
}
.yung-historia__pilar {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
}
.yung-historia__pilar-icono {
    width: 4.4rem;
    height: 4.4rem;
    background: rgba(74,149,193,.1);
    border-radius: .8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.yung-historia__pilar-icono svg {
    width: 2rem;
    height: 2rem;
    stroke: var(--celeste);
}
.yung-historia__pilar strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--negro);
    margin-bottom: .3rem;
}
.yung-historia__pilar span {
    font-size: 1.3rem;
    color: #777;
    line-height: 1.45;
}

/* ── Mapa ── */
.yung-mapa { padding: 7rem 0 0; background: var(--gris-suave); }
.yung-mapa__cabeza { margin-bottom: 3rem; }
.yung-mapa__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: .8rem;
}
.yung-mapa__titulo {
    font-size: clamp(2.6rem, 3.5vw, 3.8rem);
    font-weight: 900;
    color: var(--negro);
}
.yung-mapa__titulo em { color: var(--celeste); font-style: normal; }
.yung-mapa__frame {
    border-radius: 1.6rem;
    overflow: hidden;
    border: 1px solid var(--gris-borde);
}

/* ── Mensaje clave ── */
.yung-mensaje {
    padding: 9rem 0;
    background: #061418;
}
.yung-mensaje__inner {
    max-width: 76rem;
    margin: 0 auto;
    text-align: center;
}
.yung-mensaje__comilla {
    width: 5rem;
    height: auto;
    fill: var(--celeste);
    opacity: .3;
    margin-bottom: 2.5rem;
}
.yung-mensaje__texto {
    font-size: clamp(2rem, 2.8vw, 2.8rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.55;
    font-style: normal;
    margin-bottom: 2.5rem;
}
.yung-mensaje__autor {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255,255,255,.4);
    letter-spacing: .06em;
    text-transform: uppercase;
    font-style: normal;
}

/* Responsive Yungas */
@media (max-width: 768px) {
    .yung-bloque__grid { grid-template-columns: 1fr; gap: 3rem; }
    .yung-bloque--inv .yung-bloque__grid { direction: ltr; }
    .yung-bloque__img, .yung-bloque__placeholder { aspect-ratio: 16/9; }
    .yung-hero__stats { flex-direction: column; gap: 2rem; }
    .yung-hero__stat-div { width: 6rem; height: 1px; }
    .yung-cifras__grid { flex-direction: column; align-items: center; }
    .yung-cifras__div { width: 6rem; height: 1px; min-height: 0; }
    .yung-historia__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .yung-historia__lugar { position: static; display: inline-flex; margin-top: 1rem; }
    .yung-historia__img, .yung-historia__placeholder { aspect-ratio: 4/3; }
}

/* ============================================================
   BOLIVIA CON AGUA — bca-
   ============================================================ */

/* ── Hero ── */
.bca-hero {
    position: relative;
    min-height: 88vh;
    background: #021420 center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}
.bca-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(2,20,32,.88) 0%,
        rgba(2,20,32,.55) 60%,
        rgba(74,149,193,.25) 100%
    );
}
.bca-hero__nav {
    position: absolute;
    top: 2.4rem;
    left: 0;
    right: 0;
    z-index: 2;
}
.bca-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.7);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s;
}
.bca-hero__back:hover { color: #fff; }
.bca-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 8rem;
}
.bca-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(74,149,193,.18);
    border: 1px solid rgba(74,149,193,.4);
    backdrop-filter: blur(6px);
    color: #b8dff0;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: .55rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.bca-hero__chip svg { stroke: var(--celeste); }
.bca-hero__titulo {
    font-size: clamp(4.8rem, 9vw, 9.6rem);
    font-weight: 900;
    line-height: .95;
    color: #fff;
    margin-bottom: 2rem;
    letter-spacing: -.03em;
}
.bca-hero__titulo em {
    color: var(--celeste);
    font-style: italic;
    display: block;
}
.bca-hero__sub {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    color: rgba(255,255,255,.75);
    max-width: 62rem;
    margin-bottom: 4rem;
    line-height: 1.6;
}
.bca-hero__logro {
    display: inline-flex;
    align-items: center;
    gap: 2rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
    border-radius: 1.2rem;
    padding: 2rem 3rem;
}
.bca-hero__logro-num {
    font-size: clamp(3.6rem, 5.5vw, 5.6rem);
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
    letter-spacing: -.02em;
}
.bca-hero__logro-txt {
    font-size: 1.45rem;
    color: rgba(255,255,255,.75);
    font-weight: 600;
    line-height: 1.4;
    max-width: 18rem;
}
.bca-hero__sin-img {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.3);
    font-size: 1.3rem;
    text-align: center;
    pointer-events: none;
}

/* ── ¿Qué es? ── */
.bca-que-es {
    padding: 9rem 0;
    background: #fff;
}
.bca-que-es__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
}
.bca-que-es__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.bca-que-es__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2.2rem;
}
.bca-que-es__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.bca-que-es__texto p {
    font-size: 1.65rem;
    line-height: 1.75;
    color: #555;
    margin-bottom: 1.6rem;
}
.bca-que-es__concepto {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    margin-top: 2.8rem;
    padding: 2.4rem;
    background: rgba(74,149,193,.06);
    border: 1px solid rgba(74,149,193,.18);
    border-radius: 1.2rem;
}
.bca-que-es__concepto-ico {
    width: 5rem;
    height: 5rem;
    background: rgba(74,149,193,.12);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bca-que-es__concepto-ico svg {
    width: 2.4rem;
    height: 2.4rem;
    stroke: var(--celeste);
}
.bca-que-es__concepto strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--negro);
    margin-bottom: .6rem;
}
.bca-que-es__concepto p {
    font-size: 1.4rem;
    line-height: 1.6;
    color: #666;
    margin-bottom: 0;
}
.bca-que-es__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.bca-que-es__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #edf3f5;
    border: 2px dashed #c8d8e0;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}
.bca-que-es__media {
    position: relative;
}
.bca-que-es__anio {
    position: absolute;
    bottom: -2rem;
    right: -2rem;
    background: var(--negro);
    color: #fff;
    border-radius: 1.2rem;
    padding: 2rem 2.5rem;
    text-align: center;
    box-shadow: 0 1.5rem 4rem rgba(0,0,0,.25);
}
.bca-que-es__anio span {
    display: block;
    font-size: 3.2rem;
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
}
.bca-que-es__anio p {
    font-size: 1.25rem;
    color: rgba(255,255,255,.65);
    margin-top: .5rem;
    line-height: 1.4;
    margin-bottom: 0;
}

/* ── ¿Cómo trabajamos? ── */
.bca-modelo {
    padding: 9rem 0;
    background: var(--gris-suave);
}
.bca-modelo__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
}
.bca-modelo__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.bca-modelo__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #e0eaee;
    border: 2px dashed #b8cdd6;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}
.bca-modelo__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.bca-modelo__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 1.6rem;
}
.bca-modelo__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.bca-modelo__texto > p {
    font-size: 1.65rem;
    line-height: 1.7;
    color: #666;
    margin-bottom: 3rem;
}
.bca-modelo__pasos {
    display: flex;
    flex-direction: column;
    gap: 2.2rem;
}
.bca-modelo__paso {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
}
.bca-modelo__paso-num {
    width: 4.4rem;
    height: 4.4rem;
    background: var(--celeste);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 900;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: .02em;
}
.bca-modelo__paso strong {
    display: block;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--negro);
    margin-bottom: .4rem;
}
.bca-modelo__paso span {
    font-size: 1.4rem;
    color: #666;
    line-height: 1.55;
}

/* ── Logros ── */
.bca-logros {
    padding: 9rem 0;
    background: linear-gradient(180deg, #f0f7fb 0%, #ffffff 60%, #f5fbf0 100%);
    position: relative;
    overflow: hidden;
}
.bca-logros::before {
    content: '';
    position: absolute;
    top: -20%;
    left: -10%;
    width: 45rem;
    height: 45rem;
    background: radial-gradient(circle, rgba(74,149,193,.10) 0%, transparent 70%);
    pointer-events: none;
}
.bca-logros::after {
    content: '';
    position: absolute;
    bottom: -25%;
    right: -8%;
    width: 38rem;
    height: 38rem;
    background: radial-gradient(circle, rgba(114,191,68,.10) 0%, transparent 70%);
    pointer-events: none;
}
.bca-logros .contenedor { position: relative; z-index: 1; }
.bca-logros .titular--centro h2 { color: #0a2540; }
.bca-logros .titular--centro em {
    background: linear-gradient(135deg, #4a95c1, #72bf44);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bca-logros .titular--centro .titular__eyebrow {
    color: #72bf44;
    font-weight: 700;
    letter-spacing: .1em;
}
.bca-logros__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    margin-top: 5rem;
}
.bca-logro__card {
    background: #ffffff;
    border-radius: 1.6rem;
    padding: 3rem 2.5rem;
    transition: transform .3s, box-shadow .3s, border-color .3s;
    animation: revealUp .5s both;
    animation-delay: var(--d, 0s);
    border: 1px solid rgba(74,149,193,.12);
    box-shadow: 0 4px 18px rgba(15,76,117,.05);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.bca-logro__card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--accent, #4a95c1);
}
.bca-logro__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 1.5rem 4rem rgba(15,76,117,.15);
    border-color: rgba(74,149,193,.3);
}
.bca-logro__card:nth-child(1) { --accent: #72bf44; }
.bca-logro__card:nth-child(2) { --accent: #4a95c1; }
.bca-logro__card:nth-child(3) { --accent: #fbbf24; }
.bca-logro__icono {
    width: 6rem;
    height: 6rem;
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent, #4a95c1) 18%, transparent), color-mix(in srgb, var(--accent, #4a95c1) 6%, transparent));
    border-radius: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    color: var(--accent, #4a95c1);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--accent, #4a95c1) 18%, transparent);
}
.bca-logro__icono svg { width: 3rem; height: 3rem; stroke: currentColor; }
.bca-logro__card h3 {
    font-size: 1.85rem;
    font-weight: 800;
    color: #0a2540;
    margin-bottom: 1rem;
    line-height: 1.25;
}
.bca-logro__card p {
    font-size: 1.45rem;
    color: #4a6378;
    line-height: 1.65;
    flex: 1;
    margin-bottom: 0;
}

/* Card destaque (70.000 personas) */
.bca-logro__card--destaque {
    background: linear-gradient(160deg, #0a2540 0%, #103a5e 100%) !important;
    border-color: transparent !important;
    color: #fff;
}
.bca-logro__card--destaque::before {
    background: linear-gradient(90deg, #7dd3fc, #72bf44, #fbbf24) !important;
    height: 5px;
}
.bca-logro__card--destaque h3 { color: #fff; }
.bca-logro__card--destaque p { color: rgba(255,255,255,.85); }
.bca-logro__num {
    font-size: clamp(3.6rem, 4.4vw, 5.2rem);
    font-weight: 900;
    background: linear-gradient(135deg, #7dd3fc 0%, #4a95c1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    margin-bottom: 1.2rem;
    letter-spacing: -.02em;
    text-shadow: 0 4px 24px rgba(74,149,193,.3);
}
.bca-logro__badge {
    display: inline-block;
    background: linear-gradient(135deg, rgba(125,211,252,.25), rgba(114,191,68,.2));
    border: 1px solid rgba(125,211,252,.4);
    color: #7dd3fc;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .4rem 1rem;
    border-radius: 10rem;
    margin-top: 1.6rem;
}

/* ── Importancia estratégica ── */
.bca-importancia {
    padding: 8rem 0;
    background: #021420;
}
.bca-importancia__inner {
    display: grid;
    grid-template-columns: auto 1px 1fr;
    gap: 6rem;
    align-items: center;
}
.bca-importancia__stat { text-align: center; }
.bca-importancia__fraccion {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    justify-content: center;
    margin-bottom: 1.2rem;
}
.bca-importancia__num {
    font-size: clamp(7rem, 12vw, 12rem);
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
    letter-spacing: -.04em;
}
.bca-importancia__sep {
    font-size: clamp(4rem, 7vw, 7rem);
    font-weight: 300;
    color: rgba(255,255,255,.2);
}
.bca-importancia__den {
    font-size: clamp(4.5rem, 7.5vw, 7.5rem);
    font-weight: 900;
    color: rgba(255,255,255,.35);
    line-height: 1;
}
.bca-importancia__stat-desc {
    font-size: 1.5rem;
    color: rgba(255,255,255,.55);
    max-width: 22rem;
    line-height: 1.5;
    margin: 0 auto;
    font-weight: 600;
}
.bca-importancia__divider {
    width: 1px;
    background: rgba(255,255,255,.1);
    align-self: stretch;
    min-height: 18rem;
}
.bca-importancia__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.bca-importancia__texto h2 {
    font-size: clamp(2.6rem, 3.8vw, 4rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 2rem;
}
.bca-importancia__texto h2 em {
    color: var(--celeste);
    font-style: normal;
}
.bca-importancia__texto p {
    font-size: 1.65rem;
    color: rgba(255,255,255,.65);
    line-height: 1.75;
    margin-bottom: 1.4rem;
}
.bca-importancia__texto p strong { color: rgba(255,255,255,.9); }

/* ── Mensaje ── */
.bca-mensaje {
    padding: 9rem 0;
    background: var(--negro);
}
.bca-mensaje__inner {
    max-width: 72rem;
    margin: 0 auto;
    text-align: center;
}
.bca-mensaje__comilla {
    width: 5rem;
    height: auto;
    fill: var(--celeste);
    opacity: .3;
    margin-bottom: 2.5rem;
}
.bca-mensaje__texto {
    font-size: clamp(2.2rem, 3.2vw, 3.2rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    font-style: normal;
    margin-bottom: 2.5rem;
}
.bca-mensaje__autor {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255,255,255,.4);
    letter-spacing: .06em;
    text-transform: uppercase;
    font-style: normal;
}

/* Responsive Bolivia con Agua */
@media (max-width: 1100px) {
    .bca-logros__grid { grid-template-columns: repeat(2, 1fr); }
    .bca-importancia__inner { grid-template-columns: 1fr; gap: 4rem; }
    .bca-importancia__divider { display: none; }
}
@media (max-width: 768px) {
    .bca-que-es__grid,
    .bca-modelo__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .bca-que-es__anio { position: static; margin-top: 1.5rem; display: inline-block; }
    .bca-logros__grid { grid-template-columns: 1fr; }
    .bca-hero__logro { flex-direction: column; align-items: flex-start; gap: 1rem; }
}

/* ============================================================
   ALIADOS POR EL AGUA — apa-
   ============================================================ */

/* ── Hero ── */
.apa-hero {
    position: relative;
    min-height: 90vh;
    background: #010e1c center/cover no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}
.apa-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(1,14,28,.92) 0%,
        rgba(1,14,28,.60) 55%,
        rgba(74,149,193,.20) 100%
    );
}
.apa-hero__nav {
    position: absolute;
    top: 2.4rem;
    left: 0;
    right: 0;
    z-index: 2;
}
.apa-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.7);
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s;
}
.apa-hero__back:hover { color: #fff; }
.apa-hero__inner {
    position: relative;
    z-index: 2;
    padding-bottom: 8rem;
}
.apa-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    background: rgba(74,149,193,.15);
    border: 1px solid rgba(74,149,193,.35);
    backdrop-filter: blur(6px);
    color: #9dd4ef;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: .55rem 1.4rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.apa-hero__titulo {
    font-size: clamp(4.5rem, 8.5vw, 9rem);
    font-weight: 900;
    line-height: .95;
    color: #fff;
    margin-bottom: 2rem;
    letter-spacing: -.03em;
}
.apa-hero__titulo em {
    color: var(--celeste);
    font-style: italic;
    display: block;
}
.apa-hero__sub {
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    color: rgba(255,255,255,.72);
    max-width: 64rem;
    margin-bottom: 4rem;
    line-height: 1.6;
}
.apa-hero__cifras {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    backdrop-filter: blur(8px);
    border-radius: 1.4rem;
    overflow: hidden;
    display: inline-flex;
}
.apa-hero__cifra {
    padding: 2.2rem 3.5rem;
    text-align: center;
}
.apa-hero__cifra strong {
    display: block;
    font-size: clamp(2.8rem, 4.5vw, 4.2rem);
    font-weight: 900;
    color: var(--celeste);
    line-height: 1;
    letter-spacing: -.02em;
}
.apa-hero__cifra span {
    display: block;
    font-size: 1.2rem;
    color: rgba(255,255,255,.55);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-top: .5rem;
}
.apa-hero__sep {
    width: 1px;
    background: rgba(255,255,255,.12);
    align-self: stretch;
}
.apa-hero__sin-img {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: rgba(255,255,255,.3);
    font-size: 1.3rem;
    text-align: center;
    pointer-events: none;
}

/* ── ¿Qué es? ── */
.apa-que-es {
    padding: 9rem 0;
    background: #fff;
}
.apa-que-es__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    align-items: center;
}
.apa-que-es__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.apa-que-es__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.apa-que-es__texto h2 em { color: var(--celeste); font-style: normal; }
.apa-que-es__texto p {
    font-size: 1.65rem;
    line-height: 1.75;
    color: #555;
    margin-bottom: 1.6rem;
}
.apa-replenish {
    display: flex;
    gap: 1.8rem;
    align-items: flex-start;
    padding: 2rem 2.4rem;
    background: rgba(74,149,193,.06);
    border: 1px solid rgba(74,149,193,.2);
    border-radius: 1.2rem;
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
}
.apa-replenish__ico {
    width: 5rem;
    height: 5rem;
    background: rgba(74,149,193,.12);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.apa-replenish__ico svg { width: 2.4rem; height: 2.4rem; stroke: var(--celeste); }
.apa-replenish strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--negro);
    margin-bottom: .5rem;
}
.apa-replenish span {
    font-size: 1.4rem;
    color: #666;
    line-height: 1.55;
}
.apa-aliados-logos {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
.apa-aliado__tag {
    background: var(--gris-suave);
    border: 1px solid var(--gris-borde);
    color: #555;
    font-size: 1.2rem;
    font-weight: 700;
    padding: .45rem 1.2rem;
    border-radius: 10rem;
    letter-spacing: .02em;
}
.apa-que-es__media { position: relative; }
.apa-que-es__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.apa-que-es__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #edf3f5;
    border: 2px dashed #c8d8e0;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}
.apa-que-es__badge {
    position: absolute;
    bottom: -2rem;
    left: -2rem;
    background: var(--celeste);
    border-radius: 1.2rem;
    padding: 2rem 2.5rem;
    text-align: center;
    box-shadow: 0 1.5rem 4rem rgba(74,149,193,.4);
}
.apa-que-es__badge-num {
    font-size: 3.4rem;
    font-weight: 900;
    color: #fff;
    line-height: 1;
}
.apa-que-es__badge-txt {
    font-size: 1.2rem;
    color: rgba(255,255,255,.8);
    margin-top: .5rem;
    line-height: 1.35;
    font-weight: 600;
}

/* ── Metodología ── */
.apa-metodologia {
    padding: 9rem 0;
    background: var(--gris-suave);
}
.apa-metod__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 5rem;
    margin-bottom: 4rem;
}
.apa-metod__card {
    border-radius: 1.4rem;
    padding: 3.5rem 3rem;
    transition: transform .25s, box-shadow .25s;
    animation: revealUp .5s both;
}
.apa-metod__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 2.5rem 6rem rgba(0,0,0,.12);
}
.apa-metod__card--verde {
    background: #fff;
    border-top: 4px solid var(--verde);
}
.apa-metod__card--celeste {
    background: var(--celeste);
    border-top: 4px solid var(--celeste-osc);
}
.apa-metod__card--oscuro {
    background: #2c5e1e;
    border-top: 4px solid #72bf44;
}
.apa-metod__card-ico {
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2.2rem;
}
.apa-metod__card--verde .apa-metod__card-ico { background: rgba(114,191,68,.1); color: var(--verde); }
.apa-metod__card--celeste .apa-metod__card-ico { background: rgba(255,255,255,.2); color: #fff; }
.apa-metod__card--oscuro .apa-metod__card-ico { background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); }
.apa-metod__card-ico svg { width: 2.8rem; height: 2.8rem; stroke: currentColor; }
.apa-metod__card h3 {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1.2rem;
    line-height: 1.2;
}
.apa-metod__card--verde h3 { color: var(--negro); }
.apa-metod__card--celeste h3,
.apa-metod__card--oscuro h3 { color: #fff; }
.apa-metod__card p {
    font-size: 1.5rem;
    line-height: 1.65;
    margin-bottom: 2rem;
}
.apa-metod__card--verde p { color: #666; }
.apa-metod__card--celeste p,
.apa-metod__card--oscuro p { color: rgba(255,255,255,.88); }
.apa-metod__tag {
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: .35rem 1rem;
    border-radius: 10rem;
}
.apa-metod__card--verde .apa-metod__tag { background: rgba(114,191,68,.12); color: var(--verde-oscuro); }
.apa-metod__card--celeste .apa-metod__tag { background: rgba(255,255,255,.2); color: #fff; }
.apa-metod__card--oscuro .apa-metod__tag { background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); }
.apa-metod__img {
    width: 100%;
    max-height: 42rem;
    object-fit: cover;
    border-radius: 1.4rem;
    display: block;
}
.apa-metod__placeholder {
    width: 100%;
    height: 36rem;
    background: #e0eaee;
    border: 2px dashed #b8cdd6;
    border-radius: 1.4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.3rem;
}

/* ── Logros ── */
.apa-logros {
    padding: 9rem 0;
    background: linear-gradient(160deg, #0a2540 0%, #103a5e 50%, #0e2c4a 100%);
    position: relative;
    overflow: hidden;
}
.apa-logros::before {
    content: '';
    position: absolute;
    top: -30%;
    right: -10%;
    width: 50rem;
    height: 50rem;
    background: radial-gradient(circle, rgba(74,149,193,.18) 0%, transparent 70%);
    pointer-events: none;
}
.apa-logros::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: -10%;
    width: 40rem;
    height: 40rem;
    background: radial-gradient(circle, rgba(114,191,68,.12) 0%, transparent 70%);
    pointer-events: none;
}
.apa-logros .contenedor { position: relative; z-index: 1; }
.apa-logros .titular--blanco h2 { color: #fff; }
.apa-logros .titular--blanco em { color: #7dd3fc; }
.apa-logros .titular--blanco .titular__eyebrow {
    color: #72bf44;
    letter-spacing: .1em;
    font-weight: 700;
}
.apa-logros__grid {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin-top: 5rem;
    flex-wrap: wrap;
}
.apa-logro {
    flex: 1;
    min-width: 18rem;
    text-align: center;
    padding: 2rem 1rem;
}
.apa-logro__num {
    font-size: clamp(3.8rem, 5.8vw, 6rem);
    font-weight: 900;
    background: linear-gradient(135deg, #7dd3fc 0%, #4a95c1 60%, #2e7fb0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    letter-spacing: -.02em;
    text-shadow: 0 4px 30px rgba(74,149,193,.3);
}
.apa-logro__unidad {
    font-size: 1.35rem;
    font-weight: 700;
    color: #72bf44;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-top: .5rem;
    margin-bottom: 1.8rem;
}
.apa-logro__icono {
    width: 7rem;
    height: 7rem;
    background: linear-gradient(135deg, rgba(74,149,193,.22), rgba(114,191,68,.18));
    border: 2px solid rgba(125,211,252,.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.8rem;
    box-shadow: 0 6px 24px rgba(74,149,193,.25);
}
.apa-logro__icono svg { width: 3.4rem; height: 3.4rem; stroke: #7dd3fc; }
.apa-logro h3 {
    font-size: 1.7rem;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 1.2rem;
    line-height: 1.3;
    letter-spacing: -.005em;
}
.apa-logro p {
    font-size: 1.4rem;
    color: rgba(255,255,255,.82);
    line-height: 1.65;
    max-width: 24rem;
    margin: 0 auto;
}
.apa-logro p strong {
    color: #fbbf24;
    font-weight: 700;
}
.apa-logro__div {
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, rgba(125,211,252,.25) 50%, transparent 100%);
    align-self: stretch;
    min-height: 18rem;
}

/* ── Importancia estratégica ── */
.apa-estrategia {
    padding: 9rem 0;
    background: var(--gris-suave);
}
.apa-estrategia__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 6rem;
    align-items: start;
}
.apa-estrategia__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1rem;
}
.apa-estrategia__texto h2 {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--negro);
    margin-bottom: 2rem;
}
.apa-estrategia__texto h2 em { color: var(--celeste); font-style: normal; }
.apa-estrategia__texto p {
    font-size: 1.65rem;
    line-height: 1.75;
    color: #555;
    margin-bottom: 1.6rem;
}
.apa-estrategia__cita {
    border-left: 3px solid var(--celeste);
    padding: 1.4rem 2rem;
    margin-top: 2.5rem;
    font-size: 1.55rem;
    font-style: italic;
    color: #444;
    background: rgba(74,149,193,.05);
    border-radius: 0 .8rem .8rem 0;
    line-height: 1.65;
}
.apa-estrategia__cards {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 5.5rem;
}
.apa-estrategia__card {
    background: #fff;
    border-radius: 1.2rem;
    padding: 2.4rem 2.5rem;
    display: flex;
    gap: 1.8rem;
    align-items: flex-start;
    box-shadow: 0 .4rem 2rem rgba(0,0,0,.06);
    transition: box-shadow .2s, transform .2s;
}
.apa-estrategia__card:hover {
    box-shadow: 0 1rem 4rem rgba(0,0,0,.1);
    transform: translateX(4px);
}
.apa-estrategia__card > svg {
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
    stroke: var(--celeste);
    margin-top: .3rem;
}
.apa-estrategia__card strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--negro);
    margin-bottom: .4rem;
}
.apa-estrategia__card span {
    font-size: 1.35rem;
    color: #777;
    line-height: 1.5;
}

/* ── Mensaje ── */
.apa-mensaje {
    padding: 9rem 0;
    background: #010e1c;
}
.apa-mensaje__inner {
    max-width: 76rem;
    margin: 0 auto;
    text-align: center;
}
.apa-mensaje__comilla {
    width: 5rem;
    height: auto;
    fill: var(--celeste);
    opacity: .28;
    margin-bottom: 2.5rem;
}
.apa-mensaje__texto {
    font-size: clamp(2rem, 2.8vw, 2.8rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.55;
    font-style: normal;
    margin-bottom: 2.5rem;
}
.apa-mensaje__autor {
    font-size: 1.3rem;
    font-weight: 600;
    color: rgba(255,255,255,.38);
    letter-spacing: .06em;
    text-transform: uppercase;
    font-style: normal;
}

/* Responsive Aliados por el Agua */
@media (max-width: 1100px) {
    .apa-metod__grid { grid-template-columns: 1fr; }
    .apa-estrategia__grid { grid-template-columns: 1fr; }
    .apa-estrategia__cards { padding-top: 0; }
}
@media (max-width: 768px) {
    .apa-que-es__grid { grid-template-columns: 1fr; gap: 3.5rem; }
    .apa-que-es__badge { position: static; display: inline-block; margin-top: 1.5rem; }
    .apa-logros__grid { flex-direction: column; }
    .apa-logro__div { width: 6rem; height: 1px; min-height: 0; align-self: center; }
    .apa-hero__cifras { flex-direction: column; border-radius: 1rem; }
    .apa-hero__sep { width: 100%; height: 1px; }
    .apa-hero__cifra { padding: 1.8rem 2.5rem; width: 100%; }
}

/* ════════════════════════════════════════════════════════════
   BOLETÍN NATURALIA — CARRUSEL BIBLIOTECA
   ════════════════════════════════════════════════════════════ */

/* ── Sección principal ── */
.bib-seccion {
    padding: 5rem 0 3rem;
    background: #f7f8f6;
    overflow: hidden;
}

/* ── Contenedor con botones ── */
.bib-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50rem;
    padding: 2rem 0;
}

/* ── Escenario de cartas ── */
.bib-stage {
    position: relative;
    width: 28rem;
    height: 40rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Carta individual ── */
.bib-card {
    position: absolute;
    width: 28rem;
    cursor: pointer;
    transition: transform .5s cubic-bezier(.4,0,.2,1),
                opacity  .5s cubic-bezier(.4,0,.2,1);
    will-change: transform, opacity;
    user-select: none;
}

/* ── Libro (portada cuadrada) ── */
.bib-card__libro {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: 1.2rem;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.10);
    transition: box-shadow .4s ease;
}
.bib-card.is-active .bib-card__libro {
    box-shadow: 0 24px 64px rgba(0,0,0,.28), 0 4px 16px rgba(0,0,0,.14);
}

/* ── Imagen real ── */
.bib-card__img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Portada de demostración ── */
.bib-card__demo-cover {
    width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2.2rem 2rem 2rem;
    position: relative;
    overflow: hidden;
}

/* Cuando hay foto de portada cargada, se usa como fondo con overlay oscuro */
.bib-card__demo-cover--con-foto {
    background-color: #1a2e1a; /* fallback si la imagen no carga */
}
.bib-card__overlay-foto {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg,
        rgba(10, 25, 10, .72) 0%,
        rgba(10, 25, 10, .55) 50%,
        rgba(10, 25, 10, .82) 100%);
    z-index: 1;
}
/* Si hay foto, oculto la "N" gigante de fondo para que no choque con la imagen */
.bib-card__demo-cover--con-foto .bib-card__demo-n {
    color: rgba(255, 255, 255, .08);
}
/* Sombra sutil en los textos para legibilidad sobre cualquier foto */
.bib-card__demo-cover--con-foto .bib-card__demo-top,
.bib-card__demo-cover--con-foto .bib-card__demo-bottom {
    text-shadow: 0 2px 8px rgba(0, 0, 0, .4);
}
.bib-card__demo-top {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    position: relative;
    z-index: 2;
}
.bib-card__demo-logo {
    display: flex;
    align-items: center;
    gap: .8rem;
}
.bib-card__demo-brand {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.bib-card__demo-brand span {
    font-size: .9rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .06em;
}
.bib-card__demo-brand strong {
    font-size: 1rem;
    color: #fff;
    font-weight: 700;
}
.bib-card__demo-tag {
    font-size: .78rem;
    color: rgba(255,255,255,.4);
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* "N" decorativa grande */
.bib-card__demo-n {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22rem;
    font-weight: 900;
    color: rgba(114,191,68,.07);
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.bib-card__demo-bottom {
    position: relative;
    z-index: 2;
}
.bib-card__demo-name {
    font-size: 1.5rem;
    font-weight: 900;
    color: #fff;
    letter-spacing: .25em;
    text-transform: uppercase;
}
.bib-card__demo-year {
    font-size: 2.6rem;
    font-weight: 900;
    color: #72bf44;
    line-height: 1;
    margin-top: .2rem;
}
.bib-card__demo-line {
    width: 3.5rem;
    height: 3px;
    background: #72bf44;
    margin-top: 1rem;
    border-radius: 2px;
}

/* ── Overlay hover (solo carta activa) ── */
.bib-card__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
    border-radius: 1.2rem;
}
.bib-card.is-active .bib-card__libro:hover .bib-card__overlay {
    opacity: 1;
}
.bib-card__cta {
    display: flex;
    align-items: center;
    gap: .7rem;
    background: #72bf44;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    padding: .9rem 2rem;
    border-radius: 3rem;
    text-decoration: none;
    transition: background .2s, transform .2s;
}
.bib-card__cta:hover {
    background: #5da832;
    transform: scale(1.04);
}

/* ── Pie de carta ── */
.bib-card__pie {
    margin-top: 1.4rem;
    text-align: center;
    opacity: 0;
    transform: translateY(.6rem);
    transition: opacity .4s ease, transform .4s ease;
}
.bib-card.is-active .bib-card__pie {
    opacity: 1;
    transform: translateY(0);
}
.bib-card__titulo {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a3320;
    margin: 0 0 .5rem;
}
.bib-card__badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .75rem;
    font-weight: 600;
    color: #72bf44;
    background: rgba(114,191,68,.1);
    border: 1px solid rgba(114,191,68,.3);
    padding: .3rem .8rem;
    border-radius: 2rem;
}

/* ── Botones de navegación ── */
.bib-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 30;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    border: 2px solid rgba(26,51,32,.12);
    background: #fff;
    color: #1a3320;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.bib-nav:hover:not(:disabled) {
    background: #72bf44;
    border-color: #72bf44;
    color: #fff;
    box-shadow: 0 6px 24px rgba(114,191,68,.35);
    transform: translateY(-50%) scale(1.06);
}
.bib-nav:disabled {
    opacity: 1;
    cursor: pointer;
}
.bib-nav--prev { left: calc(50% - 23rem); }
.bib-nav--next { right: calc(50% - 23rem); }

/* ── Puntos indicadores ── */
.bib-dots {
    display: flex;
    justify-content: center;
    gap: .6rem;
    padding-bottom: 3rem;
}
.bib-dot {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    border: none;
    background: rgba(26,51,32,.18);
    cursor: pointer;
    padding: 0;
    transition: background .3s, transform .3s, width .3s;
}
.bib-dot.is-active {
    background: #72bf44;
    width: 2.2rem;
    border-radius: 1rem;
    transform: none;
}

/* ── Info de carga ── */
.nat-info-carga {
    background: #f0f5ee;
}
.nat-info-carga__inner {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 2.5rem 3rem;
    border-radius: 1.2rem;
    border: 1.5px dashed rgba(114,191,68,.4);
    background: #fff;
}
.nat-info-carga__icono {
    flex-shrink: 0;
    color: #72bf44;
}
.nat-info-carga__inner h3 {
    font-size: 1.15rem;
    color: #1a3320;
    margin: 0 0 .4rem;
}
.nat-info-carga__inner p {
    font-size: .95rem;
    color: #555;
    margin: 0;
    line-height: 1.6;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .bib-stage { width: 22rem; height: 32rem; }
    .bib-card { width: 22rem; }
    .bib-nav--prev { left: .5rem; }
    .bib-nav--next { right: .5rem; }
    .bib-nav { width: 3.8rem; height: 3.8rem; }
    .nat-info-carga__inner { flex-direction: column; text-align: center; padding: 2rem; }
}
@media (max-width: 480px) {
    .bib-stage { width: 18rem; height: 26rem; }
    .bib-card { width: 18rem; }
}

/* ════════════════════════════════════════════════════════════
   CONSERVACIÓN VOLUNTARIA — Historias del territorio
   ════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.cv-hero {
    background: #0d1f10;
    padding: 8rem 0 6rem;
    position: relative;
    overflow: hidden;
}
.cv-hero__fondo { position:absolute; inset:0; pointer-events:none; }
.cv-hero__circulo {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .25;
}
.cv-hero__circulo--1 { width:50rem; height:50rem; background:#72bf44; top:-15rem; left:-10rem; }
.cv-hero__circulo--2 { width:35rem; height:35rem; background:#4a95c1; bottom:-10rem; right:-5rem; }
.cv-hero__grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(rgba(114,191,68,.06) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(114,191,68,.06) 1px, transparent 1px);
    background-size: 4rem 4rem;
}
.cv-hero__inner { position:relative; z-index:2; max-width:72rem; }
.cv-hero__chip {
    display: inline-flex; align-items: center; gap: .6rem;
    font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
    color: rgba(255,255,255,.6); background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12); border-radius: 2rem;
    padding: .45rem 1.2rem; margin-bottom: 1.8rem;
}
.cv-hero__titulo {
    font-size: clamp(3rem, 6vw, 5.5rem);
    font-weight: 900; color: #fff; line-height: 1.08;
    margin: 0 0 1.4rem;
}
.cv-hero__titulo em { color: #72bf44; font-style: normal; }
.cv-hero__sub {
    font-size: 1.2rem; color: rgba(255,255,255,.65);
    max-width: 52rem; line-height: 1.7; margin: 0 0 3rem;
}
.cv-hero__stats { display: flex; align-items: center; gap: 2.5rem; }
.cv-hero__stat strong {
    display: block; font-size: 2.4rem; font-weight: 900;
    color: #72bf44; line-height: 1;
}
.cv-hero__stat span { font-size: .85rem; color: rgba(255,255,255,.5); }
.cv-hero__sep { width: 1px; height: 3.5rem; background: rgba(255,255,255,.15); }

/* ── Historia Destacada ── */
.cv-dest__card {
    display: grid; grid-template-columns: 1.1fr 1fr;
    border-radius: 1.6rem; overflow: hidden;
    box-shadow: 0 12px 48px rgba(0,0,0,.12);
    background: #fff;
}
.cv-dest__imagen { position: relative; min-height: 44rem; }
.cv-dest__img { width:100%; height:100%; object-fit:cover; display:block; }
.cv-dest__sin-img {
    width:100%; height:100%; min-height:44rem;
    background: linear-gradient(135deg, #1a3320 0%, #2d5a3d 100%);
    display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.3);
}
.cv-dest__tipo-badge {
    position: absolute; top: 1.6rem; left: 1.6rem;
    display: inline-flex; align-items: center; gap: .5rem;
    font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: .4rem 1rem; border-radius: 2rem;
}
.cv-dest__tipo-dot { width: .55rem; height: .55rem; border-radius: 50%; flex-shrink:0; }
.cv-dest__contenido {
    padding: 4rem 4rem 4rem 3.5rem;
    display: flex; flex-direction: column; justify-content: center; gap: 1.4rem;
}
.cv-dest__meta { display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }
.cv-dest__lugar {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.85rem; font-weight:600; color:#72bf44;
}
.cv-dest__anio { font-size:.8rem; color:#888; background:#f4f5f3; padding:.25rem .8rem; border-radius:2rem; }
.cv-dest__titulo {
    font-size: clamp(1.6rem, 2.5vw, 2.4rem);
    font-weight: 900; color: #1a3320; line-height: 1.2; margin: 0;
}
.cv-dest__excerpt { font-size: 1.05rem; color: #555; line-height: 1.7; margin: 0; }
.cv-dest__prot {
    display: flex; align-items: center; gap: 1rem;
    padding-top: .6rem; border-top: 1px solid #f0f0f0;
}
.cv-dest__prot-avatar {
    width: 3.6rem; height: 3.6rem; border-radius: 50%;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    display:flex; align-items:center; justify-content:center;
    font-size: 1.3rem; font-weight: 800; color: #fff; flex-shrink:0;
}
.cv-dest__prot span { font-size:.95rem; font-weight:600; color:#1a3320; }
.cv-dest__btn { align-self: flex-start; }

/* ── Grilla de historias ── */
.cv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
    margin-top: 3.5rem;
}
.cv-card {
    background: #fff; border-radius: 1.2rem;
    overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.07);
    transition: transform .3s ease, box-shadow .3s ease;
}
.cv-card:hover { transform: translateY(-5px); box-shadow: 0 12px 36px rgba(0,0,0,.13); }
.cv-card__link { text-decoration:none; color:inherit; display:block; }
.cv-card__foto { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #e8eee8; }
.cv-card__img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.cv-card:hover .cv-card__img { transform: scale(1.05); }
.cv-card__sin-foto {
    width:100%; height:100%;
    background: linear-gradient(135deg, #1a3320 0%, #2d5a3d 100%);
    display:flex; align-items:center; justify-content:center;
}
.cv-card__sin-foto span { font-size: 3rem; font-weight: 900; color: rgba(255,255,255,.2); }
.cv-card__tipo {
    position: absolute; top: 1rem; left: 1rem;
    font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: #fff; padding: .3rem .9rem; border-radius: 2rem;
}
.cv-card__cuerpo { padding: 1.8rem; }
.cv-card__lugar {
    display:flex; align-items:center; gap:.35rem;
    font-size: .8rem; font-weight:600; color: #72bf44; margin:0 0 .7rem;
}
.cv-card__titulo {
    font-size: 1.1rem; font-weight: 800; color: #1a3320;
    line-height: 1.35; margin: 0 0 .7rem;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.cv-card__excerpt { font-size:.9rem; color:#666; line-height:1.6; margin:0 0 1.2rem; }
.cv-card__pie {
    display:flex; align-items:center; gap:.8rem;
    padding-top: 1rem; border-top: 1px solid #f0f0f0;
    font-size:.8rem; color:#999; flex-wrap:wrap;
}
.cv-card__prot { font-weight:600; color:#555; }
.cv-card__anio { background:#f4f5f3; padding:.2rem .7rem; border-radius:2rem; }
.cv-card__cta {
    margin-left: auto; font-weight:700; font-size:.85rem;
    color: #72bf44; display:flex; align-items:center; gap:.3rem; transition: gap .2s;
}
.cv-card:hover .cv-card__cta { gap:.6rem; }

/* ── Estado vacío ── */
.cv-vacio {
    text-align:center; padding: 6rem 2rem;
    display:flex; flex-direction:column; align-items:center; gap:1.4rem;
}
.cv-vacio__icono { color: rgba(114,191,68,.4); }
.cv-vacio h3 { font-size:1.5rem; color:#1a3320; margin:0; }
.cv-vacio p  { font-size:1rem; color:#777; max-width:40rem; margin:0; line-height:1.6; }

/* ── CTA final ── */
.cv-cta {
    background: linear-gradient(135deg, #1a3320 0%, #0d2418 100%);
    padding: 6rem 0; position: relative; overflow:hidden;
}
.cv-cta::before {
    content:''; position:absolute; inset:0;
    background-image: linear-gradient(rgba(114,191,68,.04) 1px,transparent 1px),
                      linear-gradient(90deg,rgba(114,191,68,.04) 1px,transparent 1px);
    background-size: 5rem 5rem;
}
.cv-cta__inner {
    position:relative; z-index:2;
    display:flex; align-items:center; gap:3rem; flex-wrap:wrap;
}
.cv-cta__icono { flex-shrink:0; }
.cv-cta__inner h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    color:#fff; font-weight:900; margin:0 0 .6rem; line-height:1.2;
}
.cv-cta__inner p { font-size:1rem; color:rgba(255,255,255,.6); margin:0; line-height:1.6; }
.cv-cta__btn { flex-shrink:0; white-space:nowrap; }

/* ── Responsive ── */
@media (max-width: 1024px) {
    .cv-dest__card { grid-template-columns:1fr; }
    .cv-dest__imagen { min-height: 30rem; }
    .cv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .cv-hero__stats { flex-direction:column; align-items:flex-start; gap:1.2rem; }
    .cv-hero__sep { display:none; }
    .cv-grid { grid-template-columns: 1fr; }
    .cv-dest__contenido { padding: 2.5rem 2rem; }
    .cv-cta__inner { flex-direction:column; text-align:center; }
}

/* ════════════════════════════════════════════════════════════
   CONVOCATORIAS — Página profesional
   ════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.con-hero {
    background: #0b1d2e;
    padding: 8rem 0 5.5rem;
    position: relative; overflow: hidden;
}
.con-hero__bg { position:absolute; inset:0; pointer-events:none; }
.con-hero__blob {
    position:absolute; border-radius:50%; filter:blur(90px); opacity:.2;
}
.con-hero__blob--1 { width:55rem; height:55rem; background:#4a95c1; top:-20rem; left:-15rem; }
.con-hero__blob--2 { width:35rem; height:35rem; background:#72bf44; bottom:-10rem; right:-5rem; }
.con-hero__inner { position:relative; z-index:2; }
.con-hero__chip {
    display:inline-flex; align-items:center; gap:.6rem;
    font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    color:rgba(255,255,255,.55); background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12); border-radius:2rem;
    padding:.4rem 1.2rem; margin-bottom:1.8rem;
}
.con-hero__titulo {
    font-size:clamp(2.8rem,5.5vw,5rem);
    font-weight:900; color:#fff; line-height:1.1; margin:0 0 1.2rem;
}
.con-hero__titulo em { color:#4a95c1; font-style:normal; }
.con-hero__sub {
    font-size:1.15rem; color:rgba(255,255,255,.6);
    max-width:50rem; line-height:1.7; margin:0 0 2.8rem;
}
.con-hero__contadores { display:flex; align-items:center; gap:2.5rem; }
.con-hero__cnt strong { display:block; font-size:2.2rem; font-weight:900; color:rgba(255,255,255,.4); line-height:1; }
.con-hero__cnt--activo strong { color:#72bf44; }
.con-hero__cnt span { font-size:.82rem; color:rgba(255,255,255,.45); }
.con-hero__sep { width:1px; height:3rem; background:rgba(255,255,255,.12); }

/* ── Tabs ── */
.con-tabs {
    background:#fff;
    border-bottom:2px solid #eee;
    position:sticky; top:0; z-index:50;
    box-shadow:0 2px 16px rgba(0,0,0,.07);
}
.con-tabs__inner {
    display:flex; align-items:center; gap:0;
    overflow-x:auto; scrollbar-width:none;
}
.con-tabs__inner::-webkit-scrollbar { display:none; }
.con-tab {
    display:inline-flex; align-items:center; gap:.6rem;
    padding:1.3rem 2rem;
    font-size:.92rem; font-weight:600; color:#666;
    background:none; border:none; cursor:pointer;
    border-bottom:3px solid transparent;
    transition:color .2s, border-color .2s;
    white-space:nowrap; position:relative; bottom:-2px;
}
.con-tab:hover { color:#1a3320; }
.con-tab.is-active { color:#1a3320; border-bottom-color:#72bf44; }
.con-tab__dot {
    width:.55rem; height:.55rem; border-radius:50%; flex-shrink:0;
}
.con-tab__dot--verde { background:#72bf44; }
.con-tab__dot--rojo  { background:#e74c3c; }
.con-tab__badge {
    background:#72bf44; color:#fff;
    font-size:.72rem; font-weight:800;
    padding:.15rem .55rem; border-radius:2rem; line-height:1.4;
}
.con-tab__badge--gris { background:#bbb; }

/* ── Grid de convocatorias ── */
.con-grid {
    display:grid; grid-template-columns:repeat(2,1fr);
    gap:2rem; margin-top:1rem;
}
.con-card {
    background:#fff; border-radius:1.4rem;
    border:1.5px solid #eee;
    padding:2.2rem 2.4rem;
    display:flex; flex-direction:column; gap:1.2rem;
    transition:box-shadow .3s, transform .3s;
}
.con-card:hover { box-shadow:0 10px 40px rgba(0,0,0,.1); transform:translateY(-3px); }
.con-card--cerrada { opacity:.75; }
.con-card--cerrada:hover { opacity:1; }

.con-card__head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem; }
.con-card__badges { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.con-badge {
    display:inline-flex; align-items:center; gap:.35rem;
    font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    padding:.3rem .85rem; border-radius:2rem;
}
.con-badge--verde  { background:#edf7e6; color:#2a6e0e; }
.con-badge--celeste { background:#e8f4fd; color:#1a6fa8; }
.con-badge--rojo   { background:#fde8e8; color:#a81a1a; }
.con-badge--gris   { background:#f0f0f0; color:#555; }

.con-card__deadline {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.8rem; font-weight:600; color:#72bf44;
    background:#edf7e6; padding:.3rem .9rem; border-radius:2rem;
}
.con-card__deadline--urgente { background:#fff3cd; color:#856404; }

.con-card__titulo {
    font-size:1.25rem; font-weight:800; color:#1a3320;
    line-height:1.35; margin:0;
}
.con-card__desc {
    font-size:.95rem; color:#666; line-height:1.65; margin:0;
}

.con-card__req {
    list-style:none; padding:0; margin:0;
    display:flex; flex-direction:column; gap:.5rem;
    padding:.8rem 1rem;
    background:#f7f9f7; border-radius:.8rem;
    border-left:3px solid #72bf44;
}
.con-card__req li { font-size:.88rem; color:#444; display:flex; gap:.6rem; align-items:flex-start; }
.con-card__req li::before { content:"✓"; color:#72bf44; font-weight:700; flex-shrink:0; }
.con-card__req-more { color:#999 !important; font-style:italic; }
.con-card__req-more::before { content:"+" !important; }

.con-card__footer {
    display:flex; align-items:center; gap:1rem;
    flex-wrap:wrap;
    padding-top:1rem; border-top:1px solid #f0f0f0;
    margin-top:auto;
}
.con-card__fecha {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.8rem; color:#888;
}
.con-card__cod {
    font-size:.75rem; font-weight:600; color:#aaa;
    background:#f5f5f5; padding:.2rem .7rem; border-radius:2rem;
    font-family:monospace;
}
.con-card__acciones { display:flex; align-items:center; gap:.8rem; margin-left:auto; flex-wrap:wrap; }

.con-btn {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.88rem; font-weight:700; border-radius:.6rem;
    padding:.6rem 1.4rem; text-decoration:none;
    transition:background .2s, color .2s, transform .2s;
    cursor:pointer; border:none;
}
.con-btn--pdf {
    background:#f5f5f5; color:#555;
    border:1px solid #e0e0e0;
}
.con-btn--pdf:hover { background:#e0e0e0; }
.con-btn--principal { background:#1a3320; color:#fff; }
.con-btn--principal:hover { background:#72bf44; transform:translateX(2px); }

/* ── Estado vacío ── */
.con-vacio {
    text-align:center; padding:5rem 2rem;
    display:flex; flex-direction:column; align-items:center; gap:1.2rem;
}
.con-vacio__icono { color:rgba(74,149,193,.3); }
.con-vacio h3 { font-size:1.35rem; color:#1a3320; margin:0; }
.con-vacio p  { font-size:.95rem; color:#777; max-width:40rem; margin:0; line-height:1.6; }

/* ── Historial adjudicado ── */
.con-historial { display:flex; flex-direction:column; gap:2.5rem; margin-top:3rem; }

.con-anio-bloque {
    background:#fff; border-radius:1.4rem;
    border:1.5px solid #e8efe8;
    overflow:hidden;
}
.con-anio-header {
    display:flex; align-items:center; gap:1.2rem;
    padding:1.8rem 2.5rem;
    cursor:pointer;
    transition:background .2s;
    flex-wrap:wrap;
}
.con-anio-header:hover { background:#f7fbf7; }
.con-anio-dot {
    width:.9rem; height:.9rem; border-radius:50%;
    background:#72bf44; flex-shrink:0;
}
.con-anio-titulo {
    font-size:1.6rem; font-weight:900; color:#1a3320; margin:0;
}
.con-anio-cod {
    font-size:.78rem; font-weight:600; color:#888;
    background:#f0f0f0; padding:.25rem .8rem;
    border-radius:2rem; font-family:monospace;
}
.con-anio-count {
    margin-left:auto; font-size:.82rem; color:#aaa; font-weight:600;
}

/* Tabla de adjudicados */
.con-anio-tabla { padding:0 2.5rem 2rem; }
.con-tabla-head {
    display:grid; grid-template-columns:2fr 2fr 1fr .5fr;
    padding:.6rem 1rem;
    font-size:.75rem; font-weight:700; color:#999;
    text-transform:uppercase; letter-spacing:.08em;
    border-bottom:1px solid #eee; margin-bottom:.5rem;
}
.con-tabla-fila {
    display:grid; grid-template-columns:2fr 2fr 1fr .5fr;
    padding:.9rem 1rem;
    border-radius:.6rem;
    transition:background .15s;
    align-items:center;
}
.con-tabla-fila:hover { background:#f7f9f7; }
.con-tabla-fila + .con-tabla-fila { border-top:1px solid #f5f5f5; }

.con-tabla__cargo { font-size:.93rem; font-weight:600; color:#1a3320; }
.con-tabla__nombre {
    display:flex; align-items:center; gap:.7rem;
    font-size:.9rem; color:#444;
}
.con-tabla__avatar {
    width:2.4rem; height:2.4rem; border-radius:50%;
    background:linear-gradient(135deg,#72bf44,#4a95c1);
    display:flex; align-items:center; justify-content:center;
    font-size:.85rem; font-weight:800; color:#fff; flex-shrink:0;
}
.con-tabla__pdf a {
    color:#4a95c1; display:flex;
    transition:color .2s;
}
.con-tabla__pdf a:hover { color:#1a6fa8; }

/* ── CTA final ── */
.con-cta { background:#1a3320; padding:5rem 0; }
.con-cta__inner {
    display:flex; align-items:center; justify-content:space-between;
    gap:2.5rem; flex-wrap:wrap;
    background:rgba(255,255,255,.06); border-radius:1.4rem;
    border:1px solid rgba(255,255,255,.12);
    padding:3.5rem 4rem;
}
.con-cta__inner h2 {
    font-size:clamp(1.5rem,2.5vw,2rem);
    color:#fff; font-weight:900; margin:0 0 .5rem; line-height:1.2;
}
.con-cta__inner p { font-size:.95rem; color:rgba(255,255,255,.6); margin:0; line-height:1.6; }

/* ── Responsive ── */
@media (max-width:900px) {
    .con-grid { grid-template-columns:1fr; }
    .con-tabla-head { display:none; }
    .con-tabla-fila { grid-template-columns:1fr; gap:.5rem; padding:1rem; border:1px solid #eee; border-radius:.8rem; margin-bottom:.5rem; }
    .con-anio-tabla { padding:1rem; }
}
@media (max-width:640px) {
    .con-hero__contadores { flex-direction:column; align-items:flex-start; gap:1rem; }
    .con-hero__sep { display:none; }
    .con-cta__inner { padding:2.5rem 2rem; flex-direction:column; text-align:center; }
    .con-tab { padding:1rem 1.2rem; font-size:.82rem; }
    .con-anio-header { padding:1.2rem 1.5rem; }
    .con-card { padding:1.6rem; }
    .con-card__acciones { width:100%; justify-content:flex-end; }
}

/* ============================================================
   ECORREGIÓN CHACO — page-ecorregion-chaco.php
   ============================================================ */

/* ── Hero ── */
.chac-hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #1a1208;
    background-size: cover;
    background-position: center;
    padding-bottom: 7rem;
}
.chac-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(10,8,2,.93) 0%, rgba(10,8,2,.5) 50%, rgba(10,8,2,.15) 100%);
}
.chac-hero__nav {
    position: absolute; top: 0; left: 0; right: 0;
    padding: 2.5rem 0; z-index: 2;
}
.chac-hero__back {
    display: inline-flex; align-items: center; gap: .6rem;
    color: rgba(255,255,255,.7); font-size: 1.25rem; font-weight: 600;
    text-decoration: none; transition: color .2s;
}
.chac-hero__back:hover { color: #fff; }
.chac-hero__inner { position: relative; z-index: 2; }
.chac-hero__chip {
    display: inline-flex; align-items: center; gap: .7rem;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(8px); color: rgba(255,255,255,.85);
    font-size: 1.15rem; font-weight: 700; letter-spacing: .07em;
    text-transform: uppercase; padding: .5rem 1.3rem;
    border-radius: 10rem; margin-bottom: 2rem;
}
.chac-hero__chip svg { color: var(--verde); }
.chac-hero__titulo {
    font-size: clamp(3.5rem, 6vw, 7.5rem); font-weight: 900;
    color: #fff; line-height: 1.05; margin-bottom: 1.8rem; letter-spacing: -.03em;
}
.chac-hero__titulo em { font-style: normal; color: var(--verde); }
.chac-hero__sub {
    font-size: clamp(1.25rem, 1.6vw, 1.55rem); color: rgba(255,255,255,.7);
    max-width: 62rem; line-height: 1.65; margin-bottom: 3.5rem;
}
.chac-hero__stats { display: flex; align-items: center; gap: 3rem; flex-wrap: wrap; }
.chac-hero__stat strong {
    display: block; font-size: clamp(2rem, 3vw, 2.8rem); font-weight: 900;
    color: #fff; line-height: 1; margin-bottom: .3rem;
}
.chac-hero__stat span { font-size: 1.2rem; color: rgba(255,255,255,.5); font-weight: 500; }
.chac-hero__stat-div { width: 1px; height: 4rem; background: rgba(255,255,255,.18); flex-shrink: 0; }
.chac-hero__sin-img {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 1rem;
    color: rgba(255,255,255,.3); font-size: 1.3rem; text-align: center;
}

/* ── Bloques texto + imagen ── */
.chac-bloque { padding: 7rem 0; background: #fff; }
.chac-bloque--gris { background: var(--gris-suave); }
.chac-bloque__grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 5rem; align-items: center;
}
.chac-bloque--inv .chac-bloque__grid { direction: rtl; }
.chac-bloque--inv .chac-bloque__texto,
.chac-bloque--inv .chac-bloque__media { direction: ltr; }
.chac-bloque__eyebrow {
    display: block; font-size: 1.1rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--verde); margin-bottom: 1rem;
}
.chac-bloque__texto h2 {
    font-size: clamp(2rem, 2.5vw, 3rem); font-weight: 900;
    color: var(--negro); line-height: 1.15; margin-bottom: 1.8rem; letter-spacing: -.02em;
}
.chac-bloque__texto h2 em { font-style: normal; color: var(--verde); }
.chac-bloque__texto p {
    font-size: 1.45rem; line-height: 1.75;
    color: var(--gris-oscuro); margin-bottom: 1.2rem;
}
.chac-bloque__entry p { font-size: 1.45rem; line-height: 1.75; color: var(--gris-oscuro); margin-bottom: 1.2rem; }
.chac-bloque__cita {
    font-size: 1.4rem; font-style: italic; color: var(--celeste);
    border-left: 3px solid var(--celeste); padding-left: 1.6rem;
    margin: 2rem 0; line-height: 1.55;
}
.chac-bloque__destaque {
    display: inline-flex; align-items: center; gap: .6rem;
    font-size: 1.2rem; font-weight: 600; color: var(--gris-oscuro);
    margin-top: 1.5rem; padding: .7rem 1.4rem;
    background: var(--gris-suave); border-radius: .8rem;
}
.chac-bloque__img {
    width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 1.6rem;
}
.chac-bloque__placeholder {
    width: 100%; aspect-ratio: 4/3; background: #f0f0f0;
    border: 2px dashed #ddd; border-radius: 1.6rem;
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 1rem; color: #bbb; font-size: 1.2rem;
}

/* ═══════════════════════════════════════════════
   MAPA SVG · regiones naturales con resaltado dinámico
   (Compartido entre todas las páginas de ecorregiones)
   ═══════════════════════════════════════════════ */
.chac-bloque__media--mapa,
.chiq-bloque__media--mapa,
.char-bloque__media--mapa,
.vall-bloque__media--mapa,
.yung-bloque__media--mapa,
.eco-bloque__media--mapa {
    padding: 2rem;
    background: linear-gradient(160deg, #f8fbf4 0%, #ffffff 50%, #edf5fb 100%);
    border-radius: 2rem;
    border: 1px solid rgba(74, 149, 193, .18);
    box-shadow: 0 16px 50px rgba(74, 149, 193, .1);
}
.chac-bloque__media--mapa .bolivia-regiones-naturales,
.chiq-bloque__media--mapa .bolivia-regiones-naturales,
.char-bloque__media--mapa .bolivia-regiones-naturales,
.vall-bloque__media--mapa .bolivia-regiones-naturales,
.yung-bloque__media--mapa .bolivia-regiones-naturales,
.eco-bloque__media--mapa .bolivia-regiones-naturales {
    width: 100%;
    height: auto;
    display: block;
}

/* ─── Regiones por defecto: atenuadas en gris desaturado ─── */
.bolivia-regiones-naturales .eco-region {
    fill-opacity: .42;
    filter: saturate(.08) brightness(1.02);
    transition: fill-opacity .4s ease, filter .4s ease, stroke-width .35s ease, transform .5s cubic-bezier(.2,.8,.2,1);
    stroke: #b8bcc0;
    stroke-width: .4;
    transform-origin: center;
}

/* ─── Región ACTIVA: glow + borde institucional + saturación máxima ─── */
.bolivia-regiones-naturales .eco-region.is-active {
    fill-opacity: 1;
    filter:
        saturate(1.15) brightness(1.05)
        drop-shadow(0 0 8px rgba(114, 191, 68, .45))
        drop-shadow(0 6px 18px rgba(74, 149, 193, .3));
    stroke: #1a2e1a;
    stroke-width: 2.2;
    paint-order: stroke;
    animation: eco-region-pulse 3.2s ease-in-out infinite;
    transform-origin: center;
}

/* Pulso sutil para llamar la atención sin distraer */
@keyframes eco-region-pulse {
    0%, 100% {
        filter:
            saturate(1.15) brightness(1.05)
            drop-shadow(0 0 8px rgba(114, 191, 68, .45))
            drop-shadow(0 6px 18px rgba(74, 149, 193, .3));
    }
    50% {
        filter:
            saturate(1.25) brightness(1.1)
            drop-shadow(0 0 14px rgba(114, 191, 68, .7))
            drop-shadow(0 8px 24px rgba(74, 149, 193, .42));
    }
}

/* Hover en regiones no-activas para feedback */
.bolivia-regiones-naturales .eco-region:not(.is-active):hover {
    fill-opacity: .7;
    filter: saturate(.55) brightness(1);
    cursor: pointer;
}

/* Textos de las regiones (nombres) — el de la activa más fuerte */
.bolivia-regiones-naturales text {
    pointer-events: none;
    font-family: 'Montserrat', sans-serif;
    fill: #6b6f72;
    font-weight: 500;
    transition: fill .3s ease, font-weight .3s ease;
}
/* Nombre de la región activa en negrita y color oscuro */
.bolivia-regiones-naturales[data-region-activa="chaco"] text:nth-of-type(4),
.bolivia-regiones-naturales[data-region-activa="amazonia"] text:nth-of-type(1),
.bolivia-regiones-naturales[data-region-activa="yungas"] text:nth-of-type(2),
.bolivia-regiones-naturales[data-region-activa="chiquitania"] text:nth-of-type(3),
.bolivia-regiones-naturales[data-region-activa="valles-secos"] text:nth-of-type(5),
.bolivia-regiones-naturales[data-region-activa="altiplano"] text:nth-of-type(6) {
    fill: #0c1a0c;
    font-weight: 800;
    font-size: 1.05em;
}

/* ── Servicios ecosistémicos ── */
.chac-servicios { padding: 8rem 0; background: #fff; }
.chac-servicios__grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem; margin-top: 5rem;
}
.chac-serv__item {
    padding: 3rem 2.4rem; background: var(--gris-suave); border-radius: 1.4rem;
    text-align: center; transition: transform .25s, box-shadow .25s;
}
.chac-serv__item:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.09); }
.chac-serv__item:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.09); }
.chac-serv__icono {
    width: 5.6rem; height: 5.6rem; margin: 0 auto 1.8rem;
    background: rgba(114,191,68,.12); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--verde);
}
.chac-serv__icono svg { width: 60%; height: 60%; }
.chac-serv__item h3 {
    font-size: 1.45rem; font-weight: 800; color: var(--negro);
    margin-bottom: .8rem; line-height: 1.25;
}
.chac-serv__item p { font-size: 1.28rem; color: var(--gris-oscuro); line-height: 1.65; }

/* ── Cifras ── */
.chac-cifras { padding: 8rem 0; background: #0e1504; }
.chac-cifras .titular--blanco h2 { color: #fff; }
.chac-cifras .titular--blanco em { color: var(--verde); }
.chac-cifras .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }
.chac-cifras__grid {
    display: flex; align-items: flex-start; gap: 2rem;
    margin-top: 5rem; flex-wrap: wrap; justify-content: center;
}
.chac-cifras__item { flex: 1; min-width: 18rem; text-align: center; }
.chac-cifras__num {
    font-size: clamp(3rem, 4.5vw, 5rem); font-weight: 900;
    color: var(--verde); line-height: 1; margin-bottom: .8rem; letter-spacing: -.02em;
}
.chac-cifras__label { font-size: 1.45rem; font-weight: 700; color: #fff; line-height: 1.3; }
.chac-cifras__div {
    width: 1px; background: rgba(255,255,255,.1);
    align-self: stretch; min-height: 8rem;
}

/* ── Historia ── */
.chac-historia { padding: 8rem 0; background: var(--gris-suave); }
.chac-historia__grid {
    display: grid; grid-template-columns: 1fr 1.4fr;
    gap: 5rem; align-items: center;
}
.chac-historia__img {
    width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 1.6rem;
}
.chac-historia__placeholder {
    width: 100%; aspect-ratio: 3/4; background: #e0e0e0;
    border: 2px dashed #ccc; border-radius: 1.6rem;
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 1rem; color: #aaa; font-size: 1.2rem;
}
.chac-historia__eyebrow {
    display: block; font-size: 1.1rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--celeste); margin-bottom: 1.2rem;
}
.chac-historia__texto h2 {
    font-size: clamp(2rem, 2.5vw, 3rem); font-weight: 900;
    color: var(--negro); line-height: 1.15; margin-bottom: 1.8rem; letter-spacing: -.02em;
}
.chac-historia__texto h2 em { font-style: normal; color: var(--verde); }
.chac-historia__cita {
    font-size: 1.5rem; font-style: italic; font-weight: 700;
    color: var(--verde); border-left: 3px solid var(--verde);
    padding-left: 1.6rem; margin: 0 0 2rem; line-height: 1.55;
}
.chac-historia__texto p {
    font-size: 1.4rem; line-height: 1.75;
    color: var(--gris-oscuro); margin-bottom: 1.2rem;
}

/* ── Mapa ── */
.chac-mapa { padding: 7rem 0 0; background: #fff; }
.chac-mapa__cabeza { margin-bottom: 3rem; }
.chac-mapa__eyebrow {
    display: block; font-size: 1.1rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    color: var(--celeste); margin-bottom: .8rem;
}
.chac-mapa__titulo {
    font-size: clamp(2rem, 2.5vw, 2.8rem); font-weight: 900;
    color: var(--negro); letter-spacing: -.02em;
}
.chac-mapa__titulo em { font-style: normal; color: var(--verde); }
.chac-mapa__frame { border-radius: 1.2rem; overflow: hidden; border: 1px solid #e0e0e0; }

/* ── Mensaje clave ── */
.chac-mensaje { padding: 8rem 0; background: #fff; }
.chac-mensaje__inner { max-width: 82rem; margin: 0 auto; text-align: center; }
.chac-mensaje__comilla { width: 5rem; color: var(--verde); opacity: .2; margin-bottom: 2.5rem; }
.chac-mensaje__texto {
    font-size: clamp(1.8rem, 2.5vw, 2.6rem); font-weight: 700; font-style: italic;
    color: var(--negro); line-height: 1.45; margin: 0 0 2rem;
}
.chac-mensaje__autor { font-size: 1.2rem; font-weight: 600; color: var(--celeste); font-style: normal; }

/* ── Responsive ── */
@media (max-width: 1100px) {
    .chac-servicios__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
    .chac-bloque__grid { grid-template-columns: 1fr; gap: 3rem; }
    .chac-bloque--inv .chac-bloque__grid { direction: ltr; }
    .chac-historia__grid { grid-template-columns: 1fr; gap: 3rem; }
    .chac-historia__img { aspect-ratio: 16/9; }
    .chac-hero__stats { gap: 2rem; }
}
@media (max-width: 640px) {
    .chac-hero { min-height: 85vh; padding-bottom: 5rem; }
    .chac-hero__stats { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .chac-hero__stat-div { width: 4rem; height: 1px; }
    .chac-servicios__grid { grid-template-columns: 1fr; }
    .chac-cifras__grid { flex-direction: column; align-items: center; }
    .chac-cifras__div { width: 6rem; height: 1px; min-height: 0; }
}

/* ============================================================
   SINGLE ECORREGIÓN — CPT template
   ============================================================ */

/* ── Hero ── */
.eco-hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: cover;
    background-position: center;
    padding-bottom: 7rem;
}
.eco-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(5,14,5,.92) 0%, rgba(5,14,5,.55) 50%, rgba(5,14,5,.2) 100%);
}
.eco-hero__nav {
    position: absolute;
    top: 0; left: 0; right: 0;
    padding: 2.5rem 0;
    z-index: 2;
}
.eco-hero__back {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: rgba(255,255,255,.75);
    font-size: 1.25rem;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s;
}
.eco-hero__back:hover { color: #fff; }
.eco-hero__inner {
    position: relative;
    z-index: 2;
}
.eco-hero__chip {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    backdrop-filter: blur(8px);
    color: rgba(255,255,255,.85);
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .55rem 1.2rem;
    border-radius: 10rem;
    margin-bottom: 2rem;
}
.eco-hero__titulo {
    font-size: clamp(3.5rem, 6vw, 7rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.08;
    margin-bottom: 1.8rem;
    letter-spacing: -.03em;
}
.eco-hero__titulo em {
    font-style: normal;
    color: var(--verde);
}
.eco-hero__sub {
    font-size: clamp(1.25rem, 1.6vw, 1.55rem);
    color: rgba(255,255,255,.72);
    max-width: 60rem;
    line-height: 1.65;
    margin-bottom: 3.5rem;
}
.eco-hero__stats {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}
.eco-hero__stat { text-align: left; }
.eco-hero__stat strong {
    display: block;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 900;
    color: #fff;
    line-height: 1;
    margin-bottom: .3rem;
}
.eco-hero__stat span {
    font-size: 1.2rem;
    color: rgba(255,255,255,.55);
    font-weight: 500;
    letter-spacing: .02em;
}
.eco-hero__stat-div {
    width: 1px;
    height: 4rem;
    background: rgba(255,255,255,.2);
    flex-shrink: 0;
}

/* ── Intro ── */
.eco-intro { padding: 7rem 0; background: #fff; }
.eco-intro__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: start;
}
.eco-intro__texto { font-size: 1.5rem; line-height: 1.75; color: var(--gris-oscuro); }
.eco-intro__texto p { margin-bottom: 1.5rem; }
.eco-intro__cita {
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 700;
    font-style: italic;
    color: var(--verde);
    border-left: 4px solid var(--verde);
    padding-left: 2rem;
    line-height: 1.5;
    margin: 0;
}

/* ── Bloques alternados ── */
.eco-bloque { padding: 7rem 0; background: #fff; }
.eco-bloque--gris { background: var(--gris-suave); }
.eco-bloque__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}
.eco-bloque--inv .eco-bloque__grid { direction: rtl; }
.eco-bloque--inv .eco-bloque__texto,
.eco-bloque--inv .eco-bloque__media { direction: ltr; }
.eco-bloque__texto h2 {
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-weight: 900;
    color: var(--negro);
    line-height: 1.15;
    margin-bottom: 1.8rem;
    letter-spacing: -.02em;
}
.eco-bloque__texto h2 em {
    font-style: normal;
    color: var(--verde);
}
.eco-bloque__texto p {
    font-size: 1.45rem;
    line-height: 1.75;
    color: var(--gris-oscuro);
    margin-bottom: 1.2rem;
}
.eco-bloque__img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 1.6rem;
}
.eco-bloque__placeholder {
    width: 100%;
    aspect-ratio: 4/3;
    background: #f0f0f0;
    border: 2px dashed #ccc;
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aaa;
    font-size: 1.2rem;
}

/* ── Cifras ── */
.eco-cifras {
    padding: 8rem 0;
    background: #0e1a0e;
}
.eco-cifras .titular--blanco h2 { color: #fff; }
.eco-cifras .titular--blanco em { color: var(--verde); }
.eco-cifras .titular--blanco .titular__eyebrow { color: rgba(255,255,255,.5); }
.eco-cifras__grid {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 5rem;
    flex-wrap: wrap;
    justify-content: center;
}
.eco-cifras__item { flex: 1; min-width: 16rem; text-align: center; }
.eco-cifras__num {
    font-size: clamp(3rem, 4vw, 4.8rem);
    font-weight: 900;
    color: var(--verde);
    line-height: 1;
    margin-bottom: .8rem;
    letter-spacing: -.02em;
}
.eco-cifras__label {
    font-size: 1.45rem;
    font-weight: 700;
    color: #fff;
}
.eco-cifras__div {
    width: 1px;
    background: rgba(255,255,255,.1);
    align-self: stretch;
    min-height: 8rem;
}

/* ── Testimonio ── */
.eco-testim { padding: 8rem 0; background: var(--gris-suave); }
.eco-testim__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 5rem;
    align-items: center;
}
.eco-testim__img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 1.6rem;
}
.eco-testim__placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    background: #e8e8e8;
    border: 2px dashed #ccc;
    border-radius: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
}
.eco-testim__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: 1.2rem;
}
.eco-testim__nombre {
    font-size: clamp(2rem, 2.8vw, 3.2rem);
    font-weight: 900;
    color: var(--negro);
    line-height: 1.15;
    margin-bottom: 1.8rem;
    letter-spacing: -.02em;
}
.eco-testim__nombre em { font-style: normal; color: var(--verde); }
.eco-testim__cita {
    font-size: 1.5rem;
    font-style: italic;
    font-weight: 700;
    color: var(--verde);
    border-left: 3px solid var(--verde);
    padding-left: 1.6rem;
    margin: 0 0 2rem;
    line-height: 1.55;
}
.eco-testim__texto p {
    font-size: 1.4rem;
    line-height: 1.75;
    color: var(--gris-oscuro);
    margin-bottom: 1.2rem;
}

/* ── Mapa ── */
.eco-mapa { padding: 7rem 0 0; background: #fff; }
.eco-mapa__cabeza { margin-bottom: 3rem; }
.eco-mapa__eyebrow {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--celeste);
    margin-bottom: .8rem;
}
.eco-mapa__titulo {
    font-size: clamp(2rem, 2.5vw, 2.8rem);
    font-weight: 900;
    color: var(--negro);
    letter-spacing: -.02em;
}
.eco-mapa__titulo em { font-style: normal; color: var(--verde); }
.eco-mapa__frame {
    border-radius: 1.2rem;
    overflow: hidden;
    border: 1px solid #e0e0e0;
}

/* ── Cita final ── */
.eco-quote { padding: 7rem 0; background: #fff; }
.eco-quote__inner {
    max-width: 80rem;
    margin: 0 auto;
    text-align: center;
}
.eco-quote__comilla {
    width: 5rem;
    color: var(--verde);
    opacity: .25;
    margin-bottom: 2.5rem;
}
.eco-quote__texto {
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
    font-weight: 700;
    font-style: italic;
    color: var(--negro);
    line-height: 1.45;
    margin: 0 0 2rem;
}
.eco-quote__autor {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--celeste);
    letter-spacing: .05em;
    font-style: normal;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .eco-intro__inner { grid-template-columns: 1fr; gap: 3rem; }
    .eco-bloque__grid { grid-template-columns: 1fr; gap: 3rem; }
    .eco-bloque--inv .eco-bloque__grid { direction: ltr; }
    .eco-testim__grid { grid-template-columns: 1fr; gap: 3rem; }
    .eco-testim__img { aspect-ratio: 16/9; }
    .eco-hero__stats { gap: 2rem; }
}
@media (max-width: 640px) {
    .eco-hero { min-height: 85vh; padding-bottom: 5rem; }
    .eco-hero__stats { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .eco-hero__stat-div { width: 4rem; height: 1px; }
    .eco-cifras__grid { flex-direction: column; align-items: center; }
    .eco-cifras__div { width: 6rem; height: 1px; min-height: 0; }
}

/* ════════════════════════════════════════════════════════════════
   ░░ NUEVO HOME · 2026-05-20 · rama sprint-final-natura ░░
   Rediseño completo del Home (front-page.php) en 8 secciones.
   NO toca CSS existente; añade clases nuevas con prefijo claro.
   Mockup base: mockups/home.html
   ════════════════════════════════════════════════════════════════ */

/* ── Helpers de titulares (faltantes) ── */
.titular--left {
    text-align: left;
    margin: 0 0 5rem;
    max-width: none;
}
.titular__sub {
    font-size: 1.65rem;
    color: var(--gris);
    margin-top: 2rem;
    max-width: 60rem;
    line-height: 1.65;
}

/* ── Botones nuevos (alias claros · sin romper legacy) ── */
.btn--celeste {
    background: var(--celeste);
    color: var(--blanco);
    box-shadow: 0 .8rem 2rem rgba(74,149,193,.22);
}
.btn--celeste:hover {
    background: var(--celeste-osc);
    transform: translateY(-2px);
    box-shadow: 0 1.2rem 2.6rem rgba(74,149,193,.32);
}
.btn--celeste .flecha { background: var(--blanco); color: var(--celeste); }

/* ════════════════════════════════════════════════════════════════
   § 1 · HOME HERO · identidad institucional limpia
   ════════════════════════════════════════════════════════════════ */
.home-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 14rem 0 10rem;
    color: var(--blanco);
    overflow: hidden;
    isolation: isolate;
}
.home-hero__bg {
    position: absolute; inset: 0; z-index: -2;
    background-size: cover; background-position: center;
    transform: scale(1.05);
    animation: home-hero-zoom 22s ease infinite alternate;
}
@keyframes home-hero-zoom { to { transform: scale(1); } }

/* Fondos rotantes · 4 imágenes con crossfade */
.home-hero__bgs { position: absolute; inset: 0; z-index: -2; }
.home-hero__bg-slide {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0;
    transform: scale(1.08);
    transition: opacity 1.2s ease, transform 8s ease;
}
.home-hero__bg-slide.is-active { opacity: 1; transform: scale(1); }
.home-hero::before {
    content: '';
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg,
        rgba(14,15,13,.5) 0%,
        rgba(14,15,13,.25) 40%,
        rgba(14,15,13,.8) 100%);
}
.home-hero__inner {
    width: 92%; max-width: var(--max); margin: 0 auto;
    position: relative; z-index: 1;
}
.home-hero__main { max-width: 80rem; }
.home-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 1.4rem;
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
    letter-spacing: .03em;
    font-weight: 700;
    color: var(--blanco);
    margin-bottom: 2.4rem;
    line-height: 1.4;
    max-width: 80rem;
}
.home-hero__eyebrow::before {
    content: '';
    flex-shrink: 0;
    width: 4rem; height: 2px;
    background: var(--verde);
}
/* Contenedor de los 4 títulos apilados · uno visible a la vez */
.home-hero__titles {
    position: relative;
    display: grid;
    margin-bottom: 2.4rem;
    min-height: clamp(10rem, 14vw, 17rem);
}
.home-hero__title {
    grid-area: 1 / 1;
    color: var(--blanco);
    font-weight: 700;
    max-width: 70rem;
    margin: 0;
    font-size: clamp(3.4rem, 5.2vw, 6.4rem);
    line-height: 1.05;
    letter-spacing: -.02em;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .9s ease, transform 1.1s cubic-bezier(.2,.8,.2,1);
    pointer-events: none;
    visibility: hidden;
}
.home-hero__title.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    visibility: visible;
}
.home-hero__title em {
    font-style: normal;
    font-weight: 800;
    color: var(--celeste);
}
.home-hero__title strong { color: var(--verde); font-weight: 800; }
.home-hero__lead {
    font-size: clamp(1.5rem, 1.8vw, 1.8rem);
    line-height: 1.65;
    color: rgba(255,255,255,.88);
    max-width: 60rem;
    margin-bottom: 0;
}

.home-hero__side {
    position: absolute;
    top: 50%;
    right: 3rem;
    transform: translateY(-50%);
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    z-index: 10;
}
@media (min-width: 1100px) { .home-hero__side { display: flex; } }
@media (min-width: 1400px) { .home-hero__side { right: 4rem; } }
.home-hero__socials {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    list-style: none;
    margin: 0; padding: 0;
}
.home-hero__soc-btn {
    width: 4.2rem; height: 4.2rem;
    border-radius: 1.2rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: grid; place-items: center;
    color: var(--blanco);
    transition: all var(--t-rapida);
}
.home-hero__soc-btn:hover {
    background: var(--verde);
    border-color: var(--verde);
    transform: scale(1.08);
}
.home-hero__socials li:nth-child(2n) .home-hero__soc-btn:hover {
    background: var(--celeste);
    border-color: var(--celeste);
}
.home-hero__soc-btn svg { width: 1.8rem; height: 1.8rem; }

.home-hero__scroll {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    font-size: 1rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
    font-weight: 600;
}
.home-hero__scroll-line {
    width: 1px;
    height: 4rem;
    background: rgba(255,255,255,.4);
    animation: home-hero-scroll 2.4s ease-in-out infinite;
    transform-origin: top center;
}
@keyframes home-hero-scroll {
    0%, 100% { transform: scaleY(.25); opacity: .35; }
    50%      { transform: scaleY(1); opacity: 1; }
}

/* ════════════════════════════════════════════════════════════════
   § 2 · QUIÉNES SOMOS · 2 cards Misión/Visión
   ════════════════════════════════════════════════════════════════ */
.quienes__grid {
    display: grid;
    gap: 2.4rem;
    max-width: 90rem;
    margin: 0 auto;
}
@media (min-width: 880px) {
    .quienes__grid { grid-template-columns: repeat(2, 1fr); }
}
.q-card {
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    padding: 3.5rem 3rem;
    position: relative;
    overflow: hidden;
    transition: all var(--t-rapida);
    border-top: 4px solid transparent;
}
.q-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 2rem 4rem rgba(0,0,0,.06);
}
.q-card:nth-child(1) { border-top-color: var(--celeste); }
.q-card:nth-child(2) { border-top-color: var(--verde); }
.q-card:nth-child(3) { border-top-color: var(--celeste); }
.q-card__num {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .2em;
    color: var(--celeste);
    margin-bottom: 1.2rem;
    display: inline-block;
}
.q-card:nth-child(2) .q-card__num { color: var(--verde); }
.q-card__icon {
    width: 5.6rem; height: 5.6rem;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(114,191,68,.12), rgba(74,149,193,.12));
    border: 1px solid rgba(74,149,193,.15);
    display: grid; place-items: center;
    margin-bottom: 2rem;
    color: var(--celeste);
}
.q-card:nth-child(2) .q-card__icon {
    color: var(--verde);
    border-color: rgba(114,191,68,.2);
}
.q-card__icon svg { width: 2.6rem; height: 2.6rem; }
.q-card h3 {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 1.4rem;
    color: var(--negro);
}
.q-card p {
    font-size: 1.5rem;
    color: var(--gris);
    line-height: 1.7;
    margin: 0;
}
.quienes__cta { text-align: center; margin-top: 4.5rem; }

/* ════════════════════════════════════════════════════════════════
   § 3 · DÓNDE TRABAJAMOS · 5 ecorregiones
   ════════════════════════════════════════════════════════════════ */
.donde__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
}
@media (min-width: 780px)  { .donde__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .donde__grid { grid-template-columns: repeat(6, 1fr); gap: 1.8rem; } }

.eco-card {
    position: relative;
    aspect-ratio: 3 / 4;
    border-radius: var(--radio);
    overflow: hidden;
    display: block;
    color: var(--blanco);
    text-decoration: none;
    transition: transform var(--t-rapida), box-shadow var(--t-rapida);
}
.eco-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 2.4rem 5rem rgba(0,0,0,.18);
}
.eco-card__img {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    transition: transform .9s var(--t-rapida);
}
.eco-card:hover .eco-card__img { transform: scale(1.06); }
.eco-card::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.82) 100%);
    z-index: 1;
}
.eco-card__badge {
    position: absolute;
    top: 1.5rem; left: 1.5rem;
    z-index: 2;
    width: 4rem; height: 4rem;
    border-radius: 50%;
    background: var(--eco-color);
    display: grid; place-items: center;
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--blanco);
    box-shadow: 0 .4rem 1.2rem rgba(0,0,0,.18);
}
.eco-card__body {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 2.2rem 2rem 2.4rem;
    z-index: 2;
}
.eco-card__sub {
    display: block;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    margin-bottom: .6rem;
    color: rgba(255,255,255,.75);
}
.eco-card__name {
    font-size: clamp(2rem, 2.2vw, 2.4rem);
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0;
    color: var(--blanco);
    line-height: 1.1;
}
.eco-card__cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-top: 1.2rem;
    color: rgba(255,255,255,.85);
    opacity: 0;
    transform: translateY(8px);
    transition: all var(--t-rapida);
}
.eco-card:hover .eco-card__cta { opacity: 1; transform: translateY(0); }

/* ════════════════════════════════════════════════════════════════
   § 4 · LÍNEAS — variante CTA card al final del grid
   ════════════════════════════════════════════════════════════════ */
.lc--cta {
    background: linear-gradient(135deg, var(--celeste), var(--verde)) !important;
    border: none !important;
    border-radius: 1.8rem;
    overflow: hidden;
    color: var(--blanco);
}
.lc--cta .lc__body {
    padding: 4rem 3rem;
    justify-content: center;
    min-height: 30rem;
}
.lc--cta::before { display: none; }
.lc--cta .lc__body::before { display: none; }
.lc--cta .lc__num   { color: rgba(255,255,255,.8); }
.lc--cta h3         { color: var(--blanco); font-size: 2.4rem; }
.lc--cta p          { color: rgba(255,255,255,.92); }
.lc--cta .lc__cta   { color: var(--blanco); }

/* ════════════════════════════════════════════════════════════════
   § 5 · CTA IMPACTO · banner full-bleed
   ════════════════════════════════════════════════════════════════ */
.impacto-cta {
    position: relative;
    min-height: 60rem;
    display: flex;
    align-items: center;
    color: var(--blanco);
    overflow: hidden;
    isolation: isolate;
    padding: 9rem 0;
}
.impacto-cta__bg {
    position: absolute; inset: 0; z-index: -2;
    background-size: cover; background-position: center;
}
.impacto-cta::before {
    content: '';
    position: absolute; inset: 0; z-index: -1;
    background:
        linear-gradient(120deg, rgba(74,149,193,.78) 0%, rgba(58,126,166,.5) 50%, rgba(94,166,53,.78) 100%),
        linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.4));
}
.impacto-cta__inner {
    display: grid;
    gap: 4rem;
    width: 92%; max-width: var(--max); margin: 0 auto;
}
@media (min-width: 980px) {
    .impacto-cta__inner { grid-template-columns: 1.2fr 1fr; align-items: center; gap: 6rem; }
}
.impacto-cta__texto .titular__eyebrow {
    color: var(--blanco);
    margin-bottom: 1.8rem;
}
.impacto-cta__texto .titular__eyebrow::before,
.impacto-cta__texto .titular__eyebrow::after { background: var(--blanco); }
.impacto-cta__texto h2 {
    color: var(--blanco);
    font-weight: 700;
    margin-bottom: 2.4rem;
}
.impacto-cta__texto h2 em {
    font-style: normal;
    font-weight: 800;
    color: var(--blanco);
    border-bottom: 4px solid var(--verde);
    padding-bottom: .2rem;
}
.impacto-cta__lead {
    font-size: 1.7rem;
    line-height: 1.6;
    color: rgba(255,255,255,.92);
    margin-bottom: 3rem;
}
.impacto-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem 2.4rem;
    padding: 3rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: var(--radio);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.imp-stat strong {
    display: block;
    font-size: clamp(3.4rem, 4.5vw, 4.6rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--blanco);
    margin-bottom: .8rem;
}
.imp-stat strong em { font-style: normal; color: var(--verde); }
.imp-stat span {
    display: block;
    font-size: 1.2rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
    font-weight: 500;
    line-height: 1.4;
}

/* ════════════════════════════════════════════════════════════════
   § 6 · ACTUALIDAD · 3 cards dinámicas
   ════════════════════════════════════════════════════════════════ */
.actualidad__header {
    display: grid;
    gap: 2rem;
    align-items: end;
    margin-bottom: 5rem;
}
@media (min-width: 880px) {
    .actualidad__header { grid-template-columns: 1fr auto; }
}
.actualidad__grid {
    display: grid;
    gap: 3rem;
}
@media (min-width: 720px)  { .actualidad__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .actualidad__grid { grid-template-columns: repeat(3, 1fr); } }

.noticia {
    display: flex;
    flex-direction: column;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    overflow: hidden;
    transition: all var(--t-rapida);
    text-decoration: none;
    color: inherit;
}
.noticia:hover {
    transform: translateY(-4px);
    box-shadow: 0 2rem 4rem rgba(0,0,0,.08);
}
.noticia__media {
    aspect-ratio: 4/3;
    overflow: hidden;
}
.noticia__media img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .7s var(--t-rapida);
}
.noticia:hover .noticia__media img { transform: scale(1.06); }
.noticia__body {
    padding: 2.4rem 2.4rem 2.8rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    flex: 1;
}
.noticia__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.noticia__tag {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1rem;
    border-radius: 999px;
}
.noticia__tag--noticia      { background: rgba(74,149,193,.12); color: var(--celeste-osc); }
.noticia__tag--historia     { background: rgba(114,191,68,.12); color: var(--verde-oscuro); }
.noticia__tag--convocatoria { background: var(--negro); color: var(--blanco); }
.noticia__date {
    font-size: 1.15rem;
    color: var(--gris);
    letter-spacing: .04em;
}
.noticia__title {
    font-size: 1.85rem;
    font-weight: 700;
    color: var(--negro);
    line-height: 1.3;
    margin: 0;
}
.noticia__excerpt {
    font-size: 1.4rem;
    color: var(--gris);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
.noticia__cta {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--celeste);
    transition: gap var(--t-rapida);
    margin-top: .8rem;
}
.noticia:hover .noticia__cta { gap: 1rem; color: var(--celeste-osc); }

.link-ver-todos {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--celeste);
    border-bottom: 2px solid var(--celeste);
    padding-bottom: .4rem;
    transition: all var(--t-rapida);
}
.link-ver-todos:hover { gap: 1.4rem; color: var(--celeste-osc); border-color: var(--celeste-osc); }

/* ════════════════════════════════════════════════════════════════
   § 7 · SÚMATE · CTA final + redes
   ════════════════════════════════════════════════════════════════ */
.sumate {
    position: relative;
    background: var(--gris-suave);
    overflow: hidden;
}
.sumate::before {
    content: '';
    position: absolute;
    top: -160px; right: -120px;
    width: 480px; height: 480px;
    background: radial-gradient(circle, rgba(74,149,193,.18) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.sumate::after {
    content: '';
    position: absolute;
    bottom: -180px; left: -120px;
    width: 480px; height: 480px;
    background: radial-gradient(circle, rgba(114,191,68,.18) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.sumate__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 76rem !important;
    margin: 0 auto;
}
.sumate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    justify-content: center;
    margin-top: 3.5rem;
}
.sumate__social {
    margin-top: 5rem;
    padding-top: 4rem;
    border-top: 1px solid var(--gris-borde);
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    align-items: center;
}
.sumate__social-label {
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--gris);
}
.sumate__social-list {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    margin: 0; padding: 0;
}
.sumate__social-list a {
    width: 4.6rem; height: 4.6rem;
    border-radius: 50%;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    display: grid; place-items: center;
    color: var(--negro);
    transition: all var(--t-rapida);
}
.sumate__social-list a:hover {
    background: var(--celeste);
    border-color: var(--celeste);
    color: var(--blanco);
    transform: translateY(-3px);
    box-shadow: 0 .8rem 2rem rgba(74,149,193,.32);
}
.sumate__social-list li:nth-child(3n+2) a:hover {
    background: var(--verde);
    border-color: var(--verde);
    box-shadow: 0 .8rem 2rem rgba(114,191,68,.32);
}
.sumate__social-list svg { width: 1.9rem; height: 1.9rem; }

/* Bloque "Súmate" dentro de una Zona Libre: respetar el diseño y evitar que
   .home-zona-libre a (azul + subrayado) rompa el título, los botones y las redes. */
.home-zona-libre .sumate h2 em     { color: var(--celeste); font-style: normal; font-weight: 800; }
.home-zona-libre .sumate h2 strong { color: var(--negro);   font-style: normal; font-weight: 800; }
.home-zona-libre .sumate .titular__sub { font-size: 1.65rem; max-width: 60rem; }
.home-zona-libre .sumate .btn { text-decoration: none; }
.home-zona-libre .sumate .btn--celeste,
.home-zona-libre .sumate .btn--verde  { color: var(--blanco); }
.home-zona-libre .sumate .btn--linea  { color: var(--negro); }
.home-zona-libre .sumate__social-list a       { color: var(--negro); text-decoration: none; font-weight: 400; }
.home-zona-libre .sumate__social-list a:hover { color: var(--blanco); }

/* ════════════════════════════════════════════════════════════════
   § 8 · ALIADOS STRIP · grilla quieta + ver todos
   ════════════════════════════════════════════════════════════════ */
.aliados-strip {
    padding: 7rem 0;
    background: var(--blanco);
    border-top: 1px solid var(--gris-borde);
}
.aliados-strip__header { text-align: center; margin-bottom: 4rem; }
.aliados-strip__label {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.2rem;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gris);
    font-weight: 600;
}
.aliados-strip__label::before,
.aliados-strip__label::after {
    content: '';
    width: 2.4rem; height: 1px;
    background: var(--celeste);
}
.aliados-strip__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 4rem;
    align-items: center;
    justify-items: center;
    max-width: 110rem;
    margin: 0 auto;
}
@media (min-width: 640px) { .aliados-strip__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px) { .aliados-strip__grid { grid-template-columns: repeat(6, 1fr); } }
.aliado-logo {
    display: grid;
    place-items: center;
    height: 4.5rem;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: .1em;
    color: var(--gris);
    opacity: .5;
    filter: grayscale(1);
    transition: all var(--t-rapida);
    font-family: var(--display);
}
.aliado-logo:hover {
    opacity: 1;
    filter: grayscale(0);
    color: var(--celeste);
    transform: scale(1.05);
}
.aliado-logo__img {
    max-height: 4.5rem;
    max-width: 14rem;
    width: auto;
    height: auto;
    object-fit: contain;
}
.aliados-strip__cta { text-align: center; margin-top: 4rem; }

/* ════════════════════════════════════════════════════════════════
   ░░ SOBRE NOSOTROS · sección EQUIPO PROFESIONALES (teaser) ░░
   ════════════════════════════════════════════════════════════════ */
.fn-equipo {
    padding: 9rem 0;
    background: var(--blanco);
    position: relative;
}
.fn-equipo .titular {
    margin-bottom: 5rem;
}
.fn-equipo__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}
@media (min-width: 720px)  { .fn-equipo__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px)  { .fn-equipo__grid { grid-template-columns: repeat(4, 1fr); gap: 2.4rem; } }

.fn-prof-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--blanco);
    border-radius: var(--radio);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--gris-borde);
    transition: transform .45s var(--t-rapida), box-shadow .45s var(--t-rapida), border-color .35s var(--t-rapida);
    opacity: 0;
    animation: fnProfFadeIn .8s var(--t-rapida) forwards;
    animation-delay: var(--d, 0s);
}
@keyframes fnProfFadeIn {
    from { opacity: 0; transform: translateY(2rem); }
    to   { opacity: 1; transform: translateY(0); }
}
.fn-prof-card:hover {
    transform: translateY(-.8rem);
    box-shadow: 0 2.4rem 5rem rgba(0,0,0,.12);
    border-color: var(--celeste);
}

/* Foto · contenedor con zoom suave en hover */
.fn-prof-card__foto-wrap {
    position: relative;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(114,191,68,.1), rgba(74,149,193,.1));
}
.fn-prof-card__foto {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .9s var(--t-rapida), filter .45s var(--t-rapida);
    filter: saturate(.92);
}
.fn-prof-card:hover .fn-prof-card__foto {
    transform: scale(1.08);
    filter: saturate(1.05);
}
.fn-prof-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    font-size: 5rem;
    color: var(--celeste);
}

/* Overlay sutil */
.fn-prof-card__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(14,15,13,.5) 100%);
    pointer-events: none;
    transition: opacity .35s var(--t-rapida);
}
.fn-prof-card:hover .fn-prof-card__overlay {
    background: linear-gradient(180deg, transparent 40%, rgba(14,15,13,.7) 100%);
}

/* Badge de años */
.fn-prof-card__anios {
    position: absolute;
    top: 1.2rem; right: 1.2rem;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--negro);
    font-size: 1.05rem;
    font-weight: 600;
    padding: .45rem .9rem;
    border-radius: 999px;
    letter-spacing: .02em;
    transform: translateY(-.5rem);
    opacity: 0;
    transition: opacity .35s var(--t-rapida), transform .35s var(--t-rapida);
}
.fn-prof-card__anios strong {
    color: var(--celeste-osc);
    font-weight: 700;
}
.fn-prof-card:hover .fn-prof-card__anios {
    opacity: 1;
    transform: translateY(0);
}

/* Info · nombre y cargo */
.fn-prof-card__info {
    padding: 1.8rem 1.6rem 2rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.fn-prof-card__nombre {
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--negro);
    margin: 0;
    letter-spacing: -.01em;
    line-height: 1.3;
    transition: color .25s var(--t-rapida);
}
.fn-prof-card:hover .fn-prof-card__nombre { color: var(--celeste); }
.fn-prof-card__cargo {
    font-size: 1.2rem;
    color: var(--gris);
    line-height: 1.45;
    font-weight: 500;
}

/* CTA al final */
.fn-equipo__cta {
    text-align: center;
    margin-top: 5rem;
}

/* ════════════════════════════════════════════════════════════════
   ░░ ALIADOS Y DONANTES · /aliados-y-donantes/ ░░
   ════════════════════════════════════════════════════════════════ */

/* ── § 2 Intro + cifras ── */
.ald-intro__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5rem;
    align-items: center;
}
@media (min-width: 880px) {
    .ald-intro__grid { grid-template-columns: 1.3fr 1fr; gap: 7rem; }
}
.ald-intro__texto h2 {
    margin-top: 1.6rem;
    margin-bottom: 2.4rem;
    font-size: clamp(2.6rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--negro);
}
.ald-intro__texto h2 em {
    font-style: normal;
    color: var(--celeste);
    font-weight: 800;
}
.ald-intro__parrafo {
    font-size: 1.6rem;
    line-height: 1.7;
    color: var(--gris);
}
.ald-intro__cifras {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}
.ald-cifra {
    padding: 2rem 1.6rem;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    text-align: center;
    transition: all var(--t-rapida);
}
.ald-cifra:hover {
    transform: translateY(-3px);
    border-color: var(--celeste);
    box-shadow: 0 1.6rem 3rem rgba(0,0,0,.06);
}
.ald-cifra__num {
    display: block;
    font-size: clamp(2.8rem, 4vw, 3.6rem);
    font-weight: 800;
    color: var(--negro);
    line-height: 1;
    letter-spacing: -.03em;
    margin-bottom: .6rem;
}
.ald-cifra__num em {
    font-style: normal;
    color: var(--celeste);
}
.ald-cifra__lbl {
    font-size: 1.15rem;
    color: var(--gris);
    line-height: 1.4;
    font-weight: 500;
}

/* ── § 3 Donantes destacados (vidriera de honor) ── */
.ald-destacados__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}
@media (min-width: 720px)  { .ald-destacados__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .ald-destacados__grid { grid-template-columns: repeat(4, 1fr); gap: 2.4rem; } }

.ald-card-destacada {
    display: flex;
    flex-direction: column;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all .4s var(--t-rapida);
}
.ald-card-destacada:hover {
    transform: translateY(-5px);
    box-shadow: 0 2rem 4.5rem rgba(0,0,0,.1);
    border-color: var(--celeste);
}
.ald-card-destacada__logo {
    aspect-ratio: 4 / 3;
    background: linear-gradient(135deg, rgba(74,149,193,.04), rgba(114,191,68,.04));
    display: grid;
    place-items: center;
    padding: 2.5rem;
    border-bottom: 1px solid var(--gris-borde);
}
.ald-card-destacada__logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .75;
    transition: all var(--t-rapida);
}
.ald-card-destacada:hover .ald-card-destacada__logo img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.05);
}
.ald-card-destacada__placeholder {
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--celeste);
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ald-card-destacada__info {
    padding: 1.8rem 1.6rem 2rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}
.ald-card-destacada__nombre {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--negro);
    margin: 0;
    letter-spacing: -.01em;
    line-height: 1.3;
}
.ald-card-destacada__desc {
    font-size: 1.2rem;
    color: var(--gris);
    line-height: 1.5;
    margin: 0;
}

/* ── § 4 Aliados por categoría ── */
.ald-categoria {
    margin-bottom: 5rem;
}
.ald-categoria:last-child { margin-bottom: 0; }
.ald-categoria__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1.4rem;
    margin-bottom: 3rem;
    border-bottom: 2px solid var(--gris-borde);
}
.ald-categoria__titulo {
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
    font-weight: 700;
    color: var(--negro);
    margin: 0;
    letter-spacing: -.01em;
    position: relative;
}
.ald-categoria__titulo::before {
    content: '';
    position: absolute;
    left: 0; bottom: -1.4rem;
    width: 5rem;
    height: 2px;
    background: var(--celeste);
}
.ald-categoria__count {
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--gris);
    letter-spacing: .03em;
}
.ald-categoria__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
}
@media (min-width: 640px)  { .ald-categoria__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 880px)  { .ald-categoria__grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .ald-categoria__grid { grid-template-columns: repeat(5, 1fr); } }

.ald-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: inherit;
    transition: transform var(--t-rapida);
}
.ald-logo:hover { transform: translateY(-3px); }
.ald-logo__inner {
    width: 100%;
    aspect-ratio: 3 / 2;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: 1.2rem;
    display: grid;
    place-items: center;
    padding: 1.4rem;
    transition: all var(--t-rapida);
    overflow: hidden;
}
.ald-logo:hover .ald-logo__inner {
    border-color: var(--celeste);
    box-shadow: 0 .8rem 2rem rgba(74,149,193,.12);
}
.ald-logo__inner img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .7;
    transition: all var(--t-rapida);
}
.ald-logo:hover .ald-logo__inner img {
    filter: grayscale(0);
    opacity: 1;
}
.ald-logo__txt {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--gris);
    text-align: center;
    letter-spacing: .04em;
}
.ald-logo__nombre {
    font-size: 1.15rem;
    color: var(--gris);
    text-align: center;
    font-weight: 500;
    line-height: 1.3;
}
.ald-categorias__empty {
    text-align: center;
    color: var(--gris);
    font-size: 1.45rem;
    padding: 4rem 0;
    line-height: 1.6;
}

/* ── § 5 CTA Final ── */
.ald-cta {
    padding: 9rem 0;
    background: var(--gris-suave);
    position: relative;
    overflow: hidden;
}
.ald-cta::before {
    content: '';
    position: absolute;
    top: -150px; right: -80px;
    width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(74,149,193,.16) 0%, transparent 70%);
    border-radius: 50%;
}
.ald-cta::after {
    content: '';
    position: absolute;
    bottom: -150px; left: -80px;
    width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(114,191,68,.16) 0%, transparent 70%);
    border-radius: 50%;
}
.ald-cta__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 70rem;
    margin: 0 auto;
}
.ald-cta__inner h2 {
    font-size: clamp(2.6rem, 4vw, 4.2rem);
    font-weight: 800;
    line-height: 1.15;
    color: var(--negro);
    margin: 1.6rem 0 2rem;
}
.ald-cta__inner h2 em {
    font-style: normal;
    color: var(--verde);
    font-weight: 800;
}
.ald-cta__lead {
    font-size: 1.6rem;
    color: var(--gris);
    line-height: 1.65;
    margin-bottom: 3rem;
}
.ald-cta__actions {
    display: flex;
    gap: 1.2rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* ════════════════════════════════════════════════════════════════
   ░░ AUTORÍA · al pie de cada contenido (noticias / historias / etc) ░░
   ════════════════════════════════════════════════════════════════ */
.natura-autor-pie {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
    padding: 1.4rem 2rem;
    background: var(--gris-suave);
    border-left: 3px solid var(--celeste);
    border-radius: 0 .8rem .8rem 0;
}
.natura-autor-pie__label {
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--gris);
    letter-spacing: .12em;
    text-transform: uppercase;
}
.natura-autor-pie__nombre {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--negro);
    letter-spacing: -.01em;
}

/* ════════════════════════════════════════════════════════════════
   ░░ NUESTRO IMPACTO · secciones nuevas 2026-05-20 ░░
   Mapa Bolivia · Impacto por línea · Timeline hitos · Premios
   ════════════════════════════════════════════════════════════════ */

/* ── § Mapa de Bolivia (SVG interactivo) ── */
.mapa-bo__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 880px) {
    .mapa-bo__grid { grid-template-columns: 1.2fr 1fr; gap: 5rem; }
}

.mapa-bo__svg-wrap {
    position: relative;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    padding: 2.4rem;
    box-shadow: 0 2rem 4rem rgba(0,0,0,.05);
    overflow: visible;
}
/* SVG · Bolivia completa, respeta aspect ratio sin recortes */
.bolivia-regiones {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    aspect-ratio: 612.67 / 692.76;
}

/* ── Fondo: SVG original de departamentos (decorativo) ── */
.bolivia-departamentos path[id^="BO-"] {
    fill: #ebe8e0;
    stroke: #d4cfc1;
    stroke-width: 0.8;
    stroke-linejoin: round;
    transition: fill .4s var(--t-rapida), opacity .35s var(--t-rapida);
    pointer-events: none;
}
.bolivia-departamentos:hover path[id^="BO-"] {
    opacity: .7;
}
/* Departamentos donde Natura trabaja → tono ligeramente verde */
.bolivia-departamentos path[id="BO-T"],
.bolivia-departamentos path[id="BO-H"],
.bolivia-departamentos path[id="BO-C"],
.bolivia-departamentos path[id="BO-L"],
.bolivia-departamentos path[id="BO-S"] {
    fill: #e3eddb;
}

/* ── Frente: polígonos KML reales de Natura (interactivos) ── */
.natura-overlay { pointer-events: all; }
.natura-overlay .eco-poly {
    fill: rgba(114,191,68,.55);
    stroke: var(--verde);
    stroke-width: 2;
    stroke-linejoin: round;
    transition: fill .35s var(--t-rapida), stroke-width .25s var(--t-rapida), filter .35s var(--t-rapida), opacity .35s var(--t-rapida);
    cursor: pointer;
    mix-blend-mode: normal;
}
/* Colores por ecorregión */
.eco-poly--chaco       { fill: rgba(114,191,68,.55); stroke: var(--verde); }
.eco-poly--chiquitania { fill: rgba(74,149,193,.55); stroke: var(--celeste); }
.eco-poly--valles      { fill: rgba(114,191,68,.55); stroke: var(--verde); }
.eco-poly--yungas      { fill: rgba(74,149,193,.55); stroke: var(--celeste); }
.eco-poly--charagua    { fill: rgba(114,191,68,.55); stroke: var(--verde); }
.eco-poly--amazonia    { fill: rgba(74,149,193,.55); stroke: var(--celeste); }

/* Estado activo */
.eco-poly.is-active {
    stroke-width: 3.5;
    filter: drop-shadow(0 .4rem 1.4rem rgba(0,0,0,.25));
}
.eco-poly--chaco.is-active,
.eco-poly--valles.is-active,
.eco-poly--charagua.is-active {
    fill: rgba(114,191,68,.85);
}
.eco-poly--chiquitania.is-active,
.eco-poly--yungas.is-active,
.eco-poly--amazonia.is-active {
    fill: rgba(74,149,193,.85);
}
/* Atenuar overlay no-activo cuando hay focus */
.bolivia-regiones.has-focus .eco-poly:not(.is-active) {
    opacity: .35;
}
/* Mantener fondos legacy compatibles (por si todavía algo los referencia) */
.bolivia-svg { display: none !important; }
.bolivia-svg path {
    fill: #d8d8d2;
    stroke: var(--blanco);
    stroke-width: 1.5;
    stroke-linejoin: round;
    transition: fill .4s var(--t-rapida), transform .4s var(--t-rapida), filter .4s var(--t-rapida);
    cursor: pointer;
    transform-origin: center;
    transform-box: fill-box;
}
/* Colores base según ecorregión asignada */
.bolivia-svg path[data-eco~="chaco"]       { fill: rgba(114,191,68,.35); }
.bolivia-svg path[data-eco~="chiquitania"] { fill: rgba(74,149,193,.35); }
.bolivia-svg path[data-eco~="valles"]      { fill: rgba(114,191,68,.35); }
.bolivia-svg path[data-eco~="yungas"]      { fill: rgba(74,149,193,.35); }
.bolivia-svg path[data-eco~="charagua"]    { fill: rgba(114,191,68,.35); }

/* Estado destacado · cuando hover en la lista o en el mapa */
.bolivia-svg path.is-active[data-eco~="chaco"],
.bolivia-svg path.is-active[data-eco~="valles"],
.bolivia-svg path.is-active[data-eco~="charagua"] {
    fill: var(--verde);
    filter: drop-shadow(0 .4rem 1rem rgba(114,191,68,.35));
}
.bolivia-svg path.is-active[data-eco~="chiquitania"],
.bolivia-svg path.is-active[data-eco~="yungas"] {
    fill: var(--celeste);
    filter: drop-shadow(0 .4rem 1rem rgba(74,149,193,.35));
}
.bolivia-svg path.is-active {
    transform: translateY(-2px);
}
/* Estado: usuario está hovereando otra ecorregión → oscurecer las no relacionadas */
.bolivia-svg.has-focus path:not(.is-active) {
    fill: #ebebe6;
    opacity: .5;
}

/* ═══ Polígonos de ecorregiones (datos reales del KML) ═══ */
.ecorregiones-layer { pointer-events: none; }
.ecorregiones-layer .eco-poly {
    fill: rgba(74,149,193,.28);
    stroke: var(--celeste);
    stroke-width: 1.4;
    stroke-linejoin: round;
    transition: fill .35s var(--t-rapida), stroke-width .25s var(--t-rapida), filter .35s var(--t-rapida);
    pointer-events: all;
    cursor: pointer;
}
/* Colores específicos por ecorregión (alternando marca) */
.eco-poly--chaco       { fill: rgba(114,191,68,.28);  stroke: var(--verde); }
.eco-poly--chiquitania { fill: rgba(74,149,193,.28);  stroke: var(--celeste); }
.eco-poly--valles      { fill: rgba(114,191,68,.28);  stroke: var(--verde); }
.eco-poly--yungas      { fill: rgba(74,149,193,.28);  stroke: var(--celeste); }
.eco-poly--charagua    { fill: rgba(114,191,68,.28);  stroke: var(--verde); }
.eco-poly--amazonia    { fill: rgba(74,149,193,.28);  stroke: var(--celeste); }

/* Estado activo · hover sincronizado */
.eco-poly.is-active {
    stroke-width: 2.5;
    filter: drop-shadow(0 .4rem 1.2rem rgba(0,0,0,.18));
}
.eco-poly--chaco.is-active,
.eco-poly--valles.is-active,
.eco-poly--charagua.is-active {
    fill: rgba(114,191,68,.65);
}
.eco-poly--chiquitania.is-active,
.eco-poly--yungas.is-active,
.eco-poly--amazonia.is-active {
    fill: rgba(74,149,193,.65);
}
/* Cuando hay un hover activo, las otras ecorregiones se atenúan */
.bolivia-svg.has-focus .eco-poly:not(.is-active) {
    fill: rgba(120,120,120,.12);
    stroke: rgba(120,120,120,.4);
}
/* Cuando hay polígonos de ecorregiones, los departamentos pasan a fondo gris uniforme */
.bolivia-svg path[id^="BO-"] { fill: #ebebe6; }
.bolivia-svg path[id^="BO-"].is-active {
    /* desactivamos el highlight de departamentos cuando hay ecorregiones encima */
    fill: #ebebe6;
    transform: none;
    filter: none;
}

/* Tooltip flotante sobre el mapa */
.mapa-bo__tooltip {
    position: absolute;
    pointer-events: none;
    background: var(--negro);
    color: var(--blanco);
    font-size: 1.2rem;
    font-weight: 600;
    padding: .5rem 1rem;
    border-radius: .6rem;
    opacity: 0;
    transform: translate(-50%, -100%) translateY(-1rem);
    transition: opacity .2s ease;
    z-index: 5;
    white-space: nowrap;
}
.mapa-bo__tooltip.is-visible { opacity: 1; }

/* Lista de ecorregiones */
.mapa-bo__lista {
    display: grid;
    gap: 1.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.eco-item {
    display: flex;
    align-items: flex-start;
    gap: 1.4rem;
    padding: 1.4rem 1.6rem;
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: 1rem;
    cursor: pointer;
    transition: all var(--t-rapida);
}
.eco-item:hover,
.eco-item.is-active {
    transform: translateX(6px);
    border-color: var(--celeste);
    box-shadow: 0 .8rem 2rem rgba(74,149,193,.12);
}
.eco-item[data-color="verde"]:hover,
.eco-item[data-color="verde"].is-active {
    border-color: var(--verde);
    box-shadow: 0 .8rem 2rem rgba(114,191,68,.12);
}
.eco-item .dot {
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: .4rem;
    transition: transform .25s var(--t-rapida);
}
.eco-item.is-active .dot { transform: scale(1.3); }
.eco-item .dot--verde   { background: var(--verde); }
.eco-item .dot--celeste { background: var(--celeste); }
.eco-item strong {
    display: block;
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--negro);
    line-height: 1.2;
}
.eco-item small {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--gris);
    margin-top: .3rem;
    letter-spacing: .02em;
}

/* Botón "Ver mapa detallado" + nota */
.mapa-bo__detalle {
    text-align: center;
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid var(--gris-borde);
}
.mapa-bo__nota {
    font-size: 1.2rem;
    color: var(--gris);
    margin-top: 1.4rem;
    font-style: italic;
}

/* ── Modal del mapa detallado ── */
.modal-mapa {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}
.modal-mapa[aria-hidden="false"] {
    display: flex;
    animation: modalIn .3s var(--t-rapida);
}
@keyframes modalIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.modal-mapa__overlay {
    position: absolute;
    inset: 0;
    background: rgba(14,15,13,.78);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    cursor: pointer;
}
.modal-mapa__inner {
    position: relative;
    background: var(--blanco);
    border-radius: var(--radio);
    width: 100%;
    max-width: 110rem;
    height: 80vh;
    max-height: 80rem;
    box-shadow: 0 3rem 6rem rgba(0,0,0,.4);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: modalSlide .35s var(--t-rapida);
}
@keyframes modalSlide {
    from { transform: translateY(2rem); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}
.modal-mapa__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.4rem 2rem;
    border-bottom: 1px solid var(--gris-borde);
    background: var(--blanco);
    flex-shrink: 0;
}
.modal-mapa__title {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--negro);
    margin: 0;
    letter-spacing: -.01em;
}
.modal-mapa__close {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--gris-suave);
    color: var(--negro);
    font-size: 2.4rem;
    font-weight: 300;
    line-height: 1;
    display: grid;
    place-items: center;
    transition: all var(--t-rapida);
    border: none;
    cursor: pointer;
}
.modal-mapa__close:hover {
    background: var(--negro);
    color: var(--blanco);
    transform: rotate(90deg);
}
.modal-mapa__body {
    flex: 1;
    overflow: hidden;
    position: relative;
}
.modal-mapa__body iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

body.modal-open { overflow: hidden; }

/* ── § Impacto por línea estratégica · 5 cards ── */
.impacto-lineas__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    justify-content: center;
}
/* De 2 a 6 cards: se distribuyen y ajustan el tamaño solas (auto-fit centrado).
   El tope de 24rem evita que 2 cards se estiren de más; se centran si son pocas. */
@media (min-width: 720px) {
    .impacto-lineas__grid {
        grid-template-columns: repeat(auto-fit, minmax(18rem, 24rem));
        gap: 1.6rem;
    }
}

.il-card {
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-top: 4px solid var(--il-color, var(--celeste));
    border-radius: var(--radio);
    padding: 2.4rem 2rem;
    display: flex;
    flex-direction: column;
    transition: all var(--t-rapida);
}
.il-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 2rem 4rem rgba(0,0,0,.07);
}
.il-card__num {
    font-size: clamp(3.4rem, 4vw, 4.2rem);
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--negro);
    line-height: 1;
}
.il-card__num em {
    font-style: normal;
    color: var(--il-color, var(--celeste));
    font-weight: 800;
}
.il-card__lbl {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--gris);
    margin: .8rem 0 1.6rem;
    display: block;
}
.il-card__name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--negro);
    line-height: 1.3;
    margin: 0 0 1.4rem;
    flex: 1;
}
.il-card__metricas {
    padding: 1.4rem 0 0;
    border-top: 1px solid var(--gris-borde);
    display: grid;
    gap: .6rem;
    margin: 0;
    list-style: none;
}
.il-card__metricas li {
    font-size: 1.25rem;
    color: var(--gris);
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: .8rem;
}
.il-card__metricas li::before {
    content: '';
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--il-color, var(--celeste));
    flex-shrink: 0;
    margin-top: .7rem;
}
/* Bloque "Impacto por línea" dentro de Zonas Libres: que el "+" conserve el
   color de la card (verde/celeste) y su peso, sin que lo pise el <em> global. */
.home-zona-libre .il-card__num em { color: var(--il-color, var(--celeste)); font-weight: 800; font-style: normal; }
.home-zona-libre .impacto-lineas .titular h2 { font-size: clamp(3rem, 5vw, 5.6rem); }

/* ── § Timeline de hitos (vertical alternado) ── */
.th-list {
    position: relative;
    list-style: none;
    margin: 4rem 0 0;
    padding: 0;
    counter-reset: hito;
}
.th-list::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0; bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--verde) 0%, var(--celeste) 100%);
    transform: translateX(-50%);
    z-index: 0;
}
.th-item {
    position: relative;
    width: 50%;
    margin-bottom: 4rem;
    z-index: 1;
}
.th-item:nth-child(odd) {
    padding-right: 4rem;
    text-align: right;
}
.th-item:nth-child(even) {
    margin-left: 50%;
    padding-left: 4rem;
}
.th-item__marker {
    position: absolute;
    top: 1.4rem;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: var(--blanco);
    border: 3px solid var(--celeste);
    box-shadow: 0 0 0 4px rgba(74,149,193,.18);
    z-index: 2;
}
.th-item:nth-child(odd) .th-item__marker {
    right: -.9rem;
    border-color: var(--verde);
    box-shadow: 0 0 0 4px rgba(114,191,68,.18);
}
.th-item:nth-child(even) .th-item__marker {
    left: -.9rem;
}
.th-item__inner {
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    padding: 2.2rem 2.4rem;
    transition: all var(--t-rapida);
}
.th-item__inner:hover {
    transform: translateY(-2px);
    box-shadow: 0 1.6rem 3rem rgba(0,0,0,.08);
    border-color: var(--celeste);
}
.th-item:nth-child(odd) .th-item__inner:hover { border-color: var(--verde); }
.th-item__year {
    display: inline-block;
    font-size: 2.6rem;
    font-weight: 800;
    color: var(--celeste);
    letter-spacing: -.02em;
    line-height: 1;
    margin-bottom: .6rem;
}
.th-item:nth-child(odd) .th-item__year { color: var(--verde); }
.th-item__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--negro);
    margin: 0 0 1rem;
    line-height: 1.3;
}
.th-item__desc {
    font-size: 1.4rem;
    color: var(--gris);
    line-height: 1.6;
}
.th-item__desc p { margin: 0 0 .8rem; }
.th-item__desc p:last-child { margin: 0; }

@media (max-width: 880px) {
    .th-list::before { left: 2rem; }
    .th-item,
    .th-item:nth-child(odd),
    .th-item:nth-child(even) {
        width: auto;
        margin-left: 0;
        padding-left: 5rem;
        padding-right: 0;
        text-align: left;
    }
    .th-item__marker,
    .th-item:nth-child(odd) .th-item__marker,
    .th-item:nth-child(even) .th-item__marker {
        left: 1.1rem;
        right: auto;
    }
}

/* ── § Premios y reconocimientos · grilla ── */
.premios__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}
@media (min-width: 720px)  { .premios__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .premios__grid { grid-template-columns: repeat(4, 1fr); gap: 2.4rem; } }

.premio-card {
    background: var(--blanco);
    border: 1px solid var(--gris-borde);
    border-radius: var(--radio);
    padding: 2.4rem 1.8rem;
    text-align: center;
    transition: all var(--t-rapida);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .8rem;
}
.premio-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 2rem 4rem rgba(0,0,0,.07);
    border-color: var(--celeste);
}
.premio-card__logo {
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(114,191,68,.12), rgba(74,149,193,.12));
    border: 1px solid rgba(74,149,193,.18);
    display: grid;
    place-items: center;
    margin-bottom: .8rem;
    overflow: hidden;
}
.premio-card__logo img {
    max-width: 5rem;
    max-height: 5rem;
    object-fit: contain;
}
.premio-card__logo .placeholder {
    font-size: 3rem;
    color: var(--celeste);
    line-height: 1;
}
.premio-card__year {
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--celeste);
    letter-spacing: -.02em;
    line-height: 1;
}
.premio-card__name {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--negro);
    margin: 0;
    line-height: 1.3;
}
.premio-card__entidad {
    font-size: 1.15rem;
    color: var(--gris);
    font-weight: 500;
    letter-spacing: .02em;
}

/* ═══════════════════════════════════════════════════════
   FICHA INDIVIDUAL DE PUBLICACIÓN — single-publicacion.php
   ═══════════════════════════════════════════════════════ */
.pub-single {
    padding: 6rem 0 8rem;
    background: linear-gradient(180deg, #f7fbfd 0%, #ffffff 100%);
    min-height: 70vh;
}
.pub-single__inner { max-width: 110rem; }
.pub-single__crumbs {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.25rem;
    color: #6b7c8d;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}
.pub-single__crumbs a {
    color: #4a95c1;
    text-decoration: none;
    transition: color .2s;
}
.pub-single__crumbs a:hover { color: #1a4d6e; }
.pub-single__crumbs span { color: #c9d6e2; }
.pub-single__crumb-actual { color: #1f2d3d !important; font-weight: 600; }

.pub-single__grid {
    display: grid;
    grid-template-columns: 32rem 1fr;
    gap: 5rem;
    align-items: start;
}

/* Columna izquierda: portada */
.pub-single__portada { position: sticky; top: 10rem; }
.pub-single__img,
.pub-single__sin-img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: 0 2rem 5rem rgba(15,76,117,.18);
    display: block;
}
.pub-single__sin-img {
    background: #f0f7fb;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aab7c4;
}
.pub-single__sin-img span { font-size: 1.3rem; font-weight: 600; }

.pub-single__btn-pdf {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    margin-top: 2rem;
    padding: 1.6rem 2rem;
    background: linear-gradient(135deg, #72bf44 0%, #5a9933 100%);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: .8rem;
    text-decoration: none;
    box-shadow: 0 .8rem 2rem rgba(114,191,68,.3);
    transition: transform .2s, box-shadow .2s;
}
.pub-single__btn-pdf:hover {
    transform: translateY(-2px);
    box-shadow: 0 1.2rem 2.5rem rgba(114,191,68,.4);
    color: #fff;
}

/* Columna derecha: info */
.pub-single__tipo {
    display: inline-block;
    background: rgba(74,149,193,.12);
    color: #1a6fa8;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    margin-bottom: 1.6rem;
}
.pub-single__titulo {
    font-size: clamp(2.6rem, 3.2vw, 4.2rem);
    font-weight: 800;
    line-height: 1.15;
    color: #0a2540;
    margin-bottom: 2.4rem;
    letter-spacing: -.01em;
}
.pub-single__meta {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3rem;
    padding: 1.8rem 2rem;
    background: #f0f7fb;
    border-left: 3px solid #4a95c1;
    border-radius: 0 .8rem .8rem 0;
}
.pub-single__meta-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.4rem;
    color: #4a6378;
}
.pub-single__meta-item svg { color: #4a95c1; flex-shrink: 0; }
.pub-single__meta-item strong { color: #0a2540; }

.pub-single__excerpt {
    font-size: 1.6rem;
    line-height: 1.6;
    color: #2c4a63;
    font-style: italic;
    padding: 0 0 2rem;
    border-bottom: 1px solid #e0eaf0;
    margin-bottom: 2.5rem;
}
.pub-single__excerpt p { margin: 0; }

.pub-single__contenido {
    font-size: 1.55rem;
    line-height: 1.75;
    color: #2c4a63;
    margin-bottom: 4rem;
}
.pub-single__contenido p { margin-bottom: 1.6rem; }
.pub-single__contenido h2,
.pub-single__contenido h3 {
    margin-top: 3rem;
    margin-bottom: 1.4rem;
    color: #0a2540;
}
.pub-single__contenido a { color: #4a95c1; }

.pub-single__volver {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    padding: 1.2rem 2.2rem;
    background: #fff;
    border: 2px solid #c9d6e2;
    color: #1a4d6e;
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: 10rem;
    text-decoration: none;
    transition: all .25s;
}
.pub-single__volver:hover {
    background: #1a4d6e;
    color: #fff;
    border-color: #1a4d6e;
    transform: translateX(-3px);
}

@media (max-width: 900px) {
    .pub-single { padding: 4rem 0 6rem; }
    .pub-single__grid { grid-template-columns: 1fr; gap: 3rem; }
    .pub-single__portada { position: static; max-width: 28rem; margin: 0 auto; }
}

/* ═══════════════════════════════════════════════════════
   AUTOGESTIÓN DE FONDOS · Sección "Modelo ARA en detalle"
   ═══════════════════════════════════════════════════════ */
.fda-modelo {
    padding: 8rem 0 9rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    position: relative;
    overflow: hidden;
}
.fda-modelo::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 50rem;
    height: 50rem;
    background: radial-gradient(circle, rgba(74,149,193,.08) 0%, transparent 70%);
    pointer-events: none;
}
.fda-modelo::after {
    content: '';
    position: absolute;
    bottom: -20%;
    left: -10%;
    width: 40rem;
    height: 40rem;
    background: radial-gradient(circle, rgba(114,191,68,.08) 0%, transparent 70%);
    pointer-events: none;
}
.fda-modelo .contenedor { position: relative; z-index: 1; }

.fda-modelo__titular {
    text-align: center;
    max-width: 75rem;
    margin: 0 auto 5rem;
}
.fda-modelo__eyebrow {
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 700;
    color: #4a95c1;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}
.fda-modelo__h2 {
    font-size: clamp(2.6rem, 3.6vw, 4.4rem);
    font-weight: 800;
    line-height: 1.15;
    color: #0a2540;
    margin: 0 0 1.6rem;
    letter-spacing: -.015em;
}
.fda-modelo__h2 em {
    font-style: normal;
    background: linear-gradient(135deg, #4a95c1 0%, #72bf44 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.fda-modelo__intro {
    font-size: 1.65rem;
    line-height: 1.6;
    color: #4a6378;
    margin: 0;
}

/* Filas alternadas con imagen */
.fda-modelo__filas {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}
.fda-modelo__fila {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    --card-color: #4a95c1;
}
.fda-modelo__fila--azul   { --card-color: #4a95c1; }
.fda-modelo__fila--verde  { --card-color: #72bf44; }
.fda-modelo__fila--dorado { --card-color: #d4a017; }

/* Columna de texto */
.fda-modelo__col-texto {
    padding: 1rem 0;
}

/* Número grande de la fila */
.fda-modelo__num-fila {
    display: inline-block;
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, var(--card-color), color-mix(in srgb, var(--card-color) 60%, #0a2540));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 1.4rem;
    letter-spacing: -.04em;
    opacity: .85;
}

/* Columna de imagen */
.fda-modelo__col-img {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 1.8rem;
    box-shadow: 0 1.5rem 4rem rgba(15,76,117,.18);
    border: 6px solid #fff;
    background: #f0f7fb;
}
.fda-modelo__col-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 60%, color-mix(in srgb, var(--card-color) 15%, transparent) 100%);
    pointer-events: none;
}
.fda-modelo__col-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s;
}
.fda-modelo__fila:hover .fda-modelo__col-img img { transform: scale(1.04); }

/* Placeholder si no hay imagen */
.fda-modelo__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: #aab7c4;
    background: linear-gradient(135deg, #e0eaf0 0%, #c9d6e2 100%);
}
.fda-modelo__placeholder span {
    font-size: 1.25rem;
    font-weight: 600;
}

.fda-modelo__card-titulo {
    font-size: clamp(2.2rem, 2.6vw, 3rem);
    font-weight: 800;
    color: #0a2540;
    line-height: 1.2;
    margin: 0 0 1.4rem;
    letter-spacing: -.01em;
}
.fda-modelo__card-desc {
    font-size: 1.55rem;
    line-height: 1.65;
    color: #4a6378;
    margin: 0 0 1.8rem;
}

/* Card 1: mini diagrama de flujo */
.fda-modelo__flujo {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-top: auto;
    padding: 1.4rem;
    background: linear-gradient(135deg, rgba(74,149,193,.08), rgba(74,149,193,.03));
    border-radius: 1rem;
    flex-wrap: wrap;
}
.fda-modelo__flujo-paso {
    flex: 1;
    min-width: 8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    text-align: center;
}
.fda-modelo__flujo-dot {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #4a95c1, #2e7fb0);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.3rem;
    box-shadow: 0 .4rem 1rem rgba(74,149,193,.3);
}
.fda-modelo__flujo-paso span {
    font-size: 1.15rem;
    font-weight: 600;
    color: #1a4d6e;
    line-height: 1.3;
}
.fda-modelo__flujo-flecha { color: #4a95c1; flex-shrink: 0; }

/* Card 2: lista de incentivos */
.fda-modelo__lista {
    list-style: none;
    padding: 0;
    margin: 0 0 1.8rem;
    display: flex;
    flex-direction: column;
    gap: .8rem;
}
.fda-modelo__lista li {
    position: relative;
    padding: 1rem 1.2rem 1rem 3.6rem;
    background: #f5fbf0;
    border: 1px solid #d5e8c5;
    border-radius: .8rem;
    font-size: 1.35rem;
    line-height: 1.4;
    color: #1a3320;
    font-weight: 600;
}
.fda-modelo__lista li::before {
    content: '';
    position: absolute;
    left: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    background: #72bf44;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1rem;
}

/* Card 2: nota destacada (NO en efectivo) */
.fda-modelo__nota {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-top: auto;
    padding: 1.2rem 1.4rem;
    background: #fff4e6;
    border-left: 4px solid #d4a017;
    border-radius: 0 .8rem .8rem 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #8a5a00;
}
.fda-modelo__nota svg { color: #d4a017; flex-shrink: 0; }

/* Card 3: número grande + regiones */
.fda-modelo__numero-grande {
    font-size: clamp(3.6rem, 4.5vw, 5.4rem);
    font-weight: 900;
    background: linear-gradient(135deg, #d4a017 0%, #b8851a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    margin: .5rem 0 .4rem;
    letter-spacing: -.02em;
}
.fda-modelo__unidad {
    font-size: 1.3rem;
    font-weight: 700;
    color: #8a5a00;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 1.8rem;
    line-height: 1.3;
}
.fda-modelo__regiones {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: auto;
}
.fda-modelo__region {
    display: inline-flex;
    align-items: center;
    padding: .6rem 1.2rem;
    background: rgba(212,160,23,.12);
    color: #8a5a00;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 10rem;
    border: 1px solid rgba(212,160,23,.3);
}

/* Responsive */
@media (max-width: 900px) {
    .fda-modelo__filas { gap: 4rem; }
    .fda-modelo__fila { grid-template-columns: 1fr; gap: 2.5rem; }
    /* En mobile, la imagen siempre arriba (orden visual coherente) */
    .fda-modelo__col-img { order: -1; aspect-ratio: 16/10; }
    .fda-modelo__num-fila { font-size: 3.6rem; }
}
@media (max-width: 700px) {
    .fda-modelo { padding: 5rem 0 6rem; }
    .fda-modelo__flujo { padding: 1rem; gap: .4rem; }
    .fda-modelo__flujo-paso { min-width: 6rem; }
    .fda-modelo__flujo-paso span { font-size: 1rem; }
}

/* ═══════════════════════════════════════════════════════
   PÁGINA NOVEDADES — page-novedades.php (feed unificado)
   ═══════════════════════════════════════════════════════ */

/* Hero */
.nov-hero {
    padding: 9rem 0 5rem;
    background: linear-gradient(160deg, #0a2540 0%, #103a5e 50%, #0e2c4a 100%);
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.nov-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 30%, rgba(74,149,193,.18) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(114,191,68,.14) 0%, transparent 50%);
    pointer-events: none;
}
.nov-hero__inner { position: relative; z-index: 1; }
.nov-hero__eyebrow {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #7dd3fc;
    margin-bottom: 1.4rem;
}
.nov-hero__titulo {
    font-size: clamp(3.2rem, 5vw, 5.6rem);
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 1.6rem;
    letter-spacing: -.015em;
}
.nov-hero__titulo em {
    font-style: normal;
    background: linear-gradient(135deg, #7dd3fc 0%, #72bf44 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.nov-hero__sub {
    font-size: 1.6rem;
    line-height: 1.55;
    color: rgba(255,255,255,.75);
    max-width: 68rem;
    margin: 0 auto;
}
.apl-conteo {
    margin: 1.8rem auto 0;
    display: inline-block;
    font-size: 1.3rem;
    color: rgba(255,255,255,.85);
    background: rgba(114,191,68,.18);
    border: 1px solid rgba(114,191,68,.35);
    padding: .55rem 1.4rem;
    border-radius: 10rem;
}
.apl-conteo strong { color: #bfe6a3; }

/* Filtros */
.nov-filtros {
    background: #fff;
    padding: 2rem 0;
    border-bottom: 1px solid #e5edf3;
    position: sticky;
    top: 7rem;
    z-index: 10;
    box-shadow: 0 4px 18px rgba(15,76,117,.04);
}
.nov-filtros__inner {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}
.nov-filtros__btn {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem 1.8rem;
    background: #f0f7fb;
    border: 1.5px solid transparent;
    color: #4a6378;
    font-size: 1.35rem;
    font-weight: 700;
    border-radius: 10rem;
    cursor: pointer;
    transition: all .2s;
    font-family: inherit;
}
.nov-filtros__btn:hover {
    background: #e0eaf0;
    color: #1a4d6e;
}
.nov-filtros__btn--activo {
    background: #0a2540;
    color: #fff;
}
.nov-filtros__btn--activo:hover { background: #0a2540; color: #fff; }
.nov-filtros__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    height: 2.4rem;
    padding: 0 .6rem;
    background: rgba(74,149,193,.15);
    color: #1a6fa8;
    font-size: 1.1rem;
    font-weight: 800;
    border-radius: 10rem;
}
.nov-filtros__btn--activo .nov-filtros__count {
    background: rgba(255,255,255,.2);
    color: #fff;
}

/* Grid principal */
.nov-grid-wrap {
    padding: 6rem 0 9rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    min-height: 50vh;
}
.nov-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    gap: 3rem;
}

/* Card */
.nov-card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .3s ease, transform .3s ease;
}
.js .nov-card { opacity: 0; transform: translateY(16px); }
.nov-card--visible { opacity: 1; transform: translateY(0); }

.nov-card__link {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 1.4rem;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 .3rem 1.5rem rgba(15,76,117,.06);
    transition: transform .3s, box-shadow .3s;
    height: 100%;
    border: 1px solid #eaf1f6;
}
.nov-card__link:hover {
    transform: translateY(-6px);
    box-shadow: 0 1.5rem 4rem rgba(15,76,117,.15);
    border-color: #c9d6e2;
}

/* Media */
.nov-card__media {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
    background: #f0f7fb;
}
.nov-card__img,
.nov-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.nov-card__link:hover .nov-card__img { transform: scale(1.06); }
.nov-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aab7c4;
    background: linear-gradient(135deg, #e0eaf0 0%, #c9d6e2 100%);
}

/* Tag (badge por tipo) */
.nov-card__tag {
    position: absolute;
    top: 1.4rem;
    left: 1.4rem;
    padding: .5rem 1.2rem;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 10rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.nov-card__tag--noticia {
    background: rgba(74,149,193,.92);
    color: #fff;
}
.nov-card__tag--historia {
    background: rgba(114,191,68,.92);
    color: #fff;
}
.nov-card__tag--convocatoria {
    background: rgba(10,37,64,.92);
    color: #fff;
}

/* Cuerpo */
.nov-card__body {
    padding: 2.2rem 2.4rem 2.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.nov-card__meta {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-bottom: 1.2rem;
}
.nov-card__date {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.2rem;
    color: #6b7c8d;
    font-weight: 600;
}
.nov-card__date svg { color: #4a95c1; }

.nov-card__titulo {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.3;
    color: #0a2540;
    margin: 0 0 1rem;
}
.nov-card__excerpt {
    font-size: 1.4rem;
    line-height: 1.6;
    color: #4a6378;
    margin: 0 0 1.8rem;
    flex: 1;
}
.nov-card__cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #4a95c1;
    font-size: 1.35rem;
    font-weight: 700;
    transition: gap .2s;
}
.nov-card__link:hover .nov-card__cta { gap: 1rem; color: #1a4d6e; }
.nov-card__flecha { transition: transform .2s; }
.nov-card__link:hover .nov-card__flecha { transform: translateX(3px); }

/* Estado vacío */
.nov-empty {
    text-align: center;
    padding: 6rem 2rem;
    color: #6b7c8d;
    max-width: 50rem;
    margin: 0 auto;
}
.nov-empty svg { color: #aab7c4; margin-bottom: 1.5rem; }
.nov-empty h3 {
    font-size: 2rem;
    color: #0a2540;
    margin: 0 0 1rem;
}
.nov-empty p {
    font-size: 1.5rem;
    line-height: 1.55;
    margin: 0;
}

/* Paginación */
.nov-paginacion {
    padding: 0 0 8rem;
    background: #f7fbfd;
}
.nov-paginacion__inner {
    display: flex;
    justify-content: center;
    gap: .6rem;
    flex-wrap: wrap;
}
.nov-paginacion__inner .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.2rem;
    height: 4.2rem;
    padding: 0 1.4rem;
    background: #fff;
    border: 1.5px solid #c9d6e2;
    border-radius: 10rem;
    color: #1a4d6e;
    font-size: 1.35rem;
    font-weight: 700;
    text-decoration: none;
    transition: all .2s;
}
.nov-paginacion__inner .page-numbers:hover {
    background: #1a4d6e;
    color: #fff;
    border-color: #1a4d6e;
}
.nov-paginacion__inner .page-numbers.current {
    background: #0a2540;
    color: #fff;
    border-color: #0a2540;
}

@media (max-width: 700px) {
    .nov-hero { padding: 6rem 0 3.5rem; }
    .nov-grid { grid-template-columns: 1fr; gap: 2rem; }
    .nov-filtros { padding: 1.4rem 0; position: static; }
    .nov-filtros__inner { gap: .6rem; }
    .nov-filtros__btn { padding: .7rem 1.4rem; font-size: 1.25rem; }
}

/* ═══════════════════════════════════════════════════════
   ZONA LIBRE GUTENBERG — al final de páginas custom
   ═══════════════════════════════════════════════════════ */
.bca-libre,
.zona-libre {
    padding: 6rem 0 7rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}
.bca-libre__inner,
.zona-libre__inner {
    max-width: 80rem;
    margin: 0 auto;
    font-size: 1.55rem;
    line-height: 1.75;
    color: #2c4a63;
}
.bca-libre__inner h2,
.bca-libre__inner h3,
.bca-libre__inner h4,
.zona-libre__inner h2,
.zona-libre__inner h3,
.zona-libre__inner h4 {
    color: #0a2540;
    margin-top: 3rem;
    margin-bottom: 1.4rem;
}
.bca-libre__inner h2,
.zona-libre__inner h2 { font-size: 2.6rem; }
.bca-libre__inner h3,
.zona-libre__inner h3 { font-size: 2.1rem; }
.bca-libre__inner p,
.zona-libre__inner p { margin-bottom: 1.6rem; }
.bca-libre__inner ul,
.bca-libre__inner ol,
.zona-libre__inner ul,
.zona-libre__inner ol {
    margin: 0 0 1.8rem;
    padding-left: 2rem;
}
.bca-libre__inner li,
.zona-libre__inner li { margin-bottom: .6rem; }
.bca-libre__inner a,
.zona-libre__inner a {
    color: #4a95c1;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.bca-libre__inner img,
.zona-libre__inner img {
    border-radius: 1rem;
    box-shadow: 0 1rem 3rem rgba(15,76,117,.1);
    max-width: 100%;
    height: auto;
}
.bca-libre__inner blockquote,
.zona-libre__inner blockquote {
    border-left: 4px solid #72bf44;
    padding: 1.5rem 2rem;
    background: #f5fbf0;
    border-radius: 0 .8rem .8rem 0;
    font-style: italic;
    margin: 2rem 0;
}

/* ═══════════════════════════════════════════════════════
   FICHA INDIVIDUAL DE CONVOCATORIA — single-convocatoria.php
   ═══════════════════════════════════════════════════════ */
.conv-single { background: #f7fbfd; }

/* Hero */
.conv-single__hero {
    position: relative;
    padding: 7rem 0 5rem;
    background: linear-gradient(160deg, #0a2540 0%, #103a5e 50%, #0e2c4a 100%);
    color: #fff;
    overflow: hidden;
}
.conv-single__hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(74,149,193,.18) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(114,191,68,.12) 0%, transparent 50%);
    pointer-events: none;
}
.conv-single__hero-inner { position: relative; z-index: 1; }

.conv-single__crumbs {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: 1.25rem;
    color: rgba(255,255,255,.6);
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
}
.conv-single__crumbs a {
    color: rgba(255,255,255,.85);
    text-decoration: none;
    transition: color .2s;
}
.conv-single__crumbs a:hover { color: #7dd3fc; }
.conv-single__crumbs span { color: rgba(255,255,255,.35); }
.conv-single__crumb-actual { color: #7dd3fc !important; font-weight: 600; }

/* Badges */
.conv-single__badges {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.8rem;
}
.conv-single__badge {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .5rem 1.2rem;
    border-radius: 10rem;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.conv-single__badge-dot {
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    display: inline-block;
}
.conv-single__badge--tipo {
    background: rgba(125,211,252,.15);
    color: #7dd3fc;
    border: 1px solid rgba(125,211,252,.3);
}
.conv-single__badge--urgente {
    background: rgba(239,68,68,.15);
    color: #fca5a5;
    border: 1px solid rgba(239,68,68,.3);
    animation: pulse-urgent 2s ease-in-out infinite;
}
@keyframes pulse-urgent {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,.4); }
    50% { box-shadow: 0 0 0 6px rgba(239,68,68,0); }
}
.conv-single__badge--tiempo {
    background: rgba(251,191,36,.15);
    color: #fbbf24;
    border: 1px solid rgba(251,191,36,.3);
}

.conv-single__titulo {
    font-size: clamp(2.8rem, 4vw, 4.8rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1.6rem;
    letter-spacing: -.015em;
    max-width: 80rem;
}
.conv-single__lead {
    font-size: 1.7rem;
    line-height: 1.55;
    color: rgba(255,255,255,.78);
    max-width: 70rem;
    margin: 0;
}

/* Body con grid */
.conv-single__body { padding: 6rem 0 8rem; }
.conv-single__grid {
    display: grid;
    grid-template-columns: 1fr 36rem;
    gap: 5rem;
    align-items: start;
}

/* Columna izquierda */
.conv-single__contenido {
    background: #fff;
    border-radius: 1.2rem;
    padding: 4rem;
    box-shadow: 0 .8rem 3rem rgba(15,76,117,.06);
}
.conv-single__articulo { margin-bottom: 3.5rem; }
.conv-single__articulo:last-of-type { margin-bottom: 0; }
.conv-single__articulo h2 {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 2rem;
    font-weight: 800;
    color: #0a2540;
    margin: 0 0 1.6rem;
    padding-bottom: 1.2rem;
    border-bottom: 2px solid #e0eaf0;
}
.conv-single__articulo h2 svg { color: #4a95c1; }
.conv-single__articulo p {
    font-size: 1.55rem;
    line-height: 1.75;
    color: #2c4a63;
    margin-bottom: 1.5rem;
}

/* Lista de requisitos */
.conv-single__lista {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.conv-single__lista li {
    position: relative;
    padding: 1.2rem 1.4rem 1.2rem 4rem;
    background: #f5fbf0;
    border: 1px solid #d5e8c5;
    border-radius: .8rem;
    font-size: 1.45rem;
    line-height: 1.5;
    color: #2c4a63;
}
.conv-single__lista li::before {
    content: '';
    position: absolute;
    left: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    background: #72bf44;
    border-radius: 50%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1rem;
}

/* Adjudicado */
.conv-single__adjudicado {
    background: linear-gradient(135deg, #e0f0fa 0%, #f0f7fb 100%);
    padding: 2.5rem;
    border-radius: 1rem;
    border-left: 4px solid #4a95c1;
}
.conv-single__adjudicado h2 { border-bottom: none; padding-bottom: 0; margin-bottom: 1rem; }
.conv-single__adjudicado-nombre {
    font-size: 2rem !important;
    font-weight: 700;
    color: #1a6fa8 !important;
    margin: 0 !important;
}

/* Volver */
.conv-single__volver {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    margin-top: 3rem;
    padding: 1.2rem 2.2rem;
    background: #fff;
    border: 2px solid #c9d6e2;
    color: #1a4d6e;
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: 10rem;
    text-decoration: none;
    transition: all .25s;
}
.conv-single__volver:hover {
    background: #1a4d6e;
    color: #fff;
    border-color: #1a4d6e;
    transform: translateX(-3px);
}

/* Sidebar derecho */
.conv-single__sidebar { position: sticky; top: 9rem; }
.conv-single__card {
    background: #fff;
    border-radius: 1.2rem;
    padding: 3rem;
    box-shadow: 0 1rem 4rem rgba(15,76,117,.08);
    border-top: 4px solid #4a95c1;
}
.conv-single__card h3 {
    font-size: 1.4rem;
    font-weight: 800;
    color: #4a95c1;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 0 0 2rem;
}

.conv-single__meta {
    list-style: none;
    padding: 0;
    margin: 0 0 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
}
.conv-single__meta-item {
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
}
.conv-single__meta-icon {
    width: 3.6rem;
    height: 3.6rem;
    flex-shrink: 0;
    background: rgba(74,149,193,.1);
    color: #4a95c1;
    border-radius: .6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.conv-single__meta-label {
    display: block;
    font-size: 1.1rem;
    color: #6b7c8d;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600;
    margin-bottom: .3rem;
}
.conv-single__meta-value {
    font-size: 1.45rem;
    color: #0a2540;
    font-weight: 700;
    line-height: 1.3;
}

/* Botones del card */
.conv-single__btn-pdf,
.conv-single__btn-postular {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    padding: 1.4rem 2rem;
    font-size: 1.4rem;
    font-weight: 700;
    border-radius: .8rem;
    text-decoration: none;
    transition: transform .2s, box-shadow .2s;
}
.conv-single__btn-pdf {
    background: linear-gradient(135deg, #72bf44 0%, #5a9933 100%);
    color: #fff;
    box-shadow: 0 .6rem 1.5rem rgba(114,191,68,.3);
    margin-bottom: 1rem;
}
.conv-single__btn-pdf:hover {
    transform: translateY(-2px);
    box-shadow: 0 1rem 2rem rgba(114,191,68,.4);
    color: #fff;
}
.conv-single__btn-postular {
    background: linear-gradient(135deg, #4a95c1 0%, #2e7fb0 100%);
    color: #fff;
    box-shadow: 0 .6rem 1.5rem rgba(74,149,193,.3);
}
.conv-single__btn-postular:hover {
    transform: translateY(-2px);
    box-shadow: 0 1rem 2rem rgba(74,149,193,.4);
    color: #fff;
}

/* Responsive */
@media (max-width: 1000px) {
    .conv-single__grid { grid-template-columns: 1fr; gap: 3rem; }
    .conv-single__sidebar { position: static; max-width: 50rem; margin: 0 auto; }
}
@media (max-width: 700px) {
    .conv-single__hero { padding: 5rem 0 3.5rem; }
    .conv-single__body { padding: 4rem 0 5rem; }
    .conv-single__contenido { padding: 2.5rem; }
    .conv-single__card { padding: 2.5rem; }
    .conv-single__titulo { font-size: 2.6rem; }
}


/* ════════════════════════════════════════════════════════════════
   ZONAS LIBRES DEL HOME · Patterns reutilizables
   ════════════════════════════════════════════════════════════════ */

.home-zona-libre {
    padding: 2rem 0;
    background: white;
    position: relative;
}

.home-zona-libre__inner {
    max-width: 110rem;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Bloque Editorial (réplica "Quiénes Somos") — reutiliza .fn-quienes__grid / .fn-imgs / .fn-texto */
.pat-editorial { padding: 3rem 0 6rem; }
@media (min-width: 961px) {
    .pat-editorial--derecha .fn-quienes__grid { grid-template-columns: 1.15fr 1fr; }
    .pat-editorial--derecha .fn-imgs  { order: 2; }
    .pat-editorial--derecha .fn-texto { order: 1; }
}

/* Bloque Modelo · Filas (reutiliza el diseño .fda-modelo__* sin la sección) */
.pat-modelo { padding: 2rem 0 3rem; }
@media (max-width: 820px) {
    .pat-modelo .fda-modelo__fila { grid-template-columns: 1fr; gap: 2.5rem; }
    .pat-modelo .fda-modelo__col-img { order: -1; }
}

/* Zonas Libres — compactar el padding de los bloques "grandes" que reusan
   secciones fijas (6–9rem) a 4rem, SOLO dentro de zonas. No afecta las
   páginas donde esas mismas clases se usan como sección fija. Los bloques
   Hero y Evento se dejan grandes a propósito. */
.home-zona-libre .gcf-cta,
.home-zona-libre .rcc-actividades,
.home-zona-libre .ara-intro,
.home-zona-libre .cap-logros,
.home-zona-libre .cap-frase,
.home-zona-libre .cap-info,
.home-zona-libre .vall-cifras,
.home-zona-libre .logros,
.home-zona-libre .pat-testimonios,
.home-zona-libre .pat-dedicatoria,
.home-zona-libre .pat-quees-apa,
.home-zona-libre .pat-stat-hero,
.home-zona-libre .pat-mensaje {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

/* Bloque "Impacto · cifras con iconos" dentro de zonas: la unidad
   ("Hectáreas", "Municipios"…) va DEBAJO del número, no al costado, para
   que unidades largas o números grandes no rompan el layout. */
.home-zona-libre .logro-stat__cifra {
    flex-direction: column;
    align-items: center;
    gap: .2rem;
}
.home-zona-libre .logro-stat__suffix { margin-bottom: 0; }

/* Bloque "Historia con Rostro" — reutiliza el diseño .chiq-historia__* pero
   SIN el fondo crema (queda transparente sobre el blanco de la zona). */
.pat-historia { padding: 2rem 0; }
@media (max-width: 820px) {
    .pat-historia .chiq-historia__grid { grid-template-columns: 1fr; gap: 3rem; }
    .pat-historia--derecha .chiq-historia__media { order: -1; }
}

/* Bloque "Especie Emblema" — reutiliza el diseño .vall-paraba__* pero SIN el
   fondo negro: recolorea títulos, descripción y datos para fondo claro. */
.pat-especie { padding: 2rem 0; }
.pat-especie .vall-paraba__texto h2 { color: var(--negro); }
.pat-especie .vall-paraba__desc { color: #555; }
.pat-especie .vall-paraba__dato strong { color: var(--negro); }
.pat-especie .vall-paraba__dato span { color: #6b6b6b; }
.pat-especie .vall-paraba__placeholder {
    background: #f0f2ee;
    border-color: #d5dccb;
    color: rgba(0,0,0,.3);
}
@media (max-width: 820px) {
    .pat-especie--derecha .vall-paraba__media { order: -1; }
}

/* Sección "Fortalecer instituciones + Mapa Fondos Locales" movida a Autogestión
   de los Fondos de Agua. Reutiliza el layout original .rcc-intro (mapa | texto). */

/* Tipografía dentro de zona libre — hereda el sistema del sitio */
.home-zona-libre h2 {
    font-size: clamp(3rem, 5vw, 5.6rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1.5rem;
    color: #1f2421;
    font-family: 'Montserrat', sans-serif;
}

.home-zona-libre h3 {
    font-size: 2.2rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
    color: #1f2421;
}

.home-zona-libre h4 {
    font-size: 1.7rem;
    font-weight: 700;
    margin: 1.5rem 0 0.75rem;
}

.home-zona-libre p {
    font-size: 1.6rem;
    line-height: 1.75;
    margin: 0 0 1.2rem;
    color: #2c322e;
}

/* ── Anti-desborde: el contenido pegado por el cliente (incluso texto largo
   sin espacios) SIEMPRE se ajusta a su caja y no rompe el layout ── */
.home-zona-libre,
.home-zona-libre p, .home-zona-libre li, .home-zona-libre a,
.home-zona-libre span, .home-zona-libre blockquote, .home-zona-libre td,
.home-zona-libre h1, .home-zona-libre h2, .home-zona-libre h3,
.home-zona-libre h4, .home-zona-libre h5, .home-zona-libre h6 {
    overflow-wrap: break-word;
    word-break: break-word;
}
/* Permite que las columnas de grid/flex se encojan y no fuercen scroll horizontal */
.home-zona-libre [class*="__grid"] > *,
.home-zona-libre [class*="__col"],
.home-zona-libre [class*="__text"],
.home-zona-libre [class*="__body"],
.home-zona-libre [class*="__inner"] {
    min-width: 0;
}

.home-zona-libre em { color: #4a95c1; font-style: normal; font-weight: 600; }
.home-zona-libre strong { color: #4d8a2c; font-weight: 700; }

/* ─── Tamaños estándar legibles por bloque dentro de zonas libres ───
   El default .home-zona-libre p (1.6rem) cubre el texto general, pero
   algunos bloques reutilizan componentes con tipografía propia más grande
   (citas, leads). Restauramos esos tamaños para que se vean como en sus
   páginas y no queden chicos. */
.home-zona-libre .cap-frase__cita p {
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.45;
    font-weight: 500;
}
.home-zona-libre .cap-frase__autor { font-size: 1.4rem; }
.home-zona-libre .titular__sub,
.home-zona-libre [class*="__sub"] { font-size: 1.6rem; line-height: 1.7; }

/* ─── Énfasis global en TÍTULOS de cualquier bloque de zonas libres ───
   <em>     → CELESTE institucional (#4a95c1)
   <strong> → VERDE institucional   (#72bf44)
   Estas reglas ganan a los selectores específicos por pattern
   (ej. .pat-X__titulo em) porque usan [class*="__titulo"] dentro
   de .home-zona-libre. Funciona en h1/h2/h3/h4 también.            */
.home-zona-libre h1 em,
.home-zona-libre h2 em,
.home-zona-libre h3 em,
.home-zona-libre h4 em,
.home-zona-libre [class*="__titulo"] em,
.home-zona-libre [class*="__tit"] em {
    color: var(--celeste);
    font-style: normal;
    font-weight: inherit;
}
.home-zona-libre h1 strong,
.home-zona-libre h2 strong,
.home-zona-libre h3 strong,
.home-zona-libre h4 strong,
.home-zona-libre [class*="__titulo"] strong,
.home-zona-libre [class*="__tit"] strong {
    color: var(--verde);
    font-style: normal;
    font-weight: inherit;
}

.home-zona-libre a {
    color: #4a95c1;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    font-weight: 600;
}

.home-zona-libre a:hover { color: #2c6c91; }

/* Listas */
.home-zona-libre ul, .home-zona-libre ol {
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0 0 1.5rem;
    padding-left: 2rem;
}

.home-zona-libre li { margin-bottom: 0.5rem; }

/* Imágenes */
.home-zona-libre img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 1rem 0;
}

.home-zona-libre figure {
    margin: 2rem 0;
}

.home-zona-libre figcaption {
    font-size: 0.9rem;
    color: #5a6863;
    text-align: center;
    margin-top: 0.75rem;
    font-style: italic;
}

/* Tablas */
.home-zona-libre table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.home-zona-libre table th {
    background: linear-gradient(135deg, #72bf44 0%, #4a95c1 100%);
    color: white;
    padding: 1rem 1.25rem;
    text-align: left;
    font-weight: 700;
}

.home-zona-libre table td {
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid #e5e7e1;
}

.home-zona-libre table tr:last-child td { border-bottom: none; }
.home-zona-libre table tr:nth-child(even) td { background: #f8fbf6; }

/* Cita / Blockquote nativo */
.home-zona-libre blockquote:not(.cap-frase__cita) {
    border-left: 4px solid #72bf44;
    padding: 1rem 0 1rem 1.5rem;
    margin: 2rem 0;
    font-style: italic;
    color: #3d4540;
    font-size: 1.15rem;
}

/* Embeds (YouTube, Vimeo) responsive */
.home-zona-libre iframe,
.home-zona-libre .wp-block-embed iframe {
    max-width: 100%;
    border-radius: 12px;
    margin: 1.5rem 0;
}

.home-zona-libre .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.home-zona-libre .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Separadores entre zona libre y secciones fijas */
.home-zona-libre + .seccion,
.seccion + .home-zona-libre {
    /* sin border-top forzado; las zonas usan su propio padding */
}

/* Color alternado para distinguir visualmente las zonas en el frontend */
.home-zona-libre--b,
.home-zona-libre--d,
.home-zona-libre--f { background: #f8fbf6; }

/* Responsive */
@media (max-width: 768px) {
    .home-zona-libre { padding: 3.5rem 0; }
    .home-zona-libre h2 { font-size: 2.2rem; }
    .home-zona-libre h3 { font-size: 1.7rem; }
    .home-zona-libre p { font-size: 1rem; }
}


/* ════════════════════════════════════════════════════════════════
   PATTERNS NUEVOS · Sprint visual
   .pat-hero / .pat-cards-3 / .pat-cardh / .pat-video / .pat-cta / .pat-galeria
   ════════════════════════════════════════════════════════════════ */

/* ─── 5. HERO BLOCK ─── */
.pat-hero {
    position: relative;
    background-size: cover;
    background-position: center;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}
.pat-hero--chica  { min-height: 30vh; padding: 4rem 0; }
.pat-hero--media  { min-height: 55vh; padding: 6rem 0; }
.pat-hero--grande { min-height: 80vh; padding: 8rem 0; }
.pat-hero__overlay {
    position: absolute; inset: 0;
    background:
        radial-gradient(120% 95% at 50% 48%, rgba(7,12,9,0.42) 0%, rgba(7,12,9,0.66) 100%),
        linear-gradient(180deg, rgba(7,12,9,0.34) 0%, rgba(7,12,9,0.50) 55%, rgba(7,12,9,0.72) 100%);
    z-index: 1;
}
.pat-hero__inner {
    position: relative; z-index: 2;
    max-width: 80rem;
}
.home-zona-libre .pat-hero__eyebrow {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #fff;
    border-bottom: 2px solid #8ed85f;
    padding-bottom: 0.5rem;
    margin-bottom: 1.8rem;
    text-shadow: 0 1px 10px rgba(0,0,0,.6);
}
.home-zona-libre .pat-hero__titulo {
    font-size: clamp(3.2rem, 5vw, 5.2rem);
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 1.8rem;
    color: #fff;
    text-shadow: 0 2px 22px rgba(0,0,0,.72), 0 1px 3px rgba(0,0,0,.55);
}
.home-zona-libre .pat-hero__titulo em {
    color: #8ed85f;
    font-style: normal;
    font-weight: 800;
}
.home-zona-libre .pat-hero__lead {
    font-size: 1.7rem;
    line-height: 1.65;
    max-width: 64rem;
    margin: 0 auto 2.4rem;
    color: #ffffff;
    text-shadow: 0 1px 16px rgba(0,0,0,.7), 0 1px 3px rgba(0,0,0,.5);
}
.home-zona-libre .pat-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    background: linear-gradient(135deg, #5fae34, #3f86b3);
    color: #fff;
    padding: 1.25rem 2.8rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    text-decoration: none;
    border: none;
    transition: transform 0.25s, box-shadow 0.25s, filter 0.25s;
    box-shadow: 0 10px 28px rgba(20,60,45,0.45);
}
.home-zona-libre .pat-hero__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(20,60,45,0.6);
    filter: brightness(1.06);
    color: #fff;
    text-decoration: none;
}
.pat-hero__btn .flecha { transition: transform 0.25s; }
.pat-hero__btn:hover .flecha { transform: translateX(4px); }


/* ─── 6. CARDS 3 COLUMNAS ─── */
.pat-cards-3 { padding: 5rem 0; background: white; }
.pat-cards-3__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3rem;
}
.pat-cards-3__card {
    padding: 2.5rem 2rem;
    border-radius: 16px;
    background: white;
    border: 1px solid #e5e7e1;
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative;
    overflow: hidden;
}
.pat-cards-3__card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--accent, #72bf44);
}
.pat-cards-3__card--verde   { --accent: #72bf44; }
.pat-cards-3__card--celeste { --accent: #4a95c1; }
.pat-cards-3__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}
.pat-cards-3__icono {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    line-height: 1;
}
.pat-cards-3__titulo {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.75rem;
    color: #1f2421;
}
.pat-cards-3__desc {
    font-size: 1rem;
    line-height: 1.6;
    color: #4b5550;
    margin: 0;
}


/* ─── 7. CARD HORIZONTAL (img + texto) ─── */
.pat-cardh { padding: 5rem 0; }
.pat-cardh--fondo-blanco { background: white; }
.pat-cardh--fondo-gris   { background: #f5f7f5; }
.pat-cardh--fondo-crema  { background: #faf6ef; }
.pat-cardh__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
/* Imagen a la izquierda (default): media en col 1, texto en col 2 */
.pat-cardh--img-izquierda .pat-cardh__media { grid-column: 1; grid-row: 1; }
.pat-cardh--img-izquierda .pat-cardh__texto { grid-column: 2; grid-row: 1; }
/* Imagen a la derecha: texto en col 1, media en col 2 */
.pat-cardh--img-derecha .pat-cardh__media   { grid-column: 2; grid-row: 1; }
.pat-cardh--img-derecha .pat-cardh__texto   { grid-column: 1; grid-row: 1; }
.pat-cardh__media img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.12);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.pat-cardh__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #4a95c1;
    border-bottom: 2px solid #4a95c1;
    padding-bottom: 0.3rem;
    margin-bottom: 1rem;
}
.pat-cardh__titulo {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 1.25rem;
    color: #1f2421;
}
.pat-cardh__titulo em { color: #4a95c1; font-style: normal; }
.pat-cardh__parr {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #3d4540;
    margin: 0 0 1rem;
}
.pat-cardh__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 1rem;
    color: #4a95c1;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #4a95c1;
    padding-bottom: 0.25rem;
    transition: gap 0.25s;
}
.pat-cardh__btn:hover { gap: 1rem; color: #2c6c91; }

/* ─── Imagen + cita flotante + texto (bloque reusable · reusa diseño .ara-intro) ─── */
.pat-imgcita.ara-intro { border-bottom: none; }
.pat-imgcita--fondo-gris  { background: #f5f7f5; }
.pat-imgcita--fondo-crema { background: #faf6ef; }
/* Imagen a la derecha: invierte columnas */
.pat-imgcita--img-derecha .ara-intro__visual { grid-column: 2; grid-row: 1; }
.pat-imgcita--img-derecha .ara-intro__texto  { grid-column: 1; grid-row: 1; }
/* Preserva la tipografía del bloque dentro de las Zonas Libres
   (los globales .home-zona-libre p/h2 son más específicos y la pisarían) */
.home-zona-libre .pat-imgcita .ara-intro__texto p {
    font-size: 1.7rem;
    line-height: 1.8;
    color: var(--gris);
    margin: 0 0 1.4rem;
}
.home-zona-libre .pat-imgcita .ara-intro__texto p:last-child { margin-bottom: 0; }
.home-zona-libre .pat-imgcita .ara-intro__texto strong { color: var(--negro); font-weight: 700; }
.home-zona-libre .pat-imgcita .ara-intro__quote--float p {
    font-size: clamp(1.7rem, 2.2vw, 2.2rem);
    line-height: 1.45;
    font-style: italic;
    font-weight: 700;
    color: var(--negro);
    margin: 0;
}
@media (max-width: 900px) {
    .pat-imgcita--img-derecha .ara-intro__visual,
    .pat-imgcita--img-derecha .ara-intro__texto { grid-column: 1; grid-row: auto; }
}

/* ─── Bloque Testimonios reusable (diseño de Escuela ARA, con variantes de color) ─── */
.pat-testimonios { padding: 7rem 0; }
.pat-testimonios--blanco { background: #fff; }
.pat-testimonios--verde  { background: #f1f7ea; }
.pat-testimonios--oscuro { background: #060e06; }
.pat-testimonios .ara-test__grid { margin-top: 4rem; }
.pat-testimonios .ara-test__sub { margin-bottom: 0; }

/* Variantes claras (blanco / verde): tarjetas claras, texto oscuro, acentos verdes */
.pat-testimonios--blanco .ara-test__card,
.pat-testimonios--verde .ara-test__card {
    background: #fff;
    border: 1px solid #e6ece1;
    box-shadow: 0 10px 30px rgba(20,40,20,.06);
}
.pat-testimonios--blanco .ara-test__card:hover,
.pat-testimonios--verde .ara-test__card:hover {
    border-color: rgba(114,191,68,.5);
    box-shadow: 0 18px 44px rgba(20,40,20,.12);
}
.pat-testimonios--blanco .ara-test__comilla,
.pat-testimonios--verde .ara-test__comilla { color: rgba(114,191,68,.4); }
.pat-testimonios--blanco .ara-test__autor,
.pat-testimonios--verde .ara-test__autor { border-top-color: #ebefe7; }
.pat-testimonios--blanco .ara-test__foto--vacio,
.pat-testimonios--verde .ara-test__foto--vacio { background: rgba(114,191,68,.12); color: rgba(114,191,68,.7); }
/* Textos (ganan a los globales .home-zona-libre) */
.home-zona-libre .pat-testimonios--blanco .titular h2,
.home-zona-libre .pat-testimonios--verde .titular h2 { color: #1f2421; }
.pat-testimonios--blanco .titular__eyebrow,
.pat-testimonios--verde .titular__eyebrow { color: var(--verde-oscuro); }
.home-zona-libre .pat-testimonios--blanco .titular h2 em,
.home-zona-libre .pat-testimonios--verde .titular h2 em { color: var(--verde); }
.home-zona-libre .pat-testimonios--blanco .ara-test__sub,
.home-zona-libre .pat-testimonios--verde .ara-test__sub { color: #5a6863; }
.home-zona-libre .pat-testimonios--blanco .ara-test__texto,
.home-zona-libre .pat-testimonios--verde .ara-test__texto { color: #3d4540; }
.home-zona-libre .pat-testimonios--blanco .ara-test__meta strong,
.home-zona-libre .pat-testimonios--verde .ara-test__meta strong { color: #1f2421; }

/* Variante oscura: igual que el diseño original */
.home-zona-libre .pat-testimonios--oscuro .titular h2 { color: #fff; }
.pat-testimonios--oscuro .titular__eyebrow { color: rgba(114,191,68,.7); }
.home-zona-libre .pat-testimonios--oscuro .titular h2 em { color: var(--verde); }
.home-zona-libre .pat-testimonios--oscuro .ara-test__sub { color: rgba(255,255,255,.5); }
.home-zona-libre .pat-testimonios--oscuro .ara-test__texto { color: rgba(255,255,255,.85); }
.home-zona-libre .pat-testimonios--oscuro .ara-test__meta strong { color: #fff; }


/* ─── 8. VIDEO ─── */
.pat-video {
    padding: 5rem 0;
    background: #fafbf8;
    position: relative;
}
.pat-video::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1100px;
    height: 70%;
    background: radial-gradient(ellipse at center, rgba(74,149,193,0.06) 0%, transparent 60%);
    pointer-events: none;
}
.pat-video .contenedor {
    position: relative;
    z-index: 1;
}
.pat-video .titular {
    margin-bottom: 2.5rem;
}
.pat-video__frame {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding-bottom: min(56.25%, 540px);
    height: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow:
        0 24px 60px rgba(0,0,0,0.18),
        0 4px 12px rgba(0,0,0,0.08);
    background: #000;
    transform: translateY(0);
    transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s;
}
.pat-video__frame:hover {
    transform: translateY(-4px);
    box-shadow:
        0 32px 70px rgba(0,0,0,0.22),
        0 6px 16px rgba(0,0,0,0.1);
}
.pat-video__frame iframe,
.pat-video__frame video,
.pat-video__frame embed,
.pat-video__frame object,
.pat-video__frame > * {
    position: absolute;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
}
.home-zona-libre .pat-video__desc,
.pat-video .pat-video__desc {
    display: block;
    text-align: center;
    font-size: 1.35rem;
    color: #5a6873;
    font-style: normal;
    font-weight: 400;
    width: 100%;
    max-width: 640px;
    margin: -0.5rem auto 2.6rem auto;
    line-height: 1.7;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
    box-sizing: border-box;
}
.home-zona-libre .pat-video__desc::before,
.pat-video .pat-video__desc::before {
    content: none;
}

/* Responsive: en mobile el frame puede ocupar todo el ancho del contenedor */
@media (max-width: 1000px) {
    .pat-video__frame {
        max-width: 100%;
        padding-bottom: 56.25%;
    }
}
@media (max-width: 600px) {
    .pat-video { padding: 3rem 0; }
    .pat-video__frame { border-radius: 12px; }
}

/* Botón opcional debajo del video (enlace a noticia/historia) */
.pat-video__cta {
    text-align: center;
    margin-top: 2.4rem;
}
.pat-video__btn {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    padding: 1.1rem 2.6rem;
    border: 2px solid var(--verde, #72bf44);
    border-radius: 10rem;
    color: var(--verde, #72bf44);
    font-size: 1.25rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .25s ease, color .25s ease, gap .25s ease;
}
.pat-video__btn:hover {
    background: var(--verde, #72bf44);
    color: #fff;
    gap: 1.1rem;
}
.pat-video__btn .flecha {
    transition: transform .25s ease;
}
.pat-video__btn:hover .flecha { transform: translateX(3px); }


/* ─── 9. CTA BANNER ─── */
.pat-cta { padding: 5rem 0; color: white; text-align: center; }
.pat-cta--verde    { background: #72bf44; }
.pat-cta--celeste  { background: #4a95c1; }
.pat-cta--oscuro   { background: #0b120b; }
.pat-cta--gradient { background: linear-gradient(135deg, #72bf44, #4a95c1); }
.pat-cta__inner { max-width: 80rem; margin: 0 auto; }
.home-zona-libre .pat-cta__eyebrow {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border-bottom: 2px solid white;
    padding-bottom: 0.4rem;
    margin-bottom: 1.5rem;
    color: #fff;
}
.home-zona-libre .pat-cta__titulo {
    font-size: clamp(2.8rem, 4vw, 4.2rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1.2rem;
    color: #fff;
}
.home-zona-libre .pat-cta__titulo em {
    font-style: normal;
    font-weight: 800;
    color: rgba(255,255,255,0.9);
    text-decoration: underline;
    text-decoration-thickness: 4px;
    text-underline-offset: 6px;
}
.home-zona-libre .pat-cta__texto {
    font-size: 1.65rem;
    line-height: 1.65;
    margin: 0 auto 2rem;
    color: rgba(255,255,255,0.95);
    max-width: 62rem;
}
.home-zona-libre .pat-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: #fff;
    color: #1f2421;
    padding: 1.2rem 2.6rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
    border: none;
    transition: transform 0.25s, box-shadow 0.25s;
}
.home-zona-libre .pat-cta--oscuro .pat-cta__btn { background: #72bf44; color: #fff; }
.home-zona-libre .pat-cta__btn:hover { text-decoration: none; color: #1f2421; }
.home-zona-libre .pat-cta--oscuro .pat-cta__btn:hover { color: #fff; }
.pat-cta__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.25);
}
.pat-cta__btn .flecha { transition: transform 0.25s; }
.pat-cta__btn:hover .flecha { transform: translateX(4px); }


/* ─── 10. GALERÍA ─── */
.pat-galeria { padding: 5rem 0; background: white; }
.pat-galeria__grid {
    display: grid;
    gap: 1.5rem;
    margin-top: 3rem;
}
.pat-galeria--cols-2 .pat-galeria__grid { grid-template-columns: repeat(2, 1fr); }
.pat-galeria--cols-3 .pat-galeria__grid { grid-template-columns: repeat(3, 1fr); }
.pat-galeria--cols-4 .pat-galeria__grid { grid-template-columns: repeat(4, 1fr); }
.pat-galeria__item {
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
    position: relative;
}
.pat-galeria__item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.5s;
    display: block;
}
.pat-galeria__item:hover img { transform: scale(1.05); }
.pat-galeria__item figcaption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 1rem;
    background: linear-gradient(to top, rgba(0,0,0,0.75), transparent);
    color: white;
    font-size: 0.9rem;
    font-weight: 500;
    opacity: 0;
    transition: opacity 0.3s;
}
.pat-galeria__item:hover figcaption { opacity: 1; }


/* ─── RESPONSIVE patterns nuevos ─── */
@media (max-width: 900px) {
    .pat-cards-3__grid { grid-template-columns: 1fr; gap: 1.25rem; }
    .pat-cardh__inner  { grid-template-columns: 1fr; gap: 2rem; }
    .pat-cardh--img-izquierda .pat-cardh__media,
    .pat-cardh--img-izquierda .pat-cardh__texto,
    .pat-cardh--img-derecha .pat-cardh__media,
    .pat-cardh--img-derecha .pat-cardh__texto { grid-column: 1; grid-row: auto; }
    .pat-cardh__titulo { font-size: 2.2rem; }
    .pat-galeria--cols-3 .pat-galeria__grid,
    .pat-galeria--cols-4 .pat-galeria__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .pat-hero--grande, .pat-hero--media { min-height: 45vh; padding: 4rem 0; }
    .pat-galeria--cols-2 .pat-galeria__grid,
    .pat-galeria--cols-3 .pat-galeria__grid,
    .pat-galeria--cols-4 .pat-galeria__grid { grid-template-columns: 1fr; }
    .pat-cta { padding: 3.5rem 0; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-TABLA · Overrides para tabla genérica (no FDA-específica)
   ════════════════════════════════════════════════════════════════ */

/* Tabla en zonas libres: mismo look que la tabla "Áreas Protegidas"
   (header verde + última columna % en verde bold). Soporta 3/4/5/6 cols. */

.pat-tabla .fda-tabla__tbl {
    min-width: 0;  /* permite tablas de 3-4 cols sin scroll horizontal */
}

/* Padding y fondo de la sección */
.pat-tabla {
    padding: 4rem 0 !important;
}

/* Bordes redondeados que recortan el header verde */
.pat-tabla .fda-tabla__wrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    border: 1px solid #e5e7e1;
}
.pat-tabla .fda-tabla__tbl { border-radius: 0; }

/* Header: gradient verde institucional (igual a la imagen del cliente) */
.pat-tabla .fda-tabla__tbl thead {
    background: linear-gradient(135deg, #5a9a35 0%, #72bf44 100%);
}
.pat-tabla .fda-tabla__tbl thead th {
    background: transparent;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 1.25rem;
    padding: 1.4rem 1.4rem;
    line-height: 1.3;
    text-align: left;
    vertical-align: middle;
}

/* Última columna del header: centrada y angosta SOLO cuando hay 5+ columnas
   (típicamente la columna "%"). Para 3-4 columnas se deja como las demás. */
.pat-tabla[data-cols="5"] .fda-tabla__tbl thead th:last-child,
.pat-tabla[data-cols="6"] .fda-tabla__tbl thead th:last-child {
    text-align: center;
    width: 8rem;
}
.pat-tabla[data-cols="3"] .fda-tabla__tbl thead th:last-child,
.pat-tabla[data-cols="4"] .fda-tabla__tbl thead th:last-child {
    text-align: left;
    width: auto;
}

/* Última columna del body: verde bold (estilo "%") cuando hay 5+ columnas */
.pat-tabla[data-cols="5"] .fda-tabla__tbl tbody td:last-child,
.pat-tabla[data-cols="6"] .fda-tabla__tbl tbody td:last-child {
    text-align: center;
    font-weight: 800;
    color: var(--verde);
    font-size: 1.5rem;
}
.pat-tabla[data-cols="3"] .fda-tabla__tbl tbody td:last-child,
.pat-tabla[data-cols="4"] .fda-tabla__tbl tbody td:last-child {
    text-align: left;
    font-weight: 400;
    color: #333;
    font-size: inherit;
}



/* ════════════════════════════════════════════════════════════════
   PAT-AREA-DESTACADA · galería estilo "Áreas Protegidas" en zona libre
   Reusa el diseño .cap-historia. Los overrides reafirman los tamaños
   propios porque las reglas globales .home-zona-libre h3/p tienen más
   especificidad y, si no, los pisarían.
   ════════════════════════════════════════════════════════════════ */
.pat-area-destacada { padding: 3.5rem 0; }
.home-zona-libre .pat-area-destacada .cap-historia { margin: 0; }
.home-zona-libre .pat-area-destacada .cap-historia__nombre {
    font-size: clamp(2.8rem, 3.4vw, 3.8rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.015em;
    margin: 0 0 1.2rem;
    color: #1a2e1a;
}
.home-zona-libre .pat-area-destacada .cap-historia__desc p {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #3a4339;
    margin: 0;
}
.home-zona-libre .pat-area-destacada .cap-historia__loc {
    font-size: 1.45rem;
    color: #4a95c1;
    margin: 0 0 2rem;
}

/* ── Bloque "Método · 3 cards de color + imagen" (estilo APA) en zona libre ── */
.home-zona-libre .pat-metodo-alianza.apa-metodologia {
    padding: 4rem 0;
    background: transparent;
}
.home-zona-libre .pat-metodo-alianza--left .titular--centro {
    text-align: left; max-width: none; margin: 0 auto 4rem 0;
}
.home-zona-libre .pat-metodo-alianza--left .titular--centro .titular__eyebrow { justify-content: flex-start; }
.home-zona-libre .pat-metodo-alianza--center .titular--centro {
    text-align: center; max-width: 70rem; margin: 0 auto 4rem auto;
}
.home-zona-libre .pat-metodo-alianza--center .titular--centro .titular__eyebrow { justify-content: center; }
.home-zona-libre .pat-metodo-alianza--right .titular--centro {
    text-align: right; max-width: none; margin: 0 0 4rem auto;
}
.home-zona-libre .pat-metodo-alianza--right .titular--centro .titular__eyebrow { justify-content: flex-end; }


/* ── Bloque "Intro / Lema + párrafos" en zona libre ── */
.pat-tagline { padding: 4rem 0; }
.pat-tagline__lema {
    background: linear-gradient(180deg, #f6fbf2, #eef6fb);
    border: 1px solid #e3eee0;
    border-radius: 1.6rem;
    padding: 2.6rem 3rem;
    margin: 0 auto 2.6rem;
    max-width: 95rem;
    text-align: center;
}
.home-zona-libre .pat-tagline__lema p {
    font-size: clamp(1.9rem, 2.6vw, 2.7rem);
    font-weight: 700;
    line-height: 1.45;
    color: #1a2e1a;
    margin: 0;
}
.home-zona-libre .pat-tagline__lema strong { color: var(--verde, #72bf44); font-weight: 800; }
.home-zona-libre .pat-tagline__lema em { color: var(--celeste, #4a95c1); font-style: normal; font-weight: 700; }

.pat-tagline__texto { max-width: 95rem; margin: 0 auto; padding: 0 3rem; }
.home-zona-libre .pat-tagline__texto p {
    font-size: 1.4rem;
    line-height: 1.8;
    color: #4a5a4a;
    margin: 0 0 1.3rem;
    text-align: left;
}
.home-zona-libre .pat-tagline__texto p:last-child { margin-bottom: 0; }
.pat-tagline--centro .pat-tagline__texto { margin: 0 auto; text-align: center; }
.pat-tagline--centro .pat-tagline__texto p { text-align: center; }
.pat-tagline--izquierda .pat-tagline__texto { text-align: left; }


/* ════════════════════════════════════════════════════════════════
   PAT-IMPORTANCIA · 3 razones en cards numeradas
   ════════════════════════════════════════════════════════════════ */

.pat-importancia {
    padding: 5rem 0;
    background: linear-gradient(180deg, white 0%, #f8fbf6 100%);
}

.pat-importancia__head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3.5rem;
}

.pat-importancia__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    padding: 0.3rem 1rem;
    background: rgba(74,149,193,0.08);
    border-radius: 99px;
    margin-bottom: 1.25rem;
}

.pat-importancia__titulo {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1rem;
    color: #1f2421;
}
.pat-importancia__titulo em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 800;
}

.pat-importancia__sub {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #5a6863;
    margin: 0;
}

.pat-importancia__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.pat-importancia__card {
    position: relative;
    padding: 3rem 2rem 2.25rem;
    background: white;
    border-radius: 16px;
    box-shadow:
        0 1px 3px rgba(0,0,0,0.04),
        0 8px 24px rgba(0,0,0,0.04);
    border: 1px solid #ecf0eb;
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s;
    text-align: left;
    overflow: hidden;
}

.pat-importancia__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #72bf44, #4a95c1);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s;
}

.pat-importancia__card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 4px 12px rgba(0,0,0,0.06),
        0 24px 48px rgba(0,0,0,0.08);
}

.pat-importancia__card:hover::before {
    transform: scaleX(1);
}

.pat-importancia__num {
    position: absolute;
    top: 1.25rem;
    right: 1.5rem;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    opacity: 0.15;
    transition: opacity 0.3s;
    pointer-events: none;
    user-select: none;
}

.pat-importancia__card:hover .pat-importancia__num {
    opacity: 0.3;
}

.pat-importancia__icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    font-size: 2rem;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(114,191,68,0.12), rgba(74,149,193,0.12));
    margin-bottom: 1.5rem;
    transition: transform 0.3s;
}

.pat-importancia__card:hover .pat-importancia__icono {
    transform: scale(1.05) rotate(-3deg);
}

.pat-importancia__titulo-card {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.85rem;
    color: #1f2421;
}

.pat-importancia__desc {
    font-size: 1rem;
    line-height: 1.65;
    color: #4b5550;
    margin: 0;
}

/* Responsive */
@media (max-width: 900px) {
    .pat-importancia__grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        max-width: 600px;
    }
    .pat-importancia { padding: 3.5rem 0; }
    .pat-importancia__head { margin-bottom: 2.5rem; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-MENSAJE · Mensaje destacado de cierre
   ════════════════════════════════════════════════════════════════ */

.pat-mensaje {
    padding: 6rem 0;
    position: relative;
}

.pat-mensaje--crema    { background: #faf6ef; }
.pat-mensaje--blanco   { background: white; }
.pat-mensaje--gris     { background: #f5f7f5; }
.pat-mensaje--verde    { background: linear-gradient(135deg, #72bf44 0%, #5fa838 100%); }
.pat-mensaje--celeste  { background: linear-gradient(135deg, #4a95c1 0%, #2c6c91 100%); }
.pat-mensaje--oscuro   { background: #0b120b; }

.pat-mensaje__inner {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
    padding: 0 2rem;
    position: relative;
}

.pat-mensaje__linea {
    width: 64px;
    height: 3px;
    margin: 0 auto;
    border-radius: 3px;
    background: linear-gradient(90deg, #72bf44, #4a95c1);
}
.pat-mensaje__linea--top { margin-bottom: 2.5rem; }
.pat-mensaje__linea--bot { margin-top: 2.5rem; }

/* En fondos verde/celeste/oscuro las líneas se ven blancas */
.pat-mensaje--verde .pat-mensaje__linea,
.pat-mensaje--celeste .pat-mensaje__linea,
.pat-mensaje--oscuro .pat-mensaje__linea {
    background: rgba(255,255,255,0.6);
}

.pat-mensaje__texto {
    font-size: clamp(1.6rem, 3.5vw, 2.6rem);
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -0.01em;
    margin: 0;
    color: #1f2421;
    font-family: 'Montserrat', sans-serif;
}

.pat-mensaje__texto strong {
    font-weight: 800;
    color: #4d8a2c;
}

.pat-mensaje__texto em {
    font-style: normal;
    color: #4a95c1;
    font-weight: 700;
    position: relative;
    display: inline-block;
}

.pat-mensaje__texto em::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(74,149,193,0.25);
    border-radius: 2px;
}

/* En fondos verde/celeste/oscuro el texto va en blanco */
.pat-mensaje--verde .pat-mensaje__texto,
.pat-mensaje--celeste .pat-mensaje__texto,
.pat-mensaje--oscuro .pat-mensaje__texto {
    color: white;
}
.pat-mensaje--verde .pat-mensaje__texto strong,
.pat-mensaje--celeste .pat-mensaje__texto strong,
.pat-mensaje--oscuro .pat-mensaje__texto strong {
    color: white;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 6px;
}
.pat-mensaje--verde .pat-mensaje__texto em,
.pat-mensaje--celeste .pat-mensaje__texto em,
.pat-mensaje--oscuro .pat-mensaje__texto em {
    color: rgba(255,255,255,0.92);
}
.pat-mensaje--verde .pat-mensaje__texto em::after,
.pat-mensaje--celeste .pat-mensaje__texto em::after,
.pat-mensaje--oscuro .pat-mensaje__texto em::after {
    background: rgba(255,255,255,0.4);
}

.pat-mensaje__sub {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #5a6863;
    margin: 2rem auto 0;
    max-width: 620px;
}

.pat-mensaje--verde .pat-mensaje__sub,
.pat-mensaje--celeste .pat-mensaje__sub,
.pat-mensaje--oscuro .pat-mensaje__sub {
    color: rgba(255,255,255,0.85);
}

.pat-mensaje__firma {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #4a95c1;
    margin: 1.5rem 0 0;
    text-transform: uppercase;
}

.pat-mensaje--verde .pat-mensaje__firma,
.pat-mensaje--celeste .pat-mensaje__firma,
.pat-mensaje--oscuro .pat-mensaje__firma {
    color: rgba(255,255,255,0.75);
}

/* Responsive */
@media (max-width: 600px) {
    .pat-mensaje { padding: 4rem 0; }
    .pat-mensaje__linea--top { margin-bottom: 1.75rem; }
    .pat-mensaje__linea--bot { margin-top: 1.75rem; }
    .pat-mensaje__sub { margin-top: 1.5rem; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-QUEES · ¿Qué es? layout 2 columnas
   ════════════════════════════════════════════════════════════════ */

.pat-quees {
    padding: 5.5rem 0;
}

.pat-quees--fondo-blanco { background: white; }
.pat-quees--fondo-gris   { background: #f5f7f5; }
.pat-quees--fondo-crema  { background: #faf6ef; }

.pat-quees__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #4a95c1;
    margin-bottom: 2.5rem;
}

.pat-quees__grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 4rem;
    align-items: start;
    position: relative;
}

.pat-quees__grid::after {
    content: '';
    position: absolute;
    left: calc(41.6% - 0.5px);
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent, #c8d4d0, transparent);
    pointer-events: none;
}

.pat-quees__izq {
    padding-right: 1rem;
    position: relative;
}

.pat-quees__pregunta {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 1.5rem;
    color: #1f2421;
    letter-spacing: -0.015em;
}

.pat-quees__pregunta em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 800;
    position: relative;
    display: inline-block;
}

.pat-quees__pregunta em::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
    height: 8px;
    background: rgba(114,191,68,0.25);
    z-index: -1;
    border-radius: 4px;
}

.pat-quees__lema {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.55;
    color: #4d8a2c;
    margin: 0;
    padding-left: 1.25rem;
    border-left: 3px solid #72bf44;
}

.pat-quees__der {
    padding-left: 1rem;
}

.pat-quees__der-tit {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 1.25rem;
    color: #1f2421;
}

.pat-quees__parr {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #3d4540;
    margin: 0 0 1.1rem;
}

.pat-quees__parr:last-child { margin-bottom: 0; }

.pat-quees__parr strong {
    color: #4d8a2c;
    font-weight: 700;
}

.pat-quees__parr em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 900px) {
    .pat-quees__grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .pat-quees__grid::after { display: none; }
    .pat-quees__izq, .pat-quees__der { padding: 0; }
    .pat-quees { padding: 3.5rem 0; }
    .pat-quees__eyebrow { margin-bottom: 1.5rem; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-MODELO-ICONOS · Modelo con iconos grandes circulares
   ════════════════════════════════════════════════════════════════ */

.pat-modelo-iconos {
    padding: 5.5rem 0;
    background: linear-gradient(180deg, white, #f8fbf6);
}

.pat-modelo-iconos__head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 4rem;
}

.pat-modelo-iconos__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    padding: 0.3rem 1rem;
    background: rgba(74,149,193,0.08);
    border-radius: 99px;
    margin-bottom: 1.25rem;
}

.pat-modelo-iconos__titulo {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1rem;
    color: #1f2421;
}

.pat-modelo-iconos__titulo em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 800;
}

.pat-modelo-iconos__sub {
    font-size: 1.1rem;
    color: #5a6863;
    line-height: 1.6;
    margin: 0;
}

.pat-modelo-iconos__flujo {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: start;
    gap: 1rem;
    max-width: 1200px;
    margin: 0 auto;
}

.pat-modelo-iconos__flujo--3 {
    grid-template-columns: 1fr auto 1fr auto 1fr;
}

.pat-modelo-iconos__paso {
    text-align: center;
    padding: 0 0.5rem;
}

.pat-modelo-iconos__circle {
    position: relative;
    width: 96px;
    height: 96px;
    margin: 0 auto 1.25rem;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 8px 24px rgba(74,149,193,0.18),
        0 2px 4px rgba(0,0,0,0.04);
    border: 3px solid white;
    background-clip: padding-box;
    transition: transform 0.3s cubic-bezier(0.16,1,0.3,1);
}

.pat-modelo-iconos__paso:hover .pat-modelo-iconos__circle {
    transform: translateY(-4px) scale(1.05);
}

.pat-modelo-iconos__circle::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    padding: 3px;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

.pat-modelo-iconos__icono {
    font-size: 2.5rem;
    line-height: 1;
    z-index: 1;
}

.pat-modelo-iconos__num {
    position: absolute;
    top: -8px;
    right: -8px;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 800;
    box-shadow: 0 4px 8px rgba(0,0,0,0.12);
}

.pat-modelo-iconos__paso-tit {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: #1f2421;
}

.pat-modelo-iconos__paso-desc {
    font-size: 0.95rem;
    line-height: 1.55;
    color: #5a6863;
    margin: 0;
}

.pat-modelo-iconos__flecha {
    color: #b9d4a0;
    align-self: center;
    margin-top: 48px;
    flex-shrink: 0;
}

@media (max-width: 900px) {
    .pat-modelo-iconos__flujo,
    .pat-modelo-iconos__flujo--3 {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        max-width: 400px;
    }
    .pat-modelo-iconos__flecha {
        margin-top: 0;
        transform: rotate(90deg);
        justify-self: center;
    }
    .pat-modelo-iconos { padding: 3.5rem 0; }
    .pat-modelo-iconos__head { margin-bottom: 2.5rem; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-ESTRATEGIA · Estrategia con tags
   ════════════════════════════════════════════════════════════════ */

.pat-estrategia {
    padding: 5rem 0;
}
.pat-estrategia--fondo-blanco { background: white; }
.pat-estrategia--fondo-gris   { background: #f5f7f5; }
.pat-estrategia--fondo-crema  { background: #faf6ef; }

.pat-estrategia__grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 4rem;
    align-items: start;
    max-width: 1100px;
    margin: 0 auto;
}

.pat-estrategia__cabeza { padding-right: 1rem; }

.pat-estrategia__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    border-bottom: 2px solid #4a95c1;
    padding-bottom: 0.35rem;
    margin-bottom: 1.5rem;
}

.pat-estrategia__titulo {
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1.75rem;
    color: #1f2421;
}

.pat-estrategia__titulo em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 800;
}

.pat-estrategia__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.pat-estrategia__tag {
    display: inline-block;
    padding: 0.5rem 1.1rem;
    background: white;
    color: #4d8a2c;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1.5px solid #72bf44;
    border-radius: 99px;
    transition: all 0.25s;
}

.pat-estrategia__tag:nth-child(even) {
    color: #2c6c91;
    border-color: #4a95c1;
}

.pat-estrategia__tag:hover {
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: white;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74,149,193,0.25);
}

.pat-estrategia__texto p {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #3d4540;
    margin: 0 0 1.15rem;
}

.pat-estrategia__texto p:last-child { margin-bottom: 0; }

.pat-estrategia__texto strong {
    color: #4d8a2c;
    font-weight: 700;
}

.pat-estrategia__texto em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 600;
}

@media (max-width: 900px) {
    .pat-estrategia__grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .pat-estrategia__cabeza { padding: 0; }
    .pat-estrategia { padding: 3.5rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-EVENTO · Hero inmersivo full-bleed con datos + redes sociales
   ════════════════════════════════════════════════════════════════ */

/* Reset defaults de .home-zona-libre dentro de .pat-evento
   (la zona libre pinta h2/p/a por default y rompería el diseño claro sobre fondo oscuro) */
.home-zona-libre .pat-evento h1,
.home-zona-libre .pat-evento h2,
.home-zona-libre .pat-evento h3,
.home-zona-libre .pat-evento h4,
.home-zona-libre .pat-evento p,
.home-zona-libre .pat-evento a,
.home-zona-libre .pat-evento span {
    color: inherit;
}
.home-zona-libre .pat-evento p { margin: 0; }
.home-zona-libre .pat-evento a {
    text-decoration: none;
    font-weight: inherit;
}
.home-zona-libre .pat-evento em,
.home-zona-libre .pat-evento strong { color: inherit; }

.pat-evento {
    position: relative;
    background-size: cover;
    background-position: center;
    background-color: #1a2e1a;
    color: white;
    overflow: hidden;
    isolation: isolate;
}

.pat-evento--media  { padding: 7rem 0 6rem; }
.pat-evento--grande { min-height: 80vh; padding: 8rem 0 7rem; display: flex; align-items: center; }

.pat-evento__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, rgba(11,30,11,0.86) 0%, rgba(11,30,11,0.55) 45%, rgba(44,108,145,0.55) 100%),
        linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%);
    z-index: -1;
}

.pat-evento__inner {
    display: grid;
    grid-template-columns: 1.45fr 1fr;
    gap: 4rem;
    align-items: center;
    position: relative;
}

/* ─── Cuerpo izquierdo ─── */

.pat-evento__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.95);
    margin-bottom: 1.75rem;
}
.pat-evento__eyebrow-line {
    display: inline-block;
    width: 32px;
    height: 2px;
    background: #72bf44;
}

.pat-evento__titulo {
    font-size: clamp(2.2rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem;
    color: white;
}
.pat-evento__titulo em {
    font-style: normal;
    color: white;
    position: relative;
    display: inline-block;
    font-weight: 800;
}
.pat-evento__titulo em::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
    height: 5px;
    background: #72bf44;
    border-radius: 3px;
    z-index: -1;
}

.pat-evento__lead {
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    line-height: 1.65;
    color: rgba(255,255,255,0.9);
    max-width: 540px;
    margin: 0 0 2.5rem;
}

.pat-evento__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem 1.5rem;
}

.pat-evento__btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: #4a95c1;
    color: white;
    padding: 1rem 1.75rem 1rem 2rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 1.02rem;
    text-decoration: none;
    transition: transform 0.25s, box-shadow 0.25s, background 0.25s;
    box-shadow: 0 6px 22px rgba(74,149,193,0.45);
}
.pat-evento__btn-primary:hover {
    transform: translateY(-2px);
    background: #5fa9d2;
    box-shadow: 0 10px 28px rgba(74,149,193,0.6);
    color: white;
}
.pat-evento__btn-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: white;
    color: #4a95c1;
    font-weight: 800;
    font-size: 0.95rem;
    transition: transform 0.25s;
}
.pat-evento__btn-primary:hover .pat-evento__btn-arrow {
    transform: translateX(4px);
}

/* ─── Botones de redes sociales ─── */

.pat-evento__social {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.5rem;
}

.pat-evento__social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.18);
    color: white;
    text-decoration: none;
    transition: transform 0.25s, background 0.25s, box-shadow 0.25s;
}
.pat-evento__social-btn:hover {
    transform: translateY(-3px);
    color: white;
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
.pat-evento__social-btn--facebook:hover  { background: #1877f2; border-color: #1877f2; }
.pat-evento__social-btn--whatsapp:hover  { background: #25d366; border-color: #25d366; }
.pat-evento__social-btn--telegram:hover  { background: #2aabee; border-color: #2aabee; }
.pat-evento__social-btn--instagram:hover {
    background: linear-gradient(135deg, #f58529 0%, #dd2a7b 50%, #515bd4 100%);
    border-color: transparent;
}

/* ─── Panel derecho (glassmorphism) ─── */

.pat-evento__panel {
    background: rgba(255,255,255,0.07);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 20px;
    padding: 2.25rem 2rem;
    box-shadow: 0 16px 48px rgba(0,0,0,0.2);
}

.pat-evento__panel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem 2rem;
}

.pat-evento__panel-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.25rem 0;
}

.pat-evento__panel-num {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    line-height: 1.05;
    color: white;
    letter-spacing: -0.01em;
}
.pat-evento__panel-num--text {
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
    font-weight: 700;
    line-height: 1.2;
}
.pat-evento__panel-num::after {
    content: '+';
    color: #72bf44;
    margin-left: 2px;
    display: none;
}

.pat-evento__panel-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
    line-height: 1.3;
}

/* ─── Responsive ─── */

@media (max-width: 1000px) {
    .pat-evento__inner {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .pat-evento__panel {
        max-width: 480px;
    }
}

@media (max-width: 600px) {
    .pat-evento--media,
    .pat-evento--grande {
        padding: 4.5rem 0 4rem;
        min-height: 0;
    }
    .pat-evento__inner { gap: 2rem; }
    .pat-evento__panel { padding: 1.75rem 1.5rem; }
    .pat-evento__panel-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.25rem 1rem;
    }
    .pat-evento__actions {
        gap: 1rem 0.85rem;
    }
    .pat-evento__social-btn {
        width: 40px;
        height: 40px;
    }
    .pat-evento__lead { margin-bottom: 1.75rem; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-NOTICIA · Card noticia destacada
   ════════════════════════════════════════════════════════════════ */

.pat-noticia { padding: 4rem 0; background: white; }
.pat-noticia__card {
    display: grid;
    gap: 3rem;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}
.pat-noticia--derecha .pat-noticia__card { grid-template-columns: 1fr 1fr; }
.pat-noticia--izquierda .pat-noticia__card { grid-template-columns: 1fr 1fr; direction: rtl; }
.pat-noticia--izquierda .pat-noticia__body { direction: ltr; }
.pat-noticia--arriba .pat-noticia__card { grid-template-columns: 1fr; gap: 2rem; }

.pat-noticia__media {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    box-shadow: 0 16px 40px rgba(0,0,0,0.1);
}
.pat-noticia__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.pat-noticia__card:hover .pat-noticia__media img { transform: scale(1.03); }

.pat-noticia__categoria {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: rgba(114,191,68,0.92);
    color: white;
    padding: 0.35rem 0.85rem;
    border-radius: 99px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    backdrop-filter: blur(6px);
}

.home-zona-libre .pat-noticia__eyebrow {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 0.85rem;
}
.home-zona-libre .pat-noticia__meta {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    font-size: 1.3rem;
    color: #6a7570;
    margin-bottom: 1rem;
    font-weight: 500;
}
.home-zona-libre .pat-noticia__sep { color: #c8d0cc; }
.home-zona-libre .pat-noticia__titulo {
    font-size: clamp(2.4rem, 3.5vw, 3.2rem);
    font-weight: 800;
    line-height: 1.18;
    margin: 0 0 1rem;
    color: #1f2421;
    letter-spacing: -0.01em;
}
.home-zona-libre .pat-noticia__titulo em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 800;
}
.home-zona-libre .pat-noticia__bajada {
    font-size: 1.6rem;
    line-height: 1.7;
    color: #3d4540;
    margin: 0 0 1.5rem;
}
.home-zona-libre .pat-noticia__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #4a95c1;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #4a95c1;
    padding-bottom: 0.25rem;
    transition: gap 0.25s;
}
.home-zona-libre .pat-noticia__btn:hover { gap: 0.9rem; color: #2c6c91; }

@media (max-width: 800px) {
    .pat-noticia--derecha .pat-noticia__card,
    .pat-noticia--izquierda .pat-noticia__card { grid-template-columns: 1fr; direction: ltr; gap: 2rem; }
    .pat-noticia { padding: 3rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-GRID-NOTICIAS · 3 cards de noticias chicas
   ════════════════════════════════════════════════════════════════ */

.pat-grid-noticias { padding: 4.5rem 0; background: #f8fbf6; }
.pat-grid-noticias__head { text-align: center; margin-bottom: 3rem; max-width: 700px; margin-left: auto; margin-right: auto; }
.home-zona-libre .pat-grid-noticias__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 0.75rem;
}
.home-zona-libre .pat-grid-noticias__titulo {
    font-size: clamp(2.8rem, 4vw, 4rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
    color: #1f2421;
    letter-spacing: -.02em;
}
.home-zona-libre .pat-grid-noticias__titulo em { color: #4a95c1; font-style: normal; }

.pat-grid-noticias__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

.pat-grid-noticias__card {
    display: block;
    background: white;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s, box-shadow 0.3s;
}
.pat-grid-noticias__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(0,0,0,0.1);
    color: inherit;
}

.pat-grid-noticias__media { aspect-ratio: 16 / 10; overflow: hidden; }
.pat-grid-noticias__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.pat-grid-noticias__card:hover .pat-grid-noticias__media img { transform: scale(1.04); }

.pat-grid-noticias__body { padding: 1.25rem 1.5rem 1.5rem; }
.home-zona-libre .pat-grid-noticias__fecha {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #72bf44;
    margin-bottom: 0.5rem;
}
.home-zona-libre .pat-grid-noticias__tit {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    color: #1f2421;
}

@media (max-width: 800px) {
    .pat-grid-noticias__grid { grid-template-columns: 1fr; gap: 1.25rem; }
    .pat-grid-noticias { padding: 3rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-ALIANZA · Card alianza institucional
   ════════════════════════════════════════════════════════════════ */

.pat-alianza { padding: 4.5rem 0; background: white; }

.pat-alianza__card {
    display: grid;
    grid-template-columns: minmax(180px, 280px) 1fr;
    gap: 3rem;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    padding: 2.5rem;
    background: linear-gradient(135deg, #f8fbf6 0%, #f0f6f9 100%);
    border-radius: 20px;
    border: 1px solid #e5ece3;
}

.pat-alianza__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: white;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.05);
    aspect-ratio: 1 / 1;
}
.pat-alianza__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

.home-zona-libre .pat-alianza__eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    padding: 0.25rem 0.85rem;
    background: rgba(74,149,193,0.1);
    border-radius: 99px;
    margin-bottom: 1rem;
}
.home-zona-libre .pat-alianza__nombre {
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 800;
    margin: 0 0 1rem;
    color: #1f2421;
    line-height: 1.2;
}
.home-zona-libre .pat-alianza__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 0 1rem;
    font-size: 0.9rem;
    color: #6a7570;
    font-weight: 500;
}
.home-zona-libre .pat-alianza__desc {
    font-size: 1rem;
    line-height: 1.7;
    color: #3d4540;
    margin: 0 0 1.5rem;
}
.home-zona-libre .pat-alianza__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: white;
    padding: 0.7rem 1.5rem;
    border-radius: 99px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform 0.25s, box-shadow 0.25s;
    box-shadow: 0 4px 12px rgba(74,149,193,0.25);
}
.home-zona-libre .pat-alianza__btn:hover {
    transform: translateY(-2px);
    color: white;
    box-shadow: 0 8px 20px rgba(74,149,193,0.4);
}

@media (max-width: 800px) {
    .pat-alianza__card { grid-template-columns: 1fr; gap: 2rem; padding: 2rem 1.5rem; text-align: center; }
    .pat-alianza__logo { max-width: 200px; margin: 0 auto; }
    .home-zona-libre .pat-alianza__meta { justify-content: center; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-DEDICATORIA · Texto formal centrado
   ════════════════════════════════════════════════════════════════ */

.pat-dedicatoria { padding: 6rem 0; }
.pat-dedicatoria--crema  { background: #faf6ef; }
.pat-dedicatoria--blanco { background: white; }
.pat-dedicatoria--gris   { background: #f5f7f5; }

.pat-dedicatoria__inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.home-zona-libre .pat-dedicatoria__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 3rem;
}
.pat-dedicatoria__eyebrow-line { display: inline-block; width: 32px; height: 1px; background: #4a95c1; }

.pat-dedicatoria__foto {
    width: 120px;
    height: 120px;
    margin: 0 auto 2.5rem;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    border: 4px solid white;
}
.pat-dedicatoria__foto img { width: 100%; height: 100%; object-fit: cover; }

.home-zona-libre .pat-dedicatoria__texto {
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.55;
    color: #2c322e;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    margin: 0 0 1.5rem;
    text-align: center;
}

.home-zona-libre .pat-dedicatoria__texto strong {
    color: #4d8a2c;
    font-style: normal;
    font-weight: 700;
}
.home-zona-libre .pat-dedicatoria__texto em {
    color: #4a95c1;
    font-style: italic;
    font-weight: 600;
}

.pat-dedicatoria__firma {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}
.pat-dedicatoria__firma-line {
    display: inline-block;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, #72bf44, #4a95c1);
    border-radius: 2px;
    margin-bottom: 0.85rem;
}
.home-zona-libre .pat-dedicatoria__nombre {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1f2421;
    text-transform: uppercase;
}
.home-zona-libre .pat-dedicatoria__cargo {
    font-size: 0.95rem;
    color: #5a6863;
    font-style: italic;
}
.home-zona-libre .pat-dedicatoria__fecha {
    font-size: 0.85rem;
    color: #8a948f;
    letter-spacing: 0.05em;
    margin-top: 0.4rem;
}

@media (max-width: 600px) {
    .pat-dedicatoria { padding: 4rem 0; }
    .home-zona-libre .pat-dedicatoria__eyebrow { margin-bottom: 2rem; }
    .pat-dedicatoria__foto { width: 100px; height: 100px; margin-bottom: 2rem; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-BANNER-EVENTO · Banner llamativo con fecha grande
   ════════════════════════════════════════════════════════════════ */

.pat-banner-evento {
    position: relative;
    padding: 4rem 0;
    color: white;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    isolation: isolate;
}
.pat-banner-evento--verde    { background-color: #72bf44; }
.pat-banner-evento--celeste  { background-color: #4a95c1; }
.pat-banner-evento--oscuro   { background-color: #0b120b; }
.pat-banner-evento--gradient { background: linear-gradient(135deg, #72bf44 0%, #4a95c1 100%); }

.pat-banner-evento__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(11,30,11,0.7), rgba(44,108,145,0.6));
    z-index: -1;
}

.pat-banner-evento__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 2.5rem;
    align-items: center;
}

.pat-banner-evento__fecha {
    text-align: center;
    padding: 1.25rem 1.75rem;
    background: rgba(255,255,255,0.13);
    border: 2px solid rgba(255,255,255,0.25);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.pat-banner-evento__fecha-num {
    display: block;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.05em;
    color: white;
}
.pat-banner-evento__fecha-hora {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.85);
    margin-top: 0.35rem;
}

.home-zona-libre .pat-banner-evento__body { color: white; }
.home-zona-libre .pat-banner-evento__eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.95);
    margin-bottom: 0.6rem;
}
.home-zona-libre .pat-banner-evento__titulo {
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 0.5rem;
    color: white;
}
.home-zona-libre .pat-banner-evento__titulo em {
    color: white;
    font-style: normal;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 5px;
}
.home-zona-libre .pat-banner-evento__lugar {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.9);
    margin: 0;
    font-weight: 500;
}

.home-zona-libre .pat-banner-evento__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: white;
    color: #1f2421;
    padding: 0.85rem 1.75rem;
    border-radius: 99px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform 0.25s, box-shadow 0.25s;
    white-space: nowrap;
}
.home-zona-libre .pat-banner-evento__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.2);
    color: #1f2421;
}

@media (max-width: 800px) {
    .pat-banner-evento__inner { grid-template-columns: 1fr; text-align: center; gap: 1.5rem; }
    .pat-banner-evento__fecha { justify-self: center; }
    .pat-banner-evento { padding: 3rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-PUBLICACION · Card publicación PDF
   ════════════════════════════════════════════════════════════════ */

.pat-publicacion { padding: 4.5rem 0; background: #f8fbf6; }

.pat-publicacion__card {
    display: grid;
    grid-template-columns: minmax(180px, 240px) 1fr;
    gap: 2.5rem;
    max-width: 1000px;
    margin: 0 auto;
    padding: 2.25rem;
    background: white;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
    border: 1px solid #ecf0eb;
}

.pat-publicacion__thumb {
    position: relative;
    aspect-ratio: 3 / 4;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}
.pat-publicacion__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pat-publicacion__badge {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    background: rgba(228,68,53,0.95);
    color: white;
    padding: 0.3rem 0.7rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.home-zona-libre .pat-publicacion__eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 0.85rem;
}
.home-zona-libre .pat-publicacion__titulo {
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 0.5rem;
    color: #1f2421;
}
.home-zona-libre .pat-publicacion__autores {
    font-size: 0.95rem;
    color: #5a6863;
    font-style: italic;
    margin: 0 0 1rem;
}
.home-zona-libre .pat-publicacion__meta {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    font-size: 0.85rem;
    color: #4b5550;
}
.home-zona-libre .pat-publicacion__meta li { display: inline; }
.home-zona-libre .pat-publicacion__meta strong { color: #1f2421; font-weight: 700; }
.home-zona-libre .pat-publicacion__desc {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #3d4540;
    margin: 0 0 1.25rem;
}
.home-zona-libre .pat-publicacion__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 99px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform 0.25s, box-shadow 0.25s;
    box-shadow: 0 4px 16px rgba(74,149,193,0.3);
}
.home-zona-libre .pat-publicacion__btn:hover {
    transform: translateY(-2px);
    color: white;
    box-shadow: 0 8px 24px rgba(74,149,193,0.45);
}

@media (max-width: 700px) {
    .pat-publicacion__card { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.75rem; }
    .pat-publicacion__thumb { max-width: 200px; margin: 0 auto; }
    .pat-publicacion { padding: 3rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-BLOQUE-CITA · Imagen con badges + texto + cita (estilo GCF)
   ════════════════════════════════════════════════════════════════ */

.pat-bloque-cita { padding: 5rem 0; }
.pat-bloque-cita--fondo-blanco { background: white; }
.pat-bloque-cita--fondo-gris   { background: #f5f7f5; }
.pat-bloque-cita--fondo-crema  { background: #faf6ef; }

.pat-bloque-cita__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.pat-bloque-cita--img-derecha .pat-bloque-cita__media   { order: 2; }
.pat-bloque-cita--img-derecha .pat-bloque-cita__contenido { order: 1; }

.pat-bloque-cita__media {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}
.pat-bloque-cita__media img { width: 100%; height: 100%; object-fit: cover; }

.pat-bloque-cita__badge {
    position: absolute;
    padding: 0.55rem 1.1rem;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    color: white;
    border-radius: 99px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    box-shadow: 0 6px 18px rgba(74,149,193,0.4);
}
.pat-bloque-cita__badge--top { top: 1.25rem; left: 1.25rem; }
.pat-bloque-cita__badge--bot { bottom: 1.25rem; right: 1.25rem; }

.home-zona-libre .pat-bloque-cita__eyebrow {
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    border-bottom: 2px solid #4a95c1;
    padding-bottom: 0.35rem;
    margin-bottom: 1.5rem;
}
.home-zona-libre .pat-bloque-cita__titulo {
    font-size: clamp(2.6rem, 4vw, 3.4rem);
    font-weight: 800;
    line-height: 1.18;
    margin: 0 0 1.5rem;
    color: #1f2421;
}
.home-zona-libre .pat-bloque-cita__titulo em {
    color: #4a95c1;
    font-style: normal;
    font-weight: 800;
}

.pat-bloque-cita__cita {
    position: relative;
    padding: 1.25rem 1.5rem 1.25rem 2rem;
    margin: 0 0 1.5rem;
    background: #f8fbf6;
    border-left: 4px solid #72bf44;
    border-radius: 0 10px 10px 0;
}
.pat-bloque-cita__cita::before {
    content: '"';
    position: absolute;
    top: -0.5rem;
    left: 0.5rem;
    font-size: 3rem;
    color: rgba(114,191,68,0.25);
    font-family: Georgia, serif;
    font-weight: 700;
    line-height: 1;
}
.home-zona-libre .pat-bloque-cita__cita p {
    font-size: 1.7rem;
    line-height: 1.6;
    color: #2c322e;
    font-style: italic;
    margin: 0 0 0.5rem;
    font-weight: 500;
}
.home-zona-libre .pat-bloque-cita__cita cite {
    font-size: 1.3rem;
    font-style: normal;
    color: #4d8a2c;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.home-zona-libre .pat-bloque-cita__texto {
    font-size: 1.6rem;
    line-height: 1.75;
    color: #3d4540;
    margin: 0 0 1.2rem;
}

@media (max-width: 900px) {
    .pat-bloque-cita__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .pat-bloque-cita--img-derecha .pat-bloque-cita__media,
    .pat-bloque-cita--img-derecha .pat-bloque-cita__contenido { order: unset; }
    .pat-bloque-cita__media { aspect-ratio: 4 / 3; max-width: 500px; margin: 0 auto; }
    .pat-bloque-cita { padding: 3.5rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-INTERCAMBIO · 2 lados con flecha de intercambio
   ════════════════════════════════════════════════════════════════ */

.pat-intercambio { padding: 5rem 0; background: linear-gradient(180deg, white, #f5f7f5); }

.pat-intercambio__head { text-align: center; margin-bottom: 3.5rem; max-width: 720px; margin-left: auto; margin-right: auto; }
.home-zona-libre .pat-intercambio__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 1rem;
}
.home-zona-libre .pat-intercambio__titulo {
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1rem;
    color: #1f2421;
}
.home-zona-libre .pat-intercambio__titulo em { color: #4a95c1; font-style: normal; }
.home-zona-libre .pat-intercambio__sub {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #5a6863;
    margin: 0;
}

.pat-intercambio__grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    gap: 2rem;
    max-width: 1100px;
    margin: 0 auto;
}

.pat-intercambio__lado {
    padding: 2.5rem 2rem;
    border-radius: 18px;
    background: white;
    border-top: 4px solid;
    box-shadow: 0 8px 30px rgba(0,0,0,0.05);
}
.pat-intercambio__lado--verde { border-top-color: #72bf44; }
.pat-intercambio__lado--celeste { border-top-color: #4a95c1; }

.home-zona-libre .pat-intercambio__lado-sub {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 0.3rem 0.85rem;
    border-radius: 99px;
    margin-bottom: 1rem;
}
.pat-intercambio__lado--verde .pat-intercambio__lado-sub { background: rgba(114,191,68,0.12); color: #4d8a2c; }
.pat-intercambio__lado--celeste .pat-intercambio__lado-sub { background: rgba(74,149,193,0.12); color: #2c6c91; }

.home-zona-libre .pat-intercambio__lado-tit {
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 1rem;
    color: #1f2421;
}
.home-zona-libre .pat-intercambio__lado-txt {
    font-size: 1rem;
    line-height: 1.7;
    color: #3d4540;
    margin: 0;
}

.pat-intercambio__flecha {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #72bf44;
}
.pat-intercambio__flecha svg { width: 70px; height: 70px; }

@media (max-width: 800px) {
    .pat-intercambio__grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .pat-intercambio__flecha { transform: rotate(90deg); justify-self: center; }
    .pat-intercambio__flecha svg { width: 50px; height: 50px; }
    .pat-intercambio { padding: 3rem 0; }
    .pat-intercambio__head { margin-bottom: 2rem; }
}



/* ════════════════════════════════════════════════════════════════
   PAT-CIFRAS-GCF · 3 cifras institucionales grandes
   ════════════════════════════════════════════════════════════════ */

.pat-cifras-gcf { padding: 5rem 0; }
.pat-cifras-gcf--blanco { background: white; }
.pat-cifras-gcf--gris   { background: #f5f7f5; }
.pat-cifras-gcf--oscuro { background: linear-gradient(135deg, #0b120b 0%, #1a2e1a 100%); color: white; }

.pat-cifras-gcf__head { text-align: center; margin-bottom: 3.5rem; max-width: 720px; margin-left: auto; margin-right: auto; }
.home-zona-libre .pat-cifras-gcf__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 0.85rem;
}
.pat-cifras-gcf--oscuro .pat-cifras-gcf__eyebrow { color: rgba(255,255,255,0.7); }

.home-zona-libre .pat-cifras-gcf__titulo {
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1rem;
    color: #1f2421;
}
.pat-cifras-gcf--oscuro .pat-cifras-gcf__titulo { color: white; }
.home-zona-libre .pat-cifras-gcf__titulo em { color: #4a95c1; font-style: normal; }
.pat-cifras-gcf--oscuro .pat-cifras-gcf__titulo em { color: #72bf44; }

.home-zona-libre .pat-cifras-gcf__sub {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #5a6863;
    margin: 0;
}
.pat-cifras-gcf--oscuro .pat-cifras-gcf__sub { color: rgba(255,255,255,0.75); }

.pat-cifras-gcf__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    max-width: 1100px;
    margin: 0 auto;
}

.pat-cifras-gcf__item {
    text-align: center;
    padding: 1.5rem 2rem;
    border-right: 1px solid rgba(0,0,0,0.08);
}
.pat-cifras-gcf--oscuro .pat-cifras-gcf__item { border-right-color: rgba(255,255,255,0.12); }
.pat-cifras-gcf__item:last-child { border-right: none; }

.pat-cifras-gcf__num {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.pat-cifras-gcf--oscuro .pat-cifras-gcf__num {
    background: linear-gradient(135deg, #a0e070, #6db9e0);
    -webkit-background-clip: text;
    background-clip: text;
}
.pat-cifras-gcf__num-val {
    font-size: clamp(3rem, 6vw, 4.5rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.03em;
}
.pat-cifras-gcf__num-unit {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 800;
    line-height: 1;
}

.home-zona-libre .pat-cifras-gcf__label {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: #4b5550;
    line-height: 1.4;
    max-width: 200px;
    margin: 0 auto;
}
.pat-cifras-gcf--oscuro .pat-cifras-gcf__label { color: rgba(255,255,255,0.85); }

@media (max-width: 800px) {
    .pat-cifras-gcf__grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .pat-cifras-gcf__item { border-right: none; border-bottom: 1px solid rgba(0,0,0,0.08); padding-bottom: 2rem; }
    .pat-cifras-gcf__item:last-child { border-bottom: none; padding-bottom: 0; }
    .pat-cifras-gcf__head { margin-bottom: 2.5rem; }
    .pat-cifras-gcf { padding: 3rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-METODOLOGIA · Lista vertical de pasos con iconos
   ════════════════════════════════════════════════════════════════ */

.pat-metodologia { padding: 5rem 0; background: white; }

.pat-metodologia__head { text-align: center; margin-bottom: 3.5rem; max-width: 720px; margin-left: auto; margin-right: auto; }
.home-zona-libre .pat-metodologia__eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: #4a95c1;
    margin-bottom: 0.85rem;
}
.home-zona-libre .pat-metodologia__titulo {
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 1rem;
    color: #1f2421;
}
.home-zona-libre .pat-metodologia__titulo em { color: #4a95c1; font-style: normal; }
.home-zona-libre .pat-metodologia__sub { font-size: 1.05rem; line-height: 1.65; color: #5a6863; margin: 0; }

.pat-metodologia__lista {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.pat-metodologia__paso {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.75rem;
    padding: 2rem;
    background: linear-gradient(135deg, #f8fbf6 0%, #f0f6f9 100%);
    border-radius: 16px;
    border: 1px solid #e5ece3;
    transition: transform 0.3s, box-shadow 0.3s;
}
.pat-metodologia__paso:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.06);
}

.pat-metodologia__num-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    min-width: 64px;
}

.pat-metodologia__num {
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #72bf44, #4a95c1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    letter-spacing: -0.02em;
}

.pat-metodologia__icono {
    font-size: 1.75rem;
    line-height: 1;
}

.home-zona-libre .pat-metodologia__tit {
    font-size: 1.3rem;
    font-weight: 800;
    margin: 0 0 0.5rem;
    color: #1f2421;
    line-height: 1.25;
}
.home-zona-libre .pat-metodologia__desc {
    font-size: 1rem;
    line-height: 1.7;
    color: #3d4540;
    margin: 0;
}
.home-zona-libre .pat-metodologia__desc strong { color: #4d8a2c; font-weight: 700; }
.home-zona-libre .pat-metodologia__desc em { color: #4a95c1; font-style: normal; font-weight: 600; }

@media (max-width: 700px) {
    .pat-metodologia__paso { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem; }
    .pat-metodologia__num-wrap { flex-direction: row; min-width: 0; }
    .pat-metodologia { padding: 3rem 0; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-QUEES-APA · ¿Qué es? estilo Aliados por el Agua (2 cols)
   Réplica fiel: texto izq + imagen der + stat badge flotante + tags
   ════════════════════════════════════════════════════════════════ */

.pat-quees-apa { padding: 6rem 0; }
.pat-quees-apa--blanco  { background: #ffffff; }
.pat-quees-apa--gris    { background: #f5f7f5; }
.pat-quees-apa--celeste { background: linear-gradient(180deg, #f5f9fc 0%, #ffffff 100%); }

.pat-quees-apa__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 4rem;
    align-items: center;
}

/* ── Columna izquierda: texto ───────────────────────────── */
.pat-quees-apa__col-text { min-width: 0; }

.home-zona-libre .pat-quees-apa__eyebrow {
    display: block;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #4a95c1;
    margin: 0 0 1.25rem;
    text-align: left;
}

.home-zona-libre .pat-quees-apa__titulo {
    font-size: clamp(2.6rem, 4vw, 3.6rem);
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 1.75rem;
    letter-spacing: -0.02em;
}
.home-zona-libre .pat-quees-apa__titulo-pre {
    display: block;
    color: #1f2421;
}
.home-zona-libre .pat-quees-apa__titulo-marca {
    display: block;
    color: #4a95c1;
}

.home-zona-libre .pat-quees-apa__parrafo {
    font-size: 1.65rem;
    line-height: 1.75;
    color: #3d4540;
    margin: 0 0 1.3rem;
    max-width: 58rem;
}
.home-zona-libre .pat-quees-apa__parrafo strong { color: #1f2421; font-weight: 700; }
.home-zona-libre .pat-quees-apa__parrafo em { color: #4a95c1; font-style: italic; font-weight: 500; }

/* ── Info card ──────────────────────────────────────────── */
.pat-quees-apa__info {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    align-items: start;
    margin-top: 2rem;
    padding: 1.5rem 1.75rem;
    background: rgba(74, 149, 193, 0.07);
    border: 1px solid rgba(74, 149, 193, 0.18);
    border-radius: 14px;
    max-width: 540px;
}
.pat-quees-apa__info-icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border-radius: 50%;
    font-size: 1.4rem;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(74, 149, 193, 0.15);
}
.home-zona-libre .pat-quees-apa__info-titulo {
    font-size: 1.5rem;
    font-weight: 800;
    color: #1f2421;
    margin: 0 0 0.4rem;
    line-height: 1.3;
}
.home-zona-libre .pat-quees-apa__info-desc {
    font-size: 1.35rem;
    line-height: 1.6;
    color: #5a6863;
    margin: 0;
}

/* ── Columna derecha: imagen + stat ─────────────────────── */
.pat-quees-apa__col-img { min-width: 0; }
.pat-quees-apa__img-wrap {
    position: relative;
    border-radius: 20px;
    overflow: visible;
}
.pat-quees-apa__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
}
.pat-quees-apa__img-ph {
    aspect-ratio: 4 / 3;
    width: 100%;
    background: #eaf1f6;
    border: 2px dashed #b9d2e0;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: #7796a8;
    font-size: 0.9rem;
}
.pat-quees-apa__img-ph svg { color: #7796a8; }

/* Stat badge flotante (sobresale por la esquina inferior izquierda) */
.pat-quees-apa__stat {
    position: absolute;
    left: -2.5rem;
    bottom: 2rem;
    background: #4a95c1;
    color: #ffffff;
    padding: 1.25rem 1.5rem;
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(74,149,193,0.35);
    min-width: 180px;
    max-width: 240px;
}
.home-zona-libre .pat-quees-apa__stat-valor {
    display: block;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    color: #ffffff;
    letter-spacing: -0.02em;
    margin-bottom: 0.35rem;
}
.home-zona-libre .pat-quees-apa__stat-label {
    display: block;
    font-size: 0.82rem;
    line-height: 1.35;
    color: rgba(255,255,255,0.92);
    font-weight: 500;
}

/* ── Tags al pie ────────────────────────────────────────── */
.pat-quees-apa__tags {
    list-style: none;
    margin: 3rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}
.home-zona-libre .pat-quees-apa__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 1.1rem;
    background: #ffffff;
    border: 1px solid #d8e3e6;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #4b5550;
    transition: border-color 0.2s, transform 0.2s;
}
.home-zona-libre .pat-quees-apa__tag:hover {
    border-color: #4a95c1;
    transform: translateY(-1px);
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 960px) {
    .pat-quees-apa__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .pat-quees-apa__stat { left: 1rem; bottom: 1rem; }
}
@media (max-width: 600px) {
    .pat-quees-apa { padding: 3.5rem 0; }
    .pat-quees-apa__grid { gap: 2rem; }
    .pat-quees-apa__info { padding: 1.25rem; }
    .pat-quees-apa__stat { left: 0.75rem; bottom: 0.75rem; padding: 1rem 1.2rem; min-width: 0; max-width: 200px; }
    .home-zona-libre .pat-quees-apa__stat-valor { font-size: 1.8rem; }
    .home-zona-libre .pat-quees-apa__stat-label { font-size: 0.75rem; }
    .pat-quees-apa__tags { margin-top: 2rem; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-CARDS3D · Cards 3+1 destacada (estilo Bolivia con Agua)
   3 cards normales con borde superior de color + 1 card destacada dark
   ════════════════════════════════════════════════════════════════ */

.pat-cards3d { padding: 5rem 0; background: linear-gradient(180deg, #f7faf5 0%, #ffffff 100%); }

.pat-cards3d__head { text-align: center; margin-bottom: 3.5rem; max-width: 820px; margin-left: auto; margin-right: auto; }
.home-zona-libre .pat-cards3d__eyebrow {
    display: block;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #4a95c1;
    margin: 0 0 1rem;
}
.home-zona-libre .pat-cards3d__titulo {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    color: #1f2421;
    margin: 0;
    letter-spacing: -0.02em;
}
.home-zona-libre .pat-cards3d__titulo em {
    color: #4a95c1;
    font-style: normal;
    background: linear-gradient(90deg, #4a95c1, #72bf44);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.pat-cards3d__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    max-width: 1200px;
    margin: 0 auto;
}

.pat-cards3d__card {
    position: relative;
    background: #ffffff;
    border-radius: 14px;
    padding: 2rem 1.5rem 2.25rem;
    box-shadow: 0 8px 22px rgba(0,0,0,0.04);
    border: 1px solid #ecf1ed;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}
.pat-cards3d__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,0.08);
}

/* Borde superior de color (top accent) */
.pat-cards3d__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-radius: 14px 14px 0 0;
}
.pat-cards3d__card--verde::before    { background: #72bf44; }
.pat-cards3d__card--celeste::before  { background: #4a95c1; }
.pat-cards3d__card--amarillo::before { background: #f5c842; }
.pat-cards3d__card--naranja::before  { background: #f37021; }
.pat-cards3d__card--morado::before   { background: #8c5dbf; }

/* Icono background con tint del color */
.pat-cards3d__icono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 14px;
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: 1.25rem;
}
.pat-cards3d__card--verde    .pat-cards3d__icono { background: rgba(114,191,68,0.12);  color: #4d8a2c; }
.pat-cards3d__card--celeste  .pat-cards3d__icono { background: rgba(74,149,193,0.12);  color: #2c5e8e; }
.pat-cards3d__card--amarillo .pat-cards3d__icono { background: rgba(245,200,66,0.18);  color: #b08300; }
.pat-cards3d__card--naranja  .pat-cards3d__icono { background: rgba(243,112,33,0.12);  color: #b85618; }
.pat-cards3d__card--morado   .pat-cards3d__icono { background: rgba(140,93,191,0.12);  color: #5d3d8a; }

.home-zona-libre .pat-cards3d__card-titulo {
    font-size: 1.15rem;
    font-weight: 800;
    color: #1f2421;
    line-height: 1.25;
    margin: 0 0 0.85rem;
}
.home-zona-libre .pat-cards3d__card-texto {
    font-size: 0.92rem;
    line-height: 1.55;
    color: #5a6863;
    margin: 0;
}

/* ── Card DESTACADA (la 4ta, dark + número grande) ── */
.pat-cards3d__card--destacada {
    background: linear-gradient(155deg, #0c1424 0%, #1c2c4a 100%);
    border-color: transparent;
    color: #ffffff;
}
.pat-cards3d__card--destacada::before {
    background: linear-gradient(90deg, #72bf44, #4a95c1, #f5c842);
    height: 4px;
}
.home-zona-libre .pat-cards3d__numero {
    display: block;
    font-size: clamp(2.5rem, 4vw, 3.4rem);
    font-weight: 900;
    line-height: 1;
    color: #4ec4ff;
    letter-spacing: -0.03em;
    margin-bottom: 0.6rem;
}
.home-zona-libre .pat-cards3d__d-titulo {
    font-size: 1.15rem;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin: 0 0 0.85rem;
}
.home-zona-libre .pat-cards3d__d-texto {
    font-size: 0.92rem;
    line-height: 1.55;
    color: rgba(255,255,255,0.78);
    margin: 0 0 1.5rem;
}
.home-zona-libre .pat-cards3d__d-boton {
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 1.2rem;
    background: transparent;
    color: #4ec4ff;
    border: 1.5px solid rgba(78,196,255,0.5);
    border-radius: 99px;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: background 0.25s, border-color 0.25s, transform 0.25s;
}
.home-zona-libre .pat-cards3d__d-boton:hover {
    background: rgba(78,196,255,0.12);
    border-color: #4ec4ff;
    transform: translateY(-1px);
}

@media (max-width: 1000px) {
    .pat-cards3d__grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}
@media (max-width: 560px) {
    .pat-cards3d__grid { grid-template-columns: 1fr; }
    .pat-cards3d { padding: 3rem 0; }
    .pat-cards3d__head { margin-bottom: 2.25rem; }
}


/* ════════════════════════════════════════════════════════════════
   PAT-STAT-HERO · Hero estadística dark 2 cols (estilo BCA)
   ════════════════════════════════════════════════════════════════ */

.pat-stat-hero { padding: 6rem 0; }
.pat-stat-hero--oscuro  { background: linear-gradient(155deg, #0a1320 0%, #1a2842 100%); color: #ffffff; }
.pat-stat-hero--verde   { background: linear-gradient(155deg, #1f3a18 0%, #2d5a23 100%); color: #ffffff; }
.pat-stat-hero--celeste { background: linear-gradient(155deg, #1c3a52 0%, #2e6592 100%); color: #ffffff; }

.pat-stat-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
    gap: 5rem;
    align-items: center;
    max-width: 1180px;
    margin: 0 auto;
}

/* ── Columna izquierda: Stat ── */
.pat-stat-hero__col-stat {
    text-align: left;
    border-left: 2px solid rgba(255,255,255,0.15);
    padding-left: 2.5rem;
}
.pat-stat-hero__numero-wrap {
    display: flex;
    align-items: baseline;
    gap: 0.1rem;
    line-height: 1;
    margin-bottom: 1.5rem;
}
.home-zona-libre .pat-stat-hero__numero {
    font-size: clamp(5rem, 12vw, 9rem);
    font-weight: 900;
    line-height: 0.9;
    color: #4ec4ff;
    letter-spacing: -0.05em;
}
.pat-stat-hero--verde .pat-stat-hero__numero { color: #b2e576; }
.pat-stat-hero--celeste .pat-stat-hero__numero { color: #a8d8f0; }

.home-zona-libre .pat-stat-hero__denominador {
    font-size: clamp(3rem, 7vw, 5rem);
    font-weight: 800;
    line-height: 1;
    color: rgba(255,255,255,0.35);
    letter-spacing: -0.04em;
}
.home-zona-libre .pat-stat-hero__stat-texto {
    font-size: 1.4rem;
    line-height: 1.55;
    color: rgba(255,255,255,0.78);
    font-weight: 500;
    margin: 0;
    max-width: 30rem;
}

/* ── Columna derecha: Texto ── */
.pat-stat-hero__col-text { min-width: 0; }
.home-zona-libre .pat-stat-hero__eyebrow {
    display: block;
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #4ec4ff;
    margin: 0 0 1.25rem;
}
.pat-stat-hero--verde .pat-stat-hero__eyebrow { color: #b2e576; }

.home-zona-libre .pat-stat-hero__titulo {
    font-size: clamp(2.6rem, 4vw, 3.6rem);
    font-weight: 800;
    line-height: 1.18;
    color: #ffffff;
    margin: 0 0 1.6rem;
    letter-spacing: -0.02em;
}
.home-zona-libre .pat-stat-hero__titulo em {
    color: #4ec4ff;
    font-style: normal;
}
.pat-stat-hero--verde .pat-stat-hero__titulo em { color: #b2e576; }

.home-zona-libre .pat-stat-hero__parrafo {
    font-size: 1.65rem;
    line-height: 1.75;
    color: rgba(255,255,255,0.88);
    margin: 0 0 1.4rem;
    max-width: 64rem;
}
.home-zona-libre .pat-stat-hero__parrafo strong {
    color: #ffffff;
    font-weight: 700;
}
.home-zona-libre .pat-stat-hero__parrafo em {
    color: #4ec4ff;
    font-style: italic;
    font-weight: 600;
}

@media (max-width: 900px) {
    .pat-stat-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .pat-stat-hero__col-stat { border-left: none; border-top: 2px solid rgba(255,255,255,0.15); padding-left: 0; padding-top: 1.5rem; }
}
@media (max-width: 560px) {
    .pat-stat-hero { padding: 3.5rem 0; }
}

