:root{--gd:#123A2D;--g:#0E6756;--gs:#EAF4F0;--gold:#C7A45A;--cr:#F7F5EF;--tx:#18312B;--mut:#63716D;--ln:#DDE6E2;--sh:0 12px 34px rgba(18,58,45,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--tx);font-family:Lato,Arial,sans-serif;line-height:1.55}h1,h2,h3,h4,.brand,.btn,.main-nav{font-family:Montserrat,Arial,sans-serif}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--gd);color:#fff;font-size:13px}.topbar-inner{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--ln)}.nav-wrap{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;color:var(--gd)}.brand-symbol{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,var(--g),var(--gd));display:grid;place-items:center;color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-family:Lato;color:var(--mut);font-size:11px}.main-nav{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:600}.menu-toggle{display:none;border:0;background:none;font-size:25px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:13px 18px;font-size:13px;font-weight:700;text-transform:uppercase;border:1px solid transparent}.btn-primary{background:var(--g);color:#fff}.btn-outline{background:#fff;color:var(--g);border-color:var(--g)}.btn-gold{background:var(--gold);color:#14251f}.hero{background:linear-gradient(180deg,#fff,var(--cr))}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.hero-copy{padding:55px 50px 55px 0;align-self:center}.eyebrow,.section-heading>span,.donation-inner span{font-family:Montserrat;font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--g);text-transform:uppercase}.eyebrow.light{color:#d6ebe3}.hero h1{font-size:clamp(38px,4.2vw,56px);line-height:1.06;margin:14px 0 20px;color:var(--gd);max-width:650px;}.hero p{font-size:18px;color:var(--mut);max-width:650px;}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-visual{min-height:520px;background:linear-gradient(135deg,#d8e7df,#b9d0c6);position:relative}.trust-strip{border-block:1px solid var(--ln)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid article{padding:22px;border-right:1px solid var(--ln)}.trust-grid b{display:block;font-family:Montserrat}.trust-grid span{font-size:13px;color:var(--mut)}.section{padding:84px 0}.alt{background:var(--cr)}.section-heading{max-width:780px;margin-bottom:36px}.centered{text-align:center;margin-inline:auto}.section-heading h2,.contact h2,.dark h2,.donation-inner h2{font-size:clamp(32px,4vw,47px);line-height:1.08;margin:8px 0 12px;color:var(--gd)}.audience-grid,.services-grid,.steps,.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.audience-grid{grid-template-columns:repeat(3,1fr);gap:20px}.card,.service,.project-card,.contact-form{background:#fff;border:1px solid var(--ln);border-radius:18px;padding:24px;box-shadow:var(--sh)}.card-image{height:165px;border-radius:13px;margin:-8px -8px 21px;display:flex;align-items:end;padding:18px;color:#fff;font-family:Montserrat;font-weight:700;background:linear-gradient(140deg,var(--g),var(--gd))}.card-image.org{background:linear-gradient(140deg,#5c7e73,#123a2d)}.card-image.donor{background:linear-gradient(140deg,#b49756,#49694e)}.card p,.service p,.project-card p{color:var(--mut)}.card a{color:var(--g);font-weight:700}.service .icon{width:42px;height:42px;border-radius:13px;background:var(--gs);display:grid;place-items:center;color:var(--g);font-weight:800}.process{background:linear-gradient(180deg,#fff,#eff7f4)}.steps article{padding:20px;border-top:3px solid var(--gs)}.steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--g);color:#fff}.center{text-align:center}.dark{background:var(--gd);color:#fff}.dark h2{color:#fff}.dark p{color:#d2e1dc}.prevention-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center}.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.program-grid article{padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.07)}.transparency-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:16px}.links{display:flex;flex-direction:column;gap:13px}.contact{background:#f8faf9}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.contact-form label{display:block;font-size:13px;font-weight:700;margin-bottom:13px}input,select,textarea{width:100%;border:1px solid #cdd9d4;border-radius:9px;padding:12px 13px;margin-top:5px;font:inherit}textarea{min-height:120px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.donation-cta{background:var(--gs);padding:44px 0}.donation-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}footer{background:var(--gd);color:#fff;padding:52px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:34px}footer a,footer p{display:block;color:#c6d6d0;font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:30px;padding-top:20px;font-size:12px;color:#a9bdb5}
@media(max-width:1000px){.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:20px;flex-direction:column}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.prevention-grid,.contact-grid{grid-template-columns:1fr}.hero-copy{padding-right:0}.trust-grid,.services-grid,.steps,.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container{width:min(100% - 28px,1160px)}.hero-copy{padding:58px 0 44px}.hero h1{font-size:42px}.audience-grid,.trust-grid,.services-grid,.steps,.program-grid,.project-grid,.transparency-grid,.footer-grid,.form-row{grid-template-columns:1fr}.donation-inner{align-items:flex-start;flex-direction:column}.section{padding:62px 0}}
/* AJUSTE FINAL HERO - ESCRITORIO */
@media (min-width:1001px){

  .hero-grid{
    grid-template-columns:1fr 1fr;
    min-height:440px;
  }

  .hero-copy{
    padding:34px 45px 34px 0;
  }

  .hero h1{
    font-size:42px;
    line-height:1.08;
    max-width:650px;
    margin:10px 0 16px;
  }

  .hero p{
    font-size:16.5px;
    line-height:1.5;
    max-width:620px;
    margin-bottom:18px;
  }
  }
  /* IMAGEN PRINCIPAL HERO */

