/* Encuentro banner */
:root{
  --violet-900:#3D2260;
  --violet-700:#5C3487;
  --violet-600:#7A4CA0;
  --violet-400:#A67FC2;
  --violet-100:#F2E9F8;
  --ink:#181022;
  --cream:#FAF7F5;
}

*{box-sizing:border-box;}

body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:#fff;
  margin:0;
}

a{color:var(--violet-700);text-decoration:none;}
a:hover{color:var(--violet-900);text-decoration:none!important;}

h1,h2,h3{
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  letter-spacing:.5px;
}

/* Header */
.site-header{
  background:#fff;
  border-bottom:1px solid #eee;
}
.site-header img {height:38px;width:auto;}
.brand{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-family:'Oswald',sans-serif;
  font-weight:700;
  font-size:1.5rem;
  color:var(--ink);
  text-transform:uppercase;
}
.brand:hover{text-decoration:none;}
.brand-text{
  font-size:1.1rem;
  letter-spacing:.1em;
  color:#7D4A92;
}
.brand-accent{color:var(--violet-600);}
.navbar-nav .nav-link{
  color:var(--ink);
  letter-spacing:.08em;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover{
  color:var(--violet-600);
}
.navbar-nav .dropdown-menu{
  border:0;
  border-radius:.5rem;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  padding:.5rem 0;
}
.navbar-nav .dropdown-item{
  color:var(--ink);
  font-size:0.7rem;
}
.navbar-nav .dropdown-item:hover,
.navbar-nav .dropdown-item:focus{
  color:var(--violet-600);
  background-color:rgba(92,52,135,.08);
}

/* Hero */
.hero-section{
  background:var(--violet-600);
  color:#fff;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.8rem;
  font-weight:600;
  color:var(--violet-100);
  margin-bottom:1rem;
}
.hero-title{
  font-size:3rem;
  font-weight:700;
  line-height:1.05;
  margin-bottom:1.25rem;
}
.hero-copy{
  font-size:1.1rem;
  max-width:520px;
  color:#EFE6F5;
}
.btn-dark-violet{
  background:var(--violet-900);
  border:1px solid var(--violet-900);
  color:#fff;
}
.btn-dark-violet:hover{
  background:var(--ink);
  color:#fff;
}

.hero-form-card{
  background:transparent;
}
.hero-form-img{
  display:block;
  width:100%;
  max-width:480px;
  max-height:380px;
  object-fit:cover;
  border-radius:12px;
  margin-left:auto;
}
.hero-form-card-dark{
  background:var(--violet-900);
  border-radius:12px;
}
.hero-form-title{
  font-size:1.5rem;
  color:#fff;
  margin-bottom:.5rem;
}
.hero-form-sub{
  color:#EFE6F5;
  font-size:.95rem;
}
.hero-form-card .form-control{
  border:none;
  padding:.75rem 1rem;
}
.hero-form-card .form-check-label{
  color:#EFE6F5;
  font-size:.9rem;
}

/* Agenda */
.agenda-strip{
  background:var(--violet-100);
  padding:2.5rem 0;
}
.agenda-card{
  background:#fff;
  border-left:4px solid var(--violet-600);
  padding:1.25rem 1.5rem;
  height:100%;
}
.agenda-date{
  display:block;
  text-transform:uppercase;
  font-size:.75rem;
  font-weight:700;
  color:var(--violet-700);
  letter-spacing:.08em;
  margin-bottom:.5rem;
}
.agenda-card h3{
  font-family:'Inter',sans-serif;
  text-transform:none;
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:0;
  margin-bottom:.5rem;
}
.agenda-place{
  color:#6b6b6b;
  font-size:.85rem;
  margin:0;
}

/* Encuentro strip */
.encuentro-strip{
  background:var(--violet-100);
}
.encuentro-video-box{
  position:relative;
  display:block;
  width:100%;
  background:var(--violet-900);
  cursor:pointer;
  border:0;
  padding:0;
  border-radius:8px;
  overflow:hidden;
}
.encuentro-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.encuentro-iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.encuentro-play-icon{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--violet-900);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  padding-left:3px;
  border:0;
  transition:transform .15s,background .15s;
}
.encuentro-video-box:hover .encuentro-play-icon{
  background:#fff;
  transform:translate(-50%,-50%) scale(1.08);
}
.encuentro-eyebrow{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.75rem;
  font-weight:600;
  color:var(--violet-700);
  margin-bottom:.5rem;
}
.encuentro-title{
  font-size:1.3rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:.4rem;
}
.encuentro-copy{
  color:#555;
  font-weight:600;
  margin-bottom:1rem;
}
.encuentro-cta{
  display:inline-block;
  background:var(--violet-900);
  color:#fff;
  text-transform:uppercase;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.05em;
  padding:.55rem 1.25rem;
  border-radius:4px;
}
.encuentro-cta:hover{
  background:var(--ink);
  color:#fff;
  text-decoration:none;
}

