.intro{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#1c1512;font-family:'Hanken Grotesk',sans-serif;transition:opacity 1s ease}
/* fondo: el póster desenfocado rellena lo que el vídeo no cubre (móvil muy alargado) */
.intro-fondo{position:absolute;inset:-40px;background:#3a2c25 center/cover no-repeat;filter:blur(24px) brightness(.8);opacity:0;transition:opacity .9s ease}
.intro.en-marcha .intro-fondo{opacity:1}
.intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.intro--v .intro-video{object-fit:contain}
.intro.en-marcha .intro-video{opacity:1}
/* velo inferior para que el texto se lea sobre la imagen */
.intro-velo{position:absolute;left:0;right:0;bottom:0;height:42%;pointer-events:none;opacity:0;transition:opacity .7s ease .15s;
  background:linear-gradient(180deg,rgba(28,21,18,0),rgba(28,21,18,.62))}
.intro-bienvenida{position:absolute;left:0;right:0;bottom:9vh;display:flex;flex-direction:column;align-items:center;gap:14px;
  text-align:center;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .7s ease .15s,transform .7s ease .15s}
.intro-firma{width:150px;height:auto;filter:drop-shadow(0 2px 6px rgba(20,12,8,.55))}
.intro-bienvenida p{margin:0;font-size:15px;letter-spacing:.32em;text-transform:uppercase;color:#F7EADB;text-shadow:0 1px 3px rgba(30,16,10,.7)}
.intro.bienvenida .intro-velo,.intro.bienvenida .intro-bienvenida{opacity:1;transform:none}
.firma-vuela{position:fixed;z-index:1001;height:auto;transform-origin:0 0;pointer-events:none;transition:transform 1.1s cubic-bezier(.65,0,.35,1)}
/* controles */
.c-saltar{position:absolute;top:22px;right:28px;z-index:5;min-height:44px;padding:0 18px;border:1px solid rgba(230,160,124,.8);border-radius:3px;background:rgba(40,26,20,.3);
  color:#F5F1EA;font:500 12px 'Hanken Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(2px)}
.c-saltar:focus-visible{outline:2px solid #E6A07C;outline-offset:3px}
.c-saltar{font-size:16px;letter-spacing:.08em;min-height:48px;padding:12px 22px;background:rgba(40,26,20,.82);border-color:#E6A07C;box-shadow:0 2px 12px rgba(0,0,0,.18);}
@media (max-width:780px){
  .c-saltar{top:max(16px,env(safe-area-inset-top));right:16px}
  .intro-bienvenida{bottom:max(7vh,calc(env(safe-area-inset-bottom) + 28px))}
  .intro-firma{width:120px}
  .intro-bienvenida p{font-size:12px;letter-spacing:.3em}
}
@media (prefers-reduced-motion: reduce){ .intro{display:none} }

.intro.saliendo{opacity:0!important;pointer-events:none}
html.con-intro,html.con-intro body{overflow:hidden}
html.con-intro .hero-foto{opacity:0}
.hero-foto{transition:opacity .7s ease}
.ver-intro{display:inline-block;margin-top:18px;font:500 12px 'Hanken Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#E9D9C8;text-decoration:none;opacity:.75}
.ver-intro:hover,.ver-intro:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:4px}
html.intro-pendiente body::before{content:'';position:fixed;inset:0;z-index:999;background:#1c1512}
.intro.rapido{transition-duration:.5s}
/* paseo (v8): horizontal y vertical, siempre centrado para que la firma salga justo del botón */
.intro-video,.intro--v .intro-video{object-fit:cover;object-position:50% 50%}
.intro-aviso-ia{position:absolute;left:28px;bottom:20px;z-index:5;margin:0;padding:5px 11px;border-radius:3px;background:rgba(42,30,24,.42);backdrop-filter:blur(3px);color:rgba(245,241,234,.92);font:500 12.5px/1.4 'Hanken Grotesk',sans-serif;letter-spacing:.04em}
@media (max-width:780px){.intro-aviso-ia{left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));text-align:center;font-size:11.5px}}

.intro .intro-reproducir{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;max-width:calc(100% - 40px);font-size:17px;line-height:1.4;white-space:normal;text-align:center;min-height:48px;padding:14px 24px;}
.intro .intro-reproducir[hidden]{display:none!important;}
.intro.intro--manual .intro-video{opacity:1;}
.intro.intro--manual .intro-fondo{opacity:1;}
@media(prefers-reduced-motion:reduce){.intro.intro--manual{display:block;transition:none;}.intro.intro--manual .intro-video,.intro.intro--manual .intro-fondo{transition:none;}}