.hero-visual{
  position:relative;
  overflow:hidden;
  min-height:440px;
  background:#EAF4F0;
}

.hero-image{
  width:100%;
  height:100%;
  position:absolute;  
  top:0;
  right:0;
  bottom:0;
  left:0;
  object-fit:cover;
  object-position:center 38%;
  display:block;
    
}
.brand-logo{
  height:58px;
  width:auto;
  display:block;
  object-fit:contain;
}

@media(max-width:680px){
  .brand-logo{
    height:48px;
  }
}
/* LOGO CABECERA */
.brand{
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.brand-logo{
  display:block;
  width:auto;
  height:72px;
  max-width:240px;
  object-fit:contain;
}
.nav-wrap{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
@media(max-width:1000px){
  .brand-logo{
    height:62px;
    max-width:210px;
  }
}
@media(max-width:680px){
  .brand-logo{
    height:54px;
    max-width:180px;
  }
}
/* IDENTIDAD DEL ENCABEZADO */

.brand-horizontal{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}

.brand-tree{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
  display:block !important;
  flex-shrink:0;
}

.brand-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.brand-text strong{
  font-family:Montserrat, sans-serif;
  font-size:17px;
  font-weight:700;
  color:#123A2D;
  line-height:1.1;
  letter-spacing:.01em;
}

.brand-text small{
  font-family:Lato, sans-serif;
  font-size:12px;
  color:#63716D;
  margin-top:5px;
}

@media(max-width:680px){

  .brand-tree{
    width:52px !important;
    height:52px !important;
  }

  .brand-text strong{
    font-size:14px;
  }

  .brand-text small{
    font-size:10px;
  }
}
/* ===== BLOQUE DE CONFIANZA ===== */

.trust-strip{
  background:#FFFFFF;
  border-top:1px solid #DDE6E2;
  border-bottom:1px solid #DDE6E2;
}

.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.trust-card{
  min-height:105px;
  padding:22px 20px;
  display:flex;
  align-items:center;
  gap:14px;
  border-right:1px solid #DDE6E2;
  transition:background .2s ease;
}

.trust-card:last-child{
  border-right:none;
}

.trust-card:hover{
  background:#F7F5EF;
}

.trust-icon{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:12px;
  background:#EAF4F0;
  color:#0E6756;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Montserrat, sans-serif;
  font-size:19px;
  font-weight:700;
}

.trust-icon-gold{
  background:#F5EEDC;
  color:#A17D32;
}

.trust-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.trust-content strong{
  font-family:Montserrat, sans-serif;
  font-size:15px;
  font-weight:700;
  color:#123A2D;
  line-height:1.25;
}

.trust-content span{
  font-family:Lato, sans-serif;
  font-size:13px;
  line-height:1.4;
  color:#63716D;
  margin-top:4px;
}

@media(max-width:1000px){

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

  .trust-card:nth-child(2){
    border-right:none;
  }

  .trust-card:nth-child(1),
  .trust-card:nth-child(2){
    border-bottom:1px solid #DDE6E2;
  }
}

@media(max-width:680px){

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

  .trust-card{
    border-right:none;
    border-bottom:1px solid #DDE6E2;
  }

  .trust-card:last-child{
    border-bottom:none;
  }
}
/* ===== PERSONAS / EMPRESAS / DONANTES ===== */

.audience-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:36px;
}

.audience-card{
  position:relative;
  min-height:330px;
  padding:34px 30px;
  background:#FFFFFF;
  border:1px solid #DDE6E2;
  border-radius:18px;
  overflow:hidden;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.audience-card:hover{
  transform:translateY(-5px);
  border-color:#BCD5CA;
  box-shadow:0 18px 45px rgba(18,58,45,.10);
}

.audience-number{
  font-family:Montserrat, sans-serif;
  font-size:52px;
  line-height:1;
  font-weight:700;
  color:#EAF4F0;
  margin-bottom:30px;
}

.audience-label{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  color:#0E6756;
  margin-bottom:10px;
}

.audience-card h3{
  font-family:Montserrat, sans-serif;
  font-size:22px;
  line-height:1.2;
  color:#123A2D;
  margin:0 0 14px;
}

.audience-card p{
  font-family:Lato, sans-serif;
  font-size:15px;
  line-height:1.6;
  color:#63716D;
  margin:0 0 25px;
}

.audience-link{
  display:inline-block;
  font-family:Montserrat, sans-serif;
  font-size:13px;
  font-weight:700;
  color:#0E6756;
}

.audience-link:hover{
  color:#123A2D;
}

.audience-card-featured{
  background:#F7F5EF;
  border-top:4px solid #C7A45A;
}

.audience-card-featured .audience-number{
  color:#EEE3C9;
}

@media(max-width:1000px){

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

  .audience-card{
    min-height:0;
  }
}
/* ===== QUÉ HACEMOS ===== */

.services-section{
  background:#F7F5EF;
}

.services-section .section-heading{
  max-width:820px;
}

.services-section .section-heading p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  font-size:17px;
  line-height:1.6;
  color:#63716D;
}

.services-grid-pro{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:44px;
}

.service-pro{
  position:relative;
  background:#FFFFFF;
  border:1px solid #DDE6E2;
  border-radius:18px;
  padding:28px 25px 30px;
  min-height:390px;
  display:flex;
  flex-direction:column;
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.service-pro:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 45px rgba(18,58,45,.09);
}

.service-number{
  position:absolute;
  top:22px;
  right:24px;
  font-family:Montserrat, sans-serif;
  font-size:32px;
  font-weight:700;
  color:#EAF4F0;
}

.service-icon{
  width:46px;
  height:46px;
  border-radius:13px;
  background:#EAF4F0;
  color:#0E6756;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Montserrat, sans-serif;
  font-size:21px;
  font-weight:700;
  margin-bottom:24px;
}

.service-pro h3{
  font-family:Montserrat, sans-serif;
  font-size:20px;
  line-height:1.2;
  color:#123A2D;
  margin:0 0 14px;
}

.service-pro p{
  font-family:Lato, sans-serif;
  font-size:14.5px;
  line-height:1.65;
  color:#63716D;
  margin:0 0 25px;
}

.service-pro a{
  margin-top:auto;
  font-family:Montserrat, sans-serif;
  font-size:13px;
  font-weight:700;
  color:#0E6756;
}

.service-pro a:hover{
  color:#123A2D;
}

@media(max-width:1000px){

  .services-grid-pro{
    grid-template-columns:repeat(2,1fr);
  }

}

@media(max-width:680px){

  .services-grid-pro{
    grid-template-columns:1fr;
  }

  .service-pro{
    min-height:0;
  }

}
/* EVITAR QUE EL HEADER TAPE LAS SECCIONES */

section[id]{
  scroll-margin-top:120px;
}

#fundacion{
  padding-top:95px;
}
/* AJUSTE TITULO SECCION FUNDACION */