/* Section title */
.section-title{
  font-size:1.75rem;
  font-weight:700;
  border-bottom:3px solid var(--violet-600);
  display:inline-block;
  padding-bottom:.5rem;
}

/* Noticias */
.noticia-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#999;
  font-family:monospace;
  font-size:.85rem;
  margin-bottom:1rem;
}
.noticia-placeholder img{object-fit: cover; object-position: center;}
.col-md-6 .noticia-placeholder img {object-fit: cover; object-position: center;}
.noticia-tag{
  display:block;
  text-transform:uppercase;
  font-size:.75rem;
  font-weight:700;
  color:var(--violet-700);
  letter-spacing:.08em;
  margin-bottom:.4rem;
}
.noticia-title-lg{
  font-family:'Inter',sans-serif;
  text-transform:none;
  font-size:1.5rem;
  font-weight:700;
  letter-spacing:0;
}
.noticia-title-sm{
  font-family:'Inter',sans-serif;
  text-transform:none;
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:0;
}
.noticia-excerpt{color:#555;}
.noticia-date{color:#999;font-size:.85rem;}
.noticia-autor{color:#777;font-size:.85rem;font-weight:600;}
.noticia-title-sm a,
.noticia-title-lg a{color:inherit;text-decoration:none;}
.noticia-title-sm a:hover,
.noticia-title-lg a:hover{color:var(--violet-700);text-decoration:underline;}

/* Myriam banner */
.myriam-banner{
  position:relative;
  width:100%;
  height:420px;
  overflow:hidden;
}
.myriam-banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
}
.myriam-banner-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(24,16,34,.88) 0%,rgba(24,16,34,.6) 45%,rgba(24,16,34,.15) 100%);
  display:flex;
  align-items:center;
  color:#fff;
}
.myriam-title{
  font-size:2rem;
  font-weight:700;
  max-width:560px;
  margin-bottom:.75rem;
}
.myriam-copy{
  color:#EFE6F5;
  max-width:480px;
  margin-bottom:1.5rem;
}
@media (max-width:767px){
  .myriam-banner{height:520px;}
  .myriam-banner-overlay{background:linear-gradient(180deg,rgba(24,16,34,.3) 0%,rgba(24,16,34,.92) 70%);align-items:flex-end;padding-bottom:2rem;}
}
.comites-banner img{
  object-position:80% 45%;
}

