:root{
  --topbar:#17485b;        /* azul verdoso del header */
  --panel:#1d5164;         /* panel lateral */
  --panel2:#1a4a5c;
  --text:#ffffff;
  --muted:rgba(255,255,255,.85);
  --shadow: 0 10px 30px rgba(0,0,0,.25);
  --topbar-height: 78px;
}

*{ box-sizing:border-box; }
body{ margin:0; font-family: Arial, Helvetica, sans-serif; background:#ffffff; color:var(--text); overflow-x: hidden;}

/* ===== Animaciones al hacer scroll (livianas) ===== */

/* Estado inicial */
[data-anim]{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .7s ease, transform .7s ease;
  will-change: opacity, transform;
}

/* Fade-in puro (sin subir) */
[data-anim="fade-in"]{
  transform: none;
}

/* Estado final */
[data-anim].is-in{
  opacity: 1;
  transform: none;
}

html.page-transitions{
  --page-transition-ease: cubic-bezier(.22, 1, .36, 1);
}

@media (prefers-reduced-motion: no-preference){
  html.page-transitions main{
    transition:
      opacity .7s var(--page-transition-ease),
      transform .7s var(--page-transition-ease),
      filter .7s ease;
    will-change: opacity, transform, filter;
  }

  html.page-transitions.page-is-entering main{
    opacity: 0;
    transform: translate3d(0, 26px, 0) scale(.992);
    filter: blur(3px);
  }

  html.page-transitions.page-is-entering.page-is-ready main{
    opacity: 1;
    transform: none;
    filter: none;
  }

  html.page-transitions body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:9999;
    pointer-events:none;
    opacity:0;
    transform: translate3d(0, 100%, 0);
    transition:
      transform .54s var(--page-transition-ease),
      opacity .34s ease;
    background:
      radial-gradient(circle at top center, rgba(29,75,92,.16), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.12), rgba(247,249,250,.96));
  }

  html.page-transitions body.is-page-leaving::before{
    opacity:1;
    transform: translate3d(0, 0, 0);
  }

  html.page-transitions body.is-page-leaving main{
    opacity:0;
    transform: translate3d(0, -18px, 0) scale(.986);
    filter: blur(4px);
  }
}

/* Accesibilidad: respeta usuarios con reducción de movimiento */
@media (prefers-reduced-motion: reduce){
  [data-anim]{
    transition: none;
    opacity: 1;
    transform: none;
  }
}

.topbar{
  background: var(--topbar);
  min-height: var(--topbar-height);
  display:flex;
  align-items:center;
  position:relative;
  z-index:40;
}
.topbar__inner{
  width:min(1260px, 96%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{ display:flex; align-items:center; gap:14px; }
.brand__logo img{ height:56px; width:auto; display:block; }

.social{ display:flex; gap:10px; align-items:center; }
.social__btn{
  width:28px; height:28px;
  display:grid; place-items:center;
  border-radius:6px;
  text-decoration:none;
}
.social__btn svg{ width:22px; height:22px; fill:#fff; opacity:.95; }
.social__btn img{
  width:22px;
  height:22px;
  display:block;
  object-fit:contain;
  opacity:.95;
  filter: brightness(0) invert(1);
}
.social__btn:hover svg,
.social__btn:hover img{ opacity:1; transform: translateY(-1px); transition:.2s; }

.nav{
  display:flex;
  align-items:center;
  gap:18px;
  margin-left:auto;
  font-size:12px;
  font-weight:700;
  letter-spacing:.2px;
}
.navItem{
  position:relative;
  display:flex;
  align-items:center;
}
.navItem__trigger{
  display:flex;
  align-items:center;
  gap:6px;
}
.navLink{
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  padding:8px 0;
  border:0;
  background:transparent;
  font:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:.2px;
  text-align:center;
  cursor:pointer;
  opacity:.95;
  transition: opacity .2s ease, color .2s ease;
}
.navLink:hover,
.navLink:focus-visible,
.navLink.is-active,
.navItem.is-current > .navItem__trigger .navLink,
.navItem.is-current > .navLink{
  opacity:1;
  text-decoration:underline;
  text-underline-offset:4px;
  outline:none;
}
.navLink--button{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.navCaret{
  width:20px;
  height:20px;
  border:0;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.navCaret span,
.navLink__caret,
.navDropdown__toggle span{
  display:block;
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform: rotate(45deg);
  margin-top:-3px;
  transition: transform .2s ease, margin .2s ease;
}
.navItem.is-open .navCaret span,
.navItem.is-open .navLink__caret{
  transform: rotate(-135deg);
  margin-top:4px;
}
.navDropdown{
  --dropdown-x: 0px;
  --dropdown-y: 12px;
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  min-width:250px;
  border-top:3px solid #b7c24a;
  background:#13667f;
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
  opacity:0;
  pointer-events:none;
  transform: translate(var(--dropdown-x), var(--dropdown-y));
  transition: opacity .24s ease, transform .24s ease;
  z-index:35;
}
.navDropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}
.navItem--has-menu:hover > .navDropdown,
.navItem--has-menu:focus-within > .navDropdown,
.navItem--has-menu.is-open > .navDropdown{
  opacity:1;
  pointer-events:auto;
  transform: translate(var(--dropdown-x), 0);
}
.navDropdown--mega{
  min-width:280px;
  width:280px;
}
.navDropdown__panel{
  display:flex;
  flex-direction:column;
  padding:14px 0;
}
.navDropdown__item{
  position:relative;
}
.navDropdown__split{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:stretch;
}
.navDropdown__link{
  display:block;
  padding:12px 22px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  background:transparent;
  line-height:1.35;
  transition: color .2s ease, background .2s ease;
}
.navDropdown__link:hover,
.navDropdown__link:focus-visible{
  background: rgba(255,255,255,.06);
  color:#fff;
  outline:none;
}
.navDropdown__link.is-active{
  color:#f0d65b;
}
.navDropdown__link--static{
  cursor:default;
}
.navDropdown__link--static:hover,
.navDropdown__link--static:focus-visible{
  background:transparent;
}
.navDropdown__item.is-current > .navDropdown__split .navDropdown__link{
  color:#f0d65b;
}
.navDropdown__toggle{
  width:42px;
  border:0;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.navDropdown__toggle:hover,
.navDropdown__toggle:focus-visible{
  background: rgba(255,255,255,.06);
  outline:none;
}
.navDropdown__toggle span{
  transform: rotate(-45deg);
  margin-top:0;
}
.navDropdown__item.is-open > .navDropdown__split .navDropdown__toggle span{
  transform: rotate(45deg);
}
.navDropdown--nested{
  --dropdown-x: 0px;
  --dropdown-y: 8px;
  top:-17px;
  left:calc(100% + 12px);
  min-width:270px;
}
.navDropdown--nested::before{
  left:-12px;
  right:auto;
  top:0;
  width:12px;
  height:100%;
}
.navDropdown__item--has-children:hover > .navDropdown--nested,
.navDropdown__item--has-children:focus-within > .navDropdown--nested,
.navDropdown__item--has-children.is-open > .navDropdown--nested{
  opacity:1;
  pointer-events:auto;
  transform: translate(0, 0);
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip: rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.navToggle{
  display:none;
  background:transparent;
  border:0;
  cursor:pointer;
  width:48px;
  height:48px;
  padding:0;
  border-radius:16px;
}
.navToggle span{
  display:block;
  width:24px;
  height:2px;
  background:#fff;
  margin:4px 0;
  transition: transform .24s ease, opacity .24s ease;
}
.topbar.nav-is-open .navToggle span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.topbar.nav-is-open .navToggle span:nth-child(2){ opacity:0; }
.topbar.nav-is-open .navToggle span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* HERO WRAP (para que el panel lateral flote sobre la imagen) */
.heroWrap{
  position:relative;
  width:100%;
  margin: 0 auto;
  background:#111;
}

/* Panel lateral */
.quickLinks{
  position:absolute;
  left: 0;
  top: 95px; /* debajo del topbar */
  width: 250px;
  z-index:5;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding-left: 12px;
}
.quickLinks__item{
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.2);
  padding: 22px 16px;
  text-align:center;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  text-transform: none;
  box-shadow: var(--shadow);
}
.quickLinks__item:nth-child(2),
.quickLinks__item:nth-child(3){ background: var(--panel2); }
.quickLinks__item:hover{ filter: brightness(1.05); transform: translateY(-1px); transition:.2s; }

/* Carrusel */
.hero{
  position:relative;
  height: 640px;
  overflow:hidden;
}
.hero__slides{ position:absolute; inset:0; }
.hero__slide{
  position:absolute; inset:0;
  background-color: #2b4e5d;
  background-size: cover;
  background-position: center;
  opacity:0;
  transform: scale(1.02);
  transition: none;
  background-repeat: no-repeat;
}
.hero[data-carousel-ready="true"] .hero__slide{
  transition: opacity 900ms ease, transform 2.5s ease;
}
.hero__slide.is-active{
  opacity:1;
  transform: scale(1);
}

/* Overlay texto */
.hero__overlay{
  position:absolute;
  inset: 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding-top: 82px;
  text-align:center;
  pointer-events:none;
  transform: translateX(3.5%);
}
.hero__title{
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(56px, 6vw, 92px);
  font-weight:900;
  line-height: .94;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:#183b4e;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.hero__subtitle{
  margin: -4px 0 0;
  max-width: min(760px, 92vw);
  font-family: "Segoe Script", "Brush Script MT", "Lucida Handwriting", cursive;
  font-size: clamp(26px, 2.7vw, 40px);
  font-weight: 700;
  line-height: 1.08;
  color:#183b4e;
  -webkit-text-stroke: 1.3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 8px 20px rgba(0,0,0,.14);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .hero__title{
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      1.5px 1.5px 0 #ffffff,
     -1.5px -1.5px 0 #ffffff,
      1.5px -1.5px 0 #ffffff,
     -1.5px 1.5px 0 #ffffff,
      0 10px 24px rgba(0,0,0,.16);
  }

  .hero__subtitle{
    text-shadow:
      1px 0 0 #ffffff,
     -1px 0 0 #ffffff,
      0 1px 0 #ffffff,
      0 -1px 0 #ffffff,
      .8px .8px 0 #ffffff,
     -.8px -.8px 0 #ffffff,
      .8px -.8px 0 #ffffff,
     -.8px .8px 0 #ffffff,
      0 8px 20px rgba(0,0,0,.14);
  }
}

.hero__slideTag{
  --hero-caption-color: #183b4e;
  position: absolute;
  right: clamp(26px, 4vw, 60px);
  bottom: clamp(58px, 9vw, 118px);
  z-index: 5;
  max-width: min(38vw, 540px);
  margin: 0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(30px, 3vw, 50px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: .4px;
  text-transform: uppercase;
  text-align: right;
  color: var(--hero-caption-color);
  -webkit-text-stroke: 2.4px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 22px rgba(0,0,0,.18);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
}
.hero__slideTag.is-visible{
  opacity: 1;
  transform: translateY(0);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .hero__slideTag{
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      1.4px 1.4px 0 #ffffff,
     -1.4px -1.4px 0 #ffffff,
      1.4px -1.4px 0 #ffffff,
     -1.4px 1.4px 0 #ffffff,
      0 10px 22px rgba(0,0,0,.18);
  }
}

/* dots */
.hero__dots{
  position:absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display:flex;
  gap:8px;
  z-index:6;
}
.hero__dot{
  width:10px; height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.7);
  background: rgba(255,255,255,.25);
  cursor:pointer;
}
.hero__dot.is-active{ background:#fff; }

/* Footer antiguo
.footer{
  background: #0f2730;
  padding: 18px 0;
}
.footer__inner{
  width:min(1200px, 96%);
  margin:0 auto;
  font-size: 13px;
  opacity:.9;
}
*/
/* Responsive */
@media (max-width: 980px){
  .topbar{
    padding:12px 0;
  }
  .topbar__inner{
    flex-wrap:wrap;
    align-items:center;
  }
  .brand{
    flex:1 1 auto;
    min-width:0;
  }
  .social{
    gap:8px;
  }
  .navToggle{
    display:grid;
    place-items:center;
    background: rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
  }
  .nav{
    width:100%;
    order:3;
    margin-left:0;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:12px 0 0;
    display:none;
  }
  .nav.is-open{ display:flex; }
  .nav > .navLink,
  .nav > .navItem{
    width:100%;
  }
  .nav > .navLink{
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:left;
  }
  .navItem{
    flex-direction:column;
    align-items:stretch;
  }
  .navItem__trigger{
    display:grid;
    grid-template-columns: 1fr auto;
    gap:0;
    align-items:center;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .navItem__trigger .navLink{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:14px 0;
    text-align:left;
  }
  .navCaret{
    width:42px;
    min-height:46px;
    height:auto;
  }
  .navLink--button{
    width:100%;
    display:grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items:center;
    justify-content:stretch;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:left;
  }
  .navLink--button > span:first-child{
    text-align:left;
  }
  .navLink--button .navLink__caret{
    justify-self:center;
  }
  .navDropdown{
    position:static;
    width:100%;
    min-width:0;
    margin-top:0;
    border-top:0;
    display:none;
    opacity:1;
    pointer-events:auto;
    transform:none;
    box-shadow:none;
  }
  .navDropdown::before{
    display:none;
  }
  .navItem--has-menu:hover > .navDropdown,
  .navItem--has-menu:focus-within > .navDropdown{
    display:none;
    transform:none;
  }
  .navItem--has-menu.is-open > .navDropdown{
    display:block;
  }
  .navDropdown--mega{
    width:100%;
    min-width:0;
  }
  .navDropdown__panel{
    padding:8px 0 12px;
  }
  .navDropdown__link{
    padding:10px 18px;
  }
  .navDropdown__split{
    grid-template-columns: 1fr auto;
  }
  .navDropdown__toggle{
    width:42px;
  }
  .navDropdown--nested{
    left:auto;
    top:auto;
    min-width:0;
    margin-left:0;
  }
  .navDropdown__item--has-children:hover > .navDropdown--nested,
  .navDropdown__item--has-children:focus-within > .navDropdown--nested{
    display:none;
  }
  .navDropdown__item--has-children.is-open > .navDropdown--nested{
    display:block;
  }

  .quickLinks{
    position:static;
    order:-1;
    width:100%;
    margin: 0;
    padding: 0;
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:0;
    background: transparent;
  }
  .quickLinks__item{
    min-height: 88px;
    padding: 16px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size: clamp(14px, 2.8vw, 17px);
    line-height: 1.25;
    border-width: 1px;
    box-shadow: none;
  }

  .heroWrap{
    width:100%;
    display:flex;
    flex-direction:column;
  }
  .hero{
    order:-2;
    height: 520px;
  }
  .hero__overlay{
    padding-top: 90px;
    transform: none;
  }
  .hero__title{
    font-size: 44px;
    -webkit-text-stroke: 2px #ffffff;
  }
  .hero__subtitle{
    margin-top: 4px;
    font-size: 18px;
    padding: 0 12px;
    -webkit-text-stroke: .8px #ffffff;
  }
  .hero__slideTag{
    right: 18px;
    left: 18px;
    bottom: 52px;
    max-width: none;
    font-size: clamp(20px, 5.2vw, 28px);
    -webkit-text-stroke: 1.4px #ffffff;
  }
}

/* ===== Sección ¿Quiénes somos? ===== */
.about2{
  width:100%;
  margin: 0 auto;
}

.about2__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 520px; /* Alto */
  overflow: hidden; /* Que no cresca el alto por culpa de la Imagen*/
}

/* IZQUIERDA */
.about2__left{
  position: relative;
  height: 520px;
  overflow: hidden;
  background: url("../img/optimized/about-left-bg.webp") center/cover no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  /* Ajustes finos (para que el texto caiga sobre el área #c1a970) */
  --content-top: 70px;    /* SUBE/BAJA el bloque de texto */
  --content-maxw: 560px;  /* ancho máximo del texto */
  --content-pad-x: 34px;  /* padding lateral */
}

.about2__left{
  --content-top: 48px;
  --content-maxw: 470px;
  --content-pad-x: 24px;
}

.about2__zigzag{
  height: 46px;
  background-image: url("../img/zigzag.png");
  background-repeat: repeat-x;
  background-size: auto 46px;
  opacity: .95;
}

/* CONTENIDO */
.about2__content{
  position: absolute;
  left: 50%;
  top: var(--content-top);
  transform: translateX(-50%);
  width: min(var(--content-maxw), 92%);
  padding: 0 var(--content-pad-x);
  text-align: center;
  z-index: 2;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* Titulo */
.about2__title,
.about2__tittle{
  margin: 0 0 12px;
  font-size: clamp(34px, 3.6vw, 58px);
  font-weight: 900;
  letter-spacing: 1px;
  color: #1d4b5c;
  text-transform: uppercase;
  text-shadow: 0 2px 0 rgba(255, 255, 255, .55);
  margin-bottom: 14px;
  max-width: 340px;
  font-size: clamp(28px, 3.3vw, 46px);
  line-height: 1.03;
}

/* Texto */
.about2__text,
.about2_text{
  margin:0 0 20px;
  font-size: 22px;
  line-height: 1.65;
  color: #111;
  text-shadow: 0 1px 0 rgba(255,255,255,.25);
  margin-bottom: 22px;
  max-width: 410px;
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.42;
}

/* Botón */
.about2__btn{
  display:inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  padding: 14px 18px;
  border-radius: 14px;
  background: #c1a970;
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  letter-spacing: .6px;
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
  min-width: 200px;
  padding: 14px 22px;
}

.about2__btn:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  transition: .2s;
}

/* DERECHA */
.about2__right{
  height: 520px;
  background: #c9d5d8 url("../img/optimized/about-right-photo.webp") center/cover no-repeat;
}

@media (max-width: 980px){
  .about2__inner{
    grid-template-columns: 1fr;
    height: auto;
  }

  .about2__left{
    height: 520px;
  }

  .about2__right{
    height: 360px;
  }

  .about2__left{
    --content-top: 80px;
    --content-maxw: 620px;
  }

  .about2__left{
    --content-top: 56px;
    --content-maxw: 500px;
  }

  .about2__text{ font-size: 18px; }
  .about2__title,
  .about2__tittle{
    max-width: 320px;
    font-size: clamp(28px, 8vw, 40px);
  }
  .about2__text,
  .about2_text{
    max-width: 380px;
    font-size: 17px;
    line-height: 1.4;
  }
}

/* ===== Sección: Zonas de intervención (2 imágenes + overlay) ===== */
.zones{
  width:100%;
  margin: 0 auto;
  position: relative;

  /* Altura controlada */
  height: 520px;
  overflow: hidden;

  /* Imagen 1 de fondo */
  background-color: #e7e6d4;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/*Rectangulo overflow */
.zones::before{
  content:"";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(242,242,223,.78),
    rgba(242,242,223,.66)
  );
  z-index: 1;
}

/*Segunda Imagen del Mapa*/
.zones__content{
  position: absolute;
  inset: 0;
  z-index: 2;

  background-color: transparent;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;

  padding: 18px;
}

/* responsive */
@media (max-width: 980px){
  .zones{
    height: 380px;
  }
  .zones__content{
    background-size: contain;
  }
}

/* ===== Sección: Historias y experiencias ===== */
.stories{
  width:100%;
  margin: 0 auto;
  position: relative;
  padding: 44px 0 64px;

  /* Fondo (foto) */
  background-color: #204b63;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow:hidden;
}

/* Overlay azul #204b63 con degradado */
.stories::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(32,75,99,.82),
    rgba(32,75,99,.88)
  );
  z-index:1;
}

.stories__inner{
  position:relative;
  z-index:2;
  width:min(1100px, 92%);
  margin:0 auto;
}

.stories__title{
  margin: 0 0 26px;
  text-align:center;
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 900;
  letter-spacing: 1px;
  color:#fff;
  text-transform: uppercase;

  /* borde tipo “stroke” simple (simula el contorno del boceto) */
  text-shadow:
    2px 0 0 rgba(0,0,0,.55),
   -2px 0 0 rgba(0,0,0,.55),
    0 2px 0 rgba(0,0,0,.55),
    0 -2px 0 rgba(0,0,0,.55),
    0 10px 22px rgba(0,0,0,.35);
}

/* Grid de cards */
.stories__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  align-items: start;
  justify-items:center;
}

/* Card */
.storyCard{
  width: 300px;
  border-radius: 14px;
  overflow:hidden;
  background: #f2f2df;               /* crema */
  box-shadow: 0 18px 35px rgba(0,0,0,.25);
}

.storyCard__img{
  display:block;
  width:100%;
  height: 200px;
  background-size: cover;
  background-position: center;
  object-fit: cover;
}

.storyCard__body{
  padding: 18px 16px 20px;
  text-align:center;
}

.storyCard__headline{
  margin: 0 0 10px;
  font-weight: 900;
  color:#111;
  line-height: 1.25;
}

.storyCard__sub{
  margin: 0 0 14px;
  color: rgba(0,0,0,.70);
}

.storyCard__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 18px;
  border-radius: 12px;
  background: #2f5b48; /* verde oscuro del botón */
  color:#fff;
  font-weight: 900;
  text-decoration:none;
  letter-spacing:.4px;
}
.storyCard__btn:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  transition:.2s;
}

/* Responsive */
@media (max-width: 1050px){
  .stories__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .storyCard{ width: min(340px, 92%); }
}

/* ===== Sección separadora ===== */
.dividerImage{
  width:100%;
  margin: 0 auto;

  height: 435px;
  overflow: hidden;

  background-color: #d5d9dc;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; /*cover--> llena todo; contain-->muestra la imagen completa, pero puede dejar espacios arriba/abajo   */
} 

@media (max-width: 980px){
  .dividerImage{
    height: 260px;
    background-position: center;
  }
}

/* ===== Carrusel aliados (Swiper coverflow) ===== */
.partners{
  width:100%;
  margin: 0 auto;
  padding: 40px 0 60px;
  background: #ffffff;
}

.partners__inner{
  width:min(1100px, 92%);
  margin:0 auto;
  text-align:center;
}

.partners__title{
  margin: 0 0 12px;
  color:#1d4b5c;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 900;
}

.partners__line{
  width: 120px;
  height: 4px;
  margin: 0 auto 26px;
  background: #f1b400; /* línea amarilla */
  border-radius: 999px;
}

/* Swiper */
.partnersSwiper{
  padding: 24px 0 10px;
}

.partnersSwiper .swiper-slide{
  display:flex;
  justify-content:center;
  align-items:center;
}

/* Card logo */
.partnerCard{
  width: 320px;             /* similar al ejemplo */
  background:#fff;
  border-radius: 10px;
  padding: 26px 20px;
  text-decoration:none;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  transform: translateZ(0); /* ayuda con la suavidad */
  cursor: grab;
  user-select: none;
}

.partnerCard img{
  width: 100%;
  height: 90px;            /* controla el alto del logo */
  object-fit: contain;
  display:block;
  margin: 0 auto 16px;
}

.partnerCard p{
  margin: 0;
  color: rgba(0,0,0,.65);
  font-weight: 700;
  font-size: 14px;
}

/* Opcional: “mini zoom” cuando es el centro */
.partnersSwiper .swiper-slide-active .partnerCard{
  transform: scale(1.04);
  transition: transform .25s ease;
}

.partnersSwiper:active .partnerCard{
  cursor: grabbing;
}

/* Responsive */
@media (max-width: 980px){
  .partnerCard{ width: 280px; }
}

/* ===== Footer (contacto + mapa + franja fotos) ===== */
.siteFooter{
  width:100%;
  margin: 0 auto;
  background:#ffffff;
}

.siteFooter__line{
  height: 10px;           /* “fino espacio blanco” */
  background:#ffffff;
}

.siteFooter > .siteFooter__line:last-child{
  display:none;
}

/* bloque superior */
.siteFooter__top{
  background:#ffffff;
  padding: 18px 0;
}

.siteFooter__inner{
  width:min(1200px, 96%);
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 18px;
  align-items: stretch;
}

.footerContact{
  padding: 14px 8px 14px 18px;
}

.footerContact__title{
  margin: 0 0 16px;
  color:#1d4b5c;
  font-weight: 900;
  letter-spacing:.4px;
  text-transform: uppercase;
}

.footerContact__item{
  display:grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items:center;
  margin: 12px 0;
  color:#1a1a1a;
  font-size: 14px;
}

.footerIcon{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 2px solid #1d4b5c;
  display:grid;
  place-items:center;
}
.footerIcon svg{
  width: 22px;
  height: 22px;
  fill:#1d4b5c;
}

/* Mapa */
.footerMap{
  padding: 8px 18px 8px 8px;
}
.footerMap__placeholder{
  width: 100%;
  height: 220px;
  border-radius: 4px;
  background:
    linear-gradient(135deg, rgba(29, 75, 92, .15), rgba(29, 75, 92, .04)),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.65) 50%, rgba(255,255,255,0) 100%),
    #e6edf0;
  background-size: auto, 220px 100%, auto;
  background-repeat: no-repeat;
  animation: footerMapPlaceholder 1.6s ease-in-out infinite;
}
.footerMap iframe{
  width: 100%;
  height: 220px;     /* ajustable */
  border: 0;
  border-radius: 4px;
}

@keyframes footerMapPlaceholder{
  0%{ background-position: 0 0, -220px 0, 0 0; }
  100%{ background-position: 0 0, calc(100% + 220px) 0, 0 0; }
}