#fundacion .section-heading h2{
  font-size:44px;
  line-height:1.08;
  max-width:760px;
}

#fundacion .section-heading{
  margin-bottom:38px;
}
/* ===== PROCESO DE INGRESO ===== */

.process-section{
  background:#FFFFFF;
}

.process-section .section-heading{
  max-width:780px;
}

.process-section .section-heading p{
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
  font-size:17px;
  line-height:1.6;
  color:#63716D;
}

.process-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  margin-top:60px;
}

/* línea horizontal */

.process-grid::before{
  content:"";
  position:absolute;
  top:57px;
  left:10%;
  right:10%;
  height:2px;
  background:#DDE6E2;
  z-index:0;
}

.process-step{
  position:relative;
  text-align:center;
  padding:0 12px;
  z-index:1;
}

.process-number{
  font-family:Montserrat, sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  color:#0E6756;
  margin-bottom:17px;
}

.process-dot{
  width:18px;
  height:18px;
  margin:0 auto 25px;
  border-radius:50%;
  background:#0E6756;
  border:5px solid #EAF4F0;
  box-sizing:content-box;
}

.process-step h3{
  font-family:Montserrat, sans-serif;
  font-size:18px;
  line-height:1.3;
  color:#123A2D;
  margin:0 0 12px;
}