/* Regional */
.regional-section{background:#fff;}
.regional-copy{color:#555;}
.regional-chip{
  border:1px solid var(--violet-600);
  background:#fff;
  color:var(--violet-700);
  border-radius:999px;
  padding:.5rem 1.25rem;
  font-weight:600;
  font-size:.9rem;
  cursor:pointer;
  transition:background .15s,color .15s;
}
.regional-chip:hover,
.regional-chip.active{
  background:var(--violet-600);
  color:#fff;
}
.regional-modal-list li{
  padding:.5rem 0;
  border-bottom:1px solid #eee;
}
.regional-modal-list li:last-child{border-bottom:none;}

/* Regionales — panel de Instagram */
.regionales-section{background:#fff;}
.regional-ig-panel{
  background:var(--violet-100);
  border-radius:8px;
  padding:1.5rem 2rem;
}
.regional-ig-ciudad{
  font-size:1.1rem;
  font-weight:700;
  color:var(--violet-900);
  margin-bottom:.75rem;
}
.regional-ig-list{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.regional-ig-list--grupos{
  flex-direction:row;
  flex-wrap:wrap;
  gap:1rem 4rem;
}
.regional-ig-handle{
  color:var(--violet-700);
  font-weight:600;
}
.regional-ig-handle:hover{
  color:var(--violet-900);
}
.regionales-opcion-label{
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.75rem;
  font-weight:700;
  color:#999;
  margin:0;
}
.regional-group{
  display:flex;
  align-items:center;
  gap:.6rem;
  border:1px solid var(--violet-400);
  border-radius:999px;
  padding:.3rem .3rem .3rem 1.1rem;
  background:var(--violet-100);
}
.regional-group-label{
  font-weight:700;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--violet-700);
}
.regional-group-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.regional-chip-sm{
  padding:.35rem .9rem;
  font-size:.8rem;
}

/* Nuestras ideas */
.ideas-section{background:#fff;}
.idea-logo-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.5rem;
  text-decoration:none;
  transition:opacity .15s;
}
.idea-logo-card:hover{
  opacity:.75;
  text-decoration:none;
}
.idea-logo-img{
  max-height:56px;
  width:auto;
}
.idea-logo-sub{
  font-size:.85rem;
  color:#777;
}

/* Quiénes somos */
.quienes-hero{
  position:relative;
  width:100%;
  height:580px;
  overflow:hidden;
}
.quienes-hero > img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.82) contrast(1.06) saturate(.92);
}
.quienes-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(24,16,34,.25) 0%,rgba(24,16,34,0) 18%,rgba(24,16,34,0) 50%,rgba(40,20,64,.55) 75%,rgba(40,20,64,.88) 100%),
    rgba(61,34,96,.12);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
  padding:2rem 0 3rem;
}
.quienes-hero-logos{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:2.5rem;
}
.quienes-hero-logo-img{
  height:34px;
  width:auto;
}
.quienes-hero-logo-img-sm{
  height:46px;
}
.quienes-hero-logo-img-lg{
  height:54px;
}
.quienes-hero-logos img:nth-child(2){
  margin-top:11px;
}
.quienes-title{
  font-size:2.75rem;
  font-weight:700;
  color:#fff;
  line-height:1.1;
  margin-bottom:0;
  text-shadow:0 2px 12px rgba(24,16,34,.45);
}
.quienes-section{background:#fff;}
.quienes-logos-row{
  border-bottom:1px solid #eee;
  margin-top: 1rem;
  padding-left: 8rem;}


.quienes-logo-img{
  max-height:64px;
  width:auto;
}
.quienes-logo-img-pyr{max-height:84px;}
.quienes-logo-img-fitu{max-height:52px;}
.quienes-logo-img-sm{
  max-height:55px;
}
.quienes-copy{
  max-width:760px;
  color:#333;
  font-size:1.05rem;
  line-height:1.7;
}
.quienes-copy-lead{
  font-size:clamp(18px,1.05rem + 0.4vw,1.6rem);
  font-weight:700;
  color:var(--violet-700);
  line-height:1.4;
  margin-bottom:1.5rem;
}
@media (max-width:767px){
  .quienes-hero{height:420px;}
  .quienes-title{font-size:2rem;}
  .quienes-hero-logos{gap:1.5rem;}
  .quienes-hero-logo-img{height:26px;}
  .quienes-hero-logo-img-sm{height:36px;}
  .quienes-hero-logo-img-lg{height:42px;}
  .quienes-logos-row{padding-left:0;}
}
.manifiesto-banner{
  display:block;
  background:var(--violet-900);
  color:#fff;
  border-radius:8px;
  padding:2rem 2.5rem;
  text-decoration:none;
  transition:background .15s;
}
.manifiesto-banner:hover{
  background:var(--ink);
  text-decoration:none;
}
.manifiesto-eyebrow{
  display:block;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.8rem;
  font-weight:600;
  color:var(--violet-400);
  margin-bottom:.5rem;
}
.manifiesto-title{
  display:block;
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  font-weight:700;
  font-size:1.5rem;
  color:#fff;
}

/* Seguinos */
.seguinos-section{
  background:var(--violet-900);
  color:#fff;
}
.seguinos-title{
  font-size:1.5rem;
  border-bottom:2px solid var(--violet-400);
  display:inline-block;
  padding-bottom:.5rem;
  margin-bottom:1.5rem;
}
.seguinos-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.9rem 0;
  border-bottom:1px solid rgba(255,255,255,.15);
  font-family:'Oswald',sans-serif;
  font-size:1.4rem;
  font-weight:600;
  color:inherit;
  text-decoration:none;
}
.seguinos-handle {
  color:#fff;
}
.seguinos-handle:hover {
  color:var(--violet-400);
}



