/* B429 · the CultureAI film on the site: the silent loop band, the hero's Watch the film, and the player. */
.fx-watch{color:#fff!important;margin-top:6px;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 6px;background:none;border:0;color:inherit;font:inherit;font-weight:600;cursor:pointer;opacity:.94}
.fx-watch:hover{opacity:1}
.fx-watch .fx-pl{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);transition:transform .25s cubic-bezier(.22,1,.36,1),background .25s}
.fx-watch:hover .fx-pl{transform:scale(1.08);background:rgba(255,255,255,.26)}
.fx-watch .fx-pl svg{width:13px;height:13px;margin-left:2px;fill:#fff}
.fx-watch small{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:500;opacity:.75;letter-spacing:.02em}

.fx-band{position:relative;background:linear-gradient(180deg,#0a1633 0%,#0d1d42 55%,#0a1633 100%);color:#fff;overflow:hidden;padding-block:clamp(56px,9vw,120px)}
.fx-band::before{content:"";position:absolute;inset:auto -10% 30% -10%;height:70%;background:radial-gradient(50% 60% at 50% 60%,rgba(21,89,245,.42),rgba(21,89,245,0) 70%);pointer-events:none}
.fx-band .fx-in{position:relative;max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.fx-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 32px;margin-bottom:clamp(24px,3.4vw,40px)}
.fx-k{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#9db8ff;margin-bottom:12px}
.fx-band .fx-head h2{color:#fff!important;margin:0;font-size:clamp(32px,4.6vw,56px);line-height:1.04;letter-spacing:-.02em;font-weight:700;text-wrap:balance;max-width:16ch;color:#fff}
.fx-head p{margin:0;max-width:34ch;color:#b9c4dd;font-size:17px;line-height:1.5}
.fx-frame{position:relative;border-radius:clamp(14px,1.8vw,24px);overflow:hidden;aspect-ratio:16/9;background:#0a1633;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 120px -30px rgba(21,89,245,.55),0 24px 60px -20px rgba(0,0,0,.6);transform:translateZ(0)}
.fx-frame video,.fx-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fx-frame .fx-play{position:absolute;left:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 20px 0 8px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#0a1633;font:inherit;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 10px 30px rgba(10,22,51,.35);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.fx-frame .fx-play:hover{transform:translateY(-2px)}
.fx-frame .fx-play i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1559f5}
.fx-frame .fx-play svg{width:12px;height:12px;margin-left:2px;fill:#fff}
.fx-frame .fx-play small{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500;font-size:13px;color:#4a5878}
.fx-tag{position:absolute;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;color:#dbe5ff;background:rgba(10,22,51,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 11px;border-radius:999px}
.fx-tag::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#f5a623;margin-right:8px;vertical-align:1px}
@media (max-width:640px){.fx-tag{display:none}.fx-frame .fx-play{font-size:14px;min-height:44px;padding:0 14px 0 6px;gap:8px}.fx-frame .fx-play i{width:30px;height:30px}.fx-frame .fx-play small{display:none}}

.fx-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(5,10,24,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .35s ease;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.fx-modal.on{opacity:1}
.fx-modal .fx-box{position:relative;width:min(1280px,100%,calc((100vh - 120px) * 16 / 9));aspect-ratio:16/9;border-radius:clamp(10px,1.4vw,18px);overflow:hidden;background:#000;box-shadow:0 40px 120px rgba(0,0,0,.6);transform:scale(.96);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.fx-modal.on .fx-box{transform:none}
.fx-modal video{width:100%;height:100%;display:block;background:#000}
.fx-modal .fx-x{position:absolute;top:max(14px,env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:44px;cursor:pointer}
.fx-modal .fx-x:hover{background:rgba(255,255,255,.24)}
html.fx-lock,html.fx-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.fx-modal,.fx-modal .fx-box,.fx-watch .fx-pl,.fx-frame .fx-play{transition:none}}