/* Franja de fotos */
.footerStrip{
  position:relative;
  height: 130px;           /* ajustable */
  overflow:hidden;
}

.footerStrip__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  height: 100%;
}

.footerStrip__img{
  background-color: #264b5c;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
}

/* overlay azul semi-transparente */
.footerStrip__overlay{
  position:absolute;
  inset:0;
  background: rgba(24,59,78,.55); /* #183b4e con transparencia */
}

/* Responsive */
@media (max-width: 980px){
  .siteFooter__inner{
    grid-template-columns: 1fr;
  }
  .footerMap iframe{
    height: 260px;
  }
  .footerMap__placeholder{
    height: 260px;
  }
  .footerStrip{
    height: 160px;
  }
  .footerStrip__grid{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
}

/* Optimización render: el navegador no procesa secciones fuera de pantalla */
.zones,
.stories,
.dividerImage,
.partners{
  content-visibility: auto;
  contain-intrinsic-size: 800px; /* reserva espacio para evitar saltos */
}

/* Botones: micro-interacción */
.about2__btn,
.storyCard__btn{
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.about2__btn:hover,
.storyCard__btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 14px 26px rgba(0,0,0,.22);
}

/* Cards: elevación suave */
.storyCard,
.partnerCard{
  transition: transform .2s ease, box-shadow .2s ease;
}
.storyCard:hover,
.partnerCard:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 45px rgba(0,0,0,.18);
}

/* ===== Página Conócenos ===== */
.conocenosPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.conocenosHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(153,56,52,.52), rgba(153,56,52,.62)),
    url("../img/optimized/conocenos/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.conocenosHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.conocenosHero__title{
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7.2vw, 93px);
  font-weight: 900;
  line-height: .94;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .conocenosHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

@media (max-width: 980px){
  .conocenosHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .conocenosHero__inner{
    padding: 20px 14px 22px;
  }

  .conocenosHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }
}

.conocenosStory{
  width:100%;
  padding: clamp(52px, 8vw, 92px) 0;
  background:#ffffff;
}

.conocenosStory__inner{
  width:min(1180px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(30px, 6vw, 86px);
}

.conocenosStory--reverse .conocenosStory__inner{
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(24px, 4vw, 58px);
}

.conocenosStory__media{
  display:flex;
  justify-content:center;
}

.conocenosStory__portrait{
  width: clamp(250px, 28vw, 360px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-image: url("../img/optimized/conocenos/vitto-1.webp");
  background-repeat: no-repeat;
  /* Ajusta aquí el recorte de la foto: size = zoom, position = parte visible */
  background-size: 132%;
  background-position: 50% 42%;
  box-shadow: 0 22px 46px rgba(0,0,0,.12);
}

.conocenosStory__portrait--dionisia{
  background-image: url("../img/optimized/conocenos/vitto-2.webp");
  /* Ajusta aquí el recorte de la segunda foto: size = zoom, position = parte visible */
  background-size: 128%;
  background-position: 52% 36%;
}

.conocenosStory__portrait--centro{
  background-image: url("../img/optimized/conocenos/vitto-3.webp");
  /* Ajusta aquí el recorte de la tercera foto: size = zoom, position = parte visible */
  background-size: 138%;
  background-position: 46% 35%;
}

.conocenosStory__content{
  text-align:center;
}

.conocenosStory--reverse .conocenosStory__content{
  max-width: 760px;
  justify-self:stretch;
}

.conocenosStory__title{
  margin:0 0 18px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(26px, 2.6vw, 32px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1.7px #86223a;
  paint-order: stroke fill;
}

@supports not (-webkit-text-stroke: 1px #86223a){
  .conocenosStory__title{
    color:#86223a;
    text-shadow:
      1px 0 0 #86223a,
     -1px 0 0 #86223a,
      0 1px 0 #86223a,
      0 -1px 0 #86223a;
  }
}

.conocenosStory__text{
  max-width: 700px;
  margin:0 auto;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(18px, 1.8vw, 21.2px);
  line-height: 1.47;
  color:#111111;
}

.conocenosStory--reverse .conocenosStory__text{
  max-width: 760px;
}

.conocenosStory--reverse .conocenosStory__media{
  justify-content:flex-end;
}

@media (max-width: 980px){
  .conocenosStory__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .conocenosStory--reverse .conocenosStory__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .conocenosStory--reverse .conocenosStory__media{
    order:1;
    justify-content:center;
  }

  .conocenosStory--reverse .conocenosStory__content{
    order:2;
  }

  .conocenosStory__portrait{
    width: min(320px, 78vw);
  }

  .conocenosStory__title{
    margin-bottom: 14px;
    -webkit-text-stroke: 1.4px #86223a;
  }

  .conocenosStory__text{
    font-size: 17px;
    line-height: 1.55;
  }
}

/* ===== Página Dónde Estamos ===== */
.dondeEstamosPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.dondeHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.42)),
    url("../img/optimized/donde-estamos/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.dondeHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.dondeHero__title{
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(54px, 7.3vw, 94px);
  font-weight: 900;
  line-height: .94;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 28px rgba(0,0,0,.24);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .dondeHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 28px rgba(0,0,0,.24);
  }
}

@media (max-width: 980px){
  .dondeHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .dondeHero__inner{
    padding: 20px 14px 22px;
  }

  .dondeHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }
}

.dondeMapSection{
  width:100%;
  padding: clamp(54px, 8vw, 92px) 0;
  background:
    radial-gradient(circle at top left, rgba(63,127,196,.08), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fafb);
}

.dondeMapSection__intro{
  width:min(1180px, 92%);
  margin:0 auto 30px;
  text-align:center;
}

.dondeMapSection__eyebrow{
  margin:0 0 10px;
  color:#1f4d61;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.dondeMapSection__title{
  margin:0 0 12px;
  color:#153848;
  font-size: clamp(30px, 3.1vw, 46px);
  font-weight:900;
}

.dondeMapSection__lead{
  width:min(760px, 100%);
  margin:0 auto;
  color:#4d626e;
  font-size: clamp(16px, 1.45vw, 18px);
  line-height:1.6;
}

.dondeMapLayout{
  width:min(1180px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
  gap: clamp(24px, 4vw, 42px);
  align-items:start;
}

.dondeMapCard,
.dondeRegionPanel{
  border-radius: 28px;
  background:#ffffff;
  border:1px solid rgba(26,62,78,.08);
  box-shadow: 0 22px 46px rgba(18,55,70,.08);
}

.dondeMapCard{
  padding: clamp(18px, 2vw, 24px);
}

.dondeMapCard__canvas{
  position:relative;
  aspect-ratio: 542.76703 / 792;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(244,247,249,.98)),
    radial-gradient(circle at center, rgba(63,127,196,.06), transparent 55%);
  overflow:hidden;
  min-height: clamp(480px, 62vw, 760px);
}

.dondeMap__svg{
  display:block;
  width:100%;
  height:100%;
  margin:0 auto;
}

.dondeMap__svg path{
  fill:#f3f0e5;
  stroke:#315364;
  stroke-width:1.1;
  transition: fill .28s ease, opacity .28s ease, transform .28s ease, filter .28s ease;
}

.dondeMap__svg path.is-target{
  fill: var(--region-color, #3f7fc4);
  opacity:.62;
  cursor:pointer;
}

.dondeMap__svg path.is-target:hover,
.dondeMap__svg path.is-target:focus-visible{
  opacity:.86;
  outline:none;
}

.dondeMap__svg path.is-current{
  opacity:1;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.18));
}

.dondeMap__svg path:not(.is-target){
  opacity:.94;
}

.dondeMapPins{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.dondeMapPin{
  --pin-color:#3f7fc4;
  position:absolute;
  width:18px;
  height:18px;
  transform: translate(-50%, -50%);
  border:0;
  border-radius:999px;
  background:var(--pin-color);
  box-shadow: 0 0 0 5px rgba(255,255,255,.96), 0 14px 22px rgba(0,0,0,.18);
  cursor:pointer;
  pointer-events:auto;
  transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease;
  z-index:2;
}

.dondeMapPin::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  border:2px solid var(--pin-color);
  opacity:0;
  transform:scale(.6);
}

.dondeMapPin:hover,
.dondeMapPin:focus-visible{
  transform: translate(-50%, -50%) scale(1.08);
  outline:none;
}

.dondeMapPin.is-current::after{
  animation: donde-pin-pulse 1.9s ease-out infinite;
}

@keyframes donde-pin-pulse{
  0%{
    opacity:.78;
    transform:scale(.45);
  }
  100%{
    opacity:0;
    transform:scale(1.55);
  }
}

.dondeMapTooltip{
  position:absolute;
  left:0;
  top:0;
  z-index:3;
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(17,38,49,.92);
  color:#ffffff;
  font-size: 13px;
  font-weight:700;
  pointer-events:none;
  white-space:nowrap;
  transform: translate(12px, 12px);
  box-shadow: 0 12px 24px rgba(0,0,0,.18);
}

.dondeMapCard__hint{
  margin:14px 6px 2px;
  color:#617580;
  font-size:14px;
  text-align:center;
}

.dondeMapCard__fallback{
  margin:0;
  padding: 56px 28px;
  color:#617580;
  text-align:center;
}

.dondeRegionPanel{
  --region-accent:#3f7fc4;
  overflow:hidden;
}

.dondeRegionPanel__media{
  position:relative;
  aspect-ratio: 16 / 10;
  background: linear-gradient(180deg, rgba(17,38,49,.06), rgba(17,38,49,.12));
}

.dondeRegionPanel__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.dondeRegionPanel__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background: rgba(13, 31, 40, .72);
  color:#ffffff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
  transition: background .2s ease, transform .2s ease;
}

.dondeRegionPanel__nav:hover,
.dondeRegionPanel__nav:focus-visible{
  background: rgba(13, 31, 40, .88);
  outline:none;
}

.dondeRegionPanel__nav span{
  font-size: 28px;
  line-height:1;
}

.dondeRegionPanel__nav--prev{
  left:16px;
}

.dondeRegionPanel__nav--next{
  right:16px;
}

.dondeMapLayout[data-gallery-mode="single"] .dondeRegionPanel__nav,
.dondeRegionPanel__nav[hidden]{
  display:none !important;
}

.dondeRegionPanel__dots{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(13, 31, 40, .44);
  backdrop-filter: blur(8px);
}

.dondeRegionPanel__dot{
  width:10px;
  height:10px;
  border:0;
  border-radius:999px;
  background: rgba(255,255,255,.48);
  cursor:pointer;
  padding:0;
}

.dondeRegionPanel__dot.is-current{
  background:#ffffff;
}

.dondeMapLayout[data-gallery-mode="single"] .dondeRegionPanel__dots,
.dondeRegionPanel__dots[hidden]{
  display:none !important;
}

.dondeRegionPanel__body{
  padding: clamp(20px, 2.2vw, 28px);
  border-top: 6px solid var(--region-accent);
}

.dondeRegionPanel__header{
  margin-bottom:18px;
}

.dondeRegionPanel__back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding: 0;
  border:0;
  background:transparent;
  color: var(--region-accent);
  font-size:14px;
  font-weight:900;
  letter-spacing:.2px;
  cursor:pointer;
}

.dondeRegionPanel__back:hover,
.dondeRegionPanel__back:focus-visible{
  color:#173848;
  outline:none;
}

.dondeMapLayout[data-panel-mode="region"] .dondeRegionPanel__back,
.dondeRegionPanel__back[hidden]{
  display:none !important;
}

.dondeRegionPanel__eyebrow{
  margin:0 0 8px;
  color:var(--region-accent);
  font-size:13px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.dondeRegionPanel__title{
  margin:0 0 8px;
  color:#173848;
  font-size: clamp(30px, 3vw, 38px);
  font-weight:900;
  line-height:1.02;
}

.dondeRegionPanel__count{
  margin:0;
  color:#617580;
  font-size:14px;
  font-weight:700;
}

.dondeRegionPanel__text{
  margin:0 0 22px;
  color:#243744;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height:1.75;
}

.dondeRegionPanel__placesWrap{
  padding-top:18px;
  border-top:1px solid rgba(23,56,72,.09);
}

.dondeRegionPanel__placesLabel{
  margin:0 0 12px;
  color:#173848;
  font-size:14px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

.dondeRegionPanel__places{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
  padding:0;
}

.dondeRegionPanel__place{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border:0;
  background: color-mix(in srgb, var(--region-accent) 14%, white);
  color:#173848;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.dondeRegionPanel__place:hover,
.dondeRegionPanel__place:focus-visible{
  background: color-mix(in srgb, var(--region-accent) 22%, white);
  outline:none;
  transform: translateY(-1px);
}

.dondeRegionPanel__place.is-current{
  background: var(--region-accent);
  color:#ffffff;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--region-accent) 28%, transparent);
}

@media (max-width: 1100px){
  .dondeMapLayout{
    grid-template-columns: 1fr;
  }

  .dondeMapCard__canvas{
    min-height: 0;
  }
}

@media (max-width: 980px){
  .dondeMapSection{
    padding: 46px 0 68px;
  }

  .dondeMapCard,
  .dondeRegionPanel{
    border-radius: 22px;
  }

  .dondeMapCard__canvas{
    border-radius: 18px;
    aspect-ratio: 542.76703 / 792;
  }

  .dondeMapTooltip{
    display:none;
  }

  .dondeRegionPanel__body{
    padding: 20px 18px 22px;
  }

  .dondeRegionPanel__nav{
    width:42px;
    height:42px;
  }

  .dondeRegionPanel__nav--prev{
    left:12px;
  }

  .dondeRegionPanel__nav--next{
    right:12px;
  }

  .dondeRegionPanel__title{
    font-size: 28px;
  }

  .dondeRegionPanel__text{
    font-size:17px;
    line-height:1.65;
  }
}

@media (max-width: 640px){
  .dondeMapCard{
    padding: 14px;
  }

  .dondeMapCard__canvas{
    aspect-ratio: 542.76703 / 792;
  }

  .dondeMapPin{
    width:15px;
    height:15px;
    box-shadow: 0 0 0 4px rgba(255,255,255,.96), 0 10px 18px rgba(0,0,0,.16);
  }

  .dondeMapPin::after{
    inset:-8px;
  }

  .dondeRegionPanel__media{
    aspect-ratio: 16 / 11;
  }

  .dondeRegionPanel__nav{
    width:38px;
    height:38px;
  }

  .dondeRegionPanel__nav span{
    font-size:24px;
  }

  .dondeRegionPanel__dots{
    bottom:10px;
    gap:6px;
    padding: 6px 8px;
  }

  .dondeRegionPanel__places{
    gap:8px;
  }

  .dondeRegionPanel__place{
    width:100%;
    border-radius: 16px;
  }
}

/* ===== Paginas internas en blanco ===== */
.blankPage{
  min-height:58vh;
  background:#ffffff;
}

.tramitesPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.tramitesHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.42)),
    url("../img/optimized/tramites/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.tramitesHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.tramitesHero__title{
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(54px, 7.3vw, 94px);
  font-weight: 900;
  line-height: .94;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 28px rgba(0,0,0,.24);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .tramitesHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 28px rgba(0,0,0,.24);
  }
}

@media (max-width: 980px){
  .tramitesHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .tramitesHero__inner{
    padding: 20px 14px 22px;
  }

  .tramitesHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }
}

/* ===== Pagina Principales Logros ===== */
.logrosPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.logrosHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.56)),
    url("../img/optimized/principales-logros/portada.webp") 52% 50%/cover no-repeat;
  overflow:hidden;
}

.logrosHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 30px;
}

.logrosHero__title{
  margin:0;
  max-width: 980px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: .7px;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.22);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .logrosHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.22);
  }
}

.logrosHighlights{
  width:100%;
  padding: clamp(54px, 8vw, 92px) 0;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfaf8 100%);
}

.logrosHighlights__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 1.02fr) minmax(0, .98fr);
  align-items:center;
  gap: clamp(26px, 5vw, 64px);
}

.logrosHighlights--reverse .logrosHighlights__media{
  order:2;
}

.logrosHighlights--reverse .logrosHighlights__content{
  order:1;
}

.logrosHighlights__media{
  position:relative;
}

.logrosHighlights__photoFrame{
  position:relative;
  border-radius: 30px;
  overflow:hidden;
  box-shadow: 0 28px 56px rgba(24,50,63,.14);
}

.logrosHighlights__photoFrame::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:26%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.16));
  pointer-events:none;
}

.logrosHighlights__image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 873 / 611;
  object-fit:cover;
  object-position:center;
}

.logrosHighlights__image--caith{
  object-position: 50% 50%;
}

.logrosHighlights__image--jtip{
  object-position: 50% 52%;
}

.logrosHighlights__image--escuela{
  object-position: 50% 44%;
}

.logrosHighlights__image--binacional{
  object-position: 50% 48%;
}

.logrosHighlights__content{
  position:relative;
}

.logrosHighlights__card{
  position:relative;
  padding: clamp(26px, 4vw, 38px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.1);
}

.logrosHighlights__card::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(90px, 18vw, 160px);
  border-radius: 26px;
  background: rgba(24,72,91,.1);
  z-index:0;
}

.logrosHighlights--reverse .logrosHighlights__card::before{
  inset: 18px -18px -18px auto;
}

.logrosHighlights__list{
  position:relative;
  z-index:1;
}

.logrosHighlights__list{
  display:grid;
  gap:18px;
}

.logrosItem{
  padding: 18px 18px 18px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border:1px solid rgba(23,72,91,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.logrosItem::before{
  content:"";
  display:block;
  width:52px;
  height:4px;
  margin-bottom:14px;
  border-radius:999px;
  background:#b59a5d;
}

.logrosItem__title{
  margin:0 0 12px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(18px, 1.58vw, 22px);
  font-weight: 800;
  line-height: 1.24;
  color:#17485b;
}

.logrosItem__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(16px, 1.34vw, 18.4px);
  line-height: 1.54;
  color:#2a5666;
}

@media (max-width: 980px){
  .logrosHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 54% 50%;
  }

  .logrosHero__inner{
    padding: 20px 14px 24px;
  }

  .logrosHero__title{
    font-size: clamp(40px, 11vw, 68px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .logrosHighlights{
    padding: 42px 0 64px;
  }

  .logrosHighlights__inner{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .logrosHighlights--reverse .logrosHighlights__media,
  .logrosHighlights--reverse .logrosHighlights__content{
    order:initial;
  }

  .logrosHighlights__photoFrame{
    border-radius: 24px;
  }

  .logrosHighlights__card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .logrosHighlights__card::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .logrosHighlights--reverse .logrosHighlights__card::before{
    inset: 12px auto -12px -12px;
  }

  .logrosItem{
    padding: 16px 16px 16px 18px;
    border-radius: 18px;
  }

  .logrosItem::before{
    width: 42px;
    margin-bottom: 12px;
  }

  .logrosItem__title{
    font-size: 17px;
    line-height: 1.28;
  }

  .logrosItem__text{
    font-size: 15.5px;
    line-height: 1.5;
  }
}

/* ===== Pagina Quienes Somos ===== */
.quienesPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.quienesHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(153,56,52,.52), rgba(153,56,52,.62)),
    url("../img/optimized/quienes-somos/portada.webp") 52% 50%/cover no-repeat;
  overflow:hidden;
}

.quienesHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.quienesHero__title{
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7.2vw, 94px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .quienesHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.quienesIntro{
  width:100%;
  padding: clamp(56px, 8vw, 94px) 0;
  background:#ffffff;
}

.quienesIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(340px, 1.02fr) minmax(0, .98fr);
  align-items:center;
  gap: clamp(30px, 5vw, 72px);
}

.quienesIntro__media,
.quienesVision__media{
  position:relative;
}

.quienesIntro__imageFrame,
.quienesVision__imageFrame{
  position:relative;
  overflow:hidden;
  border-radius: 28px;
  box-shadow: 0 26px 56px rgba(21,46,58,.14);
}

.quienesIntro__image,
.quienesVision__image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 3 / 2;
  object-fit:cover;
}

.quienesIntro__image{
  object-position: 50% 52%;
}

.quienesIntro__content{
  position:relative;
}

.quienesIntro__card{
  position:relative;
  padding: clamp(28px, 4vw, 42px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.08);
}

.quienesIntro__card::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(88px, 14vw, 132px);
  border-radius: 24px;
  background: rgba(24,72,91,.1);
}

.quienesIntro__text{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(20px, 1.17vw, 25px);
  font-weight: 400;
  line-height: 1.58;
  color:#111111;
}

.quienesVision{
  width:100%;
  padding: 0 0 clamp(64px, 8vw, 110px);
  background: linear-gradient(180deg, #ffffff 0%, #faf8f6 100%);
}

.quienesVision__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr) minmax(0, 1fr);
  align-items:center;
  gap: clamp(22px, 3.8vw, 42px);
}

.quienesVision__card{
  position:relative;
  padding: clamp(22px, 3vw, 30px);
  border-radius: 28px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.1);
  border:1px solid rgba(23,72,91,.08);
}

.quienesVision__card::before{
  content:"";
  position:absolute;
  top:18px;
  bottom:-18px;
  width: clamp(78px, 10vw, 114px);
  border-radius: 24px;
  background: rgba(103, 143, 244, 0.52);
  z-index:0;
}

.quienesVision__card--vision{
  transform: translateY(-18px);
}

.quienesVision__card--vision::before{
  left:-18px;
}

.quienesVision__card--mision{
  transform: translateY(18px);
}

.quienesVision__card--mision::before{
  right:-18px;
}

.quienesVision__title{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: .8px;
  text-transform: uppercase;
  color:#17485b;
}

.quienesVision__text{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(14px, 0.8vw, 18.8px);
  line-height: 1.62;
  color:#111111;
}

.quienesVision__imageFrame{
  border-radius: 36px;
}

.quienesVision__image{
  object-position: 52% 46%;
}

@media (max-width: 980px){
  .quienesHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 54% 50%;
  }

  .quienesHero__inner{
    padding: 20px 14px 22px;
  }

  .quienesHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .quienesIntro{
    padding: 42px 0 52px;
  }

  .quienesIntro__inner,
  .quienesVision__inner{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .quienesIntro__imageFrame,
  .quienesVision__imageFrame{
    border-radius: 22px;
  }

  .quienesIntro__card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .quienesIntro__card::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .quienesIntro__text{
    font-size: 18px;
    line-height: 1.6;
  }

  .quienesVision{
    padding-bottom: 62px;
  }

  .quienesVision__card{
    padding: 18px 16px;
    border-radius: 22px;
    transform:none;
  }

  .quienesVision__card::before{
    top:12px;
    bottom:-12px;
    width: 84px;
    border-radius: 20px;
  }

  .quienesVision__card--vision::before,
  .quienesVision__card--mision::before{
    left:-12px;
    right:auto;
  }

  .quienesVision__title{
    font-size: 22px;
  }

  .quienesVision__text{
    font-size: 16px;
    line-height: 1.58;
  }
}

/* ===== Pagina Transparencia Institucional ===== */
.transparenciaPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.transparenciaHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(153,56,52,.52), rgba(153,56,52,.62)),
    url("../img/optimized/transparencia-institucional/portada.webp") 52% 50%/cover no-repeat;
  overflow:hidden;
}

.documentosHero{
  background:
    linear-gradient(180deg, rgba(92, 63, 24, .5), rgba(92, 63, 24, .66)),
    url("../img/documentos/optimized/portada.webp") 52% 50%/cover no-repeat;
}

.transparenciaIntro--reverse .transparenciaIntro__media{
  order:2;
}

.transparenciaIntro--reverse .transparenciaIntro__content{
  order:1;
}

.documentosIntro .transparenciaIntro__card{
  background: linear-gradient(145deg, rgba(241,242,243,.98), rgba(250,247,241,.98));
}

.documentosIntro .transparenciaIntro__eyebrow{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing: .22em;
  text-transform: uppercase;
  color:#8a5b1d;
}

.documentosIntro .transparenciaIntro__title{
  position:relative;
  z-index:1;
  margin:0 0 18px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight:800;
  line-height:1.08;
  color:#18485b;
}

.documentosIntro .transparenciaIntro__text{
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.74;
  color:#233b46;
}

.documentosDocs{
  padding-top: 0;
}

.documentosDocs .transparenciaDocs__inner{
  width:min(960px, 92%);
}

.documentosDocs .transparenciaDocs__grid{
  grid-template-columns: minmax(0, 420px);
  justify-content:center;
}

.transparenciaHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.transparenciaHero__title{
  margin:0;
  max-width: 980px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .transparenciaHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.transparenciaIntro{
  width:100%;
  padding: clamp(56px, 8vw, 94px) 0 clamp(64px, 8vw, 110px);
  background: linear-gradient(180deg, #ffffff 0%, #faf8f6 100%);
}

.transparenciaIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(340px, 1.08fr) minmax(0, .92fr);
  align-items:center;
  gap: clamp(30px, 5vw, 72px);
}

.transparenciaIntro__media,
.transparenciaIntro__content{
  position:relative;
}

.transparenciaIntro__imageFrame{
  position:relative;
  overflow:hidden;
  border-radius: 28px;
  box-shadow: 0 28px 58px rgba(21,46,58,.14);
}

.transparenciaIntro__imageFrame::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:22%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.12));
  pointer-events:none;
}

