/* ========================================
   1) Video de fondo HTML5
   ======================================== */
.fp-background {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: -1;
  object-fit: cover;
}

/* ===================================================
   2) Overlay semitransparente
   =================================================== */
.overlay {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  background-color: rgba(58, 0, 65, 0.7);
  z-index: 1;
}
.overlay-content {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(6px, 2vh, 16px) clamp(8px, 3vw, 16px);
}
.home-header {
  flex-shrink: 0;
}
.home-main {
  flex: 1;
  display: flex;
  align-content: center;
}

/* =====================
   Reset y estilos base
   ===================== */
* {
  box-sizing: border-box;
  margin: 0; padding: 0;
}
html, body {
  width: 100%; height: 100%;
  font-family: sans-serif;
}

/* ===== Header ===== */
.home-header {
  text-align: center;
  color: #fff;
}
.home-logo {
  width: clamp(80px, 20vmin, 256px);
}
.home-header h1 {
  font-size: clamp(0.9rem, 3vmin, 1.5rem);
}
.home-header p {
  font-size: clamp(0.75rem, 2.5vmin, 1.2rem);
  opacity: .8;
}

/* ===== Main (cards wrapper) ===== */
.home-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(8px, 1.5vmin, 16px);
  width: 100%;
  max-width: 700px;
}

/* ===== Cards ===== */
.home-card {
  flex: 1 1 100%;
  max-width: 340px;
  background: rgba(64, 0, 96, 0.8);
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  padding: clamp(10px, 2.5vmin, 28px) clamp(10px, 2vmin, 20px);
  text-align: center;
  transition: transform .2s, box-shadow .2s;
}
.home-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0,0,0,.4);
}
.home-card i {
  font-size: clamp(1.6rem, 5vmin, 3.5rem);
  margin-bottom: clamp(4px, 1vmin, 12px);
  color: #f39c12;
  display: block;
}
.home-card h2 {
  font-size: clamp(0.9rem, 2.5vmin, 1.4rem);
  margin-bottom: clamp(2px, 0.5vmin, 6px);
}
.home-card p {
  font-size: clamp(0.7rem, 2vmin, 1rem);
  opacity: .9;
}

/* ===== Footer ===== */
.home-footer {
  text-align: center;
  color: #fff;
  flex-shrink: 0;
}
.home-footer .social-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(8px, 2vmin, 20px);
  margin-bottom: clamp(2px, 0.5vh, 8px);
}
.home-footer .social-links a {
  color: #fff;
  font-size: clamp(1.1rem, 3.5vmin, 2rem);
  transition: color .2s, transform .2s;
}
.home-footer .social-links a:hover {
  color: #f39c12;
  transform: translateY(-2px);
}
.home-footer small {
  font-size: clamp(0.6rem, 1.8vmin, 0.9rem);
  opacity: .8;
}

/* ===== Landscape: cards lado a lado ===== */
@media (orientation: landscape) {
  .home-card {
    flex: 1 1 40%;
  }
}