.seguinos-row:hover,
.seguinos-row:focus-visible{
  color:#fff;
}
.seguinos-row:hover .seguinos-label,
.seguinos-row:focus-visible .seguinos-label{
  color:#fff;
}
.seguinos-label{
  font-family:'Inter',sans-serif;
  font-size:.85rem;
  color:var(--violet-400);
  transition:color .2s ease;
}

/* Instagram destacado */
.seguinos-destacado{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1rem 0rem;
  margin-bottom:.5rem;
  /*background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;*/
  color:#fff;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease;
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}
.seguinos-destacado:hover,
.seguinos-destacado:focus-visible{
  /*background:rgba(255,255,255,.12);*/
  border-color:var(--violet-400);
  color:#fff;
  text-decoration:none;
}
.seguinos-destacado-info{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.seguinos-destacado-label{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family:'Inter',sans-serif;
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--violet-400);
}
.seguinos-destacado-handle{
  font-family:'Oswald',sans-serif;
  font-size:2.25rem;
  font-weight:600;
  line-height:1.1;
}
.seguinos-destacado-btn{
  font-family:'Inter',sans-serif;
  font-size:.85rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  background:#fff;
  color:var(--violet-900);
  padding:.65rem 1.4rem;
  border-radius:999px;
  transition:transform .2s ease;
}
.seguinos-destacado:hover .seguinos-destacado-btn{
  transform:translateX(3px);
}
.seguinos-destacado ~ .seguinos-row{
  font-size:1.15rem;
}
@media (max-width:575px){
  .seguinos-destacado{padding:1.25rem;}
  .seguinos-destacado-handle{font-size:1.75rem;}
}