.transparenciaIntro__image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 1600 / 720;
  object-fit:cover;
  object-position: 50% 50%;
}

.transparenciaIntro__card{
  position:relative;
  padding: clamp(28px, 4vw, 42px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.08);
}

.transparenciaIntro__card::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(88px, 14vw, 132px);
  border-radius: 24px;
  background: rgba(24,72,91,.1);
}

.transparenciaIntro__text{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(19px, 1.85vw, 23px);
  line-height: 1.66;
  color:#111111;
}

@media (max-width: 980px){
  .transparenciaHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 54% 50%;
  }

  .documentosHero{
    background-position: 54% 50%;
  }

  .transparenciaHero__inner{
    padding: 20px 14px 22px;
  }

  .transparenciaHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .transparenciaIntro{
    padding: 42px 0 62px;
  }

  .transparenciaIntro__inner{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .transparenciaIntro__imageFrame{
    border-radius: 22px;
  }

  .transparenciaIntro__card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .transparenciaIntro__card::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .transparenciaIntro__text{
    font-size: 17px;
    line-height: 1.6;
  }

  .documentosIntro .transparenciaIntro__title{
    font-size: clamp(28px, 8.8vw, 38px);
    margin-bottom: 14px;
  }

  .documentosIntro .transparenciaIntro__text{
    font-size: 16px;
    line-height: 1.68;
  }
}

.has-transparencia-modal,
body.has-transparencia-modal{
  overflow:hidden;
}

.transparenciaDocs{
  width:100%;
  padding: 0 0 clamp(72px, 10vw, 118px);
  background: linear-gradient(180deg, #ffffff 0%, #f7f4ef 100%);
}

.transparenciaDocs__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.transparenciaDocs__heading{
  max-width: 820px;
  margin: 0 auto clamp(28px, 5vw, 44px);
  text-align:center;
}

.transparenciaDocs__eyebrow{
  margin:0 0 12px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing: .28em;
  text-transform:uppercase;
  color:#993834;
}

.transparenciaDocs__title{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.4vw, 54px);
  font-weight:700;
  line-height:1.05;
  color:#18485b;
}

.transparenciaDocs__lead{
  margin:18px auto 0;
  max-width: 720px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(17px, 1.8vw, 20px);
  line-height:1.7;
  color:#44545f;
}

.transparenciaDocs__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 24px);
}

.transparenciaDocCard{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  min-height: 286px;
  width:100%;
  padding: 28px 24px 24px;
  border:1px solid rgba(24,72,91,.08);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(153,56,52,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,238,.98));
  box-shadow: 0 22px 48px rgba(18,42,53,.08);
  text-align:left;
  cursor:pointer;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.transparenciaDocCard::before{
  content:"";
  position:absolute;
  inset: auto 24px 20px;
  height:4px;
  border-radius:999px;
  background: linear-gradient(90deg, #caa357 0%, rgba(202,163,87,0) 100%);
  opacity:.8;
}

.transparenciaDocCard:hover,
.transparenciaDocCard:focus-visible{
  transform: translateY(-6px);
  border-color: rgba(24,72,91,.18);
  box-shadow: 0 28px 56px rgba(18,42,53,.16);
}

.transparenciaDocCard:focus-visible{
  outline: 3px solid rgba(153,56,52,.18);
  outline-offset: 4px;
}

.transparenciaDocCard__icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:20px;
  color:#18485b;
  background: linear-gradient(180deg, rgba(24,72,91,.08), rgba(153,56,52,.08));
}

.transparenciaDocCard__icon svg{
  width:34px;
  height:34px;
  stroke:currentColor;
  stroke-width:2.1;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.transparenciaDocCard__title{
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 2.2vw, 34px);
  font-weight:700;
  line-height:1.12;
  color:#173f51;
}

.transparenciaDocCard__desc{
  min-height: 3.8em;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
  line-height:1.6;
  color:#4f5f69;
}

.transparenciaDocCard__meta{
  margin-top:auto;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#7d8a92;
}

.transparenciaDocCard__cta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 11px 16px;
  border-radius:999px;
  background:#18485b;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:700;
  color:#ffffff;
  transition: background .28s ease, transform .28s ease;
}

.transparenciaDocCard__cta::after{
  content:"\2192";
  font-size: 16px;
}

.transparenciaDocCard:hover .transparenciaDocCard__cta,
.transparenciaDocCard:focus-visible .transparenciaDocCard__cta{
  background:#993834;
  transform: translateX(2px);
}

.transparenciaModal{
  position:fixed;
  inset:0;
  z-index: 1200;
  display:grid;
  place-items:center;
  padding: 24px;
}

.transparenciaModal[hidden]{
  display:none !important;
}

.transparenciaModal--viewer{
  z-index: 1300;
}

.transparenciaModal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(12,21,26,.68);
  backdrop-filter: blur(6px);
}

.transparenciaModal__dialog{
  position:relative;
  z-index:1;
  width:min(100%, 860px);
  max-height: min(88vh, 980px);
  overflow:auto;
  border-radius: 30px;
  background:#ffffff;
  box-shadow: 0 36px 72px rgba(0,0,0,.24);
}

.transparenciaModal__dialog--group{
  padding: clamp(24px, 3vw, 34px);
}

.transparenciaModal__dialog--viewer{
  width:min(100%, 1240px);
  padding: 18px;
}

.transparenciaModal__close{
  position:absolute;
  top:16px;
  right:16px;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:#f1f3f4;
  color:#18485b;
  cursor:pointer;
  transition: background .24s ease, color .24s ease, transform .24s ease;
}

.transparenciaModal__close:hover,
.transparenciaModal__close:focus-visible{
  background:#18485b;
  color:#ffffff;
  transform: rotate(90deg);
  outline:none;
}

.transparenciaModal__close span{
  font-size: 30px;
  line-height:1;
}

.transparenciaModal__header{
  max-width: 620px;
  padding-right: 56px;
  margin-bottom: 26px;
}

.transparenciaModal__eyebrow{
  margin:0 0 10px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing: .24em;
  text-transform:uppercase;
  color:#993834;
}

.transparenciaModal__title{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 4vw, 42px);
  font-weight:700;
  line-height:1.08;
  color:#18485b;
}

.transparenciaModal__description{
  margin:14px 0 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
  line-height:1.7;
  color:#51616b;
}

.transparenciaDocList{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.transparenciaDocOption{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height: 188px;
  padding: 22px 20px 20px;
  border:1px solid rgba(24,72,91,.1);
  border-radius:24px;
  background: linear-gradient(180deg, #ffffff, #f7f4ef);
  text-align:left;
  cursor:pointer;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.transparenciaDocOption:hover,
.transparenciaDocOption:focus-visible{
  transform: translateY(-4px);
  border-color: rgba(153,56,52,.2);
  box-shadow: 0 20px 34px rgba(18,42,53,.1);
  outline:none;
}

.transparenciaDocOption__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 58px;
  padding: 6px 10px;
  border-radius:999px;
  background: rgba(153,56,52,.1);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#993834;
}

.transparenciaDocOption__title{
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight:700;
  line-height:1.18;
  color:#18485b;
}

.transparenciaDocOption__file{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  line-height:1.55;
  color:#5b6a73;
}

.transparenciaDocOption__cta{
  margin-top:auto;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:700;
  color:#18485b;
}

.transparenciaDocEmpty{
  padding: 28px 24px;
  border:1px dashed rgba(24,72,91,.18);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(247,244,239,.9), rgba(255,255,255,.96));
}

.transparenciaDocEmpty__title{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight:700;
  color:#18485b;
}

.transparenciaDocEmpty__text{
  margin:14px 0 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  line-height:1.68;
  color:#53626b;
}

.transparenciaViewer__topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.transparenciaViewer__meta{
  min-width:0;
}

.transparenciaViewer__eyebrow{
  margin:0 0 8px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing: .22em;
  text-transform:uppercase;
  color:#993834;
}

.transparenciaViewer__title{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 3.2vw, 40px);
  font-weight:700;
  line-height:1.1;
  color:#18485b;
}

.transparenciaViewer__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.transparenciaViewer__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 44px;
  padding: 10px 16px;
  border:1px solid rgba(24,72,91,.16);
  border-radius:999px;
  background:#ffffff;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:700;
  color:#18485b;
  cursor:pointer;
  text-decoration:none;
  transition: background .24s ease, color .24s ease, border-color .24s ease, transform .24s ease;
}

.transparenciaViewer__button:hover,
.transparenciaViewer__button:focus-visible{
  border-color:#18485b;
  background:#18485b;
  color:#ffffff;
  transform: translateY(-1px);
  outline:none;
}

.transparenciaViewer__button:disabled{
  opacity:.42;
  cursor:default;
  pointer-events:none;
  transform:none;
}

.transparenciaViewer__button--close{
  background:#993834;
  border-color:#993834;
  color:#ffffff;
}

.transparenciaViewer__button--close:hover,
.transparenciaViewer__button--close:focus-visible{
  background:#7d2e2a;
  border-color:#7d2e2a;
}

.transparenciaViewer__frameWrap{
  overflow:hidden;
  border:1px solid rgba(24,72,91,.12);
  border-radius: 24px;
  background:#eaf0f2;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.transparenciaViewer__frame{
  display:block;
  width:100%;
  height:min(72vh, 860px);
  border:0;
  background:#ffffff;
}

.transparenciaViewer__helper{
  margin: 12px 4px 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  line-height:1.55;
  color:#69767d;
}

@media (max-width: 1100px){
  .transparenciaDocs__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .transparenciaDocList{
    grid-template-columns: 1fr;
  }

  .transparenciaViewer__topbar{
    flex-direction:column;
  }

  .transparenciaViewer__actions{
    justify-content:flex-start;
  }
}

@media (max-width: 780px){
  .transparenciaDocs{
    padding-bottom: 72px;
  }

  .transparenciaDocs__title{
    font-size: clamp(30px, 10vw, 42px);
  }

  .transparenciaDocs__lead{
    font-size: 16px;
    line-height:1.64;
  }

  .transparenciaDocs__grid{
    grid-template-columns: 1fr;
  }

  .documentosDocs .transparenciaDocs__grid{
    grid-template-columns: 1fr;
  }

  .transparenciaDocCard{
    min-height: auto;
    padding: 22px 18px 20px;
    border-radius: 22px;
  }

  .transparenciaDocCard::before{
    inset:auto 18px 16px;
  }

  .transparenciaDocCard__title{
    font-size: 28px;
  }

  .transparenciaModal{
    padding: 14px;
  }

  .transparenciaModal__dialog{
    border-radius: 22px;
  }

  .transparenciaModal__dialog--group,
  .transparenciaModal__dialog--viewer{
    width:100%;
    max-height: calc(100vh - 28px);
  }

  .transparenciaModal__dialog--group{
    padding: 22px 18px 18px;
  }

  .transparenciaModal__dialog--viewer{
    padding: 14px;
  }

  .transparenciaModal__header{
    padding-right: 50px;
    margin-bottom: 20px;
  }

  .transparenciaModal__title{
    font-size: 30px;
  }

  .transparenciaDocOption{
    min-height:auto;
    padding: 18px 16px;
    border-radius:20px;
  }

  .transparenciaDocOption__title{
    font-size: 22px;
  }

  .transparenciaDocEmpty{
    padding: 22px 18px;
    border-radius:20px;
  }

  .transparenciaDocEmpty__title{
    font-size: 24px;
  }

  .transparenciaDocEmpty__text{
    font-size: 16px;
  }

  .transparenciaViewer__title{
    font-size: 28px;
  }

  .transparenciaViewer__actions{
    width:100%;
  }

  .transparenciaViewer__button{
    flex: 1 1 140px;
  }

  .transparenciaViewer__frame{
    height: 62vh;
  }
}

/* ===== Pagina Equipo de Trabajo ===== */
.equipoPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.equipoHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(153,56,52,.52), rgba(153,56,52,.62)),
    url("../img/optimized/equipo-trabajo/portada.webp") 50% 48%/cover no-repeat;
  overflow:hidden;
}

.equipoHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.equipoHero__title{
  margin:0;
  max-width: 1040px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .equipoHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.equipoIntro{
  width:100%;
  padding: clamp(58px, 8vw, 98px) 0 clamp(64px, 8vw, 112px);
  background: linear-gradient(180deg, #ffffff 0%, #fbf8f5 100%);
}

.equipoIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, .94fr) minmax(340px, 1.06fr);
  align-items:center;
  gap: clamp(30px, 5vw, 72px);
}

.equipoIntro__content,
.equipoIntro__media{
  position:relative;
}

.equipoIntro__card{
  position:relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.08);
}

.equipoIntro__card::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(88px, 14vw, 132px);
  border-radius: 24px;
  background: rgba(24,72,91,.1);
}

.equipoIntro__text{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(16px, 1vw, 18px);
  line-height:1.72;
  color:#111111;
}

.equipoIntro__text + .equipoIntro__text{
  margin-top: 22px;
}

.equipoIntro__imageFrame{
  position:relative;
  overflow:hidden;
  border-radius: 28px;
  box-shadow: 0 28px 58px rgba(21,46,58,.14);
}

.equipoIntro__imageFrame::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:22%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.12));
  pointer-events:none;
}

.equipoIntro__image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 1600 / 1067;
  object-fit:cover;
  object-position: 50% 48%;
}

.equipoChart{
  width:100%;
  padding: 0 0 clamp(72px, 10vw, 122px);
  background: linear-gradient(180deg, #fbf8f5 0%, #ffffff 100%);
}

.equipoChart__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.equipoChart__heading{
  max-width: 820px;
  margin:0 auto clamp(28px, 5vw, 42px);
  text-align:center;
}

.equipoChart__eyebrow{
  margin:0 0 12px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#993834;
}

.equipoChart__title{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight:700;
  line-height:1.06;
  color:#18485b;
}

.equipoChart__panel{
  position:relative;
  padding: clamp(14px, 2vw, 22px);
  border:1px solid rgba(24,72,91,.08);
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(153,56,52,.08), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,238,.98));
  box-shadow: 0 28px 60px rgba(18,42,53,.1);
}

.equipoChart__panel::before{
  content:"";
  position:absolute;
  inset: auto 28px -14px;
  height:26px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(24,72,91,.16) 0%, rgba(24,72,91,0) 70%);
  filter: blur(18px);
  pointer-events:none;
}

.equipoChart__preview{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius: 24px;
  border:1px solid rgba(24,72,91,.1);
  background:#ffffff;
  transition: transform .28s ease, box-shadow .28s ease;
}

.equipoChart__preview:hover,
.equipoChart__preview:focus-visible{
  transform: translateY(-4px);
  box-shadow: 0 22px 40px rgba(18,42,53,.14);
  outline:none;
}

.equipoChart__image{
  display:block;
  width:100%;
  height:auto;
}

.equipoChart__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap: 14px;
  margin-top: 28px;
}

.equipoChart__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 48px;
  padding: 12px 20px;
  border:1px solid rgba(24,72,91,.16);
  border-radius: 999px;
  background:#ffffff;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:700;
  color:#18485b;
  text-decoration:none;
  transition: background .24s ease, color .24s ease, border-color .24s ease, transform .24s ease;
}

.equipoChart__button:hover,
.equipoChart__button:focus-visible{
  border-color:#18485b;
  background:#18485b;
  color:#ffffff;
  transform: translateY(-1px);
  outline:none;
}

.equipoChart__button--primary{
  background:#993834;
  border-color:#993834;
  color:#ffffff;
}

.equipoChart__button--primary:hover,
.equipoChart__button--primary:focus-visible{
  background:#7d2e2a;
  border-color:#7d2e2a;
}

@media (max-width: 980px){
  .equipoHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 48%;
  }

  .equipoHero__inner{
    padding: 20px 14px 22px;
  }

  .equipoHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .equipoIntro{
    padding: 42px 0 64px;
  }

  .equipoIntro__inner{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .equipoIntro__card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .equipoIntro__card::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .equipoIntro__text{
    font-size: 17px;
    line-height:1.64;
  }

  .equipoIntro__imageFrame{
    border-radius: 22px;
  }

  .equipoChart{
    padding-bottom: 74px;
  }

  .equipoChart__title{
    font-size: clamp(30px, 10vw, 42px);
  }

  .equipoChart__panel{
    padding: 12px;
    border-radius: 24px;
  }

  .equipoChart__preview{
    border-radius: 18px;
  }
}

/* ===== Pagina Intercambio Cultural ===== */
.intercambioPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.intercambioHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(153,56,52,.52), rgba(153,56,52,.62)),
    url("../img/optimized/intercambio-cultural/portada.webp") 50% 46%/cover no-repeat;
  overflow:hidden;
}

.intercambioHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.intercambioHero__title{
  margin:0;
  max-width: 1040px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .intercambioHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.intercambioIntro{
  width:100%;
  padding: clamp(58px, 8vw, 98px) 0 clamp(72px, 9vw, 118px);
  background: linear-gradient(180deg, #ffffff 0%, #faf7f3 100%);
}

.intercambioIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, .94fr) minmax(340px, 1.06fr);
  align-items:center;
  gap: clamp(30px, 5vw, 72px);
}

.intercambioIntro__content,
.intercambioIntro__media{
  position:relative;
}

.intercambioIntro__card{
  position:relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.08);
}

.intercambioIntro__card::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(88px, 14vw, 132px);
  border-radius: 24px;
  background: rgba(24,72,91,.1);
}

.intercambioIntro__text,
.intercambioIntro__calloutText{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(16px, 1vw, 18px);
  line-height:1.72;
  color:#111111;
}

.intercambioIntro__callout{
  position:relative;
  z-index:1;
  margin-top: 28px;
  padding: 22px 22px 20px;
  border:1px solid rgba(153,56,52,.12);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.92)),
    linear-gradient(180deg, rgba(153,56,52,.08), rgba(24,72,91,.06));
}

.intercambioIntro__callout::before{
  content:"";
  position:absolute;
  inset: 0 auto 0 0;
  width: 6px;
  border-radius: 24px 0 0 24px;
  background: linear-gradient(180deg, #993834, #caa357);
}

.intercambioIntro__question{
  margin:0 0 12px;
  padding-left: 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.8vw, 38px);
  font-weight:700;
  line-height:1.1;
  color:#18485b;
}

.intercambioIntro__mail{
  color:#993834;
  font-weight:700;
  text-decoration:none;
  border-bottom: 1px solid rgba(153,56,52,.3);
}

.intercambioIntro__mail:hover,
.intercambioIntro__mail:focus-visible{
  color:#7d2e2a;
  border-bottom-color:#7d2e2a;
  outline:none;
}

.intercambioIntro__carousel{
  position:relative;
  overflow:hidden;
  border-radius: 28px;
  box-shadow: 0 28px 58px rgba(21,46,58,.14);
  aspect-ratio: 1600 / 1067;
  background: #dbe5ea;
}

.intercambioIntro__carousel::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:22%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.12));
  pointer-events:none;
  z-index:2;
}

.intercambioIntro__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform: scale(1.025);
  transition: opacity .55s ease, transform .85s ease;
  pointer-events:none;
}

.intercambioIntro__slide.is-active{
  opacity:1;
  transform: scale(1);
  pointer-events:auto;
}

.intercambioIntro__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: 50% 46%;
}

.intercambioIntro__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  color:#ffffff;
  background: rgba(17, 33, 41, .38);
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
  backdrop-filter: blur(6px);
  transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.intercambioIntro__nav:hover,
.intercambioIntro__nav:focus-visible{
  background: rgba(17, 33, 41, .58);
  outline:none;
}

.intercambioIntro__nav:active{
  transform:translateY(-50%) scale(.96);
}

.intercambioIntro__nav svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.intercambioIntro__nav--prev{
  left:16px;
}

.intercambioIntro__nav--next{
  right:16px;
}

@media (max-width: 980px){
  .intercambioHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 46%;
  }

  .intercambioHero__inner{
    padding: 20px 14px 22px;
  }

  .intercambioHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .intercambioIntro{
    padding: 42px 0 72px;
  }

  .intercambioIntro__inner{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .intercambioIntro__card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .intercambioIntro__card::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .intercambioIntro__text,
  .intercambioIntro__calloutText{
    font-size: 17px;
    line-height:1.64;
  }

  .intercambioIntro__callout{
    margin-top: 22px;
    padding: 18px 18px 16px;
    border-radius: 20px;
  }

  .intercambioIntro__question{
    font-size: 30px;
  }

  .intercambioIntro__carousel{
    border-radius: 22px;
  }

  .intercambioIntro__nav{
    width:42px;
    height:42px;
  }

  .intercambioIntro__nav--prev{
    left:12px;
  }

  .intercambioIntro__nav--next{
    right:12px;
  }
}

/* ===== Pagina Nuestros Aliados ===== */
.aliadosPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.aliadosHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(153,56,52,.52), rgba(153,56,52,.62)),
    url("../img/optimized/nuestros-aliados/portada.webp") 50% 48%/cover no-repeat;
  overflow:hidden;
}

.aliadosHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.aliadosHero__title{
  margin:0;
  max-width: 1040px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .aliadosHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.aliadosStories{
  width:100%;
  padding: clamp(58px, 8vw, 98px) 0 clamp(62px, 8vw, 96px);
  background: linear-gradient(180deg, #ffffff 0%, #fbf8f5 52%, #ffffff 100%);
}

.aliadosStory{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(340px, 1.06fr) minmax(0, .94fr);
  align-items:center;
  gap: clamp(30px, 5vw, 72px);
}

.aliadosStory + .aliadosStory{
  margin-top: clamp(48px, 7vw, 86px);
}

.aliadosStory--reverse{
  grid-template-columns: minmax(0, .94fr) minmax(340px, 1.06fr);
}

.aliadosStory__media,
.aliadosStory__content{
  position:relative;
}

.aliadosStory__imageFrame{
  position:relative;
  overflow:hidden;
  border-radius: 28px;
  box-shadow: 0 28px 58px rgba(21,46,58,.14);
}

.aliadosStory__imageFrame::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:22%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.12));
  pointer-events:none;
}

.aliadosStory__image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 1600 / 1067;
  object-fit:cover;
  object-position: 50% 50%;
}

.aliadosStory__image--one{
  object-position: 50% 50%;
}

.aliadosStory__image--two{
  object-position: 50% 48%;
}

.aliadosStory__image--three{
  aspect-ratio: 1600 / 1120;
  object-position: 50% 48%;
}

.aliadosStory__image--four{
  object-position: 50% 48%;
}

.aliadosStory__card{
  position:relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.08);
}

.aliadosStory__card::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(88px, 14vw, 132px);
  border-radius: 24px;
  background: rgba(24,72,91,.1);
}

.aliadosStory--reverse .aliadosStory__card::before{
  inset: 18px -18px -18px auto;
}

.aliadosStory__text{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(18px, 1.62vw, 21px);
  line-height:1.72;
  color:#111111;
}

.nuestrosAliadosPartners{
  padding: 40px 0 60px;
  background:#ffffff;
}

.nuestrosAliadosPartners__inner{
  width:min(1100px, 92%);
}

.nuestrosAliadosPartners__title{
  font-family: inherit;
  font-size: clamp(28px, 3vw, 44px);
  font-weight:900;
  color:#1d4b5c;
}

.nuestrosAliadosPartners .partnersSwiper{
  padding: 24px 0 10px;
}

.nuestrosAliadosPartnerCard{
  width: 320px;
  display:grid;
  place-items:center;
  min-height: 142px;
  padding: 26px 20px;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}

.nuestrosAliadosPartnerCard img{
  height: 150px;
  margin:0;
  object-fit:contain;
  border-radius: 0;
}

@media (max-width: 980px){
  .aliadosHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 48%;
  }

  .aliadosHero__inner{
    padding: 20px 14px 22px;
  }

  .aliadosHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .aliadosStories{
    padding: 42px 0 64px;
  }

  .aliadosStory,
  .aliadosStory--reverse{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .aliadosStory + .aliadosStory{
    margin-top: 46px;
  }

  .aliadosStory__card{
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .aliadosStory__card::before,
  .aliadosStory--reverse .aliadosStory__card::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .aliadosStory__text{
    font-size: 17px;
    line-height:1.64;
  }

  .aliadosStory__imageFrame{
    border-radius: 22px;
  }

  .nuestrosAliadosPartners{
    padding: 40px 0 60px;
  }

  .nuestrosAliadosPartnerCard{
    width: 280px;
    min-height: 136px;
    padding: 24px 20px;
  }

  .nuestrosAliadosPartnerCard img{
    height: 86px;
  }
}

/* ===== Pagina Spots Radiales ===== */
.spotsPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.spotsHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(249,115,22,.54), rgba(153,56,52,.48)),
    url("../img/optimized/spots-radiales/portada.webp") 50% 48%/cover no-repeat;
  overflow:hidden;
}

.spotsHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.spotsHero__title{
  margin:0;
  max-width: 1040px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .spotsHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.spotsIntro{
  width:100%;
  padding: clamp(52px, 7vw, 84px) 0 clamp(54px, 8vw, 92px);
  background:
    radial-gradient(circle at 12% 20%, rgba(249,115,22,.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #fbf7f2 100%);
}

.spotsIntro__inner{
  position:relative;
  width:min(920px, 90%);
  margin:0 auto;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 30px;
  background:#f1f2f3;
  box-shadow: 0 24px 52px rgba(18,42,53,.08);
}

.spotsIntro__inner::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(88px, 14vw, 132px);
  border-radius: 24px;
  background: rgba(249,115,22,.12);
}

.spotsIntro__eyebrow{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:#b45309;
}

.spotsIntro__text{
  position:relative;
  z-index:1;
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(19px, 1.85vw, 23px);
  line-height:1.72;
  color:#111111;
}

@media (max-width: 980px){
  .spotsHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 48%;
  }

  .spotsHero__inner{
    padding: 20px 14px 22px;
  }

  .spotsHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .spotsIntro{
    padding: 42px 0 64px;
  }

  .spotsIntro__inner{
    width: min(92%, 720px);
    padding: 22px 18px 20px;
    border-radius: 24px;
  }

  .spotsIntro__inner::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .spotsIntro__eyebrow{
    font-size: 12px;
    letter-spacing:.22em;
  }

  .spotsIntro__text{
    font-size: 17px;
    line-height:1.64;
  }
}

.spotsAudio{
  --spots-accent:#f97316;
  width:100%;
  padding: 0 0 clamp(74px, 10vw, 124px);
  background: linear-gradient(180deg, #fbf7f2 0%, #ffffff 100%);
}

.spotsAudio__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.spotsAudio__heading{
  max-width: 820px;
  margin:0 auto clamp(28px, 5vw, 44px);
  text-align:center;
}

.spotsAudio__eyebrow{
  margin:0 0 12px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#b45309;
}

.spotsAudio__title{
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight:700;
  line-height:1.06;
  color:#18485b;
}

.spotsAudio__lead{
  margin:18px auto 0;
  max-width: 720px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(17px, 1.8vw, 20px);
  line-height:1.68;
  color:#4a5962;
}

.spotsAudio__filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap: 12px;
  margin-bottom: clamp(24px, 4vw, 34px);
}

.spotsAudio__filter{
  min-height:44px;
  padding: 10px 18px;
  border:1px solid rgba(24,72,91,.14);
  border-radius:999px;
  background:#ffffff;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:800;
  color:#18485b;
  cursor:pointer;
  transition: background .24s ease, color .24s ease, border-color .24s ease, transform .24s ease;
}

.spotsAudio__filter:hover,
.spotsAudio__filter:focus-visible,
.spotsAudio__filter.is-active{
  border-color:var(--spots-accent);
  background:var(--spots-accent);
  color:#ffffff;
  transform: translateY(-1px);
  outline:none;
}

.spotsAudio__layout{
  display:grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .82fr);
  gap: clamp(24px, 4vw, 42px);
  align-items:start;
}

.spotsNow{
  position:sticky;
  top: 92px;
  overflow:hidden;
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 14%, rgba(249,115,22,.22), transparent 34%),
    linear-gradient(145deg, #143f50 0%, #0f2630 58%, #321b16 100%);
  box-shadow: 0 30px 70px rgba(18,42,53,.18);
  color:#ffffff;
}

.spotsNow__coverWrap{
  position:relative;
  height: clamp(280px, 38vw, 438px);
  overflow:hidden;
}

.spotsNow__cover{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:.92;
  transition: opacity .35s ease, transform .35s ease;
}

.spotsNow.is-playing .spotsNow__cover,
.spotsAudio.is-playing .spotsNow__cover{
  transform: scale(1.025);
}

.spotsNow__coverWrap::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(12,21,26,.78) 100%);
}

.spotsNow__pulse{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:2;
  width:54px;
  height:54px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.8);
}

.spotsNow__pulse::before,
.spotsNow__pulse::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  background:var(--spots-accent);
  opacity:.9;
}

.spotsNow__pulse::after{
  inset:-8px;
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
  animation: spotsPulse 1.7s ease-out infinite;
  opacity:0;
}

@keyframes spotsPulse{
  0%{ transform:scale(.8); opacity:.7; }
  100%{ transform:scale(1.45); opacity:0; }
}

.spotsNow__body{
  padding: clamp(24px, 3.4vw, 36px);
}

.spotsNow__category{
  margin:0 0 10px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#ffcf9f;
}

/* ===== Letras en la parte de la izquierda===== */
.spotsNow__title{
  margin:0 0 24px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight:800;
  line-height:1.12;
  color:#ffffff;
}

.spotsNow__progressRow{
  display:grid;
  grid-template-columns: 54px minmax(0, 1fr) 54px;
  align-items:center;
  gap: 12px;
}

.spotsNow__time{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  color:rgba(255,255,255,.78);
}

.spotsNow__progress,
.spotsNow__volume input{
  width:100%;
  accent-color: var(--spots-accent);
}

.spotsNow__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top: 24px;
}

.spotsNow__play{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border:0;
  border-radius:50%;
  background:var(--spots-accent);
  color:#ffffff;
  font-size: 28px;
  cursor:pointer;
  box-shadow: 0 16px 30px rgba(0,0,0,.24);
  transition: transform .24s ease, background .24s ease;
}

.spotsNow__play:hover,
.spotsNow__play:focus-visible{
  transform: translateY(-2px) scale(1.02);
  background:#fb923c;
  outline:none;
}

.spotsNow__volume{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 190px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  color:rgba(255,255,255,.76);
}

.spotsPlaylist{
  display:flex;
  flex-direction:column;
  gap: 18px;
}

.spotsPlaylist__group{
  overflow:hidden;
  border:1px solid rgba(24,72,91,.08);
  border-radius: 28px;
  background:#ffffff;
  box-shadow: 0 20px 46px rgba(18,42,53,.08);
}

.spotsPlaylist__group[hidden]{
  display:none;
}

.spotsPlaylist__groupHeader{
  padding: 22px 22px 18px;
  background: linear-gradient(180deg, #f7f4ef, #ffffff);
}

.spotsPlaylist__groupTitle{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 28px;
  font-weight:800;
  color:#18485b;
}

.spotsPlaylist__groupDesc{
  margin:8px 0 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  line-height:1.5;
  color:#58666f;
}

.spotsPlaylist__tracks{
  display:flex;
  flex-direction:column;
  padding: 8px;
}

.spotsTrack{
  display:grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items:center;
  gap: 12px;
  width:100%;
  padding: 14px;
  border:0;
  border-radius: 18px;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition: background .22s ease, transform .22s ease;
}

.spotsTrack:hover,
.spotsTrack:focus-visible,
.spotsTrack.is-active{
  background: rgba(249,115,22,.1);
  transform: translateX(2px);
  outline:none;
}

.spotsTrack__play{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#18485b;
  color:#ffffff;
  font-size: 15px;
}

.spotsTrack.is-active .spotsTrack__play,
.spotsTrack.is-playing .spotsTrack__play{
  background:var(--spots-accent);
}

.spotsTrack__content{
  min-width:0;
}

.spotsTrack__title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:800;
  color:#1d3540;
}

.spotsTrack__meta{
  display:block;
  margin-top:4px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  color:#71808a;
}

.spotsTrack__duration{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  color:#6b7982;
}

@media (max-width: 1020px){
  .spotsAudio__layout{
    grid-template-columns: 1fr;
  }

  .spotsNow{
    position:relative;
    top:auto;
  }
}

@media (max-width: 700px){
  .spotsAudio{
    padding-bottom: 72px;
  }

  .spotsAudio__title{
    font-size: clamp(30px, 10vw, 42px);
  }

  .spotsAudio__lead{
    font-size: 16px;
    line-height:1.64;
  }

  .spotsAudio__filters{
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom: 8px;
    flex-wrap:nowrap;
  }

  .spotsAudio__filter{
    flex: 0 0 auto;
  }

  .spotsNow{
    border-radius: 26px;
  }

  .spotsNow__coverWrap{
    height: 260px;
  }

  .spotsNow__body{
    padding: 22px 18px;
  }

  .spotsNow__progressRow{
    grid-template-columns: 46px minmax(0, 1fr) 46px;
    gap:8px;
  }

  .spotsNow__controls{
    align-items:flex-start;
    flex-direction:column;
  }

  .spotsNow__volume{
    width:100%;
    min-width:0;
  }

  .spotsPlaylist__group{
    border-radius: 22px;
  }

  .spotsPlaylist__groupHeader{
    padding: 18px 16px 14px;
  }

  .spotsPlaylist__groupTitle{
    font-size: 24px;
  }

  .spotsTrack{
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .spotsTrack__duration{
    grid-column: 2;
    justify-self:start;
  }
}

/* ===== Pagina Canciones ===== */
.cancionesPage{
  width:100%;
  margin:0 auto;
  background:#ffffff;
}

.cancionesHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(249,115,22,.54), rgba(153,56,52,.48)),
    url("../img/optimized/canciones/portada.webp") 50% 48%/cover no-repeat;
  overflow:hidden;
}

.cancionesHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.cancionesHero__title{
  margin:0;
  max-width: 1040px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .cancionesHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

@media (max-width: 980px){
  .cancionesHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 48%;
  }

  .cancionesHero__inner{
    padding: 20px 14px 22px;
  }

  .cancionesHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }
}

.cancionesList{
  width:100%;
  padding: clamp(40px, 6vw, 68px) 0 clamp(74px, 10vw, 122px);
  background: linear-gradient(180deg, #ffffff 0%, #faf7f2 100%);
}

.cancionesList__inner{
  width:min(1180px, 92%);
  margin:0 auto;
}

.cancionesList__items{
  display:flex;
  flex-direction:column;
  gap: 20px;
}

.cancionRow{
  display:grid;
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1fr);
  align-items:center;
  gap: clamp(22px, 4vw, 30px);
  padding: clamp(18px, 3vw, 24px);
  border-radius: 28px;
  background:#ffffff;
  box-shadow: 0 22px 48px rgba(18,42,53,.08);
}

.songCard{
  --song-bg-start:#a1bf45;
  --song-bg-end:#8dad34;
  position:relative;
  overflow:hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--song-bg-start), var(--song-bg-end));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}

.songCard--sky{
  --song-bg-start:#3fa1ea;
  --song-bg-end:#2688d3;
}

.songCard__body{
  position:relative;
  padding: 22px 22px 18px;
}

.songCard__body::before{
  content:"";
  position:absolute;
  inset: 16px auto auto 16px;
  width:52px;
  height:52px;
  border-radius:50%;
  background: rgba(255,255,255,.08);
  filter: blur(2px);
}

.songCard__title{
  margin:0 0 16px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(20px, 2.1vw, 28px);
  font-weight:800;
  line-height:1.18;
  text-align:center;
  color:#ffffff;
}

.songCard__wave{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap: 5px;
  height: 74px;
  margin: 0 0 16px;
  padding: 0 8px;
}

.songCard__waveBar{
  width: 7px;
  height: var(--wave-height);
  min-height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.42));
  opacity:.68;
  transform-origin: center bottom;
  animation: songWave 1.55s ease-in-out infinite;
  animation-delay: var(--wave-delay, 0s);
  animation-play-state: paused;
}

.songCard--sky .songCard__waveBar{
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(214,241,255,.44));
}

.songCard.is-playing .songCard__waveBar{
  animation-play-state: running;
  opacity:.96;
}

@keyframes songWave{
  0%, 100%{ transform: scaleY(.35); }
  50%{ transform: scaleY(1.08); }
}

.songCard__controlsRow{
  display:grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 42px;
  align-items:center;
  gap: 12px;
}

.songCard__play{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background: rgba(255,255,255,.12);
  color:#ffffff;
  font-size: 16px;
  cursor:pointer;
  transition: background .22s ease, transform .22s ease;
}

.songCard__play:hover,
.songCard__play:focus-visible{
  background: rgba(255,255,255,.2);
  transform: translateY(-1px);
  outline:none;
}

.songCard__progress,
.songCard__volume{
  width:100%;
  accent-color:#ffffff;
}

.songCard__timing{
  display:inline-flex;
  align-items:center;
  gap: 4px;
  justify-self:end;
}

.songCard__time,
.songCard__duration,
.songCard__timeDivider{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  color:rgba(255,255,255,.9);
}

.songCard__volumeWrap{
  position:relative;
  justify-self:end;
}

.songCard__volumeToggle{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background: rgba(255,255,255,.12);
  color:#ffffff;
  cursor:pointer;
  transition: background .22s ease, transform .22s ease;
}

.songCard__volumeToggle:hover,
.songCard__volumeToggle:focus-visible{
  background: rgba(255,255,255,.2);
  transform: translateY(-1px);
  outline:none;
}

.songCard__volumeIcon{
  display:block;
  font-size: 18px;
  line-height:1;
}

.songCard__volumePopover{
  position:absolute;
  right:0;
  bottom: calc(100% + 12px);
  z-index: 2;
  width: min(176px, 72vw);
  padding: 12px;
  border-radius: 16px;
  background: rgba(16,25,33,.92);
  box-shadow: 0 16px 34px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
}

.songCard__volumePopover[hidden]{
  display:none !important;
}

.songCard__volumePanel{
  display:grid;
  gap: 10px;
}

.songCard__volumeLabel{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}

.songCard.is-playing .songCard__play{
  background: rgba(255,255,255,.26);
}

.songInfo{
  padding: 8px 0;
}

.songInfo__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(17px, 1.55vw, 20px);
  line-height:1.72;
  color:#111111;
}

.songInfo__video{
  display:inline-flex;
  align-items:center;
  margin-top: 12px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:800;
  color:#f97316;
  text-decoration:none;
}

.songInfo__video:hover,
.songInfo__video:focus-visible{
  color:#c55f0d;
  outline:none;
}

@media (max-width: 980px){
  .cancionesList{
    padding: 34px 0 72px;
  }

  .cancionRow{
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
    border-radius: 22px;
  }

  .songCard{
    border-radius: 20px;
  }

  .songCard__body{
    padding: 20px 18px 16px;
  }

  .songCard__title{
    font-size: 22px;
    margin-bottom: 14px;
  }

  .songInfo__text{
    font-size: 16px;
    line-height:1.64;
  }

  .songInfo__video{
    font-size: 16px;
  }

  .songCard__wave{
    height: 60px;
    gap: 4px;
    margin-bottom: 14px;
  }

  .songCard__waveBar{
    width: 6px;
  }
}

@media (max-width: 640px){
  .songCard__controlsRow{
    grid-template-columns: 42px minmax(0, 1fr) 40px;
    gap:8px;
  }

  .songCard__timing{
    grid-column: 1 / -1;
    justify-self:end;
  }

  .songCard__play{
    width:40px;
    height:40px;
  }

  .songCard__volumeToggle{
    width:36px;
    height:36px;
  }

  .songCard__volumePopover{
    width: min(168px, 76vw);
  }

  .songCard__time,
  .songCard__duration,
  .songCard__timeDivider{
    font-size: 13px;
  }
}

.publicacionesHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(249,115,22,.54), rgba(153,56,52,.48)),
    url("../img/publicaciones/portada.jpg") 50% 48%/cover no-repeat;
  overflow:hidden;
}

.publicacionesHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 28px;
}

.publicacionesHero__title{
  margin:0;
  max-width: 1040px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7vw, 90px);
  font-weight:900;
  line-height:.95;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .publicacionesHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

@media (max-width: 980px){
  .publicacionesHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 48%;
  }

  .publicacionesHero__inner{
    padding: 20px 14px 22px;
  }

  .publicacionesHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }
}

.publicacionesShelf{
  width:100%;
  padding: clamp(34px, 5vw, 54px) 0 clamp(78px, 10vw, 120px);
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.10), transparent 28%),
    linear-gradient(180deg, #fffdf8 0%, #f7f3ec 100%);
}

.publicacionesShelf__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.publicacionesTabs{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
  margin-bottom: 24px;
}

.publicacionesTab{
  appearance:none;
  border:1px solid rgba(16,49,63,.14);
  border-radius: 999px;
  padding: 14px 22px;
  background: rgba(255,255,255,.82);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
  font-weight:800;
  color:#2c5b70;
  box-shadow: 0 10px 24px rgba(18,42,53,.05);
  cursor:pointer;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.publicacionesTab:hover:not([disabled]),
.publicacionesTab:focus-visible:not([disabled]){
  transform: translateY(-1px);
  outline:none;
  border-color:#f2a154;
}

.publicacionesTab.is-active{
  border-color:#f2a154;
  background:#ffffff;
  color:#10313f;
  box-shadow: 0 16px 32px rgba(18,42,53,.08);
}

.publicacionesTab[disabled]{
  opacity:.82;
  cursor:default;
}

.publicacionesPanel{
  padding: clamp(22px, 3vw, 30px);
  border-radius: 30px;
  background:#ffffff;
  box-shadow: 0 26px 56px rgba(18,42,53,.08);
}

.publicacionesPanel[hidden]{
  display:none !important;
}

.publicacionesIntro{
  display:grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, .55fr);
  gap: clamp(22px, 4vw, 34px);
  align-items:start;
  padding: clamp(20px, 3vw, 26px);
  border-radius: 26px;
  background: linear-gradient(180deg, #fffaf3 0%, #fff 100%);
  border: 1px solid rgba(242,161,84,.18);
}

.publicacionesIntro__title{
  margin:0 0 14px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight:800;
  line-height:1.05;
  color:#10313f;
}

.publicacionesIntro__text{
  margin:0 0 16px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height:1.74;
  color:#233742;
}

.publicacionesIntro__text:last-child{
  margin-bottom:0;
}

.publicacionesIntro__meta{
  display:grid;
  gap: 16px;
  padding: 18px 18px 20px;
  border-radius: 22px;
  background: linear-gradient(160deg, #10313f, #1f5167);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
}

.publicacionesIntro__stat{
  display:grid;
  gap: 2px;
}

.publicacionesIntro__stat strong{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(44px, 5vw, 62px);
  line-height:.9;
  font-weight: 900;
  color:#ffffff;
}

.publicacionesIntro__stat span,
.publicacionesIntro__metaText{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  line-height:1.65;
  color:rgba(255,255,255,.86);
}

.boletinesGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 28px);
  margin-top: clamp(28px, 4vw, 36px);
}

.boletinCard{
  display:grid;
  grid-template-rows: auto 1fr;
  height:100%;
  overflow:hidden;
  border-radius: 24px;
  background:#ffffff;
  box-shadow: 0 22px 42px rgba(18,42,53,.09);
  border: 1px solid rgba(16,49,63,.08);
}

.boletinCard__cover{
  position:relative;
  aspect-ratio: 0.74;
  background: #eef2f4;
}

.boletinCard__coverLink{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:#ffffff;
  cursor:pointer;
}

.boletinCard__coverImage,
.boletinCard__coverFallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.boletinCard__coverImage{
  display:block;
  object-fit: contain;
  object-position: center center;
  background:#ffffff;
}

.boletinCard__coverFallback{
  --cover-top:#f5b05f;
  --cover-bottom:#d96c1e;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding: 20px 18px;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,255,255,.24), transparent 18%),
    radial-gradient(circle at 22% 24%, rgba(255,255,255,.22), transparent 20%),
    linear-gradient(180deg, var(--cover-top), var(--cover-bottom));
}

.boletinCard__coverFallback::before{
  content:"";
  position:absolute;
  inset: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.22);
}

.boletinCard__series,
.boletinCard__issue,
.boletinCard__coverNote{
  position:relative;
  z-index:1;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color:#ffffff;
}

.boletinCard__series{
  margin-bottom:auto;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.boletinCard__issue{
  margin-bottom: 6px;
  font-size: 12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.84);
}

.boletinCard__coverTitle{
  position:relative;
  z-index:1;
  display:block;
  margin-bottom: 8px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight:800;
  line-height:.98;
  color:#ffffff;
  text-wrap: balance;
}

.boletinCard__coverNote{
  font-size: 14px;
  font-weight:700;
  color:rgba(255,255,255,.86);
}

.boletinCard__coverOverlay{
  position:absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index:2;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(16,49,63,.74);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#ffffff;
  opacity:0;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}

.boletinCard__coverLink:hover .boletinCard__coverOverlay,
.boletinCard__coverLink:focus-visible .boletinCard__coverOverlay{
  opacity:1;
  transform: translateY(0);
}

.boletinCard__coverLink:focus-visible{
  outline: 3px solid rgba(249,115,22,.38);
  outline-offset: -3px;
}

.boletinCard__body{
  display:grid;
  grid-template-rows: minmax(3.9em, auto) auto;
  gap: 18px;
  padding: 16px 16px 18px;
}

.boletinCard__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight:800;
  line-height:1.42;
  color:#10313f;
  text-wrap: balance;
}

.boletinCard__actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:stretch;
}

.boletinCard__button,
.manualEntry__button,
.manualTraining__button,
.workshopCard__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  border:1px solid transparent;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.boletinCard__button{
  flex:1 1 calc(50% - 10px);
  min-width: 132px;
  padding: 10px 16px;
}

.boletinCard__button:hover,
.boletinCard__button:focus-visible,
.manualEntry__button:hover,
.manualEntry__button:focus-visible,
.manualTraining__button:hover,
.manualTraining__button:focus-visible,
.workshopCard__button:hover,
.workshopCard__button:focus-visible{
  transform: translateY(-1px);
  outline:none;
}

.boletinCard__button--view,
.manualEntry__button,
.manualTraining__button{
  background:#10313f;
  color:#ffffff;
  box-shadow: 0 10px 20px rgba(16,49,63,.18);
}

.boletinCard__button--view:hover,
.boletinCard__button--view:focus-visible,
.manualEntry__button:hover,
.manualEntry__button:focus-visible,
.manualTraining__button:hover,
.manualTraining__button:focus-visible{
  background:#1e4e62;
}

.boletinCard__button--open{
  border-color:#d6dfe5;
  background:#f4f7f9;
  color:#10313f;
}

.boletinCard__button--open:hover,
.boletinCard__button--open:focus-visible{
  background:#e9eff3;
}

.boletinCard__button--download{
  border-color:#f2a154;
  background:#fff7ee;
  color:#c86c1b;
}

.boletinCard__button--download:hover,
.boletinCard__button--download:focus-visible{
  background:#fff1df;
}

.manualesList{
  display:grid;
  gap: 26px;
}

.manualEntry{
  display:grid;
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 28px);
  align-items:start;
  padding: 0 0 28px;
  border-bottom: 1px solid rgba(16,49,63,.14);
}

.manualEntry:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.manualEntry__media,
.manualTraining__galleryItem,
.workshopCard__media{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius: 18px;
  overflow:hidden;
  background:#eff3f6;
  cursor:pointer;
  box-shadow: 0 18px 34px rgba(18,42,53,.08);
}

.manualEntry__media{
  aspect-ratio: 0.72;
}

.manualEntry__image,
.manualTraining__galleryItem img,
.workshopCard__image{
  display:block;
  width:100%;
  height:100%;
  object-fit: contain;
  object-position: center center;
  background:#ffffff;
}

.manualEntry__imageHint,
.manualTraining__imageHint,
.workshopCard__imageHint{
  position:absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(16,49,63,.74);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#ffffff;
  opacity:0;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}

.manualEntry__media:hover .manualEntry__imageHint,
.manualEntry__media:focus-visible .manualEntry__imageHint,
.manualTraining__galleryItem:hover .manualTraining__imageHint,
.manualTraining__galleryItem:focus-visible .manualTraining__imageHint,
.workshopCard__media:hover .workshopCard__imageHint,
.workshopCard__media:focus-visible .workshopCard__imageHint{
  opacity:1;
  transform: translateY(0);
}

.manualEntry__media:focus-visible,
.manualTraining__galleryItem:focus-visible,
.workshopCard__media:focus-visible{
  outline: 3px solid rgba(249,115,22,.38);
  outline-offset: 3px;
}

.manualEntry__content{
  display:grid;
  gap: 18px;
  padding-top: 2px;
}

.manualEntry__title,
.manualTraining__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(21px, 1.95vw, 32px);
  font-weight:800;
  line-height:1.18;
}

.manualEntry__titleAccent{
  color:#8ea521;
}

.manualEntry__titleRest{
  color:#0d5573;
}

.manualEntry__text,
.manualTraining__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(16px, 1.15vw, 18px);
  line-height:1.66;
  color:#233742;
}

.manualEntry__button,
.manualTraining__button{
  justify-self:start;
  min-width: 168px;
  padding: 12px 18px;
}

.manualTraining{
  display:grid;
  gap: 28px;
  margin-top: 40px;
  padding-top: 34px;
  border-top: 1px solid rgba(16,49,63,.14);
}

.manualTraining__hero{
  display:grid;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 30px);
  align-items:start;
}

.manualTraining__gallery{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.manualTraining__galleryItem{
  aspect-ratio: 0.9;
}

.manualTraining__eyebrow{
  display:inline-block;
  margin-bottom: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  background:#fff4e6;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#d06d17;
}

.manualTraining__content{
  display:grid;
  gap: 16px;
}

.manualTraining__workshops{
  display:grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.workshopCard{
  display:grid;
  gap: 12px;
  align-content:start;
}

.workshopCard__media{
  aspect-ratio: 0.74;
}

.workshopCard__actions{
  display:grid;
  gap: 10px;
}

.workshopCard__button{
  width:100%;
  min-height: 46px;
  padding: 10px 12px;
  border-color:#c7d67c;
  background:#f8fde7;
  color:#768f13;
}

.workshopCard__button:hover,
.workshopCard__button:focus-visible{
  background:#eef8c8;
}

.publicacionModal[hidden]{
  display:none !important;
}

.publicacionModal{
  position:fixed;
  inset:0;
  z-index: 1200;
}

.publicacionModal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(7,17,24,.66);
  backdrop-filter: blur(6px);
}

.publicacionModal__dialog{
  position:relative;
  z-index:1;
  display:grid;
  gap: 18px;
  width:min(1180px, calc(100% - 32px));
  height:min(90vh, 860px);
  margin: min(5vh, 36px) auto;
  padding: 22px;
  border-radius: 28px;
  background:#ffffff;
  box-shadow: 0 28px 68px rgba(0,0,0,.28);
}

.publicacionModal__close{
  position:absolute;
  top: 14px;
  right: 14px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background: rgba(16,49,63,.08);
  font-size: 28px;
  line-height:1;
  color:#10313f;
  cursor:pointer;
}

.publicacionModal__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 16px;
  padding-right: 50px;
}

