*{margin:0;padding:0;box-sizing:border-box}
:root{
  --verde:#2d6a4f;
  --verde-claro:#52b788;
  --verde-oscuro:#1b4332;
  --rojo:#c1121f;
  --amarillo:#f4a261;
  --crema:#fdf8f0;
  --gris-claro:#f5f5f0;
  --texto:#1a1a1a;
  --texto-muted:#555;
}
html{scroll-behavior:smooth}
body{font-family:'Crimson Pro',serif;background:var(--crema);color:var(--texto);overflow-x:hidden}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(27,67,50,0.97);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;
  padding:0.9rem 2.5rem;
  box-shadow:0 2px 20px rgba(0,0,0,0.3);
}
.nav-branding {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.nav-logo-image{
  height: 60px; /* Tamaño del logo para que suba y se acomode al lado */
  width: auto;
}
.nav-logo-text{
  font-family:'Playfair Display',serif;
  color:#fff;font-size:1.3rem;font-weight:700;letter-spacing:2px;
  text-decoration:none;
}
.nav-logo-text span{color:var(--amarillo)}
.nav-links{display:flex;gap:1.5rem;align-items:center;} /* Ajuste de espaciado para no taparse */
.nav-links a{
  color:rgba(255,255,255,0.85);text-decoration:none;
  font-size:0.92rem;letter-spacing:0.5px;padding:0.5rem 0rem;
  border-radius:4px;transition:all 0.2s;font-family:'Crimson Pro',serif;
}
.nav-links a:hover{color:#fff; border-bottom: 2px solid var(--amarillo);}
.nav-cta{
  background:var(--rojo)!important;color:#fff!important;padding:0.45rem 1.2rem!important;
  border-radius:4px;font-size:0.88rem;letter-spacing:0.5px;
  margin-left: 1rem;
}
.nav-cta:hover{background:#a00e18!important}

/* HERO BANNER */
.hero-banner{
  position:relative;width:100%;height:82vh;min-height:480px;
  overflow:hidden;margin-top:60px;
}
.hero-banner.compact{height:60vh;min-height:380px}
.hero-banner .bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;
  filter:brightness(0.55) saturate(0.85);
}
.hero-banner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(27,67,50,0.45) 0%,rgba(27,67,50,0.15) 40%,rgba(27,67,50,0.55) 100%);
  pointer-events:none;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  margin-top: -16rem; 
}

/* ==========================================================================
   Añade estas reglas abajo para controlar el tamaño de las palabras pequeñas
   ========================================================================== */

/* Agranda el texto de la ubicación: "Carepa, Antioquia — Colombia" */
.hero-sub {
  font-size: 2.6rem; /* Por defecto suele ser 1rem. Súbelo a 1.2rem o 1.4rem según veas */
}

