:root{
  --title-font: "Ephesis", cursive;
  --ui-font: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --btn-radius: 18px;
  --btn-pad-y: 14px;
  --btn-pad-x: 44px;

  --overlay: rgba(0,0,0,.28);
}

*{ box-sizing: border-box; }
html,body{ height:100%; margin:0; }

body{
  font-family: var(--ui-font);
  color:#fff;
  overflow:hidden; /* evita scroll por escalado */
}

/* Fondo */
.bg{
  position:fixed;
  inset:0;
  z-index:0;
  background:#000;
}

.bg__overlay{
  position:absolute;
  inset:0;
  background: var(--overlay);
  z-index:2;
}

/* Wrapper que cubre toda la pantalla */
.bg__video-wrap{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
}

/* Truco "cover" para iframe 16:9 */
#ytPlayer, .yt-iframe{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  width: 177.78vh;  /* 16/9 */
  height: 100vh;
  min-width: 100vw;
  min-height: 56.25vw; /* 9/16 */
  pointer-events:none;
  filter:saturate(1.05) contrast(1.02);
}

/* Imagen de respaldo (fallback.jpg) */
.bg__fallback{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(var(--overlay), var(--overlay)),
    url("fallback.jpg") center/cover no-repeat;
  opacity:0; /* la prende JS si hace falta */
}

/* Contenido */
.hero{
  position:relative;
  z-index:3;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 24px;
}

.hero__title{
  font-family: var(--title-font);
  font-size: clamp(56px, 6vw, 96px);
  line-height: 1;
  margin: 0 0 18px 0;
  text-shadow: 0 10px 28px rgba(0,0,0,.28);
}

/* Botones */
.hero__buttons{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
  width:min(460px, 92vw);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  text-decoration:none;
  font-family: var(--ui-font);
  font-weight:600;
  letter-spacing:.2px;
  padding: var(--btn-pad-y) var(--btn-pad-x);
  border-radius: var(--btn-radius);
  border: 1px solid rgba(255,255,255,.24);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: transform .12s ease, opacity .12s ease;
  user-select:none;
}

.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0px); opacity:.92; }

.btn--light{
  background: rgba(255,255,255,.26);
  color: rgba(255,255,255,.96);
}

.btn--dark{
  background: rgba(0,0,0,.32);
  color: rgba(255,255,255,.96);
}

@media (min-width: 900px){
  .hero__buttons{ width: 400px; }
}