.process-step p{
  font-family:Lato, sans-serif;
  font-size:14px;
  line-height:1.6;
  color:#63716D;
  margin:0;
}

.process-cta{
  margin-top:60px;
  padding:28px 32px;
  background:#F7F5EF;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.process-cta div{
  display:flex;
  flex-direction:column;
}

.process-cta strong{
  font-family:Montserrat, sans-serif;
  font-size:18px;
  color:#123A2D;
}

.process-cta span{
  margin-top:5px;
  font-family:Lato, sans-serif;
  font-size:14px;
  color:#63716D;
}


@media(max-width:1000px){

  .process-grid{
    grid-template-columns:repeat(2,1fr);
    row-gap:45px;
  }

  .process-grid::before{
    display:none;
  }

}


@media(max-width:680px){

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

  .process-step{
    text-align:left;
    padding-left:54px;
  }

  .process-number{
    margin-bottom:8px;
  }

  .process-dot{
    position:absolute;
    left:10px;
    top:25px;
    margin:0;
  }

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

}
/* ===== PREVENCIÓN Y COMUNIDAD ===== */

.prevention-section{
  background:#123A2D;
  color:#FFFFFF;
  padding:95px 0;
}

.prevention-layout{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  align-items:center;
}

.prevention-eyebrow{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#C7A45A;
  margin-bottom:18px;
}

.prevention-intro h2{
  font-family:Montserrat, sans-serif;
  font-size:46px;
  line-height:1.08;
  color:#FFFFFF;
  margin:0 0 22px;
  max-width:500px;
}

.prevention-intro p{
  font-family:Lato, sans-serif;
  font-size:15px;
  line-height:1.7;
  color:#D5E2DD;
  max-width:520px;
}

.prevention-intro .prevention-lead{
  font-size:17px;
  color:#FFFFFF;
}

.prevention-btn{
  margin-top:22px;
  background:#C7A45A;
  color:#123A2D;
  border-color:#C7A45A;
}

.prevention-btn:hover{
  background:#D5B870;
}

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

.prevention-card{
  position:relative;
  padding:28px;
  min-height:215px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  transition:
    background .25s ease,
    transform .25s ease;
}

.prevention-card:hover{
  background:rgba(255,255,255,.10);
  transform:translateY(-4px);
}

.prevention-code{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:12px;
  font-weight:700;
  color:#C7A45A;
  margin-bottom:28px;
}

.prevention-card h3{
  font-family:Montserrat, sans-serif;
  font-size:18px;
  line-height:1.25;
  color:#FFFFFF;
  margin:0 0 12px;
}

.prevention-card p{
  font-family:Lato, sans-serif;
  font-size:14px;
  line-height:1.6;
  color:#C9D9D3;
  margin:0;
}

@media(max-width:1000px){

  .prevention-layout{
    grid-template-columns:1fr;
    gap:45px;
  }

}

@media(max-width:680px){

  .prevention-section{
    padding:70px 0;
  }

  .prevention-intro h2{
    font-size:36px;
  }

  .prevention-programs{
    grid-template-columns:1fr;
  }

}
/* ===== EQUIPO INTERDISCIPLINARIO ===== */

.team-section{
  background:#FFFFFF;
}

.team-section .section-heading{
  max-width:800px;
}

.team-section .section-heading p{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  font-size:17px;
  line-height:1.6;
  color:#63716D;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:45px;
}

.team-card{
  background:#FFFFFF;
  border:1px solid #DDE6E2;
  border-radius:16px;
  padding:26px 22px;
  min-height:225px;
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.team-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(18,58,45,.08);
}

.team-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:#EAF4F0;
  color:#0E6756;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Montserrat, sans-serif;
  font-size:20px;
  font-weight:700;
  margin-bottom:20px;
}

.team-card h3{
  font-family:Montserrat, sans-serif;
  font-size:17px;
  color:#123A2D;
  margin:0 0 10px;
}

.team-card p{
  font-family:Lato, sans-serif;
  font-size:14px;
  line-height:1.6;
  color:#63716D;
  margin:0;
}

@media(max-width:1000px){

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

}

