/* =========================================================
   ARCHIVAS & DOCUMENTAS — 60 SOMOS V69
   ARCHIVO COMPLETO
   ---------------------------------------------------------
   - Todas las líneas largas restauradas.
   - Una sola línea por sección, sin duplicados.
   - Grosor estándar: 2.4px escritorio / 2px móvil.
   - Sin degradado inferior duplicado.
   - Sin franja azul antes de DONA AQUÍ.
   - Laterales e iconos conservan la normalización común.
   ========================================================= */

/* =========================================================
   BASE DE PÁGINA
   ========================================================= */

html:has(.ay-som-page),
body:has(.ay-som-page) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", "Courier New", monospace) !important;
  background: var(--ay-cm-bg, #f4dce7) !important;
}

body:has(.ay-som-page) *,
body:has(.ay-som-page) #content * {
  box-sizing: border-box !important;
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", "Courier New", monospace) !important;
}

body:has(.ay-som-page) .ay-som-page,
body:has(.ay-som-page) #content > h1:first-child,
body:has(.ay-som-page) header,
body:has(.ay-som-page) .site-header,
body:has(.ay-som-page) .site-title,
body:has(.ay-som-page) .site-title-wrapper,
body:has(.ay-som-page) .site-search,
body:has(.ay-som-page) .search-form,
body:has(.ay-som-page) .search,
body:has(.ay-som-page) .sub-menu,
body:has(.ay-som-page) .child-navigation,
body:has(.ay-som-page) .page-navigation,
body:has(.ay-som-page) .page-nav,
body:has(.ay-som-page) nav.breadcrumbs,
body:has(.ay-som-page) .pagination,
body:has(.ay-som-page) .previous,
body:has(.ay-som-page) .next,
body:has(.ay-som-page) .site-footer,
body:has(.ay-som-page) footer.site-footer {
  display: none !important;
}

body:has(.ay-som-page) main,
body:has(.ay-som-page) .site,
body:has(.ay-som-page) .site-main,
body:has(.ay-som-page) .site-content,
body:has(.ay-som-page) .wrapper,
body:has(.ay-som-page) .container,
body:has(.ay-som-page) .region,
body:has(.ay-som-page) #wrap,
body:has(.ay-som-page) #main,
body:has(.ay-som-page) #content,
body:has(.ay-som-page) #content .blocks,
body:has(.ay-som-page) #content .blocks-inner,
body:has(.ay-som-page) #content .block,
body:has(.ay-som-page) .blocks,
body:has(.ay-som-page) .blocks-inner,
body:has(.ay-som-page) .block,
body:has(.ay-som-page) .block-html {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-y: visible !important;
}

