:root {
  --primary: #b30000;   /* rojo FUNDEC */
  --elite: #0a1f44;     /* azul elite */
  --accent: #f0ad4e;    /* dorado acento */
  --dark: #0a0a0a;
  --gray: #bfbfbf;
  --light: #ffffff;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Inter', sans-serif;
  background: var(--dark);
  color: var(--light);
}

/* HERO */
.hero {
  height: 100vh;
  background: url('assets/fondo.png') center/cover no-repeat;
  display: flex; align-items: center; justify-content: center;
  text-align: center; position: relative;
}
.overlay {
  position: absolute; width: 100%; height: 100%;
  background: linear-gradient(rgba(0,0,0,0.65), rgba(179,0,0,0.7));
}
.hero-content { position: relative; z-index: 2; max-width: 900px; }
.hero-logo {
  max-width: 600px; width: 100%; height: auto;
  margin-bottom: 15px; mix-blend-mode: multiply;
  opacity: 0.65; filter: brightness(1.1);
  transition: 0.6s ease-in-out;
}
.hero-logo:hover { transform: scale(1.05); }
.hero h1 { font-size: 50px; font-weight: 800; }
.hero p { color: var(--gray); margin-top: 10px; }

/* BLOQUES */
.block { display: flex; min-height: 80vh; }
.block.reverse { flex-direction: row-reverse; }
.block-text { width: 50%; padding: 80px; display: flex; flex-direction: column; justify-content: center; }
.block-text h2 { color: var(--primary); margin-bottom: 20px; }
.block-text p { color: var(--gray); margin-bottom: 15px; line-height: 1.7; }
.block-img { width: 50%; }
.block-img img { width: 100%; height: 100%; object-fit: cover; }

/* Aula rojiza ajustada */
.block-img img.aula {
  filter: brightness(0.9) sepia(0) hue-rotate(-10deg) saturate(0.8);
  transition: 0.6s ease-in-out;
}
.block-img img.aula:hover {
  transform: scale(1.03);
  filter: brightness(0.95) sepia(0) hue-rotate(-10deg) saturate(1);
}

/* SECCIONES */
.content { padding: 100px 60px; max-width: 1000px; margin: auto; }
.content h2 { color: var(--primary); margin-bottom: 30px; }
.content p { color: var(--gray); margin-bottom: 15px; line-height: 1.7; }

/* DARK */
.dark { background: #050505; }

/* IMAGEN FULL */
.image-full {
  height: 60vh;
  background: url('assets/estudiantes.jpg') center/cover no-repeat;
  display: flex; align-items: center; justify-content: center;
  position: relative; text-align: center;
}
.image-full.small { height: 45vh; }
.image-full h2 { position: relative; z-index: 2; font-size: 38px; }

/* VALORES */
.values {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 20px;
}
.values div {
  background: #111; padding: 25px;
  border-left: 4px solid var(--primary);
  text-align: center; transition: 0.3s;
}
.values div:hover { transform: translateY(-5px); background: #1a1a1a; }

/* CONTACTO INSTITUCIONAL en blanco */
.content.contacto-horizontal {
  background: var(--light);
  color: var(--dark);
  border-radius: 8px;
  padding: 60px;
}
.content.contacto-horizontal h2 { color: var(--primary); }
.contacto-mails {
  display: flex; justify-content: center;
  gap: 30px; flex-wrap: wrap; margin-top: 20px;
}
.contacto-mails a {
  color: var(--dark); font-weight: 600;
  text-decoration: none; padding: 8px 12px;
  border: 1px solid var(--dark); border-radius: 6px;
  transition: 0.3s;
}
.contacto-mails a:hover {
  background: var(--primary); color: var(--light);
}

/* FORMULARIO en blanco */
.formulario {
  background: var(--light);
  color: var(--dark);
  padding: 40px;
  border-radius: 8px;
}
.formulario label { color: var(--dark); font-weight: 600; }
.formulario input,
.formulario select,
.formulario textarea {
  background: #f9f9f9;
  color: var(--dark);
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 6px;
  margin-bottom: 15px;
}
.formulario button {
  background: var(--primary);
  color: var(--light);
  border: none;
  padding: 12px 20px;
  border-radius: 6px;
  cursor: pointer;
}
.formulario button:hover {
  background: var(--accent);
  color: var(--dark);
}

/* FOOTER en rojo FUNDEC */
footer {
  text-align: center;
  padding: 40px;
  background: var(--primary);
  color: var(--light);
  border-top: 6px solid var(--accent);
}
footer .direccion {
  margin-bottom: 20px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}
.social img {
  max-height: 40px; width: auto; margin: 0 8px;
  vertical-align: middle; transition: 0.3s ease-in-out;
}
.social img:hover {
  transform: scale(1.2);
  filter: drop-shadow(0 0 6px var(--accent));
}

/* RESPONSIVE CORREGIDO */
@media(max-width: 900px){
  .block { flex-direction: column; }
  .block-text, .block-img { width: 100%; }
  .block-text { padding: 40px; }
  .values { grid-template-columns: 1fr 1fr; }
  .hero h1 { font-size: 35px; }
  .hero-logo { max-width: 280px; }
}

@media(max-width: 600px){
  .hero h1 { font-size: 28px; }
  .hero-logo { max-width: 220px; }
  .values { grid-template-columns: 1fr; }
}

@media(max-width: 400px){
  .hero h1 { font-size: 22px; }
  .hero-logo { max-width: 180px; }
}