@media(max-width:680px){

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

  .team-card{
    min-height:0;
  }

}
/* ===== PROYECTOS E IMPACTO ===== */

.projects-section{
  background:#F7F5EF;
}

.projects-heading{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:70px;
  align-items:end;
  margin-bottom:45px;
}

.projects-heading span{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#0E6756;
  margin-bottom:12px;
}

.projects-heading h2{
  font-family:Montserrat, sans-serif;
  font-size:46px;
  line-height:1.08;
  color:#123A2D;
  margin:0;
  max-width:750px;
}

.projects-heading > p{
  font-family:Lato, sans-serif;
  font-size:16px;
  line-height:1.65;
  color:#63716D;
  margin:0;
}

.projects-grid-pro{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.project-pro{
  background:#FFFFFF;
  border:1px solid #DDE6E2;
  border-radius:18px;
  padding:27px 24px;
  min-height:390px;
  display:flex;
  flex-direction:column;
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.project-pro:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 45px rgba(18,58,45,.09);
}

.project-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:35px;
}

.project-number{
  font-family:Montserrat, sans-serif;
  font-size:13px;
  font-weight:700;
  color:#0E6756;
}

.project-tag{
  font-family:Montserrat, sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  color:#0E6756;
  background:#EAF4F0;
  border-radius:20px;
  padding:6px 9px;
}

.project-tag-gold{
  color:#8A6927;
  background:#F5EEDC;
}

.project-pro h3{
  font-family:Montserrat, sans-serif;
  font-size:19px;
  line-height:1.3;
  color:#123A2D;
  margin:0 0 14px;
}

.project-pro > p{
  font-family:Lato, sans-serif;
  font-size:14px;
  line-height:1.65;
  color:#63716D;
  margin:0 0 25px;
}

.project-finance{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #E7EEEB;
}

.project-finance small{
  display:block;
  font-family:Lato, sans-serif;
  font-size:11px;
  color:#87928E;
  margin-bottom:5px;
}

.project-finance strong{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:12px;
  line-height:1.45;
  color:#123A2D;
}

.projects-cta{
  margin-top:45px;
  padding:34px 38px;
  border-radius:18px;
  background:#123A2D;
  color:#FFFFFF;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px;
}

.projects-cta-text{
  max-width:700px;
}

.projects-cta-text > span{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.13em;
  color:#C7A45A;
  margin-bottom:9px;
}

.projects-cta h3{
  font-family:Montserrat, sans-serif;
  font-size:23px;
  line-height:1.25;
  margin:0 0 9px;
  color:#FFFFFF;
}

.projects-cta p{
  font-family:Lato, sans-serif;
  font-size:14px;
  line-height:1.5;
  color:#CCDAD5;
  margin:0;
}

.projects-actions{
  min-width:190px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
}

.projects-secondary{
  font-family:Montserrat, sans-serif;
  font-size:12px;
  font-weight:700;
  color:#FFFFFF;
}

@media(max-width:1000px){

  .projects-heading{
    grid-template-columns:1fr;
    gap:20px;
  }

  .projects-grid-pro{
    grid-template-columns:repeat(2,1fr);
  }

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

}

@media(max-width:680px){

  .projects-heading h2{
    font-size:36px;
  }

  .projects-grid-pro{
    grid-template-columns:1fr;
  }

  .project-pro{
    min-height:0;
  }

}
/* ===== TRANSPARENCIA E INSTITUCIONALIDAD ===== */

.transparency-section{
  background:#FFFFFF;
}

.transparency-heading{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:70px;
  align-items:end;
  margin-bottom:45px;
}

.transparency-heading span{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#0E6756;
  margin-bottom:12px;
}

.transparency-heading h2{
  font-family:Montserrat, sans-serif;
  font-size:44px;
  line-height:1.08;
  color:#123A2D;
  margin:0;
  max-width:760px;
}

.transparency-heading > p{
  font-family:Lato, sans-serif;
  font-size:16px;
  line-height:1.65;
  color:#63716D;
  margin:0;
}

.institutional-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.institutional-card{
  border:1px solid #DDE6E2;
  border-radius:18px;
  padding:28px;
  min-height:320px;
  display:flex;
  flex-direction:column;
}

.institutional-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:30px;
}

.institutional-number{
  font-family:Montserrat, sans-serif;
  font-size:13px;
  font-weight:700;
  color:#0E6756;
}

.institutional-status{
  font-family:Montserrat, sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  color:#0E6756;
  background:#EAF4F0;
  padding:6px 9px;
  border-radius:20px;
}