.publicacionModal__actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}

.publicacionModal__nav{
  display:flex;
  gap: 8px;
}

.publicacionModal__nav[hidden]{
  display:none !important;
}

.publicacionModal__navButton{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #d6dfe5;
  border-radius:50%;
  background:#f4f7f9;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 28px;
  line-height:1;
  color:#10313f;
  cursor:pointer;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.publicacionModal__navButton:hover,
.publicacionModal__navButton:focus-visible{
  transform: translateY(-1px);
  border-color:#f2a154;
  outline:none;
}

.publicacionModal__navButton:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none;
}

.publicacionModal__eyebrow{
  display:inline-block;
  margin-bottom: 8px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d06d17;
}

.publicacionModal__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(21px, 2vw, 28px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.publicacionModal__open,
.publicacionModal__download{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 150px;
  padding: 12px 18px;
  border-radius: 999px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  text-decoration:none;
}

.publicacionModal__open{
  border:1px solid #d6dfe5;
  background:#f4f7f9;
  color:#10313f;
}

.publicacionModal__download{
  background:#10313f;
  color:#ffffff;
}

.publicacionModal__viewerWrap{
  min-height:0;
  border-radius: 22px;
  overflow:hidden;
  background:#eef2f4;
}

.publicacionModal__viewer{
  width:100%;
  height:100%;
  min-height: 62vh;
  border:0;
  background:#ffffff;
}

.cuentosIntro{
  display:flex;
  justify-content:center;
  margin-bottom: 28px;
}

.cuentosIntro__note{
  max-width: 820px;
  margin:0;
  padding: 20px 28px;
  border: 1px solid rgba(16,49,63,.12);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(243,247,249,.92));
  box-shadow: 0 18px 42px rgba(16,49,63,.08);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(20px, 2vw, 28px);
  font-style: italic;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  color:#10313f;
}

.cuentosList{
  display:grid;
  gap: 28px;
}

.cuentoEntry{
  display:grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  gap: 30px;
  align-items:center;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,247,249,.95));
  box-shadow: 0 22px 54px rgba(16,49,63,.08);
}

.cuentoEntry--reverse{
  grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
}

.cuentoEntry--reverse .cuentoEntry__media{
  order:2;
}

.cuentoEntry--reverse .cuentoEntry__content{
  order:1;
}

.cuentoEntry__media{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius: 24px;
  overflow:hidden;
  background:#d7e3ea;
  cursor:pointer;
  box-shadow: 0 16px 38px rgba(16,49,63,.16);
}

.cuentoEntry__image{
  display:block;
  width:100%;
  aspect-ratio: .78;
  object-fit: cover;
  transition: transform .35s ease;
}

.cuentoEntry__media:hover .cuentoEntry__image,
.cuentoEntry__media:focus-visible .cuentoEntry__image{
  transform: scale(1.03);
}

.cuentoEntry__imageHint{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(16,49,63,.82);
  color:#ffffff;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cuentoEntry__content{
  display:grid;
  gap: 18px;
}

.cuentoEntry__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.78;
  color:#10313f;
}

.cuentoEntry__actions{
  display:flex;
  justify-content:flex-start;
}

.cuentoEntry__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 20px;
  border:1px solid rgba(208,109,23,.3);
  border-radius: 999px;
  background:#ffffff;
  color:#d06d17;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.cuentoEntry__button:hover,
.cuentoEntry__button:focus-visible{
  transform: translateY(-1px);
  background:#fff4ec;
  box-shadow: 0 10px 24px rgba(208,109,23,.18);
}

.juegosList{
  display:grid;
  gap: 32px;
}

.juegoEntry{
  display:grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 30px;
  align-items:center;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,247,249,.95));
  box-shadow: 0 22px 54px rgba(16,49,63,.08);
}

.juegoEntry--reverse{
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}

.juegoEntry--reverse .juegoEntry__media{
  order:2;
}

.juegoEntry--reverse .juegoEntry__content{
  order:1;
}

.juegoEntry__media{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius: 24px;
  overflow:hidden;
  background:#d7e3ea;
  cursor:pointer;
  box-shadow: 0 16px 38px rgba(16,49,63,.16);
}

.juegoEntry__image{
  display:block;
  width:100%;
  aspect-ratio: .92;
  object-fit: cover;
  transition: transform .35s ease;
}

.juegoEntry__media:hover .juegoEntry__image,
.juegoEntry__media:focus-visible .juegoEntry__image{
  transform: scale(1.03);
}

.juegoEntry__imageHint{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(16,49,63,.82);
  color:#ffffff;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.juegoEntry__content{
  display:grid;
  gap: 18px;
}

.juegoEntry__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(25px, 2.2vw, 34px);
  font-weight:800;
  line-height:1.18;
  color:#10313f;
}

.juegoEntry__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.74;
  color:#10313f;
}

.juegoEntry__files{
  display:flex;
  flex-wrap:wrap;
  gap: 12px;
}

.juegoEntry__fileButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 44px;
  padding: 11px 16px;
  border:1px solid rgba(208,109,23,.25);
  border-radius: 14px;
  background:#ffffff;
  color:#10313f;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:700;
  line-height:1.3;
  cursor:pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
}

.juegoEntry__fileButton:hover,
.juegoEntry__fileButton:focus-visible{
  transform: translateY(-1px);
  border-color:#f2a154;
  background:#fff4ec;
  box-shadow: 0 10px 24px rgba(208,109,23,.16);
}

.casaCaithPage{
  background:
    radial-gradient(circle at top left, rgba(16,185,129,.08), transparent 32%),
    linear-gradient(180deg, #f7fbf8 0%, #ffffff 18%);
}

.casaCaithHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,31,.46), rgba(3,145,31,.62)),
    url("../img/que-hacemos/casa-caith/portada-falsa.jpg") center/cover no-repeat;
  overflow:hidden;
}

.casaCaithHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.casaCaithHero__title{
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(52px, 7.2vw, 93px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .casaCaithHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 26px rgba(0,0,0,.18);
  }
}

.casaCaithOverview{
  padding: 72px 0 48px;
}

.casaCaithOverview__inner{
  width:min(100%, 1220px);
  margin:0 auto;
  padding: 0 28px;
  display:grid;
  grid-template-columns: minmax(300px, 480px) minmax(0, 1fr);
  gap: 36px;
  align-items:center;
}

.casaCaithOverview__media{
  position:relative;
}

.casaCaithOverview__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 24px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(16,185,129,.18), rgba(16,49,63,.08));
  z-index:0;
}

.casaCaithOverview__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .92;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

.casaCaithOverview__content{
  display:grid;
  gap: 24px;
}

.casaCaithOverview__lead{
  margin:0;
  padding: 26px 28px;
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(241,246,244,.98));
  box-shadow: 0 20px 44px rgba(16,49,63,.08);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 19px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.casaCaithOverview__cards{
  display:grid;
  gap: 16px;
}

.casaCaithStrategy{
  padding: 22px 24px;
  border-radius: 24px;
  background:#ffffff;
  border:1px solid rgba(16,49,63,.08);
  box-shadow: 0 14px 34px rgba(16,49,63,.06);
}

.casaCaithStrategy__title{
  margin:0 0 10px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 22px;
  font-weight:800;
  line-height:1.2;
  color:#12805e;
}

.casaCaithStrategy__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:500;
  line-height:1.72;
  color:#10313f;
}

.casaCaithGallery{
  padding: 26px 0 84px;
}

.casaCaithGallery__inner{
  width:min(100%, 1240px);
  margin:0 auto;
  padding: 0 28px;
}

.casaCaithCarousel{
  position:relative;
}

.casaCaithCarousel__viewport{
  overflow:hidden;
  border-radius: 30px;
}

.casaCaithCarousel__track{
  display:flex;
  gap: 20px;
  will-change: transform;
}

.casaCaithCarousel__slide{
  flex: 0 0 calc((100% - 40px) / 3);
  margin:0;
  border-radius: 28px;
  overflow:hidden;
  background:#dbe7e2;
  box-shadow: 0 18px 38px rgba(16,49,63,.12);
}

.casaCaithCarousel__image{
  display:block;
  width:100%;
  aspect-ratio: .92;
  object-fit: cover;
}

.casaCaithCarousel__control{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  z-index:3;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background: rgba(16,49,63,.86);
  color:#ffffff;
  font-size: 30px;
  line-height:1;
  cursor:pointer;
  box-shadow: 0 12px 26px rgba(16,49,63,.22);
  transition: transform .2s ease, background .2s ease;
}

.casaCaithCarousel__control:hover,
.casaCaithCarousel__control:focus-visible{
  background:#10b981;
  transform: translateY(-50%) scale(1.04);
  outline:none;
}

.casaCaithCarousel__control--prev{
  left:-18px;
}

.casaCaithCarousel__control--next{
  right:-18px;
}

body.publicacion-modal-open{
  overflow:hidden;
}

@media (max-width: 1180px){
  .manualTraining__workshops{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px){
  .boletinesGrid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  .casaCaithHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .casaCaithHero__inner{
    padding: 20px 14px 22px;
  }

  .casaCaithHero__title{
    font-size: clamp(42px, 12vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .casaCaithOverview{
    padding: 58px 0 36px;
  }

  .casaCaithOverview__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .casaCaithOverview__media{
    max-width: 540px;
  }

  .casaCaithCarousel__slide{
    flex-basis: calc((100% - 20px) / 2);
  }

  .casaCaithCarousel__control--prev{
    left:10px;
  }

  .casaCaithCarousel__control--next{
    right:10px;
  }

  .publicacionesShelf{
    padding: 30px 0 72px;
  }

  .publicacionesPanel{
    padding: 18px;
    border-radius: 24px;
  }

  .publicacionesIntro{
    grid-template-columns: 1fr;
  }

  .boletinesGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .manualEntry{
    grid-template-columns: 1fr;
  }

  .manualEntry__media{
    max-width: 240px;
  }

  .manualTraining__hero{
    grid-template-columns: 1fr;
  }

  .manualTraining__gallery{
    grid-template-columns: repeat(2, minmax(0, 220px));
    justify-content:start;
  }

  .manualTraining__workshops{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cuentoEntry,
  .cuentoEntry--reverse{
    grid-template-columns: 1fr;
  }

  .cuentoEntry--reverse .cuentoEntry__media,
  .cuentoEntry--reverse .cuentoEntry__content{
    order: initial;
  }

  .cuentoEntry__media{
    max-width: 320px;
  }

  .juegoEntry,
  .juegoEntry--reverse{
    grid-template-columns: 1fr;
  }

  .juegoEntry--reverse .juegoEntry__media,
  .juegoEntry--reverse .juegoEntry__content{
    order: initial;
  }

  .juegoEntry__media{
    max-width: 320px;
  }

  .publicacionModal__dialog{
    width:min(100% - 20px, 980px);
    height:min(92vh, 900px);
    padding: 18px;
    border-radius: 24px;
  }

  .publicacionModal__header{
    flex-direction:column;
    padding-right: 42px;
  }

  .publicacionModal__actions{
    width:100%;
    justify-content:flex-start;
  }

  .publicacionModal__open,
  .publicacionModal__download{
    min-width: 0;
  }

}

@media (max-width: 640px){
  .casaCaithHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .casaCaithHero__inner{
    padding: 20px 14px 22px;
  }

  .casaCaithOverview{
    padding: 42px 0 26px;
  }

  .casaCaithOverview__inner,
  .casaCaithGallery__inner{
    padding: 0 16px;
  }

  .casaCaithOverview__lead{
    padding: 20px 18px;
    border-radius: 22px;
    font-size: 17px;
    line-height:1.72;
  }

  .casaCaithStrategy{
    padding: 18px;
    border-radius: 20px;
  }

  .casaCaithStrategy__title{
    font-size: 20px;
  }

  .casaCaithStrategy__text{
    font-size: 16px;
    line-height:1.66;
  }

  .casaCaithGallery{
    padding: 20px 0 64px;
  }

  .casaCaithCarousel__slide{
    flex-basis: 100%;
  }

  .casaCaithCarousel__viewport{
    border-radius: 24px;
  }

  .casaCaithCarousel__slide{
    border-radius: 24px;
  }

  .casaCaithCarousel__control{
    width:42px;
    height:42px;
    font-size: 26px;
  }

  .publicacionesTabs{
    gap: 10px;
    margin-bottom: 18px;
  }

  .publicacionesTab{
    width:100%;
    text-align:left;
    padding: 13px 18px;
    font-size: 15px;
  }

  .publicacionesIntro{
    padding: 18px 16px;
    border-radius: 22px;
  }

  .publicacionesIntro__title{
    font-size: 28px;
  }

  .publicacionesIntro__text,
  .manualEntry__text,
  .manualTraining__text{
    font-size: 16px;
    line-height:1.66;
  }

  .boletinesGrid{
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .boletinCard__cover{
    aspect-ratio: 0.75;
  }

  .boletinCard__body{
    grid-template-rows: auto auto;
  }

  .boletinCard__button{
    flex:1 1 100%;
    min-width: 0;
  }

  .manualEntry__title,
  .manualTraining__title{
    font-size: 24px;
  }

  .manualTraining__gallery{
    grid-template-columns: 1fr 1fr;
  }

  .manualTraining__workshops{
    grid-template-columns: 1fr;
  }

  .cuentosIntro__note{
    padding: 18px 20px;
    border-radius: 26px;
    font-size: 19px;
  }

  .cuentoEntry{
    gap: 22px;
    padding: 20px;
    border-radius: 22px;
  }

  .cuentoEntry__media{
    max-width: 100%;
  }

  .cuentoEntry__text{
    font-size: 16px;
    line-height: 1.7;
  }

  .juegoEntry{
    gap: 22px;
    padding: 20px;
    border-radius: 22px;
  }

  .juegoEntry__media{
    max-width: 100%;
  }

  .juegoEntry__title{
    font-size: 24px;
  }

  .juegoEntry__text{
    font-size: 16px;
    line-height: 1.68;
  }

  .juegoEntry__fileButton{
    width:100%;
    justify-content:flex-start;
    text-align:left;
  }

  .publicacionModal__dialog{
    width:min(100% - 14px, 900px);
    height:min(94vh, 980px);
    margin: 10px auto;
    padding: 14px;
    border-radius: 20px;
  }

  .publicacionModal__close{
    top: 10px;
    right: 10px;
    width:38px;
    height:38px;
  }

  .publicacionModal__viewer{
    min-height: 58vh;
  }
}

.comProPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 20%);
}

.comProHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/que-hacemos/comunicacion-y-protagonismo/portada.jpg") center/cover no-repeat;
  overflow:hidden;
}

.comProHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.comProHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(40px, 5.8vw, 78px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.5px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.comProIntro{
  padding: 72px 0 46px;
}

.comProIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items:center;
  gap: clamp(28px, 4vw, 64px);
}

.comProIntro__content{
  padding: 28px 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.comProIntro__title{
  margin:0 0 18px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.comProIntro__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.comProIntro__text + .comProIntro__text{
  margin-top: 18px;
}

.comProIntro__media{
  position:relative;
}

.comProIntro__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(3,145,3,.2), rgba(16,49,63,.08));
  z-index:0;
}

.comProIntro__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

.comProPrograms{
  padding: 18px 0 84px;
}

.comProPrograms__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  padding: 32px;
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,247,249,.97));
  box-shadow: 0 24px 56px rgba(16,49,63,.08);
}

.comProPrograms__copy{
  margin-bottom: 28px;
}

.comProPrograms__title{
  margin:0 0 18px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.comProPrograms__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.comProPrograms__text + .comProPrograms__text{
  margin-top: 18px;
}

.comProPrograms__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.comProCard{
  display:grid;
  gap: 12px;
  padding: 22px 24px;
  border-radius: 24px;
  text-decoration:none;
  background: linear-gradient(145deg, rgba(10,58,37,.98), rgba(13,85,57,.95));
  box-shadow: 0 18px 38px rgba(16,49,63,.18);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.comProCard:hover,
.comProCard:focus-visible{
  transform: translateY(-2px);
  background: linear-gradient(145deg, rgba(9,73,31,.98), rgba(3,145,3,.9));
  box-shadow: 0 22px 44px rgba(16,49,63,.22);
  outline:none;
}

.comProCard__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background: rgba(255,255,255,.14);
  color:#d8f6e0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.08em;
}

.comProCard__title{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 24px;
  font-weight:800;
  line-height:1.16;
  color:#ffffff;
}

.comProCard__cta{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#c6f4d2;
}

@media (max-width: 980px){
  .comProHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .comProHero__inner{
    padding: 20px 14px 22px;
  }

  .comProHero__title{
    font-size: clamp(36px, 8.5vw, 64px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .comProIntro{
    padding: 58px 0 36px;
  }

  .comProIntro__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .comProIntro__media{
    max-width: 540px;
  }

  .comProPrograms__grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px){
  .comProIntro{
    padding: 42px 0 26px;
  }

  .comProIntro__inner,
  .comProPrograms__inner{
    width:min(100%, calc(100% - 32px));
  }

  .comProIntro__content,
  .comProPrograms__inner{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .comProIntro__title,
  .comProPrograms__title{
    font-size: 26px;
  }

  .comProIntro__text,
  .comProPrograms__text{
    font-size: 16px;
    line-height:1.72;
  }

  .comProPrograms{
    padding: 12px 0 64px;
  }

  .comProPrograms__grid{
    grid-template-columns: 1fr;
  }

  .comProCard{
    padding: 20px;
    border-radius: 20px;
  }

  .comProCard__title{
    font-size: 22px;
  }
}

.periodistasPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 20%);
}

.periodistasHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/que-hacemos/comunicacion-y-protagonismo/periodistas-escolares/portada.jpg") center/cover no-repeat;
  overflow:hidden;
}

.periodistasHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.periodistasHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(44px, 6.2vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.periodistasIntro{
  padding: 72px 0 84px;
}

.periodistasIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items:center;
  gap: clamp(28px, 4vw, 64px);
}

.periodistasIntro__content{
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.periodistasIntro__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.periodistasIntro__text + .periodistasIntro__text{
  margin-top: 18px;
}

.periodistasIntro__media{
  position:relative;
}

.periodistasIntro__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(3,145,3,.2), rgba(16,49,63,.08));
  z-index:0;
}

.periodistasIntro__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

@media (max-width: 980px){
  .periodistasHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .periodistasHero__inner{
    padding: 20px 14px 22px;
  }

  .periodistasHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .periodistasIntro{
    padding: 58px 0 68px;
  }

  .periodistasIntro__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .periodistasIntro__media{
    max-width: 540px;
  }
}

@media (max-width: 640px){
  .periodistasIntro{
    padding: 42px 0 58px;
  }

  .periodistasIntro__inner{
    width:min(100%, calc(100% - 32px));
  }

  .periodistasIntro__content{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .periodistasIntro__text{
    font-size: 16px;
    line-height:1.72;
  }
}

.defensoresPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 20%);
}

.defensoresHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/que-hacemos/comunicacion-y-protagonismo/defensores-ambientales/portada.jpg") center/cover no-repeat;
  overflow:hidden;
}

.defensoresHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.defensoresHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.defensoresIntro{
  padding: 72px 0 84px;
}

.defensoresIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items:center;
  gap: clamp(28px, 4vw, 64px);
}

.defensoresIntro__content{
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.defensoresIntro__lead{
  margin:0 0 20px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.defensoresIntro__cards{
  display:grid;
  gap: 16px;
}

.defensoresCard{
  padding: 22px 24px;
  border-radius: 24px;
  background:#ffffff;
  border:1px solid rgba(16,49,63,.08);
  box-shadow: 0 14px 34px rgba(16,49,63,.06);
}

.defensoresCard__title{
  margin:0 0 10px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 22px;
  font-weight:800;
  line-height:1.2;
  color:#12805e;
}

.defensoresCard__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:500;
  line-height:1.72;
  color:#10313f;
}

.defensoresIntro__media{
  position:relative;
}

.defensoresIntro__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(3,145,3,.2), rgba(16,49,63,.08));
  z-index:0;
}

.defensoresIntro__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

@media (max-width: 980px){
  .defensoresHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .defensoresHero__inner{
    padding: 20px 14px 22px;
  }

  .defensoresHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .defensoresIntro{
    padding: 58px 0 68px;
  }

  .defensoresIntro__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .defensoresIntro__media{
    max-width: 540px;
  }
}

@media (max-width: 640px){
  .defensoresIntro{
    padding: 42px 0 58px;
  }

  .defensoresIntro__inner{
    width:min(100%, calc(100% - 32px));
  }

  .defensoresIntro__content{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .defensoresIntro__lead{
    font-size: 16px;
    line-height:1.72;
  }

  .defensoresCard{
    padding: 18px;
    border-radius: 20px;
  }

  .defensoresCard__title{
    font-size: 20px;
  }

  .defensoresCard__text{
    font-size: 16px;
    line-height:1.68;
  }
}

.redYanaPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 20%);
}

.redYanaHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/que-hacemos/comunicacion-y-protagonismo/red-yanapanakusun/portada.jpg") center/cover no-repeat;
  overflow:hidden;
}

.redYanaHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.redYanaHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.redYanaIntro{
  padding: 72px 0 84px;
}

.redYanaIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items:center;
  gap: clamp(28px, 4vw, 64px);
}

.redYanaIntro__content{
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.redYanaIntro__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.redYanaIntro__media{
  position:relative;
}

.redYanaIntro__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(3,145,3,.2), rgba(16,49,63,.08));
  z-index:0;
}

.redYanaIntro__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

@media (max-width: 980px){
  .redYanaHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .redYanaHero__inner{
    padding: 20px 14px 22px;
  }

  .redYanaHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .redYanaIntro{
    padding: 58px 0 68px;
  }

  .redYanaIntro__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .redYanaIntro__media{
    max-width: 540px;
  }
}

@media (max-width: 640px){
  .redYanaIntro{
    padding: 42px 0 58px;
  }

  .redYanaIntro__inner{
    width:min(100%, calc(100% - 32px));
  }

  .redYanaIntro__content{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .redYanaIntro__text{
    font-size: 16px;
    line-height:1.72;
  }
}

.casaCulturaPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 20%);
}

.casaCulturaHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/que-hacemos/comunicacion-y-protagonismo/casa-de-cultura/portada.jpg") center/cover no-repeat;
  overflow:hidden;
}

.casaCulturaHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.casaCulturaHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.casaCulturaIntro{
  padding: 72px 0 84px;
}

.casaCulturaIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items:center;
  gap: clamp(28px, 4vw, 64px);
}

.casaCulturaIntro__content{
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.casaCulturaIntro__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.casaCulturaIntro__text + .casaCulturaIntro__text{
  margin-top: 18px;
}

.casaCulturaIntro__media{
  position:relative;
}

.casaCulturaIntro__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(3,145,3,.2), rgba(16,49,63,.08));
  z-index:0;
}

.casaCulturaIntro__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

@media (max-width: 980px){
  .casaCulturaHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .casaCulturaHero__inner{
    padding: 20px 14px 22px;
  }

  .casaCulturaHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .casaCulturaIntro{
    padding: 58px 0 68px;
  }

  .casaCulturaIntro__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .casaCulturaIntro__media{
    max-width: 540px;
  }
}

@media (max-width: 640px){
  .casaCulturaIntro{
    padding: 42px 0 58px;
  }

  .casaCulturaIntro__inner{
    width:min(100%, calc(100% - 32px));
  }

  .casaCulturaIntro__content{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .casaCulturaIntro__text{
    font-size: 16px;
    line-height:1.72;
  }
}

.comunidadesPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 20%);
}

.reconocimientosPage{
  background:#ffffff;
}

.proyectosPage{
  background:#ffffff;
}

.donacionesPage{
  background:#ffffff;
}

.donacionesHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(194,92,84,.44), rgba(126,45,39,.64)),
    url("../img/donaciones/optimized/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.donacionesHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.donacionesHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.donacionesSupport{
  padding: 78px 0 92px;
  background:
    radial-gradient(circle at top right, rgba(194,92,84,.08), transparent 30%),
    linear-gradient(180deg, #fffaf7 0%, #ffffff 100%);
}

.donacionesSupport__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(28px, 3.8vw, 54px);
  align-items:center;
}

.donacionesSupport__media{
  margin:0;
}

.donacionesSupport__frame,
.donacionesSupport__carousel{
  position:relative;
  border-radius: 34px;
  overflow:hidden;
  box-shadow: 0 24px 56px rgba(77,41,30,.14);
  background:#f2e6df;
}

.donacionesSupport__frame{
  aspect-ratio: 1600 / 1067;
}

