/* Homepage-only full viewport welcome film, over the intact existing homepage. */
html.vesa-intro-pending,html.vesa-intro-pending body{overflow:hidden!important;overscroll-behavior:none}
.vesa-home-intro{display:none}
html.vesa-intro-pending .vesa-home-intro{
  position:fixed;inset:0;z-index:2147483000;display:grid;
  width:100%;height:100%;height:100dvh;overflow:hidden;place-items:center;
  isolation:isolate;background:#090d14 url('../assets/vesa-intro-landscape-poster.jpg?v=2') center center/cover no-repeat;
  opacity:1;transform:translate3d(0,0,0) scale(1);
  transition:opacity 950ms cubic-bezier(.22,.61,.36,1),transform 950ms cubic-bezier(.22,.61,.36,1)
}
.vesa-home-intro__video{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center center;pointer-events:none;background:transparent;opacity:0
}
html.vesa-intro-pending .vesa-home-intro.is-playing .vesa-home-intro__video{opacity:1}
@media(max-aspect-ratio:4/3){
  html.vesa-intro-pending .vesa-home-intro{background-image:url('../assets/vesa-intro-portrait-poster.jpg?v=2')}
}
html.vesa-intro-pending .vesa-home-intro.is-exiting{
  opacity:0;transform:translate3d(0,-1.2%,0) scale(1.009);pointer-events:none
}
.vesa-home-intro__sound{
  position:absolute;z-index:4;right:max(16px,env(safe-area-inset-right));
  top:max(20px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:center;
  gap:7px;min-height:48px;min-width:48px;padding:9px 15px;border-radius:999px;
  border:1px solid rgba(255,255,255,.42);background:rgba(6,14,26,.73);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#fff;font:600 13px/1.2 system-ui,-apple-system,sans-serif;cursor:pointer;
  box-shadow:0 6px 24px rgba(0,0,0,.22)
}
/* Intro-only control: visually matches Music On/Off and stays in the bottom corner. */
.vesa-home-intro__skip{
  position:absolute;z-index:4;right:max(16px,env(safe-area-inset-right));
  bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;
  min-height:48px;min-width:76px;padding:9px 17px;border-radius:999px;
  border:1px solid rgba(255,255,255,.42);background:rgba(6,14,26,.73);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#fff;font:600 13px/1.2 system-ui,-apple-system,sans-serif;cursor:pointer;
  box-shadow:0 6px 24px rgba(0,0,0,.22)
}
.vesa-home-intro__sound:focus-visible,.vesa-home-intro__skip:focus-visible,.vesa-home-intro__action:focus-visible{outline:3px solid #d6b06a;outline-offset:3px}
.vesa-home-intro__sound-icon{font-size:21px;line-height:1}
.vesa-home-intro__recovery{
  position:absolute;inset:auto 18px max(28px,env(safe-area-inset-bottom)) 18px;
  z-index:3;display:none;align-items:center;flex-direction:column;gap:12px;
  text-align:center;color:#fff;font:500 14px/1.4 system-ui,-apple-system,sans-serif;
  text-shadow:0 1px 10px #000
}
.vesa-home-intro.is-paused .vesa-home-intro__recovery,
.vesa-home-intro.is-error .vesa-home-intro__recovery{
  display:flex;
  bottom:max(90px,calc(env(safe-area-inset-bottom) + 90px));
}
.vesa-home-intro__action{
  appearance:none;border:1px solid rgba(255,255,255,.55);background:rgba(9,22,38,.88);
  color:#fff;border-radius:100px;min-width:162px;min-height:48px;padding:12px 22px;
  font:inherit;font-weight:700;cursor:pointer
}
@media(prefers-reduced-motion:reduce){html.vesa-intro-pending .vesa-home-intro{transition-duration:140ms}}