.institutional-card h3{
  font-family:Montserrat, sans-serif;
  font-size:20px;
  color:#123A2D;
  margin:0 0 14px;
}

.institutional-card p{
  font-family:Lato, sans-serif;
  font-size:14px;
  line-height:1.65;
  color:#63716D;
  margin:0 0 25px;
}

.institutional-data{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #E7EEEB;
}

.institutional-data small{
  display:block;
  font-size:11px;
  color:#87928E;
  margin-bottom:4px;
}

.institutional-data strong{
  font-family:Montserrat, sans-serif;
  font-size:14px;
  color:#123A2D;
}

.documents-panel{
  margin-top:30px;
  padding:35px;
  background:#F7F5EF;
  border-radius:18px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:50px;
}

.documents-intro > span{
  font-family:Montserrat, sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.13em;
  color:#0E6756;
}

.documents-intro h3{
  font-family:Montserrat, sans-serif;
  font-size:24px;
  line-height:1.25;
  color:#123A2D;
  margin:10px 0;
}

.documents-intro p{
  font-size:14px;
  line-height:1.6;
  color:#63716D;
}

.documents-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.document-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  background:#FFFFFF;
  border:1px solid #DDE6E2;
  border-radius:12px;
  padding:17px;
}

.document-item > span{
  font-family:Montserrat, sans-serif;
  font-size:11px;
  font-weight:700;
  color:#0E6756;
}

.document-item strong{
  display:block;
  font-family:Montserrat, sans-serif;
  font-size:13px;
  color:#123A2D;
}

.document-item small{
  display:block;
  font-size:11px;
  color:#87928E;
  margin-top:4px;
}

.transparency-contact{
  margin-top:30px;
  padding:25px 30px;
  border:1px solid #DDE6E2;
  border-radius:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}

.transparency-contact div{
  display:flex;
  flex-direction:column;
}

.transparency-contact strong{
  font-family:Montserrat, sans-serif;
  font-size:17px;
  color:#123A2D;
}

.transparency-contact span{
  font-size:13px;
  color:#63716D;
  margin-top:5px;
}

@media(max-width:1000px){

  .transparency-heading,
  .documents-panel{
    grid-template-columns:1fr;
    gap:25px;
  }

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

}

@media(max-width:680px){

  .transparency-heading h2{
    font-size:36px;
  }

  .documents-list{
    grid-template-columns:1fr;
  }

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

}
/* ===== CONTACTO Y ORIENTACIÓN ===== */

.contact-section{
  background:#F7F5EF;
  padding:95px 0;
}

.contact-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:center;
}

.contact-eyebrow{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#0E6756;
  margin-bottom:14px;
}

.contact-main h2{
  font-family:Montserrat,sans-serif;
  font-size:44px;
  line-height:1.08;
  color:#123A2D;
  margin:0 0 20px;
  max-width:620px;
}

.contact-lead{
  font-family:Lato,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:#63716D;
  max-width:600px;
}

.contact-channels{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:32px;
}

.contact-channel{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding:20px;
  border:1px solid #DDE6E2;
  border-radius:14px;
  background:#FFFFFF;
  transition:transform .2s ease,box-shadow .2s ease;
}

.contact-channel:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 35px rgba(18,58,45,.07);
}

.contact-channel-number{
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  color:#0E6756;
}

.contact-channel small{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  color:#87928E;
}

.contact-channel strong{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:16px;
  color:#123A2D;
  margin-top:4px;
}

.contact-channel p{
  font-size:13px;
  color:#63716D;
  margin:5px 0 0;
}

.contact-channel-primary{
  border-left:4px solid #0E6756;
}

.contact-options{
  display:grid;
  gap:16px;
}

.contact-option{
  padding:32px;
  border-radius:18px;
  background:#FFFFFF;
  border:1px solid #DDE6E2;
}

.contact-option > span{
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  color:#0E6756;
}

.contact-option h3{
  font-family:Montserrat,sans-serif;
  font-size:22px;
  line-height:1.25;
  color:#123A2D;
  margin:10px 0 13px;
}

.contact-option p{
  font-size:14px;
  line-height:1.6;
  color:#63716D;
  margin:0 0 22px;
}

.contact-option-dark{
  background:#123A2D;
  border-color:#123A2D;
}

.contact-option-dark > span{
  color:#C7A45A;
}

.contact-option-dark h3{
  color:#FFFFFF;
}