.donacionesSupport__carousel{
  aspect-ratio: 1600 / 1067;
}

.donacionesSupport__carousel::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:22%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.12));
  pointer-events:none;
  z-index:2;
}

.donacionesSupport__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform: scale(1.025);
  transition: opacity .55s ease, transform .85s ease;
  pointer-events:none;
}

.donacionesSupport__slide.is-active{
  opacity:1;
  transform: scale(1);
  pointer-events:auto;
}

.donacionesSupport__slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: 50% 48%;
}

.donacionesSupport__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  color:#ffffff;
  background: rgba(17, 33, 41, .38);
  box-shadow: 0 14px 28px rgba(0,0,0,.14);
  backdrop-filter: blur(6px);
  transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.donacionesSupport__nav:hover,
.donacionesSupport__nav:focus-visible{
  background: rgba(17, 33, 41, .58);
  outline:none;
}

.donacionesSupport__nav:active{
  transform:translateY(-50%) scale(.96);
}

.donacionesSupport__nav svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.donacionesSupport__nav--prev{
  left:16px;
}

.donacionesSupport__nav--next{
  right:16px;
}

.donacionesSupport__frame img{
  display:block;
  width:100%;
  height:100%;
  min-height: clamp(340px, 40vw, 600px);
  object-fit:cover;
  transition: transform .7s ease;
}

.donacionesSupport__frame:hover img{
  transform: scale(1.03);
}

.donacionesSupport__carousel:hover .donacionesSupport__slide.is-active img{
  transform: scale(1.03);
}

.donacionesSupport__slide img{
  transition: transform .7s ease;
}

.donacionesSupport__content{
  font-family: "Open Sans", "Segoe UI", sans-serif;
  color:#1e3947;
}

.donacionesSupport__eyebrow{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  font-family: "Open Sans", "Segoe UI", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  color:#8b4a39;
}

.donacionesSupport__eyebrow::before{
  content:"";
  width: 36px;
  height: 2px;
  border-radius:999px;
  background: currentColor;
}

.donacionesSupport__title{
  margin: 16px 0 18px;
  font-family: "Open Sans", "Segoe UI", sans-serif;
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1.04;
  font-weight: 800;
  color:#17384b;
}

.donacionesSupport__text{
  margin:0;
  font-family: "Open Sans", "Segoe UI", sans-serif;
  font-size: clamp(16px, 1.26vw, 19px);
  line-height: 1.82;
  color:#3d5664;
}

.donacionesSupport__text + .donacionesSupport__text{
  margin-top: 16px;
}

.donacionesSupport__cta{
  margin-top: 26px;
}

.donacionesSupport__paypal{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height: 84px;
}

.donacionesSupport__paypal img,
.donacionesSupport__paypal input[type="image"]{
  display:block;
  max-width:100%;
  height:auto;
}

.donacionesSupport__caption{
  margin: 14px 0 0;
  font-family: "Open Sans", "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.68;
  color:#687985;
}

.proyectosHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(32,98,145,.44), rgba(17,62,95,.64)),
    url("../img/proyectos/optimized/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.proyectosHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.proyectosHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.proyectosPortal{
  padding: 76px 0 88px;
  background:
    radial-gradient(circle at top left, rgba(32,98,145,.08), transparent 34%),
    linear-gradient(180deg, #f6fbff 0%, #ffffff 20%);
}

.proyectosPortal__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.proyectosPortal__intro{
  max-width: 860px;
  margin:0 auto 28px;
  padding: clamp(28px, 3vw, 38px);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(240,247,252,.98));
  box-shadow: 0 24px 58px rgba(16,49,63,.08);
  text-align:center;
}

.proyectosPortal__eyebrow,
.proyectosPanel__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#1f628f;
}

.proyectosPortal__eyebrow::before,
.proyectosPanel__eyebrow::before{
  content:"";
  width:42px;
  height:2px;
  border-radius:999px;
  background:#1f628f;
}

.proyectosPortal__title,
.proyectosPanel__title{
  margin:0 0 18px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 3vw, 44px);
  font-weight:800;
  line-height:1.14;
  color:#10313f;
}

.proyectosPortal__text,
.proyectosPanel__text{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.proyectosTabs{
  display:flex;
  flex-wrap:wrap;
  gap: 14px;
  justify-content:center;
  margin-bottom: 30px;
}

.proyectosTabs__button{
  border:0;
  border-radius: 999px;
  padding: 14px 22px;
  background:#e7eff5;
  color:#10313f;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:800;
  cursor:pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.proyectosTabs__button:hover,
.proyectosTabs__button:focus-visible{
  transform: translateY(-1px);
  background:#d9e9f3;
  outline:none;
}

.proyectosTabs__button.is-active{
  background:#1f628f;
  color:#ffffff;
  box-shadow: 0 16px 30px rgba(31,98,143,.2);
}

.proyectosPanel{
  display:grid;
  gap: 28px;
}

.proyectosPanel:not(.is-active){
  display:none;
}

.proyectosPanel__header{
  max-width: 820px;
}

.proyectosEmpty{
  display:grid;
  gap: 12px;
  max-width: 760px;
  padding: clamp(24px, 2.8vw, 34px);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(240,247,252,.98));
  border: 1px solid rgba(16,49,63,.08);
  box-shadow: 0 22px 48px rgba(16,49,63,.08);
}

.proyectosEmpty__title,
.proyectosEmpty__text{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.proyectosEmpty__title{
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight:800;
  line-height:1.24;
  color:#10313f;
}

.proyectosEmpty__text{
  font-size: 16px;
  font-weight:500;
  line-height:1.76;
  color:#40606f;
}

.proyectosEntries{
  display:grid;
  gap: 26px;
}

.proyectoEntry{
  display:grid;
  grid-template-columns: minmax(320px, 460px) minmax(0, 1fr);
  align-items:start;
  gap: clamp(24px, 3vw, 42px);
  padding: clamp(24px, 2.8vw, 34px);
  border-radius: 30px;
  background:#ffffff;
  border: 1px solid rgba(16,49,63,.08);
  box-shadow: 0 22px 48px rgba(16,49,63,.08);
}

.proyectoEntry--reverse{
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
}

.proyectoEntry__content{
  display:grid;
  gap: 16px;
  align-content:start;
}

.proyectoEntry__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}

.proyectoEntry__status,
.proyectoEntry__year,
.proyectoEntry__note,
.proyectoEntry__details summary,
.proyectoEntry__detailsBody p,
.proyectoEntry__body p,
.proyectoEntry__lead{
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.proyectoEntry__status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 7px 12px;
  border-radius:999px;
  background:#e9f4fb;
  color:#1f628f;
  font-size: 12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.proyectoEntry__year{
  font-size: 13px;
  font-weight:800;
  color:rgba(16,49,63,.62);
}

.proyectoEntry__title{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight:800;
  line-height:1.12;
  color:#10313f;
}

.proyectoEntry__lead{
  margin:0;
  font-size: 18px;
  font-weight:700;
  line-height:1.72;
  color:#18435a;
}

.proyectoEntry__body{
  display:grid;
  gap: 14px;
}

.proyectoEntry__resultsList{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.proyectoEntry__resultsList{
  display:grid;
  gap: 10px;
  padding-left: 20px;
  font-size: 15px;
  font-weight:600;
  line-height:1.68;
  color:#10313f;
}

.proyectoEntry__resultsList li::marker{
  color:#1f628f;
}

.proyectoEntry__body p,
.proyectoEntry__detailsBody p{
  margin:0;
  font-size: 16px;
  font-weight:500;
  line-height:1.76;
  color:#10313f;
}

.proyectoEntry__details{
  border-top: 1px solid rgba(16,49,63,.1);
  padding-top: 14px;
}

.proyectoEntry__details summary{
  cursor:pointer;
  font-size: 14px;
  font-weight:800;
  color:#1f628f;
  list-style:none;
}

.proyectoEntry__details summary::-webkit-details-marker{
  display:none;
}

.proyectoEntry__detailsBody{
  display:grid;
  gap: 14px;
  padding-top: 14px;
}

.proyectoEntry__detailsResults{
  display:grid;
  gap: 12px;
  padding: 16px 18px 14px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(231,239,245,.82), rgba(245,249,252,.92));
  border: 1px solid rgba(31,98,143,.1);
}

.proyectoEntry__detailsResultsTitle{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#1f628f;
}

.proyectoEntry__detailsQr{
  display:grid;
  gap: 12px;
  justify-items:start;
}

.proyectoEntry__detailsQrTitle{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#1f628f;
}

.proyectoEntry__detailsQrFigure{
  margin:0;
  width: min(190px, 100%);
  padding: 10px;
  border-radius: 20px;
  background:#ffffff;
  border: 1px solid rgba(31,98,143,.14);
  box-shadow: 0 16px 34px rgba(16,49,63,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

.proyectoEntry__detailsQrFigure:hover,
.proyectoEntry__detailsQrFigure:focus-within{
  transform: translateY(-3px);
  box-shadow: 0 20px 42px rgba(16,49,63,.14);
}

.proyectoEntry__detailsQrFigure img{
  display:block;
  width:100%;
  aspect-ratio: 1;
  object-fit:contain;
  border-radius: 14px;
  background:#ffffff;
}

.proyectoEntry__note{
  font-size: 13px;
  font-weight:700;
  color:#1f628f;
}

.proyectoEntry__media{
  align-self:start;
}

.proyectoEntry__single{
  margin:0;
  overflow:hidden;
  border-radius: 28px;
  background:#dfe8ed;
  box-shadow: 0 22px 44px rgba(16,49,63,.1);
  transition: transform .36s ease, box-shadow .36s ease;
}

.proyectoEntry__single img{
  display:block;
  width:100%;
  aspect-ratio: 1.04;
  object-fit:cover;
  transition: transform .5s ease;
}

.proyectoEntry__gallery{
  display:grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(130px, .86fr);
  grid-template-rows: repeat(3, minmax(112px, 1fr));
  gap: 14px;
}

.proyectoEntry__gallery--count-2{
  grid-template-columns: minmax(0, 1.08fr) minmax(160px, .92fr);
  grid-template-rows: 1fr;
}

.proyectoEntry__gallery--count-2 .proyectoEntry__galleryItem--main{
  grid-row:auto;
}

.proyectoEntry__gallery--count-3{
  grid-template-columns: minmax(0, 1.12fr) minmax(150px, .88fr);
  grid-template-rows: repeat(2, minmax(150px, 1fr));
}

.proyectoEntry__gallery--count-3 .proyectoEntry__galleryItem--main{
  grid-row: 1 / span 2;
}

.proyectoEntry__gallery--count-4{
  grid-template-columns: minmax(0, 1.18fr) minmax(150px, .82fr);
  grid-template-rows: repeat(3, minmax(112px, 1fr));
}

.proyectoEntry__gallery--count-5{
  grid-template-columns: minmax(0, 1.18fr) minmax(150px, .82fr);
  grid-template-rows: repeat(4, minmax(0, 1fr));
  height: clamp(328px, 33vw, 418px);
}

.proyectoEntry__gallery--count-6{
  grid-template-columns: minmax(0, 1.18fr) minmax(150px, .82fr);
  grid-template-rows: repeat(4, minmax(0, 1fr));
  height: clamp(400px, 50vw, 500px);
}

.proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(1),
.proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(1){
  grid-column: 1;
  grid-row: 1 / span 3;
}

.proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(2),
.proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(2){
  grid-column: 2;
  grid-row: 1;
}

.proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(3),
.proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(3){
  grid-column: 2;
  grid-row: 2;
}

.proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(4),
.proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(4){
  grid-column: 2;
  grid-row: 3;
}

.proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(5){
  grid-column: 1 / -1;
  grid-row: 4;
}

.proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(5){
  grid-column: 1;
  grid-row: 4;
}

.proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(6){
  grid-column: 2;
  grid-row: 4;
}

.proyectoEntry__galleryItem{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius: 24px;
  background:#dfe8ed;
  box-shadow: 0 18px 38px rgba(16,49,63,.1);
  transition: transform .36s ease, box-shadow .36s ease;
}

.proyectoEntry__galleryItem--main{
  grid-row: 1 / span 3;
}

.proyectoEntry__galleryItem img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .5s ease;
}

.proyectoEntry__single:hover,
.proyectoEntry__single:focus-within{
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 28px 54px rgba(16,49,63,.18);
}

.proyectoEntry:hover .proyectoEntry__galleryItem:not(:hover){
  transform: scale(.975);
}

.proyectoEntry__galleryItem:hover,
.proyectoEntry__galleryItem:focus-within{
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 26px 54px rgba(16,49,63,.18);
}

.proyectoEntry__single:hover img,
.proyectoEntry__single:focus-within img,
.proyectoEntry:hover .proyectoEntry__galleryItem img{
  transform: scale(1.04);
}

.proyectoEntry__galleryMore{
  position:absolute;
  inset:auto 14px 14px auto;
  display:grid;
  place-items:center;
  min-width: 46px;
  height: 46px;
  padding: 0 10px;
  border-radius:999px;
  background: rgba(16,49,63,.78);
  color:#ffffff;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:800;
}

.reconocimientosHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(178,134,36,.44), rgba(120,84,21,.62)),
    url("../img/reconocimientos/optimized/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.reconocimientosHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.reconocimientosHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.reconocimientosSection{
  padding: 76px 0;
}

.reconocimientosSection__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 500px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(28px, 4vw, 68px);
}

.reconocimientosSection--reverse .reconocimientosSection__inner{
  grid-template-columns: minmax(0, 1fr) minmax(320px, 500px);
}

.reconocimientosSection__content{
  padding: clamp(28px, 3vw, 38px);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(249,247,241,.98));
  box-shadow: 0 24px 58px rgba(16,49,63,.08);
}

.reconocimientosSection__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8c6619;
}

.reconocimientosSection__eyebrow::before{
  content:"";
  width:42px;
  height:2px;
  border-radius:999px;
  background:#b28624;
}

.reconocimientosSection__title{
  margin:0 0 18px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 3vw, 44px);
  font-weight:800;
  line-height:1.14;
  color:#10313f;
}

.reconocimientosSection__text{
  margin:0 0 18px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#10313f;
}

.reconocimientosSection__text:last-of-type{
  margin-bottom:0;
}

.reconocimientosGallery{
  display:grid;
  gap: 16px;
}

.reconocimientosGallery--four{
  grid-template-columns: minmax(0, 1.18fr) minmax(150px, .82fr);
  grid-template-rows: repeat(3, minmax(112px, 1fr));
}

.reconocimientosGallery--three{
  grid-template-columns: minmax(0, 1.08fr) minmax(170px, .92fr);
  grid-template-rows: repeat(2, minmax(180px, 1fr));
}

.reconocimientosGallery__item{
  margin:0;
  overflow:hidden;
  border-radius: 28px;
  background:#ffffff;
  box-shadow: 0 22px 48px rgba(16,49,63,.1);
  transition: transform .36s ease, box-shadow .36s ease;
}

.reconocimientosGallery--four .reconocimientosGallery__item--main{
  grid-row: 1 / span 3;
}

.reconocimientosGallery--three .reconocimientosGallery__item--main{
  grid-row: 1 / span 2;
}

.reconocimientosGallery__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.reconocimientosGallery:hover .reconocimientosGallery__item:not(:hover){
  transform: scale(.975);
}

.reconocimientosGallery__item:hover,
.reconocimientosGallery__item:focus-within{
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 28px 56px rgba(16,49,63,.18);
}

.reconocimientosGallery__item:hover img,
.reconocimientosGallery__item:focus-within img{
  transform: scale(1.05);
}

.comunidadesHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    var(--comunidades-hero-image, url("../img/que-hacemos/comunidades/optimized/portada.webp")) center/cover no-repeat;
  overflow:hidden;
}

.comunidadesHero__inner{
  position:relative;
  z-index:1;
  min-height: inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding: 24px 18px 28px;
}

.comunidadesHero__title{
  max-width: 1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke: 3px #ffffff;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.comunidadesIntro{
  padding: 76px 0 88px;
}

.comunidadesIntro__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 500px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(28px, 4vw, 64px);
}

.comunidadesIntro__content{
  padding: clamp(28px, 3vw, 38px);
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(240,247,242,.98));
  box-shadow: 0 24px 58px rgba(16,49,63,.08);
}

.comunidadesIntro__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#0c5f27;
}

.comunidadesIntro__eyebrow::before{
  content:"";
  width:42px;
  height:2px;
  border-radius:999px;
  background:#0c5f27;
}

.comunidadesIntro__title{
  margin:0 0 18px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 3vw, 44px);
  font-weight:800;
  line-height:1.14;
  color:#10313f;
}

.comunidadesIntro__text{
  margin:0 0 18px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.78;
  color:#10313f;
}

.comunidadesIntro__text:last-of-type{
  margin-bottom: 0;
}

.comunidadesIntro__highlights{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}

.comunidadesHighlight{
  display:grid;
  gap: 12px;
  padding: 22px 20px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(238,246,240,.92));
  border: 1px solid rgba(12,95,39,.08);
  box-shadow: 0 16px 38px rgba(16,49,63,.06);
}

.comunidadesHighlight__line{
  display:block;
  width:44px;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, #0c5f27, #2aa551);
}

.comunidadesHighlight__title{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 20px;
  font-weight:800;
  line-height:1.2;
  color:#10313f;
}

.comunidadesHighlight__text{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:600;
  line-height:1.7;
  color:rgba(16,49,63,.82);
}

.comunidadesIntro__media{
  position:relative;
}

.comunidadesIntro__media::after{
  content:"";
  position:absolute;
  inset: 28px 0 0 26px;
  border-radius: 36px;
  background: linear-gradient(145deg, rgba(3,145,3,.12), rgba(16,49,63,.08));
  z-index:0;
}

.comunidadesIntro__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: 0 24px 52px rgba(16,49,63,.14);
}

.comunidadesVisual{
  position:relative;
  z-index:1;
  min-height: 520px;
}

.comunidadesVisual__image{
  position:absolute;
  display:block;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: 0 24px 52px rgba(16,49,63,.14);
}

.comunidadesVisual__image--primary{
  inset: 0 54px 72px 0;
  width:auto;
  height:auto;
  max-width: none;
}

.comunidadesVisual__image--secondary{
  right: 0;
  bottom: 0;
  width: 45%;
  aspect-ratio: .88;
  object-fit: cover;
  border: 8px solid rgba(255,255,255,.96);
}

@media (max-width: 980px){
  .donacionesHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .donacionesHero__inner{
    padding: 20px 14px 22px;
  }

  .donacionesHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .donacionesSupport{
    padding: 58px 0 72px;
  }

  .donacionesSupport__inner{
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .donacionesSupport__content{
    order:1;
  }

  .donacionesSupport__media{
    order:2;
    max-width: 760px;
    width:100%;
    margin:0 auto;
  }

  .donacionesSupport__nav{
    width:42px;
    height:42px;
  }

  .donacionesSupport__nav--prev{
    left:12px;
  }

  .donacionesSupport__nav--next{
    right:12px;
  }

  .proyectosHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .proyectosHero__inner{
    padding: 20px 14px 22px;
  }

  .proyectosHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .proyectosPortal{
    padding: 58px 0 68px;
  }

  .proyectoEntry,
  .proyectoEntry--reverse{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .proyectoEntry__media{
    max-width: 760px;
    width:100%;
    margin:0 auto;
  }

  .reconocimientosHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .reconocimientosHero__inner{
    padding: 20px 14px 22px;
  }

  .reconocimientosHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .reconocimientosSection{
    padding: 58px 0;
  }

  .reconocimientosSection__inner,
  .reconocimientosSection--reverse .reconocimientosSection__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .reconocimientosGallery{
    max-width: 760px;
    width:100%;
    margin:0 auto;
  }

  .comunidadesHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .comunidadesHero__inner{
    padding: 20px 14px 22px;
  }

  .comunidadesHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .comunidadesIntro{
    padding: 58px 0 68px;
  }

  .comunidadesIntro__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .comunidadesIntro__highlights{
    grid-template-columns: 1fr;
  }

  .comunidadesIntro__media{
    max-width: 680px;
    width:100%;
    margin:0 auto;
  }

  .comunidadesIntro__image{
    border-radius: 28px;
  }

  .comunidadesVisual{
    min-height: 460px;
  }
}

@media (max-width: 640px){
  .proyectosPortal{
    padding: 42px 0 58px;
  }

  .proyectosPortal__inner{
    width:min(100%, calc(100% - 32px));
  }

  .proyectosPortal__intro{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .proyectosPortal__eyebrow,
  .proyectosPanel__eyebrow{
    font-size: 12px;
  }

  .proyectosPortal__title,
  .proyectosPanel__title{
    font-size: 26px;
  }

  .proyectosPortal__text,
  .proyectosPanel__text{
    font-size: 16px;
    line-height:1.72;
  }

  .proyectosTabs{
    gap: 10px;
  }

  .proyectosTabs__button{
    width:100%;
    justify-content:center;
    padding: 13px 16px;
    font-size: 14px;
  }

  .proyectoEntry{
    padding: 20px 18px 22px;
    border-radius: 24px;
  }

  .proyectoEntry__title{
    font-size: 24px;
  }

  .proyectosEmpty{
    padding: 20px 18px 22px;
    border-radius: 24px;
  }

  .proyectosEmpty__title{
    font-size: 23px;
  }

  .proyectosEmpty__text{
    font-size: 15px;
    line-height:1.72;
  }

  .proyectoEntry__lead{
    font-size: 16px;
    line-height:1.68;
  }

  .proyectoEntry__body p,
  .proyectoEntry__detailsBody p{
    font-size: 15px;
    line-height:1.72;
  }

  .proyectoEntry__resultsList{
    font-size: 14px;
    line-height:1.66;
  }

  .proyectoEntry__detailsResults{
    padding: 14px 16px 12px;
    border-radius: 18px;
  }

  .proyectoEntry__detailsResultsTitle{
    font-size: 14px;
  }

  .proyectoEntry__detailsQrTitle{
    font-size: 14px;
  }

  .proyectoEntry__detailsQrFigure{
    width:min(172px, 100%);
    padding: 9px;
    border-radius: 18px;
  }

  .proyectoEntry__single{
    border-radius: 22px;
  }

  .proyectoEntry__gallery{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .proyectoEntry__galleryItem--main{
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .proyectoEntry__galleryItem{
    border-radius: 20px;
  }

  .proyectoEntry__gallery--count-5,
  .proyectoEntry__gallery--count-6{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    height: auto;
  }

  .proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem,
  .proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem{
    aspect-ratio: 1 / .86;
  }

  .proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(1),
  .proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(1){
    grid-column: 1 / -1;
    grid-row: auto;
    aspect-ratio: 1.18;
  }

  .proyectoEntry__gallery--count-5 .proyectoEntry__galleryItem:nth-child(n + 2),
  .proyectoEntry__gallery--count-6 .proyectoEntry__galleryItem:nth-child(n + 2){
    grid-column: auto;
    grid-row: auto;
  }

  .reconocimientosSection{
    padding: 42px 0;
  }

  .reconocimientosSection__inner{
    width:min(100%, calc(100% - 32px));
  }

  .reconocimientosSection__content{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .reconocimientosSection__eyebrow{
    font-size: 12px;
  }

  .reconocimientosSection__title{
    font-size: 26px;
  }

  .reconocimientosSection__text{
    font-size: 16px;
    line-height:1.72;
  }

  .reconocimientosSection__content{
    order: 1;
  }

  .reconocimientosGallery{
    order: 2;
  }

  .reconocimientosGallery--four,
  .reconocimientosGallery--three{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .reconocimientosGallery--four .reconocimientosGallery__item--main,
  .reconocimientosGallery--three .reconocimientosGallery__item--main{
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .reconocimientosGallery__item{
    border-radius: 22px;
  }

  .comunidadesIntro{
    padding: 42px 0 58px;
  }

  .comunidadesIntro__inner{
    width:min(100%, calc(100% - 32px));
  }

  .comunidadesIntro__content{
    padding: 22px 20px;
    border-radius: 24px;
  }

  .comunidadesIntro__eyebrow{
    font-size: 12px;
  }

  .comunidadesIntro__title{
    font-size: 26px;
  }

  .comunidadesIntro__text{
    font-size: 16px;
    line-height:1.72;
  }

  .comunidadesIntro__media::after{
    inset: 20px 0 0 12px;
    border-radius: 28px;
  }

  .comunidadesIntro__image{
    border-radius: 24px;
    aspect-ratio: 1.02;
  }

  .comunidadesVisual{
    min-height: auto;
    display:grid;
    gap: 16px;
  }

  .comunidadesVisual__image{
    position:relative;
    width:100%;
  }

  .comunidadesVisual__image--primary{
    inset:auto;
    border-radius: 26px;
    aspect-ratio: .98;
  }

  .comunidadesVisual__image--secondary{
    right:auto;
    bottom:auto;
    width:100%;
    border-width: 0;
    border-radius: 24px;
    aspect-ratio: 1.12;
  }

  .comunidadesHighlight{
    padding: 18px 18px 20px;
    border-radius: 20px;
  }

  .comunidadesHighlight__title{
    font-size: 18px;
  }

  .comunidadesHighlight__text{
    font-size: 14px;
  }
}

.eduDerechosPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.09), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 18%);
}

.eduDerechosHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/optimized/educacion-derechos-portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.eduDerechosHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding:24px 18px 28px;
}

.eduDerechosHero__title{
  max-width:1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke:3px #ffffff;
  -webkit-text-fill-color:transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.eduDerechosSection{
  padding: 74px 0;
}

.eduDerechosSection--alt{
  background:
    linear-gradient(180deg, rgba(3,145,3,.03), rgba(255,255,255,0) 100%);
}

.eduDerechosSection__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(26px, 4vw, 66px);
}

.eduDerechosSection--reverse .eduDerechosSection__inner{
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
}

.eduDerechosSection__media{
  position:relative;
}

.eduDerechosSection__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius:28px;
  background: linear-gradient(135deg, rgba(3,145,3,.18), rgba(16,49,63,.08));
  z-index:0;
}

.eduDerechosSection__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit:cover;
  border-radius:28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

.eduDerechosSection__content{
  display:grid;
  gap: 18px;
}

.eduDerechosSection__lead{
  margin:0;
  padding: 28px 30px;
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.82;
  color:#10313f;
}

.eduDerechosStrategy{
  display:grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  align-items:start;
  padding: 24px 26px;
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(240,247,242,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.eduDerechosStrategy__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:22px;
  background: linear-gradient(145deg, rgba(9,73,31,.98), rgba(3,145,3,.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:800;
  letter-spacing:.08em;
  color:#f6fff7;
}

.eduDerechosStrategy__body{
  display:grid;
  gap: 10px;
}

.eduDerechosStrategy__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.eduDerechosStrategy__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:500;
  line-height:1.78;
  color:#10313f;
}

@media (max-width: 980px){
  .eduDerechosHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .eduDerechosHero__inner{
    padding:20px 14px 22px;
  }

  .eduDerechosHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke:2px #ffffff;
  }

  .eduDerechosSection{
    padding: 58px 0;
  }

  .eduDerechosSection__inner,
  .eduDerechosSection--reverse .eduDerechosSection__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .eduDerechosSection__media{
    max-width: 540px;
  }

  .eduDerechosSection--reverse .eduDerechosSection__media{
    order: 2;
  }

  .eduDerechosSection--reverse .eduDerechosSection__content{
    order: 1;
  }
}

@media (max-width: 640px){
  .eduDerechosSection{
    padding: 42px 0 58px;
  }

  .eduDerechosSection__inner{
    width:min(100%, calc(100% - 32px));
  }

  .eduDerechosSection__lead{
    padding: 22px 20px;
    border-radius:24px;
    font-size: 16px;
    line-height:1.72;
  }

  .eduDerechosStrategy{
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
    border-radius:24px;
  }

  .eduDerechosStrategy__number{
    width:52px;
    height:52px;
    border-radius:18px;
    font-size: 16px;
  }

  .eduDerechosStrategy__title{
    font-size: 24px;
  }

  .eduDerechosStrategy__text{
    font-size: 16px;
    line-height:1.7;
  }
}

.promoSaludPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.09), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 18%);
}

.promoSaludHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/optimized/promocion-salud-portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.promoSaludHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding:24px 18px 28px;
}

