/* Clickel "nx" look: floating pill header, big type, soft light background, scroll motion */
:root{--bg:#f2f5fa;--ink:#0d0d12;--mut:#5d6575;--p:#6254e7;--p-d:#4f43c9;--card:#fff;--nxr:28px;--fh:'Inter Tight','Manrope',system-ui,sans-serif;--fb:'Inter Tight','Manrope',system-ui,sans-serif}
body{background:var(--bg);color:var(--mut);font-family:var(--fb)}
h1,h2,h3,h4,h5{font-family:var(--fh);color:var(--ink);letter-spacing:-.02em}
.nx-wrap{max-width:1280px;margin:0 auto;padding:0 24px}

/* ---------- buttons with text roll ---------- */
.nx-btn{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 24px;border-radius:60px;font-family:var(--fh);font-weight:600;font-size:.95rem;border:0;cursor:pointer;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.nx-btn .roll{display:block;height:1.3em;overflow:hidden;line-height:1.3}
.nx-btn .roll b{display:block;font-weight:600;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.nx-btn:hover .roll b{transform:translateY(-100%)}
.nx-btn .arr{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--p);transition:transform .4s cubic-bezier(.7,0,.2,1)}
.nx-btn:hover .arr{transform:rotate(45deg)}
.nx-btn-primary{background:var(--p);color:#fff;box-shadow:0 10px 30px rgba(98,84,231,.28)}.nx-btn-primary:hover{box-shadow:0 14px 38px rgba(98,84,231,.4);transform:translateY(-2px)}
.nx-btn-ghost{background:#fff;color:var(--ink);box-shadow:0 4px 18px rgba(13,13,18,.06)}.nx-btn-ghost .arr{background:var(--bg);color:var(--ink)}
.nx-btn-light{background:#fff;color:var(--ink)}.nx-btn-light .arr{background:var(--p);color:#fff}

/* ---------- header ---------- */
.nx-header{position:fixed;top:14px;left:0;right:0;z-index:70;padding:0 20px;pointer-events:none;transition:transform .45s}
.nx-header.hide{transform:translateY(-130%)}
.nx-bar{pointer-events:auto;max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:20px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:60px;padding:8px 8px 8px 22px;box-shadow:0 10px 40px rgba(13,13,18,.08);border:1px solid rgba(255,255,255,.7)}
.nx-brand img{height:42px;width:auto}
.nx-header .nav{flex:1}.nx-header .nav>ul{justify-content:center;gap:2px}
.nx-header .nav>ul>li>a{padding:14px 15px;font-size:.92rem;font-weight:500;color:#2b3140;border-radius:40px;transition:.25s}
.nx-header .nav>ul>li:hover>a,.nx-header .nav>ul>li.active>a{color:var(--p);background:rgba(98,84,231,.08)}
.nx-header .dd{top:calc(100% + 6px);border-radius:20px;border-top:0;box-shadow:0 20px 60px rgba(13,13,18,.14);padding:10px;transform:translateY(10px) scale(.98)}
.nx-header .has-dd:hover>.dd{transform:none}
.nx-header .dd a{border-radius:12px;padding:10px 16px}.nx-header .dd a:hover{padding-left:20px}
.nx-right{display:flex;align-items:center;gap:8px}
.nx-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--ink);position:relative;transition:.25s}.nx-icon:hover{background:rgba(98,84,231,.1);color:var(--p)}
.nx-header .cart-count{top:2px;right:0}
.nx-phone-m{display:none}
.nx-header .burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--ink);margin:0}.nx-header .burger span{background:#fff;margin:5px 13px;height:2px}
main{padding-top:0}
.page-hero{padding-top:150px}

/* ---------- layout bits ---------- */
.nx-sec{padding:110px 0}
.nx-pill,.nx-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--p);background:rgba(98,84,231,.1);padding:7px 16px;border-radius:40px;margin-bottom:22px}
.nx-label:before,.nx-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--p)}
.nx-label.light{background:rgba(255,255,255,.12);color:#fff}.nx-label.light:before{background:#fff}
.nx-head{margin-bottom:56px;max-width:820px}.nx-head.center{text-align:center;margin-left:auto;margin-right:auto}
.nx-head.split{max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:end}.nx-head.split p{margin-bottom:22px;font-size:1.05rem}
.nx-sec h2,.nx-facts h2{font-size:clamp(2rem,4.4vw,3.5rem);font-weight:600;line-height:1.08;margin:0 0 .5em}
.nx-two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.nx-link{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--ink);border-bottom:2px solid var(--p);padding-bottom:2px}.nx-link i{font-style:normal;transition:.3s}.nx-link:hover i{transform:translate(3px,-3px)}

/* ---------- hero ---------- */
.nx-hero{padding:150px 0 60px;background:radial-gradient(900px 500px at 85% -10%,rgba(98,84,231,.14),transparent 60%),radial-gradient(700px 400px at -5% 30%,rgba(47,163,230,.12),transparent 60%),var(--bg)}
.nxh-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:50px;align-items:start}
.nx-hero h1{font-size:clamp(2.6rem,6.2vw,5.4rem);font-weight:600;line-height:1.02;margin:0 0 26px}
.nx-hero h1 .grad{background:linear-gradient(90deg,var(--p),#2fa3e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.nxh-sub{font-size:1.15rem;max-width:620px;margin-bottom:34px}
.nxh-btns{display:flex;flex-wrap:wrap;gap:14px}
.nxh-card{background:#fff;border-radius:var(--nxr);padding:28px;box-shadow:0 20px 60px rgba(13,13,18,.07);margin-top:70px}
.nxh-proof{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid #eceff5}
.nxh-proof .faces{display:flex}.nxh-proof .faces img{width:38px;height:38px;border-radius:50%;object-fit:contain;background:#f4f6fb;border:2px solid #fff;margin-left:-10px;padding:5px}.nxh-proof .faces img:first-child{margin-left:0}
.nxh-proof p{margin:0;font-weight:600;color:var(--ink);font-size:.92rem;line-height:1.35}
.nxh-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px 0}
.nxh-stats b{display:block;font-family:var(--fh);font-size:2.3rem;font-weight:600;color:var(--ink);line-height:1.1}.nxh-stats span{font-size:.85rem}
.nxh-logos{border-top:1px solid #eceff5;padding-top:18px}
.nx-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.nx-marquee .track{display:flex;align-items:center;gap:36px;width:max-content;animation:mq 28s linear infinite}
.nx-marquee:hover .track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.nxh-logos img{height:30px;width:auto;filter:grayscale(1);opacity:.7}
.nxh-media{position:relative;margin-top:60px;border-radius:36px;overflow:hidden;background:#e9edf7;aspect-ratio:21/9;box-shadow:0 30px 80px rgba(13,13,18,.1)}
.nxh-media img{width:100%;height:118%;object-fit:cover;object-position:center 35%}
.nxh-badge{position:absolute;left:28px;bottom:28px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:22px;padding:16px 22px;display:flex;gap:14px;align-items:center;max-width:300px}
.nxh-badge b{font-family:var(--fh);font-size:2.4rem;color:var(--p);line-height:1}.nxh-badge span{font-size:.85rem;line-height:1.3;color:var(--ink);font-weight:500}

/* ---------- ticker ---------- */
.nx-ticker{padding:40px 0 10px;overflow:hidden}
.nx-marquee.big .track{gap:34px;animation-duration:50s}.nx-marquee.big span{font-family:var(--fh);font-size:clamp(2rem,5vw,4rem);font-weight:600;color:var(--ink);white-space:nowrap;letter-spacing:-.03em}
.nx-marquee.big span:nth-of-type(even){-webkit-text-stroke:1.5px var(--ink);color:transparent}.nx-marquee.big i{font-style:normal;color:var(--p);font-size:1.6rem}

/* ---------- about ---------- */
.nxa-media{position:relative;border-radius:var(--nxr);background:linear-gradient(140deg,#e8e5ff,#dff1fb);padding:30px;overflow:hidden}.nxa-media img{width:100%;border-radius:20px}
.nxa-rate{position:absolute;right:22px;bottom:22px;background:#fff;border-radius:20px;padding:14px 20px;box-shadow:0 12px 40px rgba(13,13,18,.12)}.nxa-rate b{font-family:var(--fh);font-size:2rem;color:var(--ink);display:block;line-height:1}.nxa-rate small{font-size:1rem;color:var(--mut)}.nxa-rate span{font-size:.8rem}
.nx-about p{font-size:1.06rem}

/* ---------- feature cards ---------- */
.nxf-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.nxf-card{background:#fff;border-radius:var(--nxr);padding:30px 26px 32px;position:relative;transition:transform .4s,box-shadow .4s;overflow:hidden}
.nxf-card:hover{transform:translateY(-10px);box-shadow:0 26px 60px rgba(98,84,231,.18)}
.nxf-card:after{content:"";position:absolute;inset:auto -40px -60px auto;width:150px;height:150px;border-radius:50%;background:radial-gradient(var(--p),transparent 70%);opacity:0;transition:.5s}.nxf-card:hover:after{opacity:.18}
.nxf-card .no{font-family:var(--fh);font-size:.85rem;color:var(--p);font-weight:700}
.nxf-card img{height:84px;width:auto;object-fit:contain;margin:18px 0}.nxf-card h3{font-size:1.25rem}.nxf-card p{margin:0;font-size:.95rem}

/* ---------- services accordion ---------- */
.nxs-list{border-top:1px solid #d9dfeb}
.nxs-item{border-bottom:1px solid #d9dfeb;transition:background .4s}
.nxs-item.open,.nxs-item:hover{background:#fff}
.nxs-head{width:100%;display:grid;grid-template-columns:90px 1fr 50px;align-items:center;gap:10px;padding:34px 24px;background:none;border:0;cursor:pointer;text-align:left}
.nxs-head .n{font-family:var(--fh);color:var(--mut);font-weight:500}
.nxs-head .t{font-family:var(--fh);font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:600;color:var(--ink);letter-spacing:-.02em;transition:.4s}
.nxs-item.open .t,.nxs-head:hover .t{color:var(--p);transform:translateX(10px)}
.plus{width:40px;height:40px;border-radius:50%;background:var(--ink);position:relative;transition:.4s}.plus:before,.plus:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:.4s}.plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.nxs-item.open .plus{background:var(--p);transform:rotate(180deg)}.nxs-item.open .plus:after{transform:translate(-50%,-50%) rotate(0)}
.nxs-body{height:0;overflow:hidden}.nxs-item.open .nxs-body{height:auto}
.nxs-in{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:0 24px 40px 114px;align-items:center}
.nxs-img{width:200px;height:160px;border-radius:20px;background:var(--bg);display:grid;place-items:center;padding:14px}.nxs-img img{max-height:130px;width:auto}
.nxs-in p{max-width:560px;font-size:1.05rem}

/* ---------- process ---------- */
.nx-process{background:var(--ink);color:#b8bfd0;border-radius:48px;margin:0 16px}
.nx-process h2,.nx-process h3{color:#fff}
.nxp-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:start}
.nxp-intro{position:sticky;top:120px}
.nxp-stack{display:grid;gap:0}
.nxp-card{position:sticky;top:calc(120px + var(--i) * 26px);background:linear-gradient(145deg,#1b1d2a,#14151f);border:1px solid rgba(255,255,255,.08);border-radius:var(--nxr);padding:38px;margin-bottom:26px;min-height:230px}
.nxp-card .num{font-family:var(--fh);font-size:3.4rem;font-weight:600;background:linear-gradient(90deg,#8a7cff,#2fa3e6);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.nxp-card h3{font-size:1.6rem;margin:18px 0 10px}.nxp-card p{margin:0}

/* ---------- projects ---------- */
.nxc-grid{columns:2;column-gap:28px}
.nxc-card{display:block;break-inside:avoid;margin-bottom:34px}
.nxc-img{height:var(--h);border-radius:var(--nxr);overflow:hidden;background:linear-gradient(135deg,var(--g));position:relative;display:grid;place-items:center}
.nxc-img img{width:100%;height:118%;object-fit:cover}.nxc-img .ph{font-family:var(--fh);font-size:clamp(2rem,5vw,3.6rem);font-weight:700;color:rgba(255,255,255,.9);letter-spacing:-.03em;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.nxc-card:hover .ph{transform:scale(1.12) rotate(-2deg)}
.nxc-meta{position:relative;padding:18px 70px 0 4px}.nxc-meta h3{font-size:1.4rem;margin:0 0 4px}.nxc-meta p{margin:0;font-size:.95rem}
.arr-c{position:absolute;right:0;top:14px;width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;font-size:1.2rem;color:var(--ink);transition:.4s;box-shadow:0 6px 20px rgba(13,13,18,.08)}
.nxc-card:hover .arr-c{background:var(--p);color:#fff;transform:rotate(45deg)}
.nxc-grid>.nxc-card:nth-child(even){margin-top:70px}

/* ---------- numbers ---------- */
.nx-facts{background:linear-gradient(135deg,#0d0d12,#1d1b3d 60%,#3b2f9e);padding:110px 0;color:#b9bfd2;border-radius:48px;margin:0 16px}
.nx-facts h2{color:#fff;max-width:700px}
.nxfa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}
.nxfa-grid>div{border-top:1px solid rgba(255,255,255,.18);padding-top:26px}
.nxfa-grid b{font-family:var(--fh);font-size:clamp(3rem,6vw,5rem);font-weight:600;color:#fff;line-height:1}.nxfa-grid h4{color:#8fd4ff;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;margin:14px 0 8px}.nxfa-grid p{margin:0;font-size:.95rem}

/* ---------- skills ---------- */
.nx-skills .bars{margin-top:30px}.nx-skills .bar-top{color:var(--ink)}.bar-track{background:#dde3f0;height:8px}.bar-track i{background:linear-gradient(90deg,var(--p),#2fa3e6)}
.nxsk-about{position:relative}.nxsk-about img{width:100%;border-radius:var(--nxr);background:linear-gradient(140deg,#e8e5ff,#dff1fb)}
.nxsk-about .card{position:relative;background:#fff;border-radius:var(--nxr);padding:28px;margin:-70px 24px 0;box-shadow:0 20px 60px rgba(13,13,18,.1)}.nxsk-about h3{font-size:1.4rem}.nxsk-about p{font-size:.96rem}

/* ---------- testimonials ---------- */
.nx-slider{max-width:900px}.nx-testi .testi{border-radius:var(--nxr);padding:50px;box-shadow:0 20px 60px rgba(13,13,18,.07)}.nx-testi .testi blockquote{font-size:1.25rem;line-height:1.55;letter-spacing:-.01em}.nx-testi .testi blockquote:before{display:none}
.stars{color:#ffb400;letter-spacing:4px;margin-bottom:18px;font-size:1.1rem}.av{width:52px;height:52px;border-radius:50%;background:var(--p);color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--fh)}
.nx-clients .client{border-radius:20px;border:0;background:#fff}
/* ---------- faq ---------- */
.nxq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.nxq-grid>div:first-child{position:sticky;top:120px}
.nx-faq .faq{max-width:none}.nx-faq .faq-item{border:0;border-radius:22px;background:#fff}.nx-faq .faq-item.open{box-shadow:0 18px 50px rgba(98,84,231,.14)}
.nx-faq .faq-q{font-family:var(--fh);font-size:1.12rem}
/* ---------- cta ---------- */
.nx-cta{padding:30px 0 0}
.nxcta-box{background:linear-gradient(120deg,var(--p),#8a7cff 55%,#2fa3e6);border-radius:48px;padding:80px 50px;text-align:center;color:#eef;position:relative;overflow:hidden}
.nxcta-box:before,.nxcta-box:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}.nxcta-box:before{width:380px;height:380px;left:-100px;top:-160px}.nxcta-box:after{width:300px;height:300px;right:-80px;bottom:-140px}
.nxcta-box h2{color:#fff;font-size:clamp(2rem,5vw,3.8rem);font-weight:600;max-width:800px;margin:0 auto 14px;position:relative}.nxcta-box p{max-width:560px;margin:0 auto 30px;position:relative}.nxcta-box .nx-btn{position:relative}
.nx-contact .cform{border-radius:var(--nxr);border:0;box-shadow:0 20px 60px rgba(13,13,18,.08)}.cform .btn-primary{border-radius:60px}
.cform .btn{font-family:var(--fh)}
.nx-blog .post-card{border:0;border-radius:var(--nxr)}

/* ---------- footer ---------- */
.nx-footer{background:var(--ink);color:#aab1c3;border-radius:48px 48px 0 0;margin-top:90px;padding-top:80px}
.nxf-top{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.1)}
.nxf-top h2{color:#fff;font-size:clamp(2rem,4.6vw,3.6rem);font-weight:600;line-height:1.08;margin:0}.nxf-top em{font-style:normal;background:linear-gradient(90deg,#8a7cff,#2fa3e6);-webkit-background-clip:text;background-clip:text;color:transparent}
.nxf-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr) 1.3fr;gap:36px;padding:60px 0}
.nxf-grid h5{color:#fff;font-size:1.05rem;margin-bottom:18px}.nxf-grid ul{list-style:none;margin:0;padding:0}.nxf-grid li{margin-bottom:10px}.nxf-grid a{transition:.25s}.nxf-col a:hover{color:#fff;padding-left:6px}
.nxf-logo{background:#fff;border-radius:14px;padding:8px 14px;height:60px;width:auto;margin-bottom:18px}
.nxf-contact a:hover{color:#fff}
.nx-footer .news-row{background:#1b1d2a}.nx-footer .social a{background:#1b1d2a}.nx-footer .social a:hover{background:var(--p)}
.nxf-bottom{border-top:1px solid rgba(255,255,255,.1);padding:24px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.88rem}

/* ---------- motion helpers ---------- */
[data-split] .ln{display:block;overflow:hidden;padding-bottom:.08em}[data-split] .ln>span{display:block;will-change:transform}
html.js [data-fade],html.js [data-reveal]{opacity:0;transform:translateY(40px)}
html.js [data-split]{visibility:hidden}
html.js.gsap-fail [data-fade],html.js.gsap-fail [data-reveal]{opacity:1;transform:none}
html.js.gsap-fail [data-split]{visibility:visible}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
@media (prefers-reduced-motion:reduce){html.js [data-fade],html.js [data-reveal]{opacity:1!important;transform:none!important}html.js [data-split]{visibility:visible!important}.nx-marquee .track{animation:none}.nxp-card,.nxp-intro{position:static}}

/* ---------- responsive ---------- */
@media(max-width:1100px){.nxf-cards{grid-template-columns:repeat(2,1fr)}.nxh-grid{grid-template-columns:1fr}.nxh-card{margin-top:0;max-width:520px}.nx-header .nav>ul>li>a{padding:12px 10px;font-size:.86rem}.nxf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:991px){
  .nx-header .burger{display:block}.nx-hide-sm{display:none}
  .nx-header .nav{position:fixed;inset:0;background:var(--bg);transform:translateY(-100%);transition:transform .55s cubic-bezier(.7,0,.2,1);padding:100px 24px 40px;overflow:auto;z-index:-1}.nx-header .nav.open{transform:none}
  .nx-header .nav>ul{flex-direction:column;align-items:stretch;gap:0}.nx-header .nav>ul>li>a{padding:18px 4px;border-bottom:1px solid #dde2ee;border-radius:0;font-size:1.4rem;font-family:var(--fh);font-weight:600;justify-content:space-between;background:none!important}
  .nx-header .dd{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;display:none;padding:6px 0 6px 12px;min-width:0;columns:1}.nx-header .has-dd.dd-open>.dd{display:block}
  .nx-phone-m{display:inline-block;margin-top:24px;font-weight:600;color:var(--ink)}
  .nx-header{top:10px;padding:0 12px}.nx-bar{padding:6px 6px 6px 16px}.nx-header.menu-open .nx-bar{background:transparent;box-shadow:none;border-color:transparent}
  .nx-two,.nxp-grid,.nxq-grid,.nx-head.split{grid-template-columns:1fr;gap:36px}.nxp-intro,.nxq-grid>div:first-child{position:static}
  .nx-sec{padding:80px 0}.nxc-grid{columns:1}.nxc-grid>.nxc-card:nth-child(even){margin-top:0}.nxfa-grid{grid-template-columns:1fr}
  .nxs-head{grid-template-columns:54px 1fr 44px;padding:26px 8px}.nxs-in{grid-template-columns:1fr;padding:0 8px 30px}.nxs-img{width:100%}
  .nx-process,.nx-facts{border-radius:30px;margin:0 8px}.nxp-card{position:static}.page-hero{padding-top:120px}.nxh-media{aspect-ratio:4/3;border-radius:26px}
}
@media(max-width:600px){.nxf-cards,.nxf-grid{grid-template-columns:1fr}.nxcta-box{padding:56px 24px;border-radius:30px}.nx-hero{padding-top:120px}.nx-testi .testi{padding:30px 22px}.nx-footer{border-radius:30px 30px 0 0}}

/* fixes */
.nxh-grid>*{min-width:0}
.nxh-stats span{font-size:inherit}.nxh-stats div>span{font-size:.85rem;display:block}
.nx-hero h1{font-size:clamp(2.5rem,5.4vw,4.8rem)}
.nxh-card{overflow:hidden}
@media(max-width:991px){.nx-header .nav{visibility:hidden;transition:transform .55s cubic-bezier(.7,0,.2,1),visibility 0s .55s}.nx-header .nav.open{visibility:visible;transition-delay:0s}.wa-float{bottom:84px;width:48px;height:48px}}

/* ---- hero with optional full-width background image ---- */
.nx-hero{position:relative;overflow:hidden}
.nx-hero>.nx-wrap{position:relative;z-index:2}
.nx-hero.has-bg{min-height:min(100vh,860px);display:flex;align-items:center;padding:150px 0 90px;background:#0d0d12}
.nx-hero.has-bg>.nx-wrap{width:100%}
.nxh-bgwrap{position:absolute;inset:0;overflow:hidden;z-index:0}
.nxh-bgwrap img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:center}
.nxh-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,22,calc(var(--o) + .2)) 0%,rgba(8,10,22,var(--o)) 55%,rgba(8,10,22,calc(var(--o) * .55)) 100%)}
.nx-hero.has-bg:before{display:none}
.nx-hero.has-bg h1{background:none;-webkit-text-fill-color:#fff;color:#fff}
.nx-hero.has-bg h1 .grad{background:linear-gradient(90deg,#b9b0ff,#7fd0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.nx-hero.has-bg .nxh-sub{color:rgba(255,255,255,.82)}
.nx-hero.has-bg .nx-pill{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(6px)}.nx-hero.has-bg .nx-pill:before{background:#fff}
.nx-hero.has-bg .nxh-card{margin-top:0;background:rgba(255,255,255,.96)}
/* sections whose image was removed */
.nx-two.single{grid-template-columns:1fr;max-width:860px}
.nxsk-about .card.flat{margin:0}
@media(max-width:991px){.nx-hero.has-bg{min-height:0;padding:120px 0 60px}.nxh-shade{background:rgba(8,10,22,calc(var(--o) + .15))}}
.nx-two.single{grid-template-columns:minmax(0,860px);max-width:none}

/* imported content: keep large illustrations tidy */
.rich img{max-width:100%;height:auto;max-height:560px;object-fit:contain;display:block;margin:1.4em auto}
.rich h5{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--p);margin:1.6em 0 .4em}
.rich h2:first-child,.rich h3:first-child{margin-top:0}

/* team member detail */
.member-head{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center;margin-bottom:30px}
.member-photo{width:260px;height:260px;object-fit:cover;border-radius:24px}
@media(max-width:700px){.member-head{grid-template-columns:1fr}.member-photo{width:200px;height:200px}}

/* video lightbox is styled in legacy-fix.css; make it available on every page */
.vb{position:fixed;inset:0;background:rgba(5,8,20,.88);z-index:200;display:none;align-items:center;justify-content:center;padding:20px}.vb.on{display:flex}
.vb-box{position:relative;width:min(960px,100%);aspect-ratio:16/9;background:#000;border-radius:14px;overflow:visible}.vb-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:14px}
.vb-x{position:absolute;top:-46px;right:0;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}

/* ---------- standard UX add-ons: scroll progress, cookie consent, mobile CTA bar ---------- */
.nx-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--p),#2fa3e6);z-index:100;pointer-events:none}
.nx-cookie{position:fixed;left:20px;bottom:20px;z-index:90;max-width:420px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(13,13,18,.08);border-radius:22px;padding:20px 22px;box-shadow:0 24px 60px rgba(13,13,18,.18);transform:translateY(24px);opacity:0;visibility:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .35s,visibility .35s}
.nx-cookie.show{transform:none;opacity:1;visibility:visible}
.nx-cookie h4{font-size:1rem;margin:0 0 6px}.nx-cookie p{font-size:.88rem;line-height:1.55;margin:0 0 14px;color:var(--mut)}.nx-cookie a{color:var(--p);text-decoration:underline}
.nx-cookie .row{display:flex;gap:10px}
.nx-cookie button{flex:1;border:0;cursor:pointer;font:600 .88rem var(--fb);padding:11px 16px;border-radius:40px;transition:.2s}
.nx-cookie .ok{background:var(--p);color:#fff}.nx-cookie .ok:hover{background:var(--p-d)}
.nx-cookie .no{background:var(--bg);color:var(--ink)}.nx-cookie .no:hover{background:#e6eaf3}
.nx-cookie button:focus-visible{outline:2px solid var(--p);outline-offset:2px}
.nx-mcta{display:none}
@media (max-width:760px){
  .nx-mcta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:80;gap:10px;padding:8px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:60px;box-shadow:0 14px 40px rgba(13,13,18,.2);transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .nx-mcta.show{transform:none}
  .nx-mcta a{flex:1;text-align:center;padding:13px 10px;border-radius:40px;font:600 .92rem var(--fb)}
  .nx-mcta .c{background:var(--p);color:#fff}.nx-mcta .t{background:var(--bg);color:var(--ink)}
  .nx-cookie{left:12px;right:12px;bottom:84px;max-width:none}
  .wa-float,.to-top{bottom:84px!important}
}
@media (prefers-reduced-motion:reduce){.nx-progress,.nx-cookie,.nx-mcta{transition:none}}

/* ---------- mobile menu: the fixed full-screen panel must not live inside a blurred/transformed header ---------- */
@media (max-width:991px){
  body.no-scroll .nx-header,.nx-header.menu-open{transform:none!important}
  body.no-scroll .nx-bar,.nx-header.menu-open .nx-bar{backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;box-shadow:none;border-color:transparent}
  .nx-header .nx-brand,.nx-header .nx-right{position:relative;z-index:3}
  .nx-header .nav{z-index:2}
  .nx-header .nav.open{height:100vh;height:100dvh;background:var(--bg)}
  .nx-header .nav.open>ul>li>a{color:var(--ink)}
}
