* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  scroll-behavior: smooth;
}

body.page {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  font-family: 'Segoe UI', Arial, sans-serif;
  color: #fff;

  background-color: #0a0a0a;
  background-image: image-set(
    url("/assets/bg.avif") type("image/avif") 1x,
    url("/assets/bg.webp") type("image/webp") 1x,
    url("/assets/bg.jpg")  type("image/jpeg") 1x
  );
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow-x: hidden;
}

/* capa oscura sobre el fondo para legibilidad */
body.page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;

  /* Fondo base oscuro + blur */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  /* Capa de color para mejorar contraste */
  background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.6));
}


.nav {
  background: linear-gradient(180deg, #0a1a3d, #071630);
  box-shadow: 0 3px 5px rgba(0,0,0,0.3);
  padding: 0.8rem 0;
  position: sticky;
  top: 0;
  z-index: 10;
}

.nav-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  font-weight: 700;
  font-size: 1.1rem;
  color: #fff;
  text-decoration: none;
  letter-spacing: .5px;
}

.logo img {
  height: 138px;           /* ajusta según el tamaño que quieras */
  width: auto;
  display: block;
  object-fit: contain;
  transition: transform 0.2s ease;
}

.logo img:hover {
  transform: scale(1.06); /* pequeño efecto al pasar el ratón */
}


.menu {
  list-style: none;
  display: flex;
  gap: 1.5rem;
}

.menu a,
.menu span.active {
  color: #cfd8ff;
  text-decoration: none;
  font-weight: 500;
  transition: color .2s ease;
}

.menu a:hover {
  color: #4ea5ff;
}

.menu a.active,
.menu span.active {
  color: #4ea5ff;
  font-weight: 600;
  cursor: default;
}

main.content {
  flex: 1; 
  z-index: 1;
  padding: 2rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.inicio {
  max-width: 800px;
  text-align: center;
  color: #f3f3f3;
}

.inicio h1 {
  font-size: 2rem;
  color: #4ea5ff;
  margin-bottom: 0.8rem;
}

/* --- Sección Servicios --- */
.servicio {
  width: 100%;
  max-width: 900px;
  text-align: center;
  color: #f3f3f3;
}

.servicio h1 {
  font-size: 1.9rem;
  margin-bottom: 1.5rem;
  color: #4ea5ff;
}

.card {
  background: #fff;
  color: #000;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  max-width: 600px;
  margin: 0 auto;
  box-shadow: 0 0 15px rgba(0,0,0,0.35);
}

.card h2 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  color: #0046cf;
}

.youtube-link {
  display: inline-block;
  margin: 1rem 0;
  text-decoration: none;
}

.yt {
  width: 60px;
  height: 60px;
}

.yt-bg {
  fill: #ff0000;
  rx: 8;
}

.yt-play {
  fill: #fff;
}

.hint {
  font-size: 0.9rem;
  color: #555;
}

.footer {
  background: #071630;
  text-align: center;
  color: #cfd8ff;
  font-size: 0.9rem;
  padding: 0.8rem 1rem;
  z-index: 5;
  box-shadow: 0 -2px 5px rgba(0,0,0,0.3);
}

@media (max-width: 700px) {
  .menu {
    gap: 1rem;
  }

  .inicio h1, .servicio h1 {
    font-size: 1.6rem;
  }

  .card {
    padding: 1.5rem;
  }

  .yt {
    width: 50px;
    height: 50px;
  }
}

.fade-out {
  opacity: 0;
  transition: opacity .4s ease;
}

.fade-in {
  opacity: 1;
  transition: opacity .4s ease;
}

.menu span.active {
  color: #4ea5ff;
  font-weight: 600;
  cursor: default;
  text-decoration: none;
}