/* Redes versión 3: dos columnas */
.redes-ig{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:.25rem;
  height:100%;
  padding:1.25rem 1.5rem;
  border-radius:16px;
  background:linear-gradient(135deg,#A67FC2 0%,#7D4A92 50%,var(--violet-700) 100%);
  color:#fff;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.redes-ig:hover,
.redes-ig:focus-visible{
  color:#fff;
  text-decoration:none;
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(0,0,0,.25);
}
.redes-ig-icon{
  position:absolute;
  top:1.25rem;
  right:1.25rem;
  width:32px;
  height:32px;
  opacity:.9;
}
.redes-ig-handle{
  font-family:'Oswald',sans-serif;
  font-size:1.4rem;
  font-weight:600;
  line-height:1.05;
}
.redes-ig-cta{
  margin-top:.5rem;
  align-self:flex-start;
  background:#fff;
  color:var(--violet-900);
  font-size:.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:.45rem 1.1rem;
  border-radius:999px;
}
.redes-mini{
  flex:1;
  display:flex;
  align-items:center;
  gap:1rem;
  padding:.7rem 1.25rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  color:#fff;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease;
}
.redes-mini:hover,
.redes-mini:focus-visible{
  background:rgba(255,255,255,.07);
  border-color:var(--violet-400);
  color:#fff;
  text-decoration:none;
}
.redes-mini svg{
  width:22px;
  height:22px;
  flex-shrink:0;
  color:var(--violet-400);
}
.redes-mini-text{
  display:flex;
  flex-direction:column;
  flex:1;
}
.redes-mini-label{
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--violet-400);
}
.redes-mini-handle{
  font-family:'Oswald',sans-serif;
  font-size:1.15rem;
  font-weight:600;
}
.redes-mini-arrow{
  color:var(--violet-400);
  transition:transform .2s ease;
}
.redes-mini:hover .redes-mini-arrow{transform:translateX(3px);}
@media (max-width:575px){
  .redes-ig{padding:1rem 1.25rem;}
}

/* Contacto */
.contacto-section{
  background:var(--violet-100);
}
.contacto-title{
  font-size:1.6rem;
  font-weight:700;
  border-bottom:3px solid var(--violet-600);
  display:inline-block;
  padding-bottom:.5rem;
}
.contacto-copy{color:#555;margin-top:1rem;}
.contacto-list li{
  padding:.5rem 0;
  border-bottom:1px solid rgba(0,0,0,.08);
  font-weight:600;
}

/* Footer */
.site-footer{
  background:var(--ink);
  color:#ccc;
}
.footer-brand{
  color:#fff;
  font-size:1.4rem;
}
.footer-copy{
  max-width:640px;
  color:#bbb;
}
.footer-socials{
  display:flex;
  gap:.75rem;
  justify-content:flex-end;
}
.footer-socials span{
  width:36px;height:36px;
  border:1px solid #444;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.85rem;
  color:#ddd;
}
.footer-divider{border-color:#333;}
.footer-bottom a{color:#999;}
.footer-bottom a:hover{color:#fff;}

@media (max-width:991px){
  .hero-title{font-size:2.25rem;}
}

/* Separador temporal entre versiones de redes */
.redes-separador{height:48px;background:#fff;}

.hero {
      --hero-bg: #7a4ca0;
      --hero-btn: #3d2060;
      --hero-btn-hover: #2c1647;
      background: var(--hero-bg);
      color: #fff;
      font-family: "Work Sans", system-ui, sans-serif;
    }

    /* Primer scroll = alto completo de la pantalla */
    .hero-row { min-height: 75vh; min-height: 75svh; }

    /* Texto: columna izquierda */
    .hero-text { padding: 4rem 1.5rem; }
    @media (min-width: 992px) {
      .hero-text { padding: 4rem 3vw 4rem 7vw; }
    }

    .hero-titulo {
      font-family: "Oswald", "Arial Narrow", sans-serif;
      font-weight: 700;
      font-size: clamp(3rem, 6vw, 5.5rem);
      line-height: 1;
      letter-spacing: .01em;
      text-transform: uppercase;
    }
    .hero-lead {
      max-width: 30rem;
      font-size: clamp(1.125rem, 1.5vw, 1.375rem);
      line-height: 1.5;
    }
    .btn-hero {
      min-height: 56px;
      padding: 0 3.5rem;
      display: inline-flex;
      align-items: center;
      background: var(--hero-btn);
      color: #fff;
      border: 0;
      border-radius: .5rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .btn-hero:hover, .btn-hero:focus-visible { background: var(--hero-btn-hover); color: #fff; }

    /* Imagen: ocupa TODA la columna derecha, de borde a borde y de arriba a abajo */
    .hero-media { position: relative; }
    .hero-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 65% 30%;
    }

    /* MOBILE / TABLET: la imagen pasa a ser el fondo del bloque de texto */
    @media (max-width: 991.98px) {
      .hero-row { position: relative; }
      .hero-media {
        position: absolute;
        inset: 0;
        z-index: 0;
      }
      /* capa violeta para que el texto se lea sobre la foto */
      .hero-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(61, 32, 96, .55) 0%, rgba(61, 32, 96, .80) 100%);
      }
      .hero-img { object-position: 72% 30%; }
      .hero-text {
        position: relative;
        z-index: 1;
        min-height: 100vh;
        min-height: 100svh;
      }
    }