body:has(.ay-som-page) #content {
  position: relative !important;
  min-height: 100vh !important;

  background:
    linear-gradient(
      180deg,
      var(--ay-final-lavender, #b996ef) 0,
      var(--ay-final-lavender-soft, #d8b8ee) 28px,
      var(--ay-final-bg, #f4dce7) 92px
    )
    top center / 100% 92px
    no-repeat,
    var(--ay-final-bg, #f4dce7) !important;

  background-color: var(--ay-final-bg, #f4dce7) !important;
  color: var(--ay-cm-dark, #22061d) !important;
}


/* =========================================================
   LATERALES FIJOS — MISMA POSICIÓN QUE MAPEO / CONOCE MÁS
   Estos elementos salen del BLOQUE 1:
   .ay-som-fixed-side-label y .ay-som-fixed-socials
   ========================================================= */

body:has(.ay-som-page) .ay-som-fixed-side-label {
  position: fixed !important;
  left: clamp(24px, 3.7vw, 58px) !important;
  bottom: clamp(54px, 8.2vh, 92px) !important;
  z-index: 90 !important;
  pointer-events: none !important;
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ay-cm-dark, #22061d) !important;
}

body:has(.ay-som-page) .ay-som-fixed-side-label span {
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", "Courier New", monospace) !important;
  font-size: 15px !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  transform-origin: center !important;
  white-space: nowrap !important;
}

body:has(.ay-som-page) .ay-som-fixed-socials {
  position: fixed !important;
  right: clamp(24px, 3.7vw, 58px) !important;
  bottom: clamp(54px, 8.2vh, 92px) !important;
  z-index: 90 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.ay-som-page) .ay-som-fixed-socials a {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.ay-som-page) .ay-som-fixed-socials img {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  object-fit: contain !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: brightness(0) saturate(100%) invert(13%) sepia(24%) saturate(3576%) hue-rotate(278deg) brightness(85%) contrast(98%) !important;
}

body:has(.ay-som-page) .ay-som-side-label-fundadora,
body:has(.ay-som-page) .ay-som-side-label-fundadora span,
body:has(.ay-som-page) .ay-som-socials {
  display: none !important;
}




/* =========================================================
   LAYOUT GENERAL — MISMO ANCHO QUE CONOCE MÁS
   ========================================================= */

body:has(.ay-som-page) .ay-som-layout {
  /*
    Diseño desktop SOMOS:
    - mismo ancho de navegación que Conoce Más
    - columna principal desplazada suavemente a la derecha, como en el diseño
    - etiquetas laterales fuera del flujo, sin empujar contenido
  */
  --ay-som-left-col: clamp(96px, 16.8%, 150px);
  --ay-som-main-col: min(720px, calc(100% - var(--ay-som-left-col) - 46px));
  width: var(--ay-cm-shell-tabs, min(1100px, calc(100vw - 140px))) !important;
  max-width: var(--ay-cm-shell-tabs, min(1100px, calc(100vw - 140px))) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: var(--ay-som-left-col) minmax(0, var(--ay-som-main-col)) minmax(46px, 1fr) !important;
  column-gap: 0 !important;
  align-items: start !important;
  position: relative !important;
  color: var(--ay-cm-dark, #22061d) !important;
  background: transparent !important;
}

body:has(.ay-som-page) .ay-som-fundadora-section {
  padding-top: 88px !important;
}

body:has(.ay-som-page) .ay-som-group-section,
body:has(.ay-som-page) .ay-som-collab-section,
body:has(.ay-som-page) .ay-som-pasantes-section,
body:has(.ay-som-page) .ay-som-colabora-section {
  padding-top: 0 !important;
}

body:has(.ay-som-page) .ay-som-side-label {
  position: absolute !important;
  left: -76px !important;
  width: 82px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Etiqueta general: Mujeres / Arte y / Feminismos / en Ecuador */
body:has(.ay-som-page) .ay-som-side-label-fundadora {
  display: none !important;
}

body:has(.ay-som-page) .ay-som-side-label-fundadora span {
  display: none !important;
}

/* Etiquetas secundarias: NO van verticales; quedan apiladas y rosadas */
body:has(.ay-som-page) .ay-som-side-label-group,
body:has(.ay-som-page) .ay-som-side-label-extra {
  width: 92px !important;
  left: -126px !important;
}

body:has(.ay-som-page) .ay-som-side-label-group {
  top: 74px !important;
}

body:has(.ay-som-page) .ay-som-side-label-extra {
  top: 575px !important;
}

/* Anclajes específicos:
   - Mujeres/Arte/Feminismos queda amarrado a la foto.
   - Dirección/Investigación/Curaduría/Edición queda amarrado al texto de Tania.
   - Trabajo colectivo queda amarrado al bloque Grupo de investigación.
   Así no se desacomodan cuando se abre el Ver más. */
body:has(.ay-som-page) .ay-som-fundadora-section .ay-som-side-label-fundadora {
  top: 150px !important;
}

body:has(.ay-som-page) .ay-som-fundadora-section .ay-som-side-label-extra {
  top: 575px !important;
}

body:has(.ay-som-page) .ay-som-group-section .ay-som-side-label-group {
  top: 74px !important;
}

body:has(.ay-som-page) .ay-som-side-label-group span,
body:has(.ay-som-page) .ay-som-side-label-extra span {
  position: static !important;
  display: block !important;
  width: 92px !important;
  color: var(--ay-cm-pink, #A51D75) !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  text-align: right !important;
  text-transform: uppercase !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  letter-spacing: -0.02em !important;
}

body:has(.ay-som-page) .ay-som-side-label-empty {
  display: none !important;
}

/* =========================================================
   BLOQUE FUNDADORA
   ========================================================= */

body:has(.ay-som-page) .ay-som-main {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  color: var(--ay-cm-dark, #22061d) !important;
}

body:has(.ay-som-page) .ay-som-main h1 {
  margin: 0 0 44px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: clamp(38px, 3.6vw, 46px) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

body:has(.ay-som-page) .ay-som-founder {
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.ay-som-page) .ay-som-founder h2 {
  margin: 0 0 -1px !important;
  color: var(--ay-cm-pink, #A51D75) !important;
  font-size: clamp(28px, 2.8vw, 34px) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}

body:has(.ay-som-page) .ay-som-founder-image {
  width: min(640px, 100%) !important;
  margin: 0 0 38px !important;
  padding: 0 !important;
  background: transparent !important;
}

body:has(.ay-som-page) .ay-som-founder-image img {
  display: block !important;
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.ay-som-page) .ay-som-founder-text {
  width: min(650px, 100%) !important;
  max-width: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 0 0 44px !important;
}

body:has(.ay-som-page) .ay-som-founder-text h3,
body:has(.ay-som-page) .ay-som-text-block h2,
body:has(.ay-som-page) .ay-som-list-block h2 {
  margin: 0 0 26px !important;
  color: var(--ay-cm-pink, #A51D75) !important;
  font-size: clamp(20px, 1.55vw, 24px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em !important;
  text-transform: none !important;
}

body:has(.ay-som-page) .ay-som-founder-text p,
body:has(.ay-som-page) .ay-som-text-block p,
body:has(.ay-som-page) .ay-som-person strong,
body:has(.ay-som-page) .ay-som-person span,
body:has(.ay-som-page) .ay-som-contact-mail {
  margin: 0 0 21px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  letter-spacing: -0.035em !important;
}

body:has(.ay-som-page) .ay-som-founder-text h3 {
  font-weight: 700 !important;
}

body:has(.ay-som-page) .ay-som-read-more {
  color: var(--ay-cm-pink, #A51D75) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body:has(.ay-som-page) .ay-som-read-more:hover {
  text-decoration: underline !important;
}

body:has(.ay-som-page) .ay-som-more {
  margin: -8px 0 0 !important;
  padding: 0 !important;
  color: var(--ay-cm-dark, #22061d) !important;
}

body:has(.ay-som-page) .ay-som-more summary {
  display: inline-block !important;
  margin: 0 0 21px !important;
  padding: 0 !important;
  color: var(--ay-cm-pink, #A51D75) !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  font-style: italic !important;
  letter-spacing: -0.035em !important;
  cursor: pointer !important;
  list-style: none !important;
  text-decoration: none !important;
}

body:has(.ay-som-page) .ay-som-more summary::-webkit-details-marker {
  display: none !important;
}

body:has(.ay-som-page) .ay-som-more summary:hover {
  text-decoration: underline !important;
}

body:has(.ay-som-page) .ay-som-more[open] > summary {
  display: none !important;
}

body:has(.ay-som-page) .ay-som-external-link,
body:has(.ay-som-page) .ay-som-contact-mail a {
  color: var(--ay-cm-pink, #A51D75) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body:has(.ay-som-page) .ay-som-external-link:hover,
body:has(.ay-som-page) .ay-som-contact-mail a:hover {
  color: var(--ay-cm-dark, #22061d) !important;
}

/* =========================================================
   SOCIALES
   ========================================================= */

body:has(.ay-som-page) .ay-som-socials {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: start !important;
  padding: 170px 0 0 !important;
  margin: 0 -28px 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: center !important;
  position: relative !important;
}

body:has(.ay-som-page) .ay-som-socials a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--ay-cm-dark, #22061d) !important;
  text-decoration: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0 !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.ay-som-page) .ay-som-socials img,
body:has(.ay-som-page) .ay-som-social-icon {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  object-fit: contain !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: brightness(0) saturate(100%) invert(13%) sepia(24%) saturate(3576%) hue-rotate(278deg) brightness(85%) contrast(98%) !important;
}

/* =========================================================
   GRUPO / COLABORACIONES / PRÁCTICAS / DISEÑO / COLABORA
   ========================================================= */

body:has(.ay-som-page) .ay-som-bordered {
  border-top: 0 !important;
}

body:has(.ay-som-page) .ay-som-text-block,
body:has(.ay-som-page) .ay-som-list-block {
  border-top: 2.4px solid var(--ay-cm-pink, #A51D75) !important;
}

body:has(.ay-som-page) .ay-som-text-block,
body:has(.ay-som-page) .ay-som-list-block {
  width: min(650px, 100%) !important;
  max-width: 100% !important;
  margin: 0 0 0 auto !important;
  padding: 43px 0 44px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  background: transparent !important;
}

body:has(.ay-som-page) .ay-som-collab-section .ay-som-list-block {
  border-top: 2.4px solid var(--ay-cm-pink, #A51D75) !important;
}

body:has(.ay-som-page) .ay-som-person {
  margin: 0 0 23px !important;
  padding: 0 !important;
}

body:has(.ay-som-page) .ay-som-person strong {
  display: block !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

body:has(.ay-som-page) .ay-som-person span {
  display: block !important;
  margin: 0 !important;
}

body:has(.ay-som-page) .ay-som-year-group {
  margin: 0 0 28px !important;
}

body:has(.ay-som-page) .ay-som-year {
  display: block !important;
  margin: 0 0 14px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

body:has(.ay-som-page) .ay-som-diseno {
  padding-bottom: 76px !important;
}

body:has(.ay-som-page) .ay-som-design-name {
  margin-bottom: 0 !important;
}

body:has(.ay-som-page) .ay-som-colabora-section .ay-som-text-block {
  padding-bottom: 48px !important;
}

/* =========================================================
   CONTACTO MÓVIL Y FOOTER
   ========================================================= */

body:has(.ay-som-page) .ay-som-mobile-contact {
  display: none !important;
}

body:has(.ay-som-page) .ay-conoce-footer {
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "Courier New", monospace) !important;
  width: min(780px, calc(100vw - 220px)) !important;
  margin: 92px auto 0 !important;
  padding: 0 0 34px !important;
  text-align: center !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  background: transparent !important;
}

body:has(.ay-som-page) .ay-conoce-footer p {
  margin: 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1.5px solid var(--ay-cm-dark, #22061d) !important;
}

body:has(.ay-som-page) .ay-conoce-footer a {
  color: var(--ay-cm-dark, #22061d) !important;
  text-decoration: none !important;
}

/* =========================================================
   SOMOS V64 — UNIÓN DIRECTA CON DONA AQUÍ
   ---------------------------------------------------------
   El contenido termina sobre el rosa base y la donación
   comienza inmediatamente, sin una segunda franja azul.
   ========================================================= */

@media (min-width: 761px) {
  html body:has(.ay-som-page)
    #content
    section.ay-conoce-donate {
    --ay-conoce-page-gradient-height: 0px !important;

    margin:
      0
      0
      0
      calc(50% - 50vw) !important;

    padding: 150px 20px 102px !important;

    background:
      radial-gradient(
        ellipse at 50% 47%,
        #2E0A28 0%,
        #440D35 13%,
        #571040 28%,
        #75396E 46%,
        #834C83 54%,
        #905E98 65%,
        #905E98 100%
      ) !important;

    background-color: #905E98 !important;
    background-image:
      radial-gradient(
        ellipse at 50% 47%,
        #2E0A28 0%,
        #440D35 13%,
        #571040 28%,
        #75396E 46%,
        #834C83 54%,
        #905E98 65%,
        #905E98 100%
      ) !important;

    border: 0 !important;
    box-shadow: none !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  html body:has(.ay-som-page)
    #content
    section.ay-conoce-donate {
    padding: 130px 20px 92px !important;
  }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  body:has(.ay-som-page) .ay-som-layout {
    --ay-som-left-col: clamp(78px, 14.5%, 132px);
    --ay-som-main-col: min(680px, calc(100% - var(--ay-som-left-col) - 44px));
    width: min(1000px, calc(100vw - 96px)) !important;
    max-width: min(1000px, calc(100vw - 96px)) !important;
    grid-template-columns: var(--ay-som-left-col) minmax(0, var(--ay-som-main-col)) minmax(44px, 1fr) !important;
    column-gap: 0 !important;
  }

  body:has(.ay-som-page) .ay-som-side-label {
    left: -62px !important;
  }

  body:has(.ay-som-page) .ay-som-side-label-group,
  body:has(.ay-som-page) .ay-som-side-label-extra {
    left:
      calc(
        0px
        - var(--ay-som-left-col)
        - 100px
      ) !important;
  }

  body:has(.ay-som-page) .ay-som-fundadora-section .ay-som-side-label-fundadora {
    top: 145px !important;
  }

  body:has(.ay-som-page) .ay-som-fundadora-section .ay-som-side-label-extra {
    top: 545px !important;
  }

  body:has(.ay-som-page) .ay-som-group-section .ay-som-side-label-group {
    top: 70px !important;
  }

  body:has(.ay-som-page) .ay-som-founder-image img {
    height: 390px !important;
  }

  body:has(.ay-som-page) .ay-som-socials {
    margin-right: -18px !important;
  }
}







/* =========================================================
   ARCHIVAS & DOCUMENTAS — SOMOS V64
   NORMALIZADA CON CONOCE MÁS
   ========================================================= */

body:has(.ay-som-page) {
  --ay-normal-line-desktop: 2.4px;
  --ay-normal-line-mobile: 2px;
  --ay-normal-before-line: 48px;
  --ay-normal-after-line: 40px;
  --ay-normal-mobile-space: 34px;
}

@media (min-width: 761px) {
  html body:has(.ay-som-page) .ay-som-bordered {
    border-top: 0 !important;
  }

  html body:has(.ay-som-page) .ay-som-text-block,
  html body:has(.ay-som-page) .ay-som-list-block,
  html body:has(.ay-som-page)
    .ay-som-collab-section
    .ay-som-list-block {
    border-top:
      var(--ay-normal-line-desktop)
      solid
      var(--ay-cm-pink, #A51D75) !important;
  }

  html body:has(.ay-som-page) .ay-som-text-block,
  html body:has(.ay-som-page) .ay-som-list-block {
    padding-top: var(--ay-normal-after-line) !important;
    padding-bottom: var(--ay-normal-before-line) !important;
  }
}



/* =========================================================
   NORMALIZACIÓN VISUAL SEGÚN CONOCE MÁS
   ---------------------------------------------------------
   Referencia exacta:
   - Texto lateral: 15px / 1.12 / letter-spacing 0.02em.
   - Caja lateral: 52px.
   - Posición izquierda/derecha:
     clamp(24px, 3.7vw, 58px).
   - Posición inferior:
     clamp(54px, 8.2vh, 92px).
   - Íconos sociales: 34 × 34px.
   - Separación entre íconos: 10px.
   - Los laterales se ocultan únicamente hasta 760px.
   ========================================================= */

@media (min-width: 761px) {
  html body:has(.ay-som-page) #content .ay-som-fixed-side-label,
  html body:has(.ay-som-page) .ay-som-fixed-side-label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: fixed !important;
    left: clamp(24px, 3.7vw, 58px) !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;

    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ay-final-dark, var(--ay-cm-dark, #3d0733)) !important;
    background: transparent !important;

    z-index: 800 !important;
    pointer-events: none !important;

    transform: none !important;
    translate: none !important;
    overflow: visible !important;
  }

  html body:has(.ay-som-page) #content .ay-som-fixed-side-label span,
  html body:has(.ay-som-page) .ay-som-fixed-side-label span {
    display: block !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;
    background: transparent !important;

    font-family:
      "Bitstream Vera Sans",
      Arial,
      Helvetica,
      sans-serif !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0.02em !important;
    text-align: left !important;
    text-transform: none !important;

    writing-mode: vertical-rl !important;
    transform: rotate(180deg) !important;
    transform-origin: center center !important;

    white-space: normal !important;
    overflow: visible !important;
  }

  html body:has(.ay-som-page) #content .ay-som-fixed-socials,
  html body:has(.ay-som-page) .ay-som-fixed-socials {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: fixed !important;
    right: clamp(24px, 3.7vw, 58px) !important;
    left: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;

    z-index: 805 !important;

    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    transform: none !important;
    translate: none !important;
  }

  html body:has(.ay-som-page) #content .ay-som-fixed-socials a,
  html body:has(.ay-som-page) .ay-som-fixed-socials a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  html body:has(.ay-som-page) #content .ay-som-fixed-socials img,
  html body:has(.ay-som-page) .ay-som-fixed-socials img {
    display: block !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    filter:
      brightness(0)
      saturate(100%)
      invert(13%)
      sepia(24%)
      saturate(3576%)
      hue-rotate(278deg)
      brightness(85%)
      contrast(98%) !important;
  }
}



/* =========================================================
   SOMOS V66 — AJUSTE SEGÚN FIGMA
   ---------------------------------------------------------
   - Las líneas comienzan exactamente donde comienza el
     retrato de Tania.
   - Las líneas conservan el mismo ancho visual del retrato.
   - El texto mantiene una sangría interior, pero se extiende
     más hacia la derecha.
   - No modifica header, fondo, DONA AQUÍ ni footer.
   ========================================================= */

@media (min-width: 1181px) {

  /* Columna principal un poco más ancha hacia la derecha. */
  html body:has(.ay-som-page) .ay-som-layout {
    --ay-som-main-col:
      min(
        780px,
        calc(100% - var(--ay-som-left-col) - 46px)
      ) !important;
  }

  /* El retrato conserva la medida de referencia del Figma. */
  html body:has(.ay-som-page) .ay-som-founder-image {
    width: min(640px, 100%) !important;
    max-width: 640px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  /* El texto de Tania gana espacio hacia la derecha,
     manteniendo la sangría respecto al retrato. */
  html body:has(.ay-som-page) .ay-som-founder-text {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding:
      0
      0
      44px
      78px !important;

    box-sizing: border-box !important;
  }

  /* Los bloques ocupan toda la nueva columna de texto. */
  html body:has(.ay-som-page) .ay-som-text-block,
  html body:has(.ay-som-page) .ay-som-list-block {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding:
      var(--ay-normal-after-line, 40px)
      0
      var(--ay-normal-before-line, 48px)
      78px !important;

    box-sizing: border-box !important;
    border-top: 0 !important;
  }

  /* Una sola línea por bloque:
     alineada con el borde izquierdo del retrato y con el
     mismo ancho visual de 640px. */
  html body:has(.ay-som-page) .ay-som-text-block::before,
  html body:has(.ay-som-page) .ay-som-list-block::before {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    top: 0 !important;

    display: block !important;

    width: min(640px, 100%) !important;
    max-width: 640px !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-top:
      var(--ay-normal-line-desktop, 2.4px)
      solid
      var(--ay-cm-pink, #A51D75) !important;

    pointer-events: none !important;
  }
}


/* =========================================================
   ESCRITORIOS INTERMEDIOS
   ========================================================= */

@media (min-width: 901px) and (max-width: 1180px) {

  html body:has(.ay-som-page) .ay-som-layout {
    --ay-som-main-col:
      min(
        720px,
        calc(100% - var(--ay-som-left-col) - 44px)
      ) !important;
  }

  html body:has(.ay-som-page) .ay-som-founder-image {
    width: min(600px, 100%) !important;
    max-width: 600px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  html body:has(.ay-som-page) .ay-som-founder-text {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding:
      0
      0
      44px
      68px !important;

    box-sizing: border-box !important;
  }

  html body:has(.ay-som-page) .ay-som-text-block,
  html body:has(.ay-som-page) .ay-som-list-block {
    position: relative !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding:
      var(--ay-normal-after-line, 40px)
      0
      var(--ay-normal-before-line, 48px)
      68px !important;

    box-sizing: border-box !important;
    border-top: 0 !important;
  }

  html body:has(.ay-som-page) .ay-som-text-block::before,
  html body:has(.ay-som-page) .ay-som-list-block::before {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    top: 0 !important;

    display: block !important;

    width: min(600px, 100%) !important;
    max-width: 600px !important;
    height: 0 !important;

    border: 0 !important;
    border-top:
      var(--ay-normal-line-desktop, 2.4px)
      solid
      var(--ay-cm-pink, #A51D75) !important;

    pointer-events: none !important;
  }
}


/* =========================================================
   MÓVIL
   Conserva las líneas móviles normales sin pseudoelementos.
   ========================================================= */



/* =========================================================
   SOMOS V67 — CORRECCIÓN FINAL
   ---------------------------------------------------------
   - Elimina la doble línea antes de COLABORACIONES.
   - Conserva una sola línea larga de 2.4px.
   - Reduce ligeramente el tamaño de FUNDADORA.
   - Mantiene el ancho del texto y la alineación con el retrato.
   ========================================================= */


/* FUNDADORA: un poco más pequeña en escritorio. */
@media (min-width: 901px) {
  html body:has(.ay-som-page) .ay-som-founder h2 {
    font-size: clamp(24px, 2.25vw, 29px) !important;
    line-height: 1 !important;
  }
}


/* ---------------------------------------------------------
   ESCRITORIO
   La doble línea provenía de dos elementos simultáneos:
   1. border-top del bloque de colaboraciones.
   2. la línea ::before añadida para alinearla con el retrato.

   Se conserva únicamente ::before.
   --------------------------------------------------------- */

@media (min-width: 901px) {

  html body:has(.ay-som-page)
    .ay-som-collab-section
    .ay-som-list-block,
  html body:has(.ay-som-page)
    .ay-som-collab-section
    .ay-som-list-block.ay-som-bordered {
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  html body:has(.ay-som-page)
    .ay-som-collab-section
    .ay-som-list-block::before {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    top: 0 !important;

    display: block !important;

    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-top:
      var(--ay-normal-line-desktop, 2.4px)
      solid
      var(--ay-cm-pink, #A51D75) !important;

    outline: 0 !important;
    box-shadow: none !important;

    pointer-events: none !important;
  }
}


/* Ancho exacto de la única línea en escritorio grande. */
@media (min-width: 1181px) {
  html body:has(.ay-som-page)
    .ay-som-collab-section
    .ay-som-list-block::before {
    width: min(640px, 100%) !important;
    max-width: 640px !important;
  }
}


/* Ancho exacto de la única línea en escritorio intermedio. */
@media (min-width: 901px) and (max-width: 1180px) {
  html body:has(.ay-som-page)
    .ay-som-collab-section
    .ay-som-list-block::before {
    width: min(600px, 100%) !important;
    max-width: 600px !important;
  }
}

/* =========================================================
   SOMOS V69 — ETIQUETAS CENTRADAS Y ALINEADAS HORIZONTALMENTE
   ---------------------------------------------------------
   Para una alineación exacta, las etiquetas se colocan
   dentro del bloque de texto al que pertenecen:

   - .ay-som-label-direccion:
     centro vertical del texto de Tania Lombeida Miño.

   - .ay-som-label-trabajo:
     centro vertical del bloque Grupo de Investigación.

   Horizontalmente usan el mismo eje de las etiquetas
   decorativas de Metodología y Descripción.
   Los bloques HTML V68 se mantienen sin cambios.
   ========================================================= */


/* Los bloques de texto son la referencia real de posición. */
html body:has(.ay-som-page) .ay-som-founder-text,
html body:has(.ay-som-page)
  .ay-som-group-section
  .ay-som-text-block {
  position: relative !important;
  overflow: visible !important;
}



/* EJE HORIZONTAL NORMALIZADO
   ---------------------------------------------------------
   Escritorio grande:
   - Metodología: left -132px / ancho 118px.
   - Borde derecho resultante: -14px respecto al shell.
   - Somos: ancho 92px, por eso usa -106px respecto al shell.

   Escritorio intermedio:
   - Metodología: left -104px / ancho 96px.
   - Borde derecho resultante: -8px respecto al shell.
   - Somos: ancho 92px, por eso usa -100px respecto al shell.

   Como las etiquetas de Somos viven dentro de la segunda
   columna, también se resta --ay-som-left-col.
*/

/* Base común de las dos etiquetas nuevas. */
@media (min-width: 901px) {
  html body:has(.ay-som-page) .ay-som-label-direccion,
  html body:has(.ay-som-page) .ay-som-label-trabajo {
    position: absolute !important;

    left:
      calc(
        0px
        - var(--ay-som-left-col)
        - 106px
      ) !important;
    top: 50% !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;
    translate: none !important;

    color: var(--ay-cm-pink, #A51D75) !important;
    background: transparent !important;

    pointer-events: none !important;
    z-index: 4 !important;
    overflow: visible !important;
  }

  html body:has(.ay-som-page) .ay-som-label-direccion span,
  html body:has(.ay-som-page) .ay-som-label-trabajo span {
    position: static !important;

    display: block !important;

    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ay-cm-pink, #A51D75) !important;
    background: transparent !important;

    font-family:
      "Bitstream Vera Sans",
      Arial,
      Helvetica,
      sans-serif !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: -0.02em !important;

    text-align: right !important;
    text-transform: uppercase !important;

    writing-mode: horizontal-tb !important;
    transform: none !important;

    white-space: normal !important;
    overflow: visible !important;
  }
}


/* Escritorios intermedios: conserva la misma alineación,
   acercando ligeramente las etiquetas al contenido. */
@media (min-width: 901px) and (max-width: 1180px) {
  html body:has(.ay-som-page) .ay-som-label-direccion,
  html body:has(.ay-som-page) .ay-som-label-trabajo {
    left: -108px !important;
  }
}


/* En móvil las etiquetas laterales internas no aparecen. */



/* Compatibilidad:
   si quedaron los aside antiguos como hijos directos de los
   layouts, se ocultan para evitar duplicados. */
html body:has(.ay-som-page)
  .ay-som-group-section
  > .ay-som-side-label-group,
html body:has(.ay-som-page)
  .ay-som-collab-section
  > .ay-som-side-label-extra {
  display: none !important;
}

/* =========================================================
   SOMOS — VISTA MÓVIL ÚNICA Y LIMPIA
   ---------------------------------------------------------
   - Solo se aplica hasta 767 px.
   - Header, menú, buscador, navegación interna, contacto y
     footer se controlan desde 10-header-footer.css.
   - El contenido se organiza en una sola columna.
   ========================================================= */
@media (max-width: 767px) {
  html:has(.ay-som-page),
  body:has(.ay-som-page) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: var(--ay-cm-mobile-bg, #f3dde7) !important;
    font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  }

  body:has(.ay-som-page) *,
  body:has(.ay-som-page) #content * {
    box-sizing: border-box !important;
    font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  }

  body:has(.ay-som-page) .ay-som-fixed-side-label,
  body:has(.ay-som-page) .ay-som-fixed-socials,
  body:has(.ay-som-page) .ay-som-side-label,
  body:has(.ay-som-page) .ay-som-socials {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body:has(.ay-som-page) .ay-som-layout {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 18px !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
  }

  body:has(.ay-som-page) .ay-som-fundadora-section {
    padding-top: 24px !important;
  }

  body:has(.ay-som-page) .ay-som-main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
  }

  body:has(.ay-som-page) .ay-som-main h1 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: uppercase !important;
  }

  body:has(.ay-som-page) .ay-som-founder {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.ay-som-page) .ay-som-founder > h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-pink, #a51d75) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: right !important;
    text-transform: none !important;
  }

  body:has(.ay-som-page) .ay-som-founder-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body:has(.ay-som-page) .ay-som-founder-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-som-page) .ay-som-founder-text {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 0 34px !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
    border: 0 !important;
  }

  body:has(.ay-som-page) .ay-som-founder-text h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body:has(.ay-som-page) .ay-som-founder-text p,
  body:has(.ay-som-page) .ay-som-text-block p,
  body:has(.ay-som-page) .ay-som-contact-mail {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 19px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body:has(.ay-som-page) .ay-som-more {
    display: block !important;
    width: 100% !important;
    margin: -5px 0 0 !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
  }

  body:has(.ay-som-page) .ay-som-more > summary {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-block !important;
    margin: 0 0 19px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-pink, #a51d75) !important;
    background: transparent !important;
    border: 0 !important;
    list-style: none !important;
    cursor: pointer !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    text-decoration: none !important;
  }

  body:has(.ay-som-page) .ay-som-more > summary::-webkit-details-marker,
  body:has(.ay-som-page) .ay-som-more > summary::marker {
    display: none !important;
    content: none !important;
  }

  body:has(.ay-som-page) .ay-som-more[open] > summary {
    display: none !important;
  }

  body:has(.ay-som-page) .ay-som-text-block,
  body:has(.ay-som-page) .ay-som-list-block {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 34px 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1.5px solid var(--ay-cm-mobile-pink, #a51d75) !important;
  }

  body:has(.ay-som-page) .ay-som-text-block::before,
  body:has(.ay-som-page) .ay-som-list-block::before,
  body:has(.ay-som-page) .ay-som-text-block::after,
  body:has(.ay-som-page) .ay-som-list-block::after {
    content: none !important;
    display: none !important;
  }

  body:has(.ay-som-page) .ay-som-text-block h2,
  body:has(.ay-som-page) .ay-som-list-block h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
  }

  body:has(.ay-som-page) .ay-som-colabora h3 {
    display: block !important;
    margin: -8px 0 18px !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-pink, #a51d75) !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  body:has(.ay-som-page) .ay-som-person {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }

  body:has(.ay-som-page) .ay-som-person strong,
  body:has(.ay-som-page) .ay-som-person span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body:has(.ay-som-page) .ay-som-person strong {
    font-weight: 700 !important;
  }

  body:has(.ay-som-page) .ay-som-person span {
    font-weight: 400 !important;
  }

  body:has(.ay-som-page) .ay-som-contact-mail {
    margin-top: 25px !important;
    margin-bottom: 0 !important;
  }

  body:has(.ay-som-page) .ay-som-contact-mail a {
    color: var(--ay-cm-mobile-pink, #a51d75) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.ay-som-page) .ay-som-colabora-section {
    padding-bottom: 44px !important;
  }

  body:has(.ay-som-page) .ay-som-donate,
  body:has(.ay-som-page) .ay-conoce-desktop-footer {
    display: none !important;
  }
}

@media (max-width: 360px) {
  body:has(.ay-som-page) .ay-som-layout {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  body:has(.ay-som-page) .ay-som-main h1 {
    font-size: 25px !important;
  }

  body:has(.ay-som-page) .ay-som-text-block h2,
  body:has(.ay-som-page) .ay-som-list-block h2 {
    font-size: 20px !important;
  }

  body:has(.ay-som-page) .ay-som-founder-text p,
  body:has(.ay-som-page) .ay-som-text-block p,
  body:has(.ay-som-page) .ay-som-person strong,
  body:has(.ay-som-page) .ay-som-person span,
  body:has(.ay-som-page) .ay-som-contact-mail {
    font-size: 12.7px !important;
  }
}