.contact-option-dark p{
  color:#CEDDD7;
}

.contact-btn-light{
  background:#FFFFFF;
  color:#123A2D;
}

@media(max-width:1000px){

  .contact-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

}

@media(max-width:680px){

  .contact-section{
    padding:70px 0;
  }

  .contact-main h2{
    font-size:36px;
  }

}
/* ===== DONACIONES ===== */

.donation-section{
  background:#EAF4F0;
  padding:75px 0;
}

.donation-layout{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:70px;
  align-items:center;
}

.donation-copy > span{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#0E6756;
  margin-bottom:12px;
}

.donation-copy h2{
  font-family:Montserrat,sans-serif;
  font-size:43px;
  line-height:1.08;
  color:#123A2D;
  margin:0 0 18px;
  max-width:720px;
}

.donation-copy > p{
  max-width:700px;
  font-size:16px;
  line-height:1.65;
  color:#63716D;
}

.donation-law{
  margin-top:24px;
  padding-left:18px;
  border-left:3px solid #C7A45A;
  display:flex;
  flex-direction:column;
}

.donation-law strong{
  font-family:Montserrat,sans-serif;
  font-size:14px;
  color:#123A2D;
}

.donation-law small{
  margin-top:5px;
  font-size:12px;
  color:#63716D;
}

.donation-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

.donation-primary{
  background:#C7A45A;
  color:#123A2D;
  padding:15px 24px;
}

.donation-primary:hover{
  background:#D5B870;
}

.donation-secondary{
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  color:#123A2D;
}

@media(max-width:850px){

  .donation-layout{
    grid-template-columns:1fr;
    gap:35px;
  }

}

@media(max-width:680px){

  .donation-copy h2{
    font-size:35px;
  }

}
/* ===== FOOTER ===== */

.site-footer{
  background:#123A2D;
  color:#FFFFFF;
  padding:60px 0 25px;
}

.footer-grid-pro{
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:55px;
}

.footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-logo{
  width:70px;
  height:70px;
  object-fit:contain;

  background:#FFFFFF;
  border-radius:14px;
  padding:7px;

  margin-bottom:15px;
}

.footer-brand strong{
  font-family:Montserrat,sans-serif;
  font-size:18px;
  color:#FFFFFF;
  margin-top:3px;
}

.footer-brand p{
  color:#C5D6CF;
  font-size:12px;
  line-height:1.5;
  margin:6px 0 12px;
}

.footer-brand > span{
  font-size:12px;
  color:#91AAA0;
}

.footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

.footer-column > strong{
  font-family:Montserrat,sans-serif;
  font-size:15px;
  margin-bottom:10px;
  color:#FFFFFF;
}

.footer-column a,
.footer-column span{
  font-size:13px;
  line-height:1.5;
  color:#C7D7D1;
}

.footer-column a:hover{
  color:#FFFFFF;
}

.footer-bottom-pro{
  display:flex;
  justify-content:space-between;
  gap:25px;
  flex-wrap:wrap;

  margin-top:45px;
  padding-top:22px;

  border-top:1px solid rgba(255,255,255,.14);

  font-size:11px;
  color:#91AAA0;
}

@media(max-width:900px){

  .footer-grid-pro{
    grid-template-columns:repeat(2,1fr);
  }

}

@media(max-width:600px){

  .footer-grid-pro{
    grid-template-columns:1fr;
  }

  .footer-bottom-pro{
    flex-direction:column;
  }

}
/* ===== WHATSAPP FLOTANTE ===== */

.whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:80;
  box-shadow:0 8px 25px rgba(0,0,0,.18);
  transition:transform .2s ease, box-shadow .2s ease;
}

.whatsapp svg{
  width:30px;
  height:30px;
  fill:#FFFFFF;
  display:block;
}

.whatsapp:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
/* ===== AJUSTE NAVEGACION SECCION FUNDACION ===== */

#fundacion{
  padding-top:45px;
}

section[id]{
  scroll-margin-top:90px;
}
/* ===== QUIENES SOMOS / FUNDACION ===== */

.about-section{
  background:#FFFFFF;
  padding:80px 0;
}

.about-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:75px;
  align-items:center;
}

.about-eyebrow{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  color:#0E6756;
  margin-bottom:14px;
}

.about-copy h2{
  font-family:Montserrat,sans-serif;
  font-size:43px;
  line-height:1.08;
  color:#123A2D;
  margin:0 0 21px;
  max-width:570px;
}

