/* V3.17 – on-site film ident, black zero-flash start and accessible handoff. */
.fxv317-intro{display:none}
html.fxv317-intro-pending body.fxv2{background:#000!important;overflow:hidden!important}
html.fxv317-intro-pending body.fxv2>:not(#fxv317-intro):not(.fxv2-eye-veil):not(script){visibility:hidden!important}
html.fxv317-intro-pending body.fxv2>#fxv317-intro{display:flex;visibility:visible!important}
body.fxv2 .fxv317-intro{
  position:fixed;z-index:2147481000;inset:0;background:#000;color:#fff;
  align-items:center;justify-content:center;isolation:isolate;overflow:hidden;
  touch-action:manipulation;user-select:none
}
body.fxv2 .fxv317-intro-film{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  background:#000;pointer-events:none
}
body.fxv2 .fxv317-intro-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:default}
body.fxv2 .fxv317-intro-overlay.is-ready{cursor:pointer}
body.fxv2 .fxv317-intro-controls{
  position:absolute;right:clamp(17px,3vw,46px);top:max(20px,env(safe-area-inset-top));
  display:flex;gap:9px;align-items:center;z-index:1
}
body.fxv2 .fxv317-intro-controls button,
body.fxv2 .fxv317-intro-enter{
  font:600 14px/1.25 Inter,Arial,sans-serif;letter-spacing:.015em;
  border:1px solid rgba(242,255,250,.42);color:#fff;
  background:rgba(10,18,19,.66);backdrop-filter:blur(12px);
  padding:11px 16px;border-radius:999px;cursor:pointer;
  transition:transform .30s cubic-bezier(.2,.8,.22,1),background .3s ease,border-color .3s ease
}
body.fxv2 .fxv317-intro-controls button:hover,
body.fxv2 .fxv317-intro-enter:hover{background:#182625;border-color:#4cf45c;transform:scale(1.045)}
body.fxv2 .fxv317-intro-enter{
  position:absolute;left:50%;top:calc(50% + clamp(76px,12vw,175px));
  transform:translateX(-50%);border-color:#4be748;padding:13px 28px;
  box-shadow:0 0 25px rgba(11,220,48,.11);font-size:15px;white-space:nowrap;
  animation:fxv317-enter-appear .8s cubic-bezier(.16,.95,.2,1) both
}
body.fxv2 .fxv317-intro-enter:hover{transform:translateX(-50%) scale(1.055)}
body.fxv2 .fxv317-intro-enter[hidden],
body.fxv2 .fxv317-intro-hint[hidden]{display:none!important}
body.fxv2 .fxv317-intro-hint{
  position:absolute;left:50%;top:calc(50% + clamp(132px,16vw,222px));
  transform:translateX(-50%);font:400 12px/1.5 Inter,Arial,sans-serif;
  color:#bcc6c3;max-width:88vw;text-align:center;pointer-events:none
}
@keyframes fxv317-enter-appear{from{opacity:0;filter:blur(9px);translate:0 15px}to{opacity:1;filter:blur(0);translate:0 0}}
body.fxv2 .fxv317-intro.is-entering .fxv317-intro-overlay{pointer-events:none}
body.fxv2 .fxv317-intro button:focus-visible{outline:3px solid #5bff70;outline-offset:4px}
@media(max-width:620px){
 body.fxv2 .fxv317-intro-film{object-fit:contain}
 body.fxv2 .fxv317-intro-controls{right:14px;left:14px;justify-content:center;top:max(20px,env(safe-area-inset-top))}
 body.fxv2 .fxv317-intro-controls button{font-size:12px;padding:9px 12px}
 body.fxv2 .fxv317-intro-enter{top:calc(50% + 78px)}
 body.fxv2 .fxv317-intro-hint{top:calc(50% + 137px)}
}
@media(prefers-reduced-motion:reduce){
 body.fxv2 .fxv317-intro-enter{animation:none}
 body.fxv2 .fxv317-intro button{transition:none!important}
}
@media print{body.fxv2 .fxv317-intro{display:none!important}}
body.fxv2 .fxv317-example{max-width:min(100%,840px);margin:20px auto 38px;padding:0 0 14px}
body.fxv2 .fxv317-example-frame{aspect-ratio:16/9;overflow:hidden;background:#000;border-radius:clamp(18px,2.8vw,30px);box-shadow:0 11px 39px #0002}
body.fxv2 .fxv317-example video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
body.fxv2 .fxv317-example p{font-size:.92rem;line-height:1.5;color:#53605c;margin:10px 2px 0}
body.fxv2 .fxv2-header .fxv317-brand-lockup{display:block;width:auto;height:40px;max-width:min(52vw,220px);object-fit:contain;flex:0 0 auto}
@media(max-width:620px){body.fxv2 .fxv2-header .fxv317-brand-lockup{height:34px;max-width:57vw}}