.promoSaludHero__title{
  max-width:1160px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(40px, 5.8vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke:3px #ffffff;
  -webkit-text-fill-color:transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.promoSaludSection{
  padding: 74px 0;
}

.promoSaludSection--alt{
  background:
    linear-gradient(180deg, rgba(3,145,3,.03), rgba(255,255,255,0) 100%);
}

.promoSaludSection__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(26px, 4vw, 66px);
}

.promoSaludSection--reverse .promoSaludSection__inner{
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
}

.promoSaludSection__media{
  position:relative;
}

.promoSaludSection__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius:28px;
  background: linear-gradient(135deg, rgba(3,145,3,.18), rgba(16,49,63,.08));
  z-index:0;
}

.promoSaludSection__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit:cover;
  border-radius:28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

.promoSaludSection__content{
  display:grid;
  gap: 18px;
}

.promoSaludSection__lead{
  margin:0;
  padding: 28px 30px;
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.82;
  color:#10313f;
}

.promoSaludStrategy{
  display:grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  align-items:start;
  padding: 24px 26px;
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(240,247,242,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.promoSaludStrategy__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:22px;
  background: linear-gradient(145deg, rgba(9,73,31,.98), rgba(3,145,3,.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:800;
  letter-spacing:.08em;
  color:#f6fff7;
}

.promoSaludStrategy__body{
  display:grid;
  gap: 10px;
}

.promoSaludStrategy__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.promoSaludStrategy__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:500;
  line-height:1.78;
  color:#10313f;
}

@media (max-width: 980px){
  .promoSaludHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .promoSaludHero__inner{
    padding:20px 14px 22px;
  }

  .promoSaludHero__title{
    font-size: clamp(34px, 8.8vw, 68px);
    -webkit-text-stroke:2px #ffffff;
  }

  .promoSaludSection{
    padding: 58px 0;
  }

  .promoSaludSection__inner,
  .promoSaludSection--reverse .promoSaludSection__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .promoSaludSection__media{
    max-width: 540px;
  }

  .promoSaludSection--reverse .promoSaludSection__media{
    order:2;
  }

  .promoSaludSection--reverse .promoSaludSection__content{
    order:1;
  }
}

@media (max-width: 640px){
  .promoSaludSection{
    padding: 42px 0 58px;
  }

  .promoSaludSection__inner{
    width:min(100%, calc(100% - 32px));
  }

  .promoSaludSection__lead{
    padding: 22px 20px;
    border-radius:24px;
    font-size: 16px;
    line-height:1.72;
  }

  .promoSaludStrategy{
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
    border-radius:24px;
  }

  .promoSaludStrategy__number{
    width:52px;
    height:52px;
    border-radius:18px;
    font-size: 16px;
  }

  .promoSaludStrategy__title{
    font-size: 23px;
  }

  .promoSaludStrategy__text{
    font-size: 16px;
    line-height:1.7;
  }
}

.naturalezaPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.09), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 18%);
}

.naturalezaHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/optimized/naturaleza-ambientales-portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.naturalezaHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding:24px 18px 28px;
}

.naturalezaHero__title{
  max-width:1200px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(34px, 5.2vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke:3px #ffffff;
  -webkit-text-fill-color:transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.naturalezaSection{
  padding: 74px 0;
}

.naturalezaSection--alt{
  background:
    linear-gradient(180deg, rgba(3,145,3,.03), rgba(255,255,255,0) 100%);
}

.naturalezaSection__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(26px, 4vw, 66px);
}

.naturalezaSection--reverse .naturalezaSection__inner{
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
}

.naturalezaSection__media{
  position:relative;
}

.naturalezaSection__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius:28px;
  background: linear-gradient(135deg, rgba(3,145,3,.18), rgba(16,49,63,.08));
  z-index:0;
}

.naturalezaSection__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .96;
  object-fit:cover;
  border-radius:28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

.naturalezaSection__content{
  display:grid;
  gap: 18px;
}

.naturalezaSection__lead{
  margin:0;
  padding: 28px 30px;
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,244,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.82;
  color:#10313f;
}

.naturalezaStrategy{
  display:grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  align-items:start;
  padding: 24px 26px;
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(240,247,242,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.naturalezaStrategy__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:22px;
  background: linear-gradient(145deg, rgba(9,73,31,.98), rgba(3,145,3,.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:800;
  letter-spacing:.08em;
  color:#f6fff7;
}

.naturalezaStrategy__body{
  display:grid;
  gap: 10px;
}

.naturalezaStrategy__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.naturalezaStrategy__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:500;
  line-height:1.78;
  color:#10313f;
}

@media (max-width: 980px){
  .naturalezaHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .naturalezaHero__inner{
    padding:20px 14px 22px;
  }

  .naturalezaHero__title{
    font-size: clamp(30px, 8vw, 64px);
    -webkit-text-stroke:2px #ffffff;
  }

  .naturalezaSection{
    padding: 58px 0;
  }

  .naturalezaSection__inner,
  .naturalezaSection--reverse .naturalezaSection__inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .naturalezaSection__media{
    max-width: 540px;
  }

  .naturalezaSection--reverse .naturalezaSection__media{
    order:2;
  }

  .naturalezaSection--reverse .naturalezaSection__content{
    order:1;
  }
}

@media (max-width: 640px){
  .naturalezaSection{
    padding: 42px 0 58px;
  }

  .naturalezaSection__inner{
    width:min(100%, calc(100% - 32px));
  }

  .naturalezaSection__lead{
    padding: 22px 20px;
    border-radius:24px;
    font-size: 16px;
    line-height:1.72;
  }

  .naturalezaStrategy{
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
    border-radius:24px;
  }

  .naturalezaStrategy__number{
    width:52px;
    height:52px;
    border-radius:18px;
    font-size: 16px;
  }

  .naturalezaStrategy__title{
    font-size: 23px;
  }

  .naturalezaStrategy__text{
    font-size: 16px;
    line-height:1.7;
  }
}

.acompSocialPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.09), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 18%);
}

.acompSocialHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/optimized/acompanamiento-social-portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.acompSocialHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding:24px 18px 28px;
}

.acompSocialHero__title{
  max-width:1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(40px, 5.6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  -webkit-text-stroke:3px #ffffff;
  -webkit-text-fill-color:transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.acompSocialSection{
  padding:74px 0;
}

.acompSocialSection--alt{
  background:
    linear-gradient(180deg, rgba(3,145,3,.03), rgba(255,255,255,0) 100%);
}

.acompSocialSection__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  align-items:center;
  gap: clamp(26px, 4vw, 66px);
}

.acompSocialSection--reverse .acompSocialSection__inner{
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
}

.acompSocialSection__media{
  position:relative;
}

.acompSocialSection__media::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 28px;
  border-radius:28px;
  background: linear-gradient(135deg, rgba(3,145,3,.18), rgba(16,49,63,.08));
  z-index:0;
}

.acompSocialSection__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:.96;
  object-fit:cover;
  border-radius:28px;
  box-shadow: 0 26px 58px rgba(16,49,63,.14);
}

.acompSocialSection__content{
  display:grid;
  gap:18px;
}

.acompSocialPanel,
.acompSocialStrategy{
  border-radius:28px;
  background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(240,247,242,.98));
  box-shadow: 0 22px 52px rgba(16,49,63,.08);
}

.acompSocialPanel{
  padding: 30px;
}

.acompSocialPanel__title{
  margin:0 0 16px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.acompSocialPanel__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size:18px;
  font-weight:500;
  line-height:1.82;
  color:#10313f;
}

.acompSocialStrategy{
  display:grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap:18px;
  align-items:start;
  padding:24px 26px;
}

.acompSocialStrategy__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:22px;
  background: linear-gradient(145deg, rgba(9,73,31,.98), rgba(3,145,3,.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size:18px;
  font-weight:800;
  letter-spacing:.08em;
  color:#f6fff7;
}

.acompSocialStrategy__body{
  display:grid;
  gap:10px;
}

.acompSocialStrategy__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight:800;
  line-height:1.08;
  color:#10313f;
}

.acompSocialStrategy__text{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size:17px;
  font-weight:500;
  line-height:1.78;
  color:#10313f;
}

@media (max-width: 980px){
  .acompSocialHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .acompSocialHero__inner{
    padding:20px 14px 22px;
  }

  .acompSocialHero__title{
    font-size: clamp(34px, 8.8vw, 68px);
    -webkit-text-stroke:2px #ffffff;
  }

  .acompSocialSection{
    padding:58px 0;
  }

  .acompSocialSection__inner,
  .acompSocialSection--reverse .acompSocialSection__inner{
    grid-template-columns:1fr;
    gap:28px;
  }

  .acompSocialSection__media{
    max-width:540px;
  }

  .acompSocialSection--reverse .acompSocialSection__media{
    order:2;
  }

  .acompSocialSection--reverse .acompSocialSection__content{
    order:1;
  }
}

@media (max-width: 640px){
  .acompSocialSection{
    padding:42px 0 58px;
  }

  .acompSocialSection__inner{
    width:min(100%, calc(100% - 32px));
  }

  .acompSocialPanel{
    padding:22px 20px;
    border-radius:24px;
  }

  .acompSocialPanel__title{
    font-size:26px;
  }

  .acompSocialPanel__text{
    font-size:16px;
    line-height:1.72;
  }

  .acompSocialStrategy{
    grid-template-columns:1fr;
    gap:16px;
    padding:20px;
    border-radius:24px;
  }

  .acompSocialStrategy__number{
    width:52px;
    height:52px;
    border-radius:18px;
    font-size:16px;
  }

  .acompSocialStrategy__title{
    font-size:23px;
  }

  .acompSocialStrategy__text{
    font-size:16px;
    line-height:1.7;
  }
}

.turismoPage{
  background:
    radial-gradient(circle at top left, rgba(3,145,3,.08), transparent 34%),
    linear-gradient(180deg, #f6fbf7 0%, #ffffff 18%);
}

.turismoHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(3,145,3,.46), rgba(3,145,3,.62)),
    url("../img/optimized/turismo-solidario-portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.turismoHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding:24px 18px 28px;
}

.turismoHero__title{
  max-width:1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 6vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  -webkit-text-stroke:3px #ffffff;
  -webkit-text-fill-color:transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.turismoExperience{
  padding: 78px 0 88px;
}

.turismoExperience__inner{
  width:min(1240px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 480px);
  align-items:center;
  gap: clamp(28px, 4vw, 68px);
}

.turismoCard{
  padding: clamp(28px, 4vw, 42px);
  border-radius:32px;
  background:
    radial-gradient(circle at top right, rgba(3,145,3,.12), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(240,247,242,.98));
  box-shadow: 0 26px 58px rgba(16,49,63,.1);
}

.turismoCard__eyebrow{
  display:inline-flex;
  margin-bottom:18px;
  padding: 9px 14px;
  border-radius:999px;
  background: rgba(3,145,3,.1);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0d5f27;
}

.turismoCard__title{
  margin:0 0 18px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight:800;
  line-height:1.05;
  color:#10313f;
}

.turismoCard__text{
  margin:0 0 16px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.82;
  color:#10313f;
}

.turismoCard__ctaBlock{
  margin-top: 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  padding: 20px 22px;
  border-radius:24px;
  background: linear-gradient(145deg, rgba(9,73,31,.97), rgba(3,145,3,.88));
  box-shadow: 0 18px 38px rgba(16,49,63,.16);
}

.turismoCard__ctaText{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:700;
  line-height:1.45;
  color:#f4fff6;
}

.turismoCard__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 170px;
  padding: 14px 20px;
  border-radius:999px;
  background:#ffffff;
  text-decoration:none;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
  font-weight:800;
  color:#0d5f27;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  transition: transform .22s ease, box-shadow .22s ease;
}

.turismoCard__button:hover,
.turismoCard__button:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(0,0,0,.16);
  outline:none;
}

.turismoVisual{
  position:relative;
  margin:0;
}

.turismoVisual::after{
  content:"";
  position:absolute;
  inset:auto -18px -18px 30px;
  border-radius:30px;
  background: linear-gradient(135deg, rgba(3,145,3,.18), rgba(16,49,63,.08));
  z-index:0;
}

.turismoVisual__image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio: .92;
  object-fit:cover;
  border-radius:30px;
  box-shadow: 0 28px 60px rgba(16,49,63,.14);
}

.turismoVisual__badge{
  position:absolute;
  left: 26px;
  bottom: 24px;
  z-index:2;
  max-width: 280px;
  padding: 12px 16px;
  border-radius:18px;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  line-height:1.4;
  color:#10313f;
  box-shadow: 0 10px 24px rgba(16,49,63,.14);
}

@media (max-width: 980px){
  .turismoHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .turismoHero__inner{
    padding:20px 14px 22px;
  }

  .turismoHero__title{
    font-size: clamp(38px, 9vw, 72px);
    -webkit-text-stroke:2px #ffffff;
  }

  .turismoExperience{
    padding: 58px 0 68px;
  }

  .turismoExperience__inner{
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .turismoExperience__media{
    max-width: 560px;
  }
}

@media (max-width: 640px){
  .turismoExperience{
    padding: 42px 0 58px;
  }

  .turismoExperience__inner{
    width:min(100%, calc(100% - 32px));
  }

  .turismoCard{
    padding: 22px 20px;
    border-radius:24px;
  }

  .turismoCard__title{
    font-size: 28px;
  }

  .turismoCard__text{
    font-size: 16px;
    line-height:1.72;
  }

  .turismoCard__ctaBlock{
    flex-direction:column;
    align-items:stretch;
    padding: 18px;
    border-radius:20px;
  }

  .turismoCard__ctaText{
    font-size: 17px;
  }

  .turismoCard__button{
    width:100%;
  }

  .turismoVisual__badge{
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width:none;
    font-size: 13px;
  }
}

.aliadosNewsPage{
  background:
    radial-gradient(circle at top left, rgba(67,56,202,.12), transparent 32%),
    linear-gradient(180deg, #f7f7ff 0%, #ffffff 20%);
}

.aliadosNewsHero{
  position:relative;
  min-height: clamp(420px, 72vh, 720px);
  background:
    linear-gradient(180deg, rgba(67,56,202,.52), rgba(67,56,202,.66)),
    url("../img/escriben-nuestros-aliados/portada.webp") center/cover no-repeat;
  overflow:hidden;
}

.aliadosNewsHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  width:min(100%, 1280px);
  margin:0 auto;
  padding:24px 18px 28px;
}

.aliadosNewsHero__title{
  max-width:1120px;
  margin:0;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(40px, 5.8vw, 90px);
  font-weight:900;
  line-height:.94;
  letter-spacing:.8px;
  color:transparent;
  text-transform:uppercase;
  -webkit-text-stroke:3px #ffffff;
  -webkit-text-fill-color:transparent;
  paint-order: stroke fill;
  text-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.aliadosNewsStories{
  padding: 72px 0 86px;
}

.aliadosNewsStories__inner{
  width:min(1160px, 92%);
  margin:0 auto;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(67,56,202,.12), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,243,255,.98));
  box-shadow: 0 26px 58px rgba(31,41,55,.08);
}

.aliadosNewsStories__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items:stretch;
  justify-items:center;
}

.aliadosNewsStories .storyCard{
  width:100%;
  max-width: 320px;
  height:100%;
  display:flex;
  flex-direction:column;
  border-radius: 18px;
  background: #f7f5e9;
  box-shadow: 0 18px 36px rgba(31,41,55,.12);
}

.aliadosNewsStories .storyCard__img{
  height: 214px;
}

.aliadosNewsStories .storyCard__body{
  padding: 18px 16px 22px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.aliadosNewsStories .storyCard__headline{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 24px;
  font-weight:800;
  line-height:1.18;
  color:#111827;
}

.aliadosNewsStories .storyCard__sub{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:600;
  color: rgba(17,24,39,.72);
  margin-bottom:auto;
}

.aliadosNewsStories .storyCard__btn{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.05em;
  background: linear-gradient(145deg, #2c4a8a, #4338ca);
  box-shadow: 0 10px 22px rgba(67,56,202,.22);
}

@media (max-width: 980px){
  .aliadosNewsHero{
    min-height: clamp(360px, 62vh, 560px);
  }

  .aliadosNewsHero__inner{
    padding:20px 14px 22px;
  }

  .aliadosNewsHero__title{
    font-size: clamp(36px, 9vw, 72px);
    -webkit-text-stroke:2px #ffffff;
  }

  .aliadosNewsStories{
    padding: 58px 0 68px;
  }

  .aliadosNewsStories__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 640px){
  .aliadosNewsStories{
    padding: 42px 0 58px;
  }

  .aliadosNewsStories__inner{
    width:min(100%, calc(100% - 32px));
    padding: 18px;
    border-radius: 24px;
  }

  .aliadosNewsStories .storyCard{
    max-width: none;
  }

  .aliadosNewsStories .storyCard__headline{
    font-size: 22px;
  }
}

.allyStoryPage{
  background:
    radial-gradient(circle at top left, rgba(67,56,202,.1), transparent 30%),
    linear-gradient(180deg, #f7f7ff 0%, #ffffff 18%);
}

.allyStoryArticle{
  padding: 34px 0 84px;
}

.allyStoryArticle__inner{
  width:min(980px, 92%);
  margin:0 auto;
}

.allyStoryBack{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom: 24px;
  text-decoration:none;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.04em;
  color:#4338ca;
}

.allyStoryCover{
  margin-bottom: 28px;
}

.allyStoryCover__image{
  display:block;
  width:100%;
  max-height: min(74vh, 760px);
  object-fit:cover;
  border-radius: 30px;
  box-shadow: 0 28px 60px rgba(31,41,55,.14);
}

.allyStoryHeader{
  margin-bottom: 28px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(67,56,202,.12), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(241,243,255,.98));
  box-shadow: 0 24px 52px rgba(31,41,55,.08);
}

.allyStoryHeader__eyebrow{
  display:inline-flex;
  margin-bottom: 16px;
  padding: 8px 14px;
  border-radius:999px;
  background: rgba(67,56,202,.1);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4338ca;
}

.allyStoryHeader__title{
  margin:0 0 14px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(32px, 4vw, 54px);
  font-weight:800;
  line-height:1.02;
  color:#111827;
}

.allyStoryHeader__meta{
  margin:0 0 18px;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
  font-weight:700;
  color:#4b5563;
}

.allyStoryHeader__intro{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.8;
  color:#111827;
}

.allyStoryBody{
  display:grid;
  gap: 24px;
}

.allyStoryBody > p,
.allyStoryVoice{
  padding: clamp(24px, 3vw, 32px);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 20px 44px rgba(31,41,55,.06);
}

.allyStoryBody > p{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 18px;
  font-weight:500;
  line-height:1.84;
  color:#111827;
}

.allyStoryVoice{
  display:grid;
  gap: 16px;
  border: 1px solid rgba(67,56,202,.08);
}

.allyStoryVoice__title{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2.8vw, 34px);
  font-weight:800;
  line-height:1.1;
  color:#2c4a8a;
}

.allyStoryVoice p{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 17px;
  font-weight:500;
  line-height:1.82;
  color:#111827;
}

.allyStoryVoice__meta{
  margin:0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  font-weight:700;
  line-height:1.65;
  color:#4b5563;
}

.allyStoryVoice__signature{
  font-weight:800 !important;
  color:#2c4a8a !important;
}

.allyStoryEndImage{
  margin-top: 30px;
  width:min(100%, 820px);
  margin-left:auto;
  margin-right:auto;
}

.allyStoryEndImage__image{
  display:block;
  width:100%;
  max-height:min(56vh, 520px);
  object-fit:contain;
  background:#f5f7fb;
  border-radius: 30px;
  box-shadow: 0 28px 60px rgba(31,41,55,.14);
}

.allyStoryPager{
  margin-top: 24px;
  display:flex;
  justify-content:flex-end;
}

.allyStoryPager--between{
  justify-content:space-between;
  gap: 18px;
}

.allyStoryPager__link{
  display:inline-flex;
  align-items:center;
  gap: 14px;
  padding: 12px 14px 12px 20px;
  border-radius: 999px;
  text-decoration:none;
  background: linear-gradient(145deg, #2c4a8a, #4338ca);
  box-shadow: 0 14px 28px rgba(67,56,202,.18);
  transition: transform .22s ease, box-shadow .22s ease;
}

.allyStoryPager__link--prev{
  padding: 12px 20px 12px 14px;
}

.allyStoryPager__link:hover,
.allyStoryPager__link:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(67,56,202,.24);
  outline:none;
}

.allyStoryPager__label{
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#ffffff;
}

.allyStoryPager__arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background: rgba(255,255,255,.14);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 22px;
  font-weight:800;
  color:#ffffff;
}

@media (max-width: 980px){
  .allyStoryArticle{
    padding: 26px 0 68px;
  }

  .allyStoryCover__image{
    max-height: min(62vh, 560px);
  }

  .allyStoryEndImage__image{
    max-height:min(46vh, 420px);
  }
}

@media (max-width: 640px){
  .allyStoryArticle{
    padding: 22px 0 58px;
  }

  .allyStoryArticle__inner{
    width:min(100%, calc(100% - 32px));
  }

  .allyStoryBack{
    margin-bottom: 18px;
    font-size: 13px;
  }

  .allyStoryCover{
    margin-bottom: 20px;
  }

  .allyStoryCover__image,
  .allyStoryEndImage__image{
    border-radius: 22px;
  }

  .allyStoryEndImage{
    width:min(100%, 320px);
    margin-top: 24px;
  }

  .allyStoryEndImage__image{
    max-height:260px;
  }

  .allyStoryHeader{
    margin-bottom: 20px;
    padding: 22px 20px;
    border-radius: 24px;
  }

  .allyStoryHeader__title{
    font-size: 30px;
  }

  .allyStoryHeader__intro,
  .allyStoryBody > p,
  .allyStoryVoice p{
    font-size: 16px;
    line-height:1.72;
  }

  .allyStoryBody > p,
  .allyStoryVoice{
    padding: 22px 20px;
    border-radius: 22px;
  }

  .allyStoryVoice__title{
    font-size: 24px;
  }

  .allyStoryPager{
    margin-top: 18px;
    justify-content:center;
  }

  .allyStoryPager--between{
    flex-direction:column;
    align-items:stretch;
  }

  .allyStoryPager__link{
    width:100%;
    justify-content:space-between;
    padding: 12px 14px 12px 18px;
  }

  .allyStoryPager__label{
    font-size: 13px;
  }
}

/* ===== Pagina Linea de Trabajo ===== */
.lineaTrabajoPage{
  --linea-accent: #f4822a;
  --linea-accent-strong: #d86d16;
  --linea-accent-soft: #fff4e8;
  --linea-hero-overlay-start: rgba(244,130,42,.46);
  --linea-hero-overlay-end: rgba(244,130,42,.66);
  --linea-hero-image: url("../img/que-hacemos/linea-fortalecimiento/optimized/portada.webp");
  --linea-ink: #183b4e;
  --linea-muted: #47616d;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  width:100%;
  margin:0 auto;
  background:
    linear-gradient(180deg, #fffdfb 0%, #ffffff 100%);
}

.lineaTrabajoHero{
  position:relative;
  min-height: clamp(420px, 72vh, 760px);
  background:
    linear-gradient(180deg, var(--linea-hero-overlay-start), var(--linea-hero-overlay-end)),
    var(--linea-hero-image) center/cover no-repeat;
  overflow:hidden;
}

.lineaTrabajoHero__inner{
  position:relative;
  z-index:1;
  min-height:inherit;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  padding: 24px 18px 30px;
}

.lineaTrabajoHero__title{
  margin:0;
  max-width: 1100px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Heavy", sans-serif;
  font-size: clamp(42px, 5.5vw, 92px);
  font-weight:900;
  line-height: .92;
  letter-spacing: .5px;
  text-transform:uppercase;
  color:transparent;
  -webkit-text-stroke: 2.4px #ffffff;
  text-shadow: 0 10px 28px rgba(0,0,0,.16);
}

@supports not (-webkit-text-stroke: 1px #ffffff){
  .lineaTrabajoHero__title{
    color:#ffffff;
    text-shadow:
      2px 0 0 #ffffff,
     -2px 0 0 #ffffff,
      0 2px 0 #ffffff,
      0 -2px 0 #ffffff,
      0 10px 28px rgba(0,0,0,.16);
  }
}

.lineaTrabajoJump{
  position:relative;
  z-index:2;
  margin-top:0;
  padding: clamp(24px, 3.8vw, 38px) 0 12px;
}

.lineaTrabajoJump__inner{
  width:min(1220px, 92%);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 26px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(24,59,78,.08);
  box-shadow: 0 20px 42px rgba(24,59,78,.1);
  backdrop-filter: blur(10px);
}

.lineaTrabajoJump__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(24,59,78,.06);
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--linea-ink);
  text-decoration:none;
  transition: background .2s ease, transform .2s ease, color .2s ease;
}

.lineaTrabajoJump__link:hover,
.lineaTrabajoJump__link:focus-visible{
  background: color-mix(in srgb, var(--linea-accent) 16%, white);
  color: var(--linea-accent-strong);
  transform: translateY(-2px);
  outline:none;
}

.lineaTrabajoJump__link.is-overview{
  background: color-mix(in srgb, var(--linea-accent) 12%, white);
  color: var(--linea-accent-strong);
}

.lineaTrabajoJump__link.is-current{
  background: var(--linea-accent-strong);
  color:#ffffff;
  box-shadow: 0 16px 30px rgba(24,59,78,.16);
}

.lineaTrabajoIntro,
.lineaTrabajoNav,
.lineaProyecto{
  width:100%;
}

.lineaTrabajoIntro{
  padding: clamp(44px, 7vw, 78px) 0 28px;
}

.lineaTrabajoIntro__inner,
.lineaTrabajoNav__inner,
.lineaProyecto__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.lineaTrabajoIntro__inner{
  display:grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr);
  gap: clamp(28px, 5vw, 64px);
  align-items:center;
}

.lineaTrabajoIntro__copy{
  position:relative;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 34px;
  background:#ffffff;
  box-shadow: 0 26px 54px rgba(24,59,78,.1);
}

.lineaTrabajoIntro__copy::before{
  content:"";
  position:absolute;
  inset: 18px auto -18px -18px;
  width: clamp(90px, 18vw, 160px);
  border-radius: 26px;
  background: color-mix(in srgb, var(--linea-accent) 14%, white);
  z-index:0;
}

.lineaTrabajoIntro__copy > *{
  position:relative;
  z-index:1;
}

.lineaTrabajoIntro__eyebrow,
.lineaTrabajoNav__eyebrow,
.lineaProyecto__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom: 14px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform:uppercase;
  color: var(--linea-accent-strong);
}

.lineaTrabajoIntro__title,
.lineaTrabajoNav__title,
.lineaProyecto__title{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 2.5vw, 42px);
  font-weight:800;
  line-height:1.08;
  color: var(--linea-ink);
}

.lineaTrabajoIntro__text,
.lineaProyecto__summary,
.lineaProyecto__body p,
.lineaTrabajoNav__text{
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: var(--linea-muted);
}

.lineaTrabajoIntro__text{
  margin: 18px 0 0;
  font-size: clamp(16px, 1.14vw, 18px);
  line-height: 1.68;
}

.lineaTrabajoIntro__quote{
  margin-top: 22px;
  padding: 18px 20px;
  border-radius: 22px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--linea-accent) 15%, white), rgba(255,255,255,.92));
  border:1px solid color-mix(in srgb, var(--linea-accent) 22%, white);
}

.lineaTrabajoIntro__quote p{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15.5px;
  font-weight:700;
  line-height:1.62;
  color: var(--linea-ink);
}

.lineaTrabajoPrograms{
  padding: 4px 0 clamp(26px, 4vw, 40px);
  content-visibility:auto;
  contain-intrinsic-size: 1px 340px;
}

.lineaTrabajoPrograms__inner{
  width:min(1220px, 92%);
  margin:0 auto;
}

.lineaTrabajoPrograms__header{
  margin-bottom: 24px;
}

.lineaTrabajoPrograms__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom: 14px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 13px;
  font-weight:800;
  letter-spacing: .08em;
  text-transform:uppercase;
  color: var(--linea-accent-strong);
}

.lineaTrabajoPrograms__title{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(24px, 2vw, 34px);
  font-weight:800;
  line-height:1.14;
  color: var(--linea-ink);
}

.lineaTrabajoPrograms__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.lineaTrabajoPrograms__card{
  position:relative;
  padding: 22px 22px 20px;
  border-radius: 26px;
  background:#ffffff;
  border:1px solid rgba(24,59,78,.08);
  box-shadow: 0 20px 42px rgba(24,59,78,.08);
  overflow:hidden;
}

.lineaTrabajoPrograms__grid .lineaTrabajoPrograms__card{
  opacity:0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease, box-shadow .22s ease;
}

.lineaTrabajoPrograms__grid.is-in .lineaTrabajoPrograms__card{
  opacity:1;
  transform:none;
}

.lineaTrabajoPrograms__grid.is-in .lineaTrabajoPrograms__card:nth-child(2){
  transition-delay: .08s;
}

.lineaTrabajoPrograms__card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background: linear-gradient(90deg, rgba(244,130,42,1), rgba(24,59,78,.75));
}

.lineaTrabajoPrograms__card:nth-child(2)::before{
  background: linear-gradient(90deg, rgba(24,59,78,1), rgba(12,110,12,.82));
}

.lineaTrabajoPrograms__label{
  display:inline-block;
  margin-bottom: 12px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 12px;
  font-weight:800;
  letter-spacing: .08em;
  text-transform:uppercase;
  color: var(--linea-accent-strong);
}

.lineaTrabajoPrograms__name{
  margin:0 0 12px;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 26px;
  font-weight:800;
  line-height:1.1;
  color: var(--linea-ink);
}

.lineaTrabajoPrograms__text{
  margin:0;
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15.5px;
  line-height:1.68;
  color: var(--linea-muted);
}

[data-linea-zoom]{
  cursor: zoom-in;
}

[data-linea-zoom]:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--linea-accent) 44%, white);
  outline-offset: 4px;
}

.lineaTrabajoIntro__visual{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-content:start;
}

.lineaTrabajoIntro__frame{
  margin:0;
  border-radius: 28px;
  overflow:hidden;
  background:#f2f5f7;
  box-shadow: 0 22px 48px rgba(24,59,78,.14);
  transition: transform .36s ease, box-shadow .36s ease;
}

.lineaTrabajoIntro__frame--primary{
  grid-row: span 2;
  min-height: 520px;
}

.lineaTrabajoIntro__frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .5s ease;
}

.lineaTrabajoIntro__thumbs{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.lineaTrabajoIntro__visual--single{
  grid-template-columns: 1fr;
}

.lineaTrabajoIntro__visual--single .lineaTrabajoIntro__frame--primary{
  grid-row:auto;
  min-height: clamp(340px, 42vw, 560px);
}

.lineaTrabajoIntro__inner--textOnly{
  grid-template-columns: 1fr;
}

.lineaTrabajoIntro__thumb{
  margin:0;
  min-height: 150px;
  border-radius: 22px;
  overflow:hidden;
  background:#f2f5f7;
  box-shadow: 0 18px 38px rgba(24,59,78,.12);
  transition: transform .36s ease, box-shadow .36s ease;
}

.lineaTrabajoIntro__thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .5s ease;
}

.lineaTrabajoIntro__visual:hover .lineaTrabajoIntro__frame:not(:hover),
.lineaTrabajoIntro__visual:hover .lineaTrabajoIntro__thumb:not(:hover){
  transform: scale(.97);
}

.lineaTrabajoIntro__frame:hover,
.lineaTrabajoIntro__thumb:hover{
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 26px 56px rgba(24,59,78,.18);
}

.lineaTrabajoIntro__frame:hover img,
.lineaTrabajoIntro__thumb:hover img{
  transform: scale(1.05);
}

.lineaTrabajoNav{
  padding: 20px 0 clamp(30px, 5vw, 52px);
  content-visibility:auto;
  contain-intrinsic-size: 1px 420px;
}

.lineaTrabajoNav__header{
  margin-bottom: 24px;
}

.lineaTrabajoNav__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.lineaTrabajoNav__card{
  display:flex;
  flex-direction:column;
  gap: 12px;
  min-height: 100%;
  padding: 22px 22px 20px;
  border-radius: 26px;
  background:#ffffff;
  border:1px solid rgba(24,59,78,.08);
  box-shadow: 0 20px 42px rgba(24,59,78,.08);
  text-decoration:none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.lineaTrabajoNav__grid .lineaTrabajoNav__card{
  opacity:0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease, box-shadow .22s ease, border-color .22s ease;
}

.lineaTrabajoNav__grid.is-in .lineaTrabajoNav__card{
  opacity:1;
  transform:none;
}

.lineaTrabajoNav__grid.is-in .lineaTrabajoNav__card:nth-child(2){
  transition-delay: .08s;
}

.lineaTrabajoNav__grid.is-in .lineaTrabajoNav__card:nth-child(3){
  transition-delay: .16s;
}

.lineaTrabajoNav__card:hover,
.lineaTrabajoNav__card:focus-visible{
  transform: translateY(-4px);
  box-shadow: 0 24px 48px rgba(24,59,78,.14);
  outline:none;
}

.lineaTrabajoNav__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius: 14px;
  background: rgba(244,130,42,.12);
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 19px;
  font-weight:800;
  color: var(--linea-accent-strong);
}

.lineaTrabajoNav__name{
  font-family: "Open Sans", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 20px;
  font-weight:800;
  line-height:1.24;
  color: var(--linea-ink);
}

.lineaTrabajoNav__text{
  font-size: 15px;
  line-height:1.62;
}

.lineaProyecto{
  padding: clamp(34px, 5vw, 56px) 0;
  scroll-margin-top: calc(var(--topbar-height) + 24px);
  content-visibility:auto;
  contain-intrinsic-size: 1px 760px;
}

.lineaProyecto__inner{
  display:grid;
  grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr);
  gap: clamp(26px, 4.8vw, 58px);
  align-items:center;
}

.lineaProyecto--reverse .lineaProyecto__copy{
  order:2;
}

.lineaProyecto--reverse .lineaProyecto__media{
  order:1;
}

.lineaProyecto__copy{
  padding: clamp(26px, 3.5vw, 34px);
  border-radius: 32px;
  background:#ffffff;
  box-shadow: 0 22px 48px rgba(24,59,78,.08);
}

.lineaProyecto__summary{
  margin: 18px 0 0;
  font-size: 17px;
  font-weight:700;
  line-height:1.64;
}

.lineaProyecto__body{
  margin-top: 18px;
  display:grid;
  gap:16px;
}

.lineaProyecto__body p{
  margin:0;
  font-size: 16.5px;
  line-height:1.72;
}

.lineaProyecto__gallery{
  --linea-gallery-gap: 18px;
  --linea-gallery-visible: 3;
  position:relative;
  border-radius: 32px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.42), transparent 34%),
    linear-gradient(180deg, rgba(24,59,78,.08), rgba(24,59,78,.03));
  box-shadow: 0 26px 52px rgba(24,59,78,.14);
}

.lineaProyecto__viewport{
  position:relative;
  aspect-ratio: 4 / 3;
  overflow:hidden;
}

.lineaProyecto__track{
  display:flex;
  gap: var(--linea-gallery-gap);
  min-width:100%;
  height:100%;
  padding: 10px;
  box-sizing:border-box;
  transition: transform .78s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

.lineaProyecto__slide{
  position:relative;
  flex: 0 0 calc((100% - (var(--linea-gallery-gap) * (var(--linea-gallery-visible) - 1))) / var(--linea-gallery-visible));
  margin:0;
  height:100%;
  border-radius: 24px;
  overflow:hidden;
  background:#dfe8ed;
  box-shadow: 0 16px 36px rgba(24,59,78,.12);
  opacity:.72;
  transform: scale(.95);
  filter: saturate(.9);
  transition: opacity .45s ease, transform .45s ease, box-shadow .45s ease, filter .45s ease;
}

.lineaProyecto__slide.is-active{
  opacity:1;
  transform: scale(1);
  box-shadow: 0 22px 44px rgba(24,59,78,.2);
  filter: saturate(1);
}

.lineaProyecto__gallery.is-hovering .lineaProyecto__slide{
  opacity:.5;
  transform: scale(.9);
  box-shadow: 0 12px 28px rgba(24,59,78,.1);
}

.lineaProyecto__gallery.is-hovering .lineaProyecto__slide.is-active{
  opacity:.78;
}

.lineaProyecto__slide.is-hovered{
  z-index:2;
  opacity:1 !important;
  transform: scale(1.06) !important;
  box-shadow: 0 26px 54px rgba(24,59,78,.24) !important;
  filter: saturate(1.04);
}

.lineaProyecto__slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition: transform .55s ease;
}

.lineaProyecto__slide.is-hovered img{
  transform: scale(1.06);
}

.lineaProyecto__staticMedia{
  margin:0;
  border-radius: 32px;
  overflow:hidden;
  background:#eff4f7;
  box-shadow: 0 26px 52px rgba(24,59,78,.14);
}

.lineaProyecto__staticMedia img{
  display:block;
  width:100%;
  aspect-ratio: 4 / 3;
  object-fit:cover;
  transition: transform .55s ease;
}

.lineaProyecto__staticMedia:hover img,
.lineaProyecto__staticMedia:focus-within img{
  transform: scale(1.04);
}

.accent-orange{
  --linea-accent: #f4822a;
  --linea-accent-strong: #d86d16;
}

.accent-berry{
  --linea-accent: #9c1d54;
  --linea-accent-strong: #821847;
}

.accent-green{
  --linea-accent: #0c6e0c;
  --linea-accent-strong: #0a5c0a;
}

.lineaLightbox{
  position:fixed;
  inset:0;
  z-index: 1400;
  padding: 24px;
  opacity:0;
  pointer-events:none;
  transition: opacity .32s ease;
}

.lineaLightbox[hidden]{
  display:none;
}

.lineaLightbox.is-open{
  opacity:1;
  pointer-events:auto;
}

.lineaLightbox__backdrop{
  position:absolute;
  inset:0;
  background: rgba(8,18,24,.82);
  backdrop-filter: blur(6px);
}

.lineaLightbox__close{
  position:absolute;
  top: 18px;
  right: 18px;
  z-index:3;
  width: 48px;
  height: 48px;
  border:0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color:#ffffff;
  font-size: 34px;
  line-height:1;
  cursor:pointer;
  transition: transform .22s ease, background .22s ease;
}

.lineaLightbox__close:hover,
.lineaLightbox__close:focus-visible{
  transform: scale(1.06);
  background: rgba(255,255,255,.2);
  outline:none;
}

.lineaLightbox__stage{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  pointer-events:none;
}

.lineaLightbox__image{
  max-width:min(92vw, 1400px);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  opacity:0;
  transform: scale(.985);
  pointer-events:auto;
  transition: opacity .18s ease, transform .24s ease;
}

.lineaLightbox__image.is-visible{
  opacity:1;
  transform:none;
}

.lineaLightbox__ghost{
  position:fixed;
  z-index:1405;
  pointer-events:none;
  object-position:center;
  transition:
    top .34s cubic-bezier(.22,.61,.36,1),
    left .34s cubic-bezier(.22,.61,.36,1),
    width .34s cubic-bezier(.22,.61,.36,1),
    height .34s cubic-bezier(.22,.61,.36,1),
    border-radius .34s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease;
}

body.linea-lightbox-open{
  overflow:hidden;
}

.lineaTrabajoNav__card.accent-berry .lineaTrabajoNav__number{
  background: rgba(156,29,84,.12);
  color:#821847;
}

.lineaTrabajoNav__card.accent-green .lineaTrabajoNav__number{
  background: rgba(12,110,12,.12);
  color:#0a5c0a;
}

.lineaProyecto--accent-berry .lineaProyecto__eyebrow{
  color:#821847;
}

.lineaProyecto--accent-green .lineaProyecto__eyebrow{
  color:#0a5c0a;
}

@media (max-width: 980px){
  .lineaTrabajoJump{
    padding: 22px 0 10px;
  }

  .lineaTrabajoJump__inner{
    width:min(1220px, 94%);
    padding: 14px;
    gap: 10px;
  }

  .lineaTrabajoJump__link{
    min-height:40px;
    padding: 9px 16px;
    font-size: 13px;
  }

  .lineaTrabajoHero{
    min-height: clamp(360px, 62vh, 560px);
    background-position: 52% 50%;
  }

  .lineaTrabajoHero__inner{
    padding: 20px 14px 24px;
  }

  .lineaTrabajoHero__title{
    font-size: clamp(34px, 8vw, 58px);
    -webkit-text-stroke: 2px #ffffff;
  }

  .lineaTrabajoIntro{
    padding: 42px 0 18px;
  }

  .lineaTrabajoIntro__inner,
  .lineaProyecto__inner{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .lineaTrabajoIntro__copy::before{
    inset: 12px auto -12px -12px;
    width: 84px;
    border-radius: 20px;
  }

  .lineaTrabajoIntro__visual{
    grid-template-columns: 1fr 1fr;
  }

  .lineaTrabajoIntro__visual--single{
    grid-template-columns: 1fr;
  }

  .lineaTrabajoIntro__frame--primary{
    min-height: 360px;
  }

  .lineaTrabajoIntro__visual--single .lineaTrabajoIntro__frame--primary{
    min-height: 320px;
  }

  .lineaTrabajoIntro__thumb{
    min-height: 132px;
  }

  .lineaTrabajoNav{
    padding: 18px 0 26px;
  }

  .lineaTrabajoPrograms__grid{
    grid-template-columns: 1fr;
  }

  .lineaTrabajoNav__grid{
    grid-template-columns: 1fr;
  }

  .lineaProyecto--reverse .lineaProyecto__copy,
  .lineaProyecto--reverse .lineaProyecto__media{
    order: initial;
  }

  .lineaProyecto__slide{
    --linea-gallery-visible: 2;
  }
}

@media (max-width: 640px){
  .lineaTrabajoJump{
    padding: 18px 0 4px;
  }

  .lineaTrabajoJump__inner{
    width:min(100%, calc(100% - 28px));
    display:grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
    border-radius: 22px;
    overflow:visible;
  }

  .lineaTrabajoJump__link{
    width:100%;
    justify-content:flex-start;
    padding: 12px 14px;
    border-radius: 16px;
    white-space:normal;
    text-align:left;
  }

  .lineaTrabajoHero{
    min-height: 320px;
  }

  .lineaTrabajoHero__title{
    font-size: clamp(28px, 7.2vw, 42px);
    line-height: .96;
    -webkit-text-stroke: 1.5px #ffffff;
  }

  .lineaTrabajoIntro__inner,
  .lineaTrabajoPrograms__inner,
  .lineaTrabajoNav__inner,
  .lineaProyecto__inner{
    width:min(100%, calc(100% - 28px));
  }

  .lineaTrabajoIntro__copy,
  .lineaProyecto__copy{
    padding: 22px 18px;
    border-radius: 24px;
  }

  .lineaTrabajoIntro__title,
  .lineaTrabajoNav__title,
  .lineaProyecto__title{
    font-size: 28px;
  }

  .lineaTrabajoIntro__text,
  .lineaTrabajoPrograms__text,
  .lineaProyecto__summary,
  .lineaProyecto__body p{
    font-size: 15.5px;
    line-height:1.68;
  }

  .lineaTrabajoIntro__quote{
    padding: 16px 16px 15px;
    border-radius: 18px;
  }

  .lineaTrabajoIntro__visual{
    grid-template-columns: 1fr;
  }

  .lineaTrabajoIntro__frame--primary{
    grid-row: auto;
    min-height: 260px;
  }

  .lineaTrabajoIntro__visual--single .lineaTrabajoIntro__frame--primary{
    min-height: 240px;
  }

  .lineaTrabajoIntro__frame{
    min-height: 180px;
    border-radius: 22px;
  }

  .lineaTrabajoIntro__thumbs{
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .lineaTrabajoIntro__thumb{
    min-height: 110px;
    border-radius: 18px;
  }

  .lineaTrabajoNav__card{
    padding: 18px 18px 17px;
    border-radius: 22px;
  }

  .lineaTrabajoPrograms{
    padding: 0 0 24px;
  }

  .lineaTrabajoPrograms__title{
    font-size: 26px;
  }

  .lineaTrabajoPrograms__card{
    padding: 18px 18px 17px;
    border-radius: 22px;
  }

  .lineaTrabajoPrograms__name{
    font-size: 22px;
  }

  .lineaTrabajoNav__name{
    font-size: 18px;
  }

  .lineaTrabajoNav__text{
    font-size: 14px;
  }

  .lineaProyecto{
    padding: 24px 0;
  }

  .lineaProyecto__gallery{
    border-radius: 24px;
  }

  .lineaProyecto__viewport{
    aspect-ratio: 1 / 1;
  }

  .lineaProyecto__track{
    --linea-gallery-gap: 12px;
    padding: 10px;
  }

  .lineaProyecto__slide{
    --linea-gallery-visible: 1;
    border-radius: 18px;
  }

  .lineaProyecto__staticMedia{
    border-radius: 24px;
  }

  .lineaLightbox{
    padding: 16px;
  }

  .lineaLightbox__close{
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
    font-size: 30px;
  }
}

@media (prefers-reduced-motion: reduce){
  .lineaTrabajoIntro__frame,
  .lineaTrabajoIntro__thumb,
  .lineaTrabajoIntro__frame img,
  .lineaTrabajoIntro__thumb img,
  .lineaTrabajoNav__card,
  .lineaProyecto__track,
  .lineaProyecto__slide,
  .lineaProyecto__slide img,
  .lineaProyecto__staticMedia img,
  .lineaLightbox,
  .lineaLightbox__image,
  .lineaLightbox__ghost,
  .lineaLightbox__close{
    transition:none;
  }
}

@media (min-width: 981px){
  .conocenosHero,
  .dondeHero,
  .logrosHero,
  .quienesHero,
  .transparenciaHero,
  .documentosHero,
  .equipoHero,
  .intercambioHero,
  .aliadosHero,
  .spotsHero,
  .cancionesHero,
  .donacionesHero,
  .proyectosHero,
  .reconocimientosHero,
  .publicacionesHero,
  .casaCaithHero,
  .comProHero,
  .periodistasHero,
  .defensoresHero,
  .redYanaHero,
  .casaCulturaHero,
  .comunidadesHero,
  .eduDerechosHero,
  .promoSaludHero,
  .naturalezaHero,
  .acompSocialHero,
  .turismoHero,
  .aliadosNewsHero,
  .tramitesHero,
  .lineaTrabajoHero{
    min-height: calc(100dvh - var(--topbar-height));
  }
}

@media (max-width: 640px){
  .donacionesSupport{
    padding: 46px 0 62px;
  }

  .donacionesSupport__title{
    font-size: clamp(30px, 9vw, 40px);
  }

  .donacionesSupport__text{
    font-size: 15px;
    line-height: 1.72;
  }

  .donacionesSupport__frame{
    border-radius: 24px;
  }

  .donacionesSupport__carousel{
    border-radius: 24px;
  }

  .donacionesSupport__cta{
    margin-top: 22px;
  }

  .donacionesSupport__frame img{
    min-height: 280px;
  }

  .quickLinks__item{
    min-height: 72px;
    padding: 14px 8px;
    font-size: clamp(11px, 3.2vw, 14px);
  }
}