.about-copy p{
  font-family:Lato,sans-serif;
  font-size:15px;
  line-height:1.7;
  color:#63716D;
  max-width:580px;
}

.about-copy .about-lead{
  font-size:17px;
  color:#344D45;
}

.about-link{
  display:inline-block;
  margin-top:16px;
  font-family:Montserrat,sans-serif;
  font-size:13px;
  font-weight:700;
  color:#0E6756;
}

.about-pillars{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.about-pillar{
  min-height:180px;
  padding:24px;
  border:1px solid #DDE6E2;
  border-radius:16px;
  background:#F9FBFA;
  display:flex;
  gap:16px;
}

.about-pillar > span{
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:700;
  color:#0E6756;
  margin-top:4px;
}

.about-pillar h3{
  font-family:Montserrat,sans-serif;
  font-size:17px;
  line-height:1.25;
  color:#123A2D;
  margin:0 0 9px;
}

.about-pillar p{
  font-family:Lato,sans-serif;
  font-size:13px;
  line-height:1.6;
  color:#63716D;
  margin:0;
}

#orientacion{
  padding-top:70px;
}

@media(max-width:1000px){

  .about-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

}

@media(max-width:680px){

  .about-section{
    padding:65px 0;
  }

  .about-copy h2{
    font-size:35px;
  }

  .about-pillars{
    grid-template-columns:1fr;
  }

  .about-pillar{
    min-height:0;
  }

}
/* ==================================================
   AJUSTE FINAL VERSION MOVIL
================================================== */

@media(max-width:680px){

  /* HEADER */
  .site-header{
    background:#FFFFFF;
  }

  .nav-wrap{
    min-height:72px;
    gap:10px;
  }

  /* Ocultar barra institucional superior en móvil */
  .topbar{
    display:none;
  }

  /* LOGO */
  .brand-tree{
    width:48px !important;
    height:48px !important;
  }

  .brand-text strong{
    font-size:14px;
  }

  .brand-text small{
    font-size:9px;
    line-height:1.3;
  }

  /* HERO */
  .hero-copy{
    padding-top:42px;
    padding-bottom:35px;
  }

  .hero h1{
    font-size:38px;
    line-height:1.05;
  }

  .hero p{
    font-size:15px;
    line-height:1.55;
  }

  .hero-actions{
    gap:10px;
  }

  .hero-actions .btn{
    width:100%;
    justify-content:center;
  }

  .hero-visual{
    min-height:360px;
  }

  /* ESPACIADO GENERAL */
  .section,
  .about-section,
  .team-section,
  .projects-section,
  .transparency-section,
  .contact-section,
  .donation-section{
    padding-top:60px;
    padding-bottom:60px;
  }

  #orientacion{
    padding-top:55px;
  }

  /* TITULOS */
  .section-heading h2,
  .about-copy h2,
  .projects-heading h2,
  .transparency-heading h2,
  .contact-main h2,
  .donation-copy h2{
    font-size:32px;
    line-height:1.08;
  }

  /* TARJETAS */
  .audience-grid,
  .team-grid,
  .projects-grid-pro,
  .institutional-grid,
  .documents-list{
    gap:14px;
  }

  /* PREVENCION */
  .prevention-section{
    padding:65px 0;
  }

  .prevention-intro h2{
    font-size:34px;
  }

  /* WHATSAPP */
  .whatsapp{
    width:52px;
    height:52px;
    right:14px;
    bottom:14px;
  }

  .whatsapp svg{
    width:27px;
    height:27px;
  }

  /* FOOTER */
  .site-footer{
    padding-top:45px;
  }

  .footer-grid-pro{
    gap:32px;
  }

}
/* ===== MENU MOVIL FINAL ===== */

@media(max-width:1000px){

  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;

    background:#FFFFFF;

    padding:10px 20px 20px;

    flex-direction:column;
    align-items:stretch;
    gap:0;

    border-top:1px solid #E5ECE9;
    box-shadow:0 14px 30px rgba(18,58,45,.10);

    z-index:100;
  }

  .main-nav a:not(.btn){
    width:100%;
    min-height:44px;

    display:flex;
    align-items:center;

    padding:10px 6px;

    font-size:14px;
    font-weight:600;

    color:#123A2D;

    border-bottom:1px solid #EEF2F0;
  }

  .main-nav .btn-gold{
    width:100%;

    margin-top:12px;
    padding:13px 18px;

    justify-content:center;

    font-size:13px;
  }

  .menu-toggle{
    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
  }

}