/* Agranda el párrafo del eslogan de abajo */
.hero-tagline {
  font-size: 2rem; /* Le da mayor cuerpo y presencia al mensaje principal */
  line-height: 1.6;   /* Ajusta el espacio entre líneas para que no se amontone al crecer */
}
.hero-overlay .logo-img{
  width:clamp(130px,18vw,200px);height:auto;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,0.6));
  margin-bottom:1.2rem;animation:fadeUp 0.7s ease 0.1s both;
}
.hero-overlay h1{
  font-family:'Playfair Display',serif;
  color:#fff;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900;
  line-height:1;letter-spacing:4px;text-shadow:0 3px 20px rgba(0,0,0,0.5);
}
.hero-overlay h1 span{color:var(--amarillo)}
.hero-overlay .page-title{
  font-family:'Playfair Display',serif;
  color:#fff;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;
  text-shadow:0 3px 20px rgba(0,0,0,0.5);
}
.hero-overlay .hero-sub{
  color:rgba(255,255,255,0.82);font-size:1.05rem;letter-spacing:2px;
  font-weight:300;margin-top:0.5rem;text-shadow:0 2px 8px rgba(0,0,0,0.4);
}
.hero-overlay .hero-nit{color:rgba(255,255,255,0.5);font-size:0.8rem;letter-spacing:3px;margin-top:0.3rem}
.hero-overlay .hero-tagline{
  color:rgba(255,255,255,0.88);font-size:1.15rem;max-width:560px;
  line-height:1.7;margin-top:1.4rem;font-style:italic;font-weight:300;
}
.hero-overlay .hero-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
.btn-primary{
  background:var(--rojo);color:#fff;padding:0.85rem 2rem;
  border-radius:3px;text-decoration:none;font-size:1rem;
  letter-spacing:0.5px;transition:all 0.2s;border:2px solid var(--rojo);
  font-family:'Crimson Pro',serif;display:inline-block;
}
.btn-primary:hover{background:#a00e18;border-color:#a00e18;transform:translateY(-2px)}
.btn-outline{
  background:transparent;color:#fff;padding:0.85rem 2rem;
  border-radius:3px;text-decoration:none;font-size:1rem;
  letter-spacing:0.5px;transition:all 0.2s;border:2px solid rgba(255,255,255,0.45);
  font-family:'Crimson Pro',serif;display:inline-block;
}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,0.1)}
.hero-stats{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  background:rgba(0,0,0,0.45);display:flex;justify-content:center;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,0.1);
}
.stat{padding:1.1rem 3rem;text-align:center;border-right:1px solid rgba(255,255,255,0.1)}
.stat:last-child{border-right:none}
.stat-num{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--amarillo);font-weight:700;line-height:1}
.stat-label{font-size:0.72rem;color:rgba(255,255,255,0.55);letter-spacing:1.5px;margin-top:4px;text-transform:uppercase}

/* SECTIONS */
section{padding:5rem 2rem}
.page-top{padding-top:7rem}
.container{max-width:1100px;margin:0 auto}
.section-label{
  font-size:0.72rem;letter-spacing:4px;text-transform:uppercase;
  color:var(--verde);font-weight:600;margin-bottom:0.75rem;display:block;
}
.section-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4vw,3rem);font-weight:700;
  color:var(--texto);line-height:1.15;margin-bottom:1.5rem;
}
.divider{width:60px;height:3px;background:var(--rojo);margin-bottom:2.5rem;border:none}

/* QUI�NES */
#quienes{background:var(--crema)}
.quienes-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.quienes-text p{color:var(--texto-muted);font-size:1.15rem;line-height:1.9;margin-bottom:1.2rem;font-weight:300}
.quienes-text p strong{color:var(--verde-oscuro);font-weight:600}
.quienes-imgs{display:grid;grid-template-rows:1fr 1fr;gap:1rem;height:480px}
.img-tall{background:var(--verde-oscuro);border-radius:4px;overflow:hidden;position:relative}
.img-tall img{width:100%;height:100%;object-fit:cover;opacity:0.92;display:block}
.img-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,0.65));
  color:#fff;font-size:0.82rem;padding:1.2rem 1rem 0.8rem;letter-spacing:0.5px;font-style:italic;
}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.mv-card{
  background:rgba(255,255,255,0.06);border:1px solid #e0ddd5;
  border-radius:4px;padding:2.5rem;position:relative;overflow:hidden;
}
.mv-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%}
.mv-card.mision::before{background:var(--amarillo)}
.mv-card.vision::before{background:var(--verde)}
.mv-icon{font-size:2.5rem;margin-bottom:1rem;display:block;line-height:1}
.mv-card h3{font-family:'Playfair Display',serif;color:var(--verde-oscuro);font-size:1.5rem;margin-bottom:0.9rem;font-weight:700}
.mv-card p{color:var(--texto-muted);font-size:1rem;line-height:1.85;font-weight:300}

/* L�NEAS */
#lineas,#lineas-preview{background:var(--gris-claro)}
.lineas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.linea-card{
  background:#fff;border-radius:4px;padding:2rem;
  border:1px solid #e8e8e0;transition:all 0.25s;border-top:3px solid transparent;
  text-align:center;
}
.linea-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,0.09);border-top-color:var(--verde)}
.linea-card h4{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--texto);margin-bottom:1rem;font-weight:700}
.linea-card .ver-mas{
  display:inline-block;margin-top:0.5rem;color:var(--verde);
  font-size:0.88rem;text-decoration:none;letter-spacing:0.5px;font-weight:600;
}
.linea-card .ver-mas:hover{color:var(--rojo)}
.linea-detail{
  background:#fff;border-radius:4px;padding:2rem 2.5rem;
  border:1px solid #e8e8e0;margin-bottom:1.5rem;
  border-left:4px solid var(--verde);
}
.linea-detail h3{font-family:'Playfair Display',serif;color:var(--verde-oscuro);font-size:1.4rem;margin-bottom:1rem}
.linea-detail p{color:var(--texto-muted);font-size:1.05rem;line-height:1.85;font-weight:300}

/* NOTICIAS */
#noticias,#noticias-preview{background:var(--crema)}
.noticias-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.noticia-card{
  background:#fff;border-radius:4px;overflow:hidden;
  border:1px solid #e8e8e0;transition:all 0.25s;
}
.noticia-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.08)}
.noticia-body{padding:2rem}
.noticia-card h3{
  font-family:'Playfair Display',serif;font-size:1.25rem;
  color:var(--texto);margin-bottom:0.75rem;line-height:1.3;
}
.noticia-card h3 a{color:inherit;text-decoration:none}
.noticia-card h3 a:hover{color:var(--verde)}
.noticia-meta{font-size:0.78rem;color:var(--texto-muted);letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}
.noticia-card p{color:var(--texto-muted);font-size:1rem;line-height:1.8;font-weight:300;margin-bottom:1.2rem}
.noticia-card .leer-mas{color:var(--rojo);text-decoration:none;font-size:0.92rem;font-weight:600}
.noticia-card .leer-mas:hover{text-decoration:underline}
.article-content{max-width:800px;margin:0 auto}
.article-content h1{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:1rem;line-height:1.2}
.article-content .article-meta{color:var(--texto-muted);font-size:0.85rem;margin-bottom:2rem;letter-spacing:1px}
.article-content p{color:var(--texto-muted);font-size:1.1rem;line-height:1.9;margin-bottom:1.2rem;font-weight:300}
.article-content img{max-width:100%;height:auto;border-radius:4px;margin:1.5rem 0}

/* CONTACTO */
#contacto{background:var(--verde-oscuro)}
#contacto .section-label{color:var(--verde-claro)}
#contacto .section-title{color:#fff}
#contacto .divider{background:var(--amarillo)}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contacto-info p.intro{color:rgba(255,255,255,0.72);font-size:1.08rem;line-height:1.9;margin-bottom:2rem;font-weight:300}
.contacto-datos{display:flex;flex-direction:column;gap:1.2rem}
.dato{display:flex;align-items:flex-start;gap:1rem;color:rgba(255,255,255,0.85)}
.dato-icon{
  width:38px;height:38px;background:rgba(255,255,255,0.1);
  border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;
}
.dato-text{font-size:0.97rem;line-height:1.65;padding-top:2px}
.dato-text strong{
  display:block;font-size:0.7rem;letter-spacing:2.5px;
  color:var(--amarillo);margin-bottom:3px;text-transform:uppercase;font-weight:600;
}
.contacto-form{
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
  border-radius:4px;padding:2.2rem;
}
.form-group{margin-bottom:1rem}
.form-group label{
  display:block;color:rgba(255,255,255,0.55);
  font-size:0.72rem;letter-spacing:2px;margin-bottom:0.45rem;text-transform:uppercase;font-weight:600;
}
.form-group input,.form-group textarea{
  width:100%;background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);border-radius:3px;
  color:#fff;font-size:0.97rem;padding:0.75rem 0.95rem;
  font-family:'Crimson Pro',serif;outline:none;
}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.3)}
.form-group input:focus,.form-group textarea:focus{border-color:var(--verde-claro)}
.form-group textarea{resize:vertical;min-height:130px}
.btn-send{
  width:100%;background:var(--rojo);color:#fff;border:none;
  padding:0.95rem;border-radius:3px;font-size:1rem;
  font-family:'Playfair Display',serif;letter-spacing:1px;font-weight:700;
  cursor:pointer;transition:background 0.2s;
}
.btn-send:hover{background:#a00e18}

/* LEGAL */
#legal{background:var(--crema)}
.legal-intro{color:var(--texto-muted);font-size:1.1rem;line-height:1.85;margin-bottom:2.5rem;font-weight:300}
.years-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:3rem}
.year-link{
  background:var(--verde-oscuro);color:#fff;text-align:center;
  padding:1.5rem 1rem;border-radius:4px;text-decoration:none;
  font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;
  transition:all 0.2s;
}
.year-link:hover{background:var(--verde);transform:translateY(-3px)}
.legal-table-wrap{overflow-x:auto;background:#fff;border-radius:4px;border:1px solid #e8e8e0;padding:1rem}
.legal-table{width:100%;border-collapse:collapse;font-size:0.95rem}
.legal-table th{
  background:var(--verde-oscuro);color:#fff;padding:0.9rem 1rem;
  text-align:left;font-family:'Playfair Display',serif;font-weight:600;
}
.legal-table td{padding:0.85rem 1rem;border-bottom:1px solid #eee;color:var(--texto-muted);vertical-align:top}
.legal-table tr:hover td{background:var(--gris-claro)}
.legal-table a{color:var(--verde);font-weight:600;text-decoration:none}
.legal-table a:hover{color:var(--rojo)}

/* FOOTER */
footer{background:#0a1a12;padding:3.5rem 2rem 1.5rem}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-logo{
  font-family:'Playfair Display',serif;color:#fff;font-size:1.6rem;
  font-weight:700;letter-spacing:3px;margin-bottom:0.3rem;display:block;
}
.footer-logo span{color:var(--amarillo)}
.footer-brand-sub{
  color:rgba(255,255,255,0.35);font-size:0.72rem;letter-spacing:2.5px;
  margin-bottom:1.2rem;text-transform:uppercase;display:block;
}
.footer-brand p{color:rgba(255,255,255,0.45);font-size:0.92rem;line-height:1.75;font-weight:300;max-width:280px}
.footer-col h5{
  color:#fff;font-size:0.72rem;letter-spacing:3px;text-transform:uppercase;
  margin-bottom:1.2rem;font-weight:600;
}
.footer-col a{display:block;color:rgba(255,255,255,0.45);text-decoration:none;font-size:0.92rem;margin-bottom:0.65rem;transition:color 0.2s}
.footer-col a:hover{color:var(--verde-claro)}
.footer-col p{color:rgba(255,255,255,0.45);font-size:0.88rem;line-height:1.7;margin-bottom:0.5rem}
.footer-divider{height:1px;background:rgba(255,255,255,0.08);margin-bottom:1.5rem}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem}
.footer-copy{color:rgba(255,255,255,0.25);font-size:0.78rem}
.footer-nit{color:rgba(255,255,255,0.2);font-size:0.75rem;letter-spacing:1.5px}
.footer-social{display:flex;gap:0.75rem}
.soc{
  width:34px;height:34px;border:1px solid rgba(255,255,255,0.15);
  border-radius:3px;display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.35);font-size:0.82rem;text-decoration:none;transition:all 0.2s;
}
.soc:hover{border-color:var(--verde-claro);color:var(--verde-claro)}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:900px){
  nav{padding:0.9rem 1.2rem}
  .nav-links a{padding:0.4rem 0.6rem;font-size:0.82rem}
  .quienes-grid{grid-template-columns:1fr;gap:2.5rem}
  .quienes-imgs{height:300px}
  .mv-grid,.lineas-grid,.noticias-grid{grid-template-columns:1fr}
  .contacto-grid,.footer-top{grid-template-columns:1fr;gap:2rem}
  .years-grid{grid-template-columns:repeat(2,1fr)}
  .stat{padding:1rem 1.5rem}
  .hero-banner{height:70vh}
  .hero-banner.compact{height:50vh}
}
@media(max-width:600px){
  nav{flex-direction:column;gap:0.6rem;padding:0.7rem 1rem}
  .nav-links{justify-content:center}
  .hero-stats{display:none}
  .hero-banner{height:100vh;margin-top:0}
  .hero-banner.compact{height:45vh;margin-top:60px}
  .years-grid{grid-template-columns:1fr 1fr}
}
