*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}body.nx-glass{font-family:system-ui,sans-serif;background:linear-gradient(160deg,#1e1b4b,#312e81 45%,#0f172a);color:#e0e7ff;line-height:1.6;min-height:100vh;overflow-x:hidden}
img{max-width:100%;display:block}a{color:#a5b4fc}
.nx-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;position:sticky;top:0;z-index:50;background:rgba(30,27,75,.75);backdrop-filter:blur(14px)}
.nx-logo{font-weight:800;color:#c7d2fe;text-decoration:none}
.nx-nav{display:flex;gap:1rem}.nx-nav a{color:#c7d2fe;text-decoration:none;font-size:.88rem;font-weight:600}
.nx-burger{display:none;width:44px;height:44px;border:1px solid #6366f1;background:transparent;cursor:pointer}
.nx-burger span{display:block;width:18px;height:2px;background:#c7d2fe;margin:0 auto;box-shadow:0 -5px 0 #c7d2fe,0 5px 0 #c7d2fe}
.nx-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}
.nx-stack{position:relative;padding:4rem 1.25rem 2rem;max-width:900px;margin:0 auto;min-height:70vh;display:grid;gap:1rem;align-content:center}
.nx-bg{position:absolute;inset:0;z-index:0;opacity:.25;overflow:hidden;border-radius:24px}
.nx-bg img{width:100%;height:100%;object-fit:cover}
.nx-panel{position:relative;z-index:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px);border-radius:20px;padding:1.5rem}
.nx-panel-1 h1{font-size:clamp(2rem,5vw,3rem);line-height:1.05;margin-bottom:.75rem}
.nx-panel-2 img{border-radius:12px;max-height:280px;object-fit:cover;width:100%}
.nx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1000px;margin:0 auto;padding:2rem 1.25rem}
.nx-cards article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:16px;overflow:hidden}
.nx-cards img{height:140px;width:100%;object-fit:cover}
.nx-cards h3{padding:.75rem 1rem;font-size:1rem}
.nx-contact{max-width:480px;margin:0 auto;padding:2rem 1.25rem 3rem}
.site-form{display:grid;gap:.55rem;margin-top:1rem}
.site-form label{font-size:.82rem;font-weight:600;color:#c7d2fe}
.site-form input,.site-form select,.site-form textarea{padding:.55rem;border:1px solid rgba(255,255,255,.25);background:rgba(15,23,42,.5);color:#fff;border-radius:10px;font:inherit}
.site-form button{padding:.7rem;background:#6366f1;color:#fff;border:0;border-radius:10px;font-weight:700;cursor:pointer}
.nx-foot{padding:1.5rem 1.25rem 2rem;text-align:center;font-size:.78rem;color:#94a3b8}
.site-legal-note{max-width:42rem;margin:.75rem auto 0;font-size:.72rem;line-height:1.5;color:#64748b}
.sub-page{padding:4rem 1.25rem;max-width:680px;margin:0 auto}
.ck-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:420px;margin:0 auto;background:#1e1b4b;color:#e0e7ff;padding:1rem;display:none;z-index:200;border:1px solid #6366f1;border-radius:12px;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem}
.ck-banner.on{display:flex}.ck-banner button{background:#6366f1;color:#fff;border:0;padding:.5rem 1rem;border-radius:8px;cursor:pointer}
.nx-orbs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.nx-orbs span{position:absolute;border-radius:50%;filter:blur(40px);opacity:.35;animation:nx-float 14s ease-in-out infinite}
.nx-orbs span:nth-child(1){width:280px;height:280px;background:#6366f1;top:10%;left:8%}
.nx-orbs span:nth-child(2){width:200px;height:200px;background:#a78bfa;bottom:15%;right:10%;animation-delay:-4s}
.nx-orbs span:nth-child(3){width:160px;height:160px;background:#818cf8;top:50%;left:40%;animation-delay:-8s}
.nx-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nx-bg img{opacity:.2}
.nx-panel{transition:transform .2s}
.nx-step{max-width:720px;margin:0 auto;padding:2rem 1.25rem;position:relative;z-index:1}
.nx-stepper{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.nx-stepper button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#c7d2fe;padding:.55rem .9rem;border-radius:999px;font:inherit;cursor:pointer}
.nx-stepper button.on{background:#6366f1;color:#fff;border-color:#6366f1}
.nx-step-body p{display:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:1rem 1.2rem;border-radius:14px}
.nx-step-body p.on{display:block}
.nx-cards article p{padding:0 1rem 1rem;font-size:.85rem;color:#a5b4fc}
.nx-lex{max-width:1000px;margin:0 auto;padding:0 1.25rem 2rem;position:relative;z-index:1}
.nx-lex h2{font-size:1.15rem;margin-bottom:.4rem}
.nx-lex p{font-size:.88rem;color:#c7d2fe;margin-bottom:.75rem}
.fin-lex{display:flex;flex-wrap:wrap;gap:.4rem}
.fin-lex span{border:1px solid rgba(199,210,254,.5);color:#e0e7ff;padding:.3rem .65rem;border-radius:999px;font-size:.75rem}
.nx-why{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;align-items:center;max-width:1000px;margin:0 auto;padding:1rem 1.25rem 3rem;position:relative;z-index:1}
.nx-why-vid{border-radius:20px;overflow:hidden;min-height:220px;border:1px solid rgba(255,255,255,.2)}
.nx-why-vid video{width:100%;height:260px;object-fit:cover;display:block}
@keyframes nx-float{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-24px)}}
@media(max-width:900px){.nx-burger{display:block}.nx-nav{position:fixed;top:56px;right:0;width:260px;background:#312e81;flex-direction:column;padding:1rem;transform:translateX(100%);transition:.25s;z-index:45}
body.nav-open .nx-nav{transform:translateX(0)}body.nav-open .nx-backdrop{display:block}.nx-cards{grid-template-columns:1fr}.nx-why{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.nx-orbs span{animation:none}}

.kb-stage{position:relative;overflow:hidden;width:100%;height:100%;min-height:220px;background:#0a0a0a}
.kb-layer{position:absolute;inset:-14%;background-size:cover;background-position:center;will-change:transform,opacity}
.kb-a{animation:kbA var(--kb-d,22s) ease-in-out infinite}
.kb-b{animation:kbB var(--kb-d,22s) ease-in-out infinite}
@keyframes kbA{0%{opacity:1;transform:scale(1) translate(0,0)}40%{opacity:1;transform:scale(1.1) translate(-2%,1%)}50%,100%{opacity:0}}
@keyframes kbB{0%,40%{opacity:0}50%{opacity:1;transform:scale(1.05) translate(2%,-1%)}90%{opacity:1;transform:scale(1.16) translate(-1%,2%)}100%{opacity:0}}
.kb-grain{position:absolute;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.fl-hero-bg .kb-stage,.cp-hero-img .kb-stage,.nx-bg .kb-stage{position:absolute;inset:0;min-height:100%}
.fl-film-frame .kb-stage,.tk-crt .kb-stage,.tk-clip .kb-stage,.cp-split-vid .kb-stage,.ox-lead-vid .kb-stage,.ox-photo .kb-stage,.nx-why-vid .kb-stage,.pf-film .kb-stage,.pf-mod-vid .kb-stage{min-height:280px}
.pf-film .kb-stage{min-height:50vh}
@media(prefers-reduced-motion:reduce){.kb-a,.kb-b{animation:none!important}.kb-a{opacity:1;inset:0;transform:none}.kb-b{display:none}}

.fl-hero-bg > img, .cp-hero-img > img, .nx-bg > img { display:none }
.nx-bg .loop-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nx-why-vid .loop-vid{width:100%;height:260px;object-fit:cover;display:block}
@media(prefers-reduced-motion:reduce){.loop-vid{display:none!important}}
.sub-page h1{margin-bottom:.75rem}
.sub-page h2{margin:1.4rem 0 .4rem;font-size:1.15rem}
.sub-page p{margin:.5rem 0}
.b-burger{position:relative}
.b-burger::before{content:"";display:block;width:18px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;margin:0 auto}
/* rwd-2026-08-12 */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.site-form input,.site-form select,.site-form textarea{font-size:16px;max-width:100%;width:100%}
.site-form button,.nx-stepper button,.ck-banner button{min-height:44px}
.nx-nav a,.nx-stepper button{display:inline-flex;align-items:center}
.nx-nav a{min-height:44px}
.nx-head{padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right));padding-top:max(.85rem,env(safe-area-inset-top))}
.ck-banner{left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}
@media(max-width:1100px) and (min-width:901px){.nx-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .nx-why-vid video,.nx-why-vid .loop-vid{height:200px}
  .nx-stack{padding:3.5rem 1rem 1.5rem;min-height:60vh}
  .nx-orbs span{width:120px;height:120px}
  .nx-panel{padding:1.15rem}
}
