/* Paleta corporativa: azul profundo, gris claro, blanco */
:root {
  --color-primary: #0c0c0c;   /* negro */
  --color-rojo: #cc0000;
  --color-azul: #0044cc;
  --color-naranja: #ff6600;
}

* {
    margin: 0px;
    padding: 0px;
    font-family: sans-serif;
    color: white;
    text-decoration: none;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: auto;
    background: #0c0c0c;
}

header {
    background: darkred;
    height: 80px;
    width: 100%;
    display: block;
}

a.Premos img {
    max-width: 73px;
    margin: 5px;
    border-radius: 20%;
    overflow: hidden;
}

.navbar {
    float: right;
    margin-right: 20px;
}

.navbar a {
    display: inline-block;
    line-height: 80px;
    margin: 0 5px;
}

/* Hero con degradado animado */
.hero-somos {
  background: linear-gradient(270deg, var(--color-rojo), var(--color-azul), var(--color-naranja));
  background-size: 600% 600%;
  animation: gradientShift 15s ease infinite;
  color: #fff;
  padding: 80px 60px; /* más espacio interno */
  text-align: center;
  margin: 0 80px 120px 80px; /* margen lateral y margen inferior */
}

@keyframes gradientShift {
  0% {background-position:0% 50%;}
  50% {background-position:100% 50%;}
  100% {background-position:0% 50%;}
}

.hero-somos h1 {
  font-size: 2.8rem;
  margin-bottom: 20px;
  overflow: hidden;
  border-right: .15em solid #fff;
  white-space: nowrap;
  animation: typing 4s steps(40, end), blink .75s step-end infinite;
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}
@keyframes blink {
  50% { border-color: transparent }
}

/* Los Premos con degradado animado */
.los-premos {
  padding: 80px 60px; /* más espacio interno */
  background: linear-gradient(135deg, var(--color-naranja), var(--color-rojo), var(--color-azul));
  color: #fff;
  text-align: center;
  margin: 120px 80px 0 80px; /* margen lateral y margen superior */
}

.los-premos h2 {
  font-size: 2rem;
  margin-bottom: 20px;
}

/* Fundamentales */
.fundamentales {
  padding: 100px 40px; /* más espacio arriba y abajo */
  background: #111;
  text-align: center;
}

.fundamentales h2 {
  color: var(--color-naranja);
  font-size: 2.4rem;
  margin-bottom: 40px;
}

/* Contenedor alternado */
.fundamental {
  padding: 120px 40px; /* mucho más espacio entre subsecciones */
}

.fundamental-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px; /* más espacio entre imagen y texto */
}

.fundamental-content.reverse {
  flex-direction: row-reverse;
}

.fundamental-img img {
  width: 180px;
  animation: floatImg 6s ease-in-out infinite;
}

.fundamental-text {
  max-width: 600px;
}

/* Animaciones generales */
@keyframes floatImg {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

/* Texto flotante activado con clase animate */
.fundamental-text p {
  opacity: 0;
  transform: translateY(40px);
  transition: all 1s ease;
}

.fundamental.animate .fundamental-text p {
  opacity: 1;
  transform: translateY(0);
  animation: floatText 6s ease-in-out infinite;
}

@keyframes floatText {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

/* Animaciones específicas de entrada */
.fundamental.invencion.animate .fundamental-text {
  animation: slideLeft 1.5s ease forwards;
}
@keyframes slideLeft {
  from { opacity: 0; transform: translateX(-80px); }
  to { opacity: 1; transform: translateX(0); }
}

.fundamental.seguridad.animate .fundamental-text {
  animation: fadeUp 1.5s ease forwards;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(80px); }
  to { opacity: 1; transform: translateY(0); }
}

.fundamental.entretenimiento.animate .fundamental-text {
  animation: zoomIn 1.5s ease forwards;
}
@keyframes zoomIn {
  from { opacity: 0; transform: scale(0.5); }
  to { opacity: 1; transform: scale(1); }
}

/* Estilos de texto */
.fundamental h3 {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.fundamental p {
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 1.1rem;
}

/* Colores para cada subsección */
.fundamental.invencion {
  background: var(--color-naranja);
}

.fundamental.seguridad {
  background: var(--color-rojo);
}

.fundamental.entretenimiento {
  background: var(--color-azul);
}

/* Responsivo */
@media (max-width: 768px) {
  .fundamental-content,
  .fundamental-content.reverse {
    flex-direction: column;
    gap: 30px;
  }

  .fundamental {
    padding: 80px 20px;
  }
}

/* Filosofía con degradado */
.filosofia {
  padding: 60px 40px;
  background: linear-gradient(135deg, var(--color-rojo), var(--color-azul), var(--color-naranja));
  color: #fff;
  text-align: center;
}

.filosofia h2 {
  background: linear-gradient(90deg, var(--color-rojo), var(--color-azul), var(--color-naranja));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 200%;
  animation: gradientText 5s ease infinite;
}

@keyframes gradientText {
  0% {background-position: 0% 50%;}
  50% {background-position: 100% 50%;}
  100% {background-position: 0% 50%;}
}


/* Footer */
footer {
  background: var(--color-primary);
  color: #fff;
  text-align: center;
  padding: 15px;
}

/* Responsivo */
@media (max-width: 768px) {
  .fundamental-grid {
    flex-direction: column;
    align-items: center;
  }

  .hero-somos {
    text-align: center;
    padding: 40px 20px;
  }

  .hero-somos h1 {
    font-size: 2rem;
  }
}
