/* NovaShield Core Design System — Elementor Free compatible */
:root{--ns-green:#39A751;--ns-green2:#5BE58A;--ns-navy:#0F172A;--ns-bg:#07111d;--ns-bg2:#0a1524;--ns-panel:#0d1b2a;--ns-panel2:#10283a;--ns-text:#F8FAFC;--ns-muted:#9AA9BB;--ns-gray:#64748B;--ns-line:rgba(148,163,184,.18);--ns-blue:#24B7FF;--ns-shadow:0 28px 80px rgba(0,0,0,.32);--ns-radius:24px;--ns-max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ns-bg);color:var(--ns-text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}::selection{background:var(--ns-green);color:#fff}
.ns-site-header{position:sticky;top:0;z-index:999;background:rgba(7,17,29,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(148,163,184,.12)}.admin-bar .ns-site-header{top:32px}.ns-nav-shell{max-width:var(--ns-max);margin:auto;min-height:82px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ns-logo img{width:250px;display:block}.ns-menu{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:650;color:#dbe6f1}.ns-menu a{position:relative;transition:.2s ease}.ns-menu a:not(.ns-nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--ns-green2);transition:width .2s ease}.ns-menu a:hover:after{width:100%}.ns-nav-cta{padding:11px 18px;border-radius:999px;background:var(--ns-green);color:#fff;box-shadow:0 0 0 1px rgba(91,229,138,.25),0 10px 30px rgba(57,167,81,.18)}.ns-menu-toggle{display:none;background:transparent;border:1px solid var(--ns-line);color:#fff;border-radius:10px;padding:9px 13px}
.ns-hero{position:relative;overflow:hidden;min-height:720px;display:flex;align-items:center;background:radial-gradient(circle at 75% 42%,rgba(57,167,81,.13),transparent 30%),linear-gradient(135deg,#07111d 0%,#091725 58%,#061019 100%)}.ns-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(57,167,81,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(57,167,81,.05) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 85%)}.ns-hero>.elementor-container,.ns-section>.elementor-container,.ns-trustbar>.elementor-container{max-width:var(--ns-max)!important;width:100%;margin:auto;padding-left:24px;padding-right:24px;position:relative;z-index:2}.ns-hero .elementor-container{align-items:center}.ns-hero-copy>.elementor-widget-wrap{padding:90px 46px 90px 0!important}.ns-hero-visual>.elementor-widget-wrap{padding:40px 0!important}.ns-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--ns-green2);font-size:13px;letter-spacing:.15em;font-weight:800}.ns-eyebrow:before{content:"";width:30px;height:2px;background:var(--ns-green)}.ns-h1 .elementor-heading-title,.ns-hero h1{font-family:Inter,"Segoe UI",Arial,sans-serif!important;color:var(--ns-text)!important;font-size:clamp(42px,5vw,72px)!important;line-height:1.02!important;letter-spacing:-.045em;font-weight:760!important;max-width:830px;margin:22px 0 24px}.ns-lead,.ns-lead p,.ns-section-lead{font-size:19px;color:#b7c4d2;max-width:820px;line-height:1.7}.ns-hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.ns-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:750;font-size:15px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:1px solid transparent}.ns-button:hover{transform:translateY(-2px)}.ns-button-primary{background:linear-gradient(135deg,var(--ns-green),#25C96D);box-shadow:0 14px 36px rgba(57,167,81,.24);color:white}.ns-button-ghost{border-color:rgba(148,163,184,.3);background:rgba(255,255,255,.025);color:#f8fafc}.ns-button-ghost:hover{border-color:rgba(91,229,138,.6);background:rgba(57,167,81,.06)}
.ns-hero-art{height:540px;position:relative;display:grid;place-items:center;perspective:900px}.ns-core{width:165px;height:165px;border-radius:42px;display:grid;place-items:center;background:linear-gradient(145deg,#16344A,#07111D);border:1px solid rgba(91,229,138,.42);box-shadow:0 0 0 24px rgba(57,167,81,.025),0 0 90px rgba(57,167,81,.28);transform:rotate(45deg)}.ns-core span{transform:rotate(-45deg);font-size:94px;font-weight:900;color:#fff;text-shadow:0 0 30px rgba(91,229,138,.35)}.ns-orbit{position:absolute;border-radius:50%;border:1px solid rgba(91,229,138,.28);box-shadow:inset 0 0 60px rgba(57,167,81,.035)}.ns-orbit-a{width:390px;height:390px}.ns-orbit-b{width:520px;height:520px;border-style:dashed;opacity:.5}.ns-node{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--ns-green2);box-shadow:0 0 20px rgba(91,229,138,.85)}.n1{top:15%;left:27%}.n2{top:30%;right:13%}.n3{bottom:17%;left:19%}.n4{bottom:12%;right:30%}
.ns-trustbar{border-top:1px solid var(--ns-line);border-bottom:1px solid var(--ns-line);background:#081421}.ns-trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.ns-trust-strip span{padding:24px 20px;text-align:center;color:#cbd5e1;font-size:13px;letter-spacing:.05em;text-transform:uppercase;border-right:1px solid var(--ns-line)}.ns-trust-strip span:last-child{border-right:0}
.ns-section{padding:105px 0;background:var(--ns-bg)}.ns-section-light{background:linear-gradient(180deg,#0a1524,#09131f)}.ns-section-grid{background-image:radial-gradient(circle at 15% 15%,rgba(57,167,81,.08),transparent 25%),linear-gradient(rgba(148,163,184,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.025) 1px,transparent 1px);background-size:auto,54px 54px,54px 54px}.ns-section .elementor-widget-heading .elementor-heading-title{color:var(--ns-text);font-size:clamp(32px,3.2vw,52px);line-height:1.12;letter-spacing:-.035em;font-weight:750;margin:8px 0 18px}.ns-section p{color:#b5c2d0}.ns-card-grid{display:grid;gap:18px;margin-top:36px}.ns-grid-4{grid-template-columns:repeat(4,1fr)}.ns-grid-3{grid-template-columns:repeat(3,1fr)}.ns-grid-2{grid-template-columns:repeat(2,1fr)}.ns-card{position:relative;padding:28px 26px;border-radius:20px;background:linear-gradient(145deg,rgba(16,40,58,.82),rgba(9,21,34,.9));border:1px solid rgba(148,163,184,.14);box-shadow:0 22px 50px rgba(0,0,0,.13);overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.ns-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--ns-green),transparent 65%);opacity:.65}.ns-card:hover{transform:translateY(-6px);border-color:rgba(91,229,138,.35);box-shadow:0 28px 70px rgba(0,0,0,.24)}.ns-card-kicker{font-size:12px;color:var(--ns-green2);font-weight:800;letter-spacing:.14em}.ns-card h3{margin:18px 0 10px;color:white;font-size:21px;line-height:1.28}.ns-card p{margin:0;color:#aebdca;font-size:15px;line-height:1.65}.ns-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:38px}.ns-flow-step{position:relative;padding:24px 20px;border-radius:18px;border:1px solid var(--ns-line);background:rgba(13,27,42,.72)}.ns-flow-step span{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:rgba(57,167,81,.12);border:1px solid rgba(91,229,138,.45);color:var(--ns-green2);font-weight:800;font-size:13px}.ns-flow-step h3{font-size:18px;margin:18px 0 8px}.ns-flow-step p{font-size:14px;line-height:1.5;margin:0;color:#9fb0c0}.ns-check-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.ns-check-list li{position:relative;padding:17px 18px 17px 50px;border:1px solid var(--ns-line);border-radius:14px;background:rgba(13,27,42,.72);color:#c6d2dd}.ns-check-list li:before{content:"✓";position:absolute;left:18px;top:15px;color:var(--ns-green2);font-weight:900}.ns-proof-note{margin-top:26px;padding:18px 20px;border-left:3px solid var(--ns-green);background:rgba(57,167,81,.065);color:#b9c8d6;border-radius:0 12px 12px 0}
.ns-section-cta{padding-top:40px;padding-bottom:110px}.ns-cta-box{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:48px;border-radius:28px;background:radial-gradient(circle at 85% 0,rgba(57,167,81,.19),transparent 30%),linear-gradient(135deg,#10283a,#0b1826);border:1px solid rgba(91,229,138,.18);box-shadow:var(--ns-shadow)}.ns-cta-box h2{font-size:clamp(30px,3vw,48px);margin:10px 0 12px;max-width:760px}.ns-cta-box p{max-width:720px}.ns-cta-actions{display:flex;flex-direction:column;gap:10px;min-width:245px}.ns-control-model{position:relative;width:min(760px,100%);height:560px;margin:40px auto}.ns-control-core,.ns-control-item{position:absolute;display:grid;place-items:center;text-align:center;border-radius:50%;background:#0d1b2a;border:1px solid rgba(91,229,138,.35);color:#f8fafc;box-shadow:0 0 60px rgba(57,167,81,.08)}.ns-control-core{width:230px;height:230px;left:calc(50% - 115px);top:calc(50% - 115px);font-size:21px}.ns-control-core strong{color:var(--ns-green2)}.ns-control-item{width:145px;height:145px;font-size:14px;color:#b8c6d3}.ns-control-item:after{content:"";position:absolute;width:120px;height:1px;background:rgba(91,229,138,.25);top:50%;z-index:-1}.i1{left:0;top:40px}.i1:after{left:100%;transform:rotate(23deg);transform-origin:left}.i2{right:0;top:40px}.i2:after{right:100%;transform:rotate(-23deg);transform-origin:right}.i3{left:0;bottom:40px}.i3:after{left:100%;transform:rotate(-23deg);transform-origin:left}.i4{right:0;bottom:40px}.i4:after{right:100%;transform:rotate(23deg);transform-origin:right}.ns-trust-layers{max-width:900px;margin:40px auto;display:grid;gap:10px}.ns-trust-layers>div{padding:21px 25px;background:linear-gradient(90deg,rgba(57,167,81,.16),rgba(36,183,255,.04));border-left:4px solid var(--ns-green);border-radius:10px;color:#fff;font-weight:800;letter-spacing:.05em}.ns-trust-layers span{display:block;color:#aab9c7;font-weight:400;letter-spacing:0;margin-top:5px;font-size:14px}
.ns-contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.ns-field{display:flex;flex-direction:column;gap:7px}.ns-field.ns-full{grid-column:1/-1}.ns-field label{font-size:13px;font-weight:700;color:#d6e0e8}.ns-field input,.ns-field select,.ns-field textarea{width:100%;background:#091522;color:#f8fafc;border:1px solid rgba(148,163,184,.24);border-radius:12px;padding:14px 15px;font:inherit;outline:none}.ns-field input:focus,.ns-field select:focus,.ns-field textarea:focus{border-color:var(--ns-green2);box-shadow:0 0 0 3px rgba(57,167,81,.12)}.ns-form-note{grid-column:1/-1;padding:13px 15px;border-radius:10px;background:rgba(36,183,255,.06);color:#aabaca;font-size:13px}.ns-consent{grid-column:1/-1;font-size:13px;color:#aabaca;display:flex;gap:10px;align-items:flex-start}.ns-form-submit{grid-column:1/-1}.ns-form-message{grid-column:1/-1;padding:13px 15px;border-radius:10px}.ns-form-success{background:rgba(57,167,81,.12);border:1px solid rgba(91,229,138,.35)}.ns-form-error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25)}
.ns-site-footer{border-top:1px solid var(--ns-line);background:#050c14;padding:78px 24px 26px}.ns-footer-grid{max-width:var(--ns-max);margin:auto;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:52px}.ns-footer-logo{width:260px;margin-bottom:20px}.ns-site-footer p{max-width:420px;color:#a4b3c1}.ns-site-footer h3{font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#e8f0f7;margin:4px 0 20px}.ns-site-footer a{display:block;color:#96a6b5;margin:9px 0;font-size:14px}.ns-site-footer a:hover{color:var(--ns-green2)}.ns-footer-bottom{max-width:var(--ns-max);margin:55px auto 0;padding-top:22px;border-top:1px solid var(--ns-line);display:flex;justify-content:space-between;gap:20px;color:#6f8192;font-size:12px}.ns-footer-bottom a{display:inline;margin:0}
.ns-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1)}.ns-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.ns-grid-4{grid-template-columns:repeat(2,1fr)}.ns-grid-3{grid-template-columns:repeat(2,1fr)}.ns-flow{grid-template-columns:repeat(3,1fr)}.ns-menu{gap:15px;font-size:13px}.ns-logo img{width:220px}}
@media(max-width:900px){.admin-bar .ns-site-header{top:46px}.ns-menu-toggle{display:block}.ns-menu{position:absolute;top:76px;left:18px;right:18px;padding:18px;display:none;flex-direction:column;align-items:stretch;background:#0b1725;border:1px solid var(--ns-line);border-radius:16px;box-shadow:var(--ns-shadow)}.ns-menu.is-open{display:flex}.ns-menu a{padding:10px 8px}.ns-nav-cta{text-align:center}.ns-hero{min-height:auto}.ns-hero .elementor-container{flex-wrap:wrap}.ns-hero-copy,.ns-hero-visual{width:100%!important}.ns-hero-copy>.elementor-widget-wrap{padding:78px 0 20px!important}.ns-hero-visual>.elementor-widget-wrap{padding:10px 0 55px!important}.ns-hero-art{height:380px}.ns-orbit-a{width:300px;height:300px}.ns-orbit-b{width:370px;height:370px}.ns-core{width:130px;height:130px}.ns-core span{font-size:72px}.ns-trust-strip{grid-template-columns:repeat(2,1fr)}.ns-trust-strip span:nth-child(2){border-right:0}.ns-trust-strip span:nth-child(-n+2){border-bottom:1px solid var(--ns-line)}.ns-section{padding:82px 0}.ns-flow{grid-template-columns:repeat(2,1fr)}.ns-cta-box{flex-direction:column;align-items:flex-start}.ns-cta-actions{flex-direction:row;min-width:0;flex-wrap:wrap}.ns-footer-grid{grid-template-columns:repeat(2,1fr)}.ns-footer-grid>div:first-child{grid-column:1/-1}.ns-check-list{grid-template-columns:1fr}}
@media(max-width:620px){.ns-nav-shell{min-height:72px;padding:0 17px}.ns-logo img{width:195px}.ns-h1 .elementor-heading-title,.ns-hero h1{font-size:42px!important}.ns-hero>.elementor-container,.ns-section>.elementor-container,.ns-trustbar>.elementor-container{padding-left:18px;padding-right:18px}.ns-hero-art{height:300px}.ns-orbit-a{width:240px;height:240px}.ns-orbit-b{width:290px;height:290px}.ns-core{width:105px;height:105px;border-radius:28px}.ns-core span{font-size:58px}.ns-grid-4,.ns-grid-3,.ns-grid-2,.ns-flow{grid-template-columns:1fr}.ns-section{padding:68px 0}.ns-card{padding:24px 21px}.ns-cta-box{padding:30px 24px}.ns-cta-actions{flex-direction:column;width:100%}.ns-button{width:100%}.ns-control-model{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.ns-control-core,.ns-control-item{position:static;width:auto;height:auto;border-radius:18px;padding:24px}.ns-control-core{grid-column:1/-1}.ns-control-item:after{display:none}.ns-contact-form{grid-template-columns:1fr}.ns-field.ns-full,.ns-form-note,.ns-consent,.ns-form-submit{grid-column:1}.ns-footer-grid{grid-template-columns:1fr;gap:34px}.ns-footer-grid>div:first-child{grid-column:auto}.ns-footer-bottom{flex-direction:column}.ns-trust-strip{grid-template-columns:1fr}.ns-trust-strip span{border-right:0;border-bottom:1px solid var(--ns-line)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ns-reveal{opacity:1!important;transform:none!important;transition:none!important}.ns-card,.ns-button{transition:none!important}}


/* v1.0.2 complete navigation: all 20 public pages are reachable from the header. */
.ns-menu{gap:18px}.ns-nav-item{position:relative}.ns-nav-parent{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;color:#dbe6f1;font:inherit;font-weight:650;line-height:1.2;padding:30px 0;user-select:none}.ns-nav-parent::-webkit-details-marker{display:none}.ns-nav-parent::after{content:"⌄";font-size:14px;color:var(--ns-green2);transition:transform .2s ease;transform-origin:50% 45%}.ns-nav-item[open]>.ns-nav-parent::after{transform:rotate(180deg)}.ns-top-link{white-space:nowrap}.ns-menu>.ns-top-link:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--ns-green2);transition:width .2s ease}.ns-menu>.ns-top-link:hover:after{width:100%}.ns-submenu{position:absolute;z-index:1200;top:calc(100% - 8px);left:50%;min-width:285px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:16px;background:rgba(8,20,33,.98);box-shadow:0 26px 70px rgba(0,0,0,.42);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.ns-submenu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}.ns-nav-item:hover>.ns-submenu,.ns-nav-item:focus-within>.ns-submenu,.ns-nav-item[open]>.ns-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.ns-submenu-wide{min-width:330px}.ns-submenu a{display:block;padding:11px 12px;border-radius:10px;color:#c9d5e1;line-height:1.35;font-size:13.5px;white-space:nowrap}.ns-submenu a:after{display:none!important}.ns-submenu a:hover,.ns-submenu a:focus{background:rgba(57,167,81,.10);color:#fff;outline:none}.ns-nav-parent:focus-visible,.ns-top-link:focus-visible,.ns-nav-cta:focus-visible,.ns-submenu a:focus-visible{outline:2px solid var(--ns-green2);outline-offset:3px}
@media(max-width:1100px){.ns-menu{gap:12px;font-size:13px}.ns-logo img{width:215px}.ns-nav-cta{padding:10px 14px}.ns-nav-parent{padding:30px 0}}
@media(max-width:900px){.ns-nav-item{width:100%}.ns-nav-parent{width:100%;justify-content:space-between;padding:10px 8px;border-radius:9px}.ns-nav-parent:hover{background:rgba(255,255,255,.025)}.ns-submenu,.ns-submenu-wide{position:static;min-width:0;width:100%;margin:2px 0 8px;padding:6px 8px 8px 18px;border:0;border-left:1px solid rgba(91,229,138,.24);border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none}.ns-nav-item[open]>.ns-submenu{display:block}.ns-nav-item:not([open])>.ns-submenu{display:none}.ns-submenu a{white-space:normal;padding:9px 10px}.ns-menu>.ns-top-link{padding:10px 8px}.ns-menu>.ns-top-link:after{display:none}.ns-nav-cta{margin-top:5px}.ns-menu details+details{border-top:1px solid rgba(148,163,184,.07)}}

/* ================================
   NovaShield v1.1.0 premium UX layer
   Mega navigation + refined hero + AEO answer blocks
   ================================ */
:root{--ns-max:1460px;--ns-header-h:88px;--ns-green:#39A751;--ns-green2:#61ee91;--ns-bg:#06111d;--ns-panel-glass:rgba(9,22,36,.96)}

/* Header / navigation */
.ns-site-header{background:rgba(4,14,25,.88);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);border-bottom:1px solid rgba(148,163,184,.12);box-shadow:0 12px 35px rgba(0,0,0,.12)}
.ns-nav-shell{max-width:1460px;min-height:var(--ns-header-h);padding:0 42px;gap:40px}
.ns-logo{display:flex;align-items:center;flex:0 0 auto}.ns-logo img{width:244px}
.ns-menu{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:#dbe7f3}
.ns-menu a:after{display:none!important}
.ns-mega-item{position:relative;display:flex;align-items:center}
.ns-mega-trigger{appearance:none;border:0;background:transparent;color:#e7eef6;font:inherit;font-weight:720;display:flex;align-items:center;gap:8px;padding:31px 13px;cursor:pointer;white-space:nowrap;transition:color .18s ease,background .18s ease}
.ns-mega-trigger:hover,.ns-mega-item.is-open>.ns-mega-trigger,.ns-mega-item:focus-within>.ns-mega-trigger{color:#fff}
.ns-mega-trigger .ns-chevron{width:14px;height:14px;display:block;color:var(--ns-green2);transition:transform .2s ease}.ns-mega-item.is-open .ns-chevron{transform:rotate(180deg)}
.ns-mega-trigger:after{content:"";position:absolute;left:13px;right:13px;bottom:18px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--ns-green2),var(--ns-green));transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.ns-mega-item:hover>.ns-mega-trigger:after,.ns-mega-item.is-open>.ns-mega-trigger:after,.ns-mega-item:focus-within>.ns-mega-trigger:after{transform:scaleX(1)}
.ns-top-link{padding:31px 12px;white-space:nowrap;color:#e7eef6}.ns-top-link:hover{color:#fff}
.ns-nav-cta{margin-left:8px;padding:13px 22px;border-radius:999px;background:linear-gradient(135deg,#39A751,#2bc96d);font-weight:800;letter-spacing:-.01em;box-shadow:0 10px 28px rgba(57,167,81,.22);transition:transform .2s ease,box-shadow .2s ease}.ns-nav-cta:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(57,167,81,.28)}
.ns-menu-toggle{width:44px;height:44px;border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:0;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.025)}.ns-menu-toggle span,.ns-menu-toggle span:before,.ns-menu-toggle span:after{display:block;width:20px;height:2px;background:#fff;border-radius:4px;content:"";position:relative;transition:.2s ease}.ns-menu-toggle span:before{position:absolute;top:-6px}.ns-menu-toggle span:after{position:absolute;top:6px}.ns-menu-toggle[aria-expanded="true"] span{background:transparent}.ns-menu-toggle[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}.ns-menu-toggle[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}

.ns-mega-panel{position:absolute;z-index:1400;top:calc(100% - 10px);left:50%;width:430px;padding:18px;border:1px solid rgba(148,163,184,.16);border-radius:20px;background:linear-gradient(145deg,rgba(10,25,40,.985),rgba(5,16,28,.985));box-shadow:0 30px 85px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.025);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.ns-mega-panel:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}.ns-mega-panel:after{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--ns-green2),transparent);opacity:.45}
.ns-mega-item:hover>.ns-mega-panel,.ns-mega-item.is-open>.ns-mega-panel,.ns-mega-item:focus-within>.ns-mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.ns-mega-panel-wide{width:760px}.ns-mega-panel-services{left:0;transform:translate(0,12px)}.ns-mega-item:hover>.ns-mega-panel-services,.ns-mega-item.is-open>.ns-mega-panel-services,.ns-mega-item:focus-within>.ns-mega-panel-services{transform:translate(0,0)}
.ns-mega-panel-right{left:auto;right:0;transform:translate(0,12px)}.ns-mega-item:hover>.ns-mega-panel-right,.ns-mega-item.is-open>.ns-mega-panel-right,.ns-mega-item:focus-within>.ns-mega-panel-right{transform:translate(0,0)}
.ns-mega-kicker{font-size:11px;letter-spacing:.16em;color:var(--ns-green2);font-weight:850;text-transform:uppercase;margin:3px 5px 12px}
.ns-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ns-mega-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ns-mega-link{display:grid!important;grid-template-columns:38px 1fr;gap:11px;align-items:start;padding:13px!important;border-radius:14px;color:#e7eef6!important;border:1px solid transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease}.ns-mega-link:hover,.ns-mega-link:focus{background:rgba(57,167,81,.075);border-color:rgba(91,229,138,.16);transform:translateY(-1px);outline:none}.ns-mega-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(57,167,81,.10);border:1px solid rgba(91,229,138,.18);color:var(--ns-green2)}.ns-mega-icon svg{width:19px;height:19px}.ns-mega-copy strong{display:block;color:#fff;font-size:14px;line-height:1.25}.ns-mega-copy small{display:block;color:#8fa2b4;font-size:12px;line-height:1.45;margin-top:4px;font-weight:520}
.ns-mega-feature{margin-top:12px;padding:18px 20px;border-radius:15px;background:radial-gradient(circle at 90% 10%,rgba(57,167,81,.16),transparent 35%),rgba(255,255,255,.026);border:1px solid rgba(148,163,184,.12);display:flex;align-items:center;justify-content:space-between;gap:18px}.ns-mega-feature strong{font-size:14px;color:#fff}.ns-mega-feature span{display:block;font-size:12px;color:#93a6b8;margin-top:3px}.ns-mega-feature a{color:var(--ns-green2);font-size:13px;font-weight:800;white-space:nowrap}
.ns-mega-list{display:grid;gap:6px}.ns-mega-list a{display:flex!important;align-items:center;justify-content:space-between;padding:12px 13px!important;border-radius:12px;color:#d7e2ec!important;font-size:13.5px}.ns-mega-list a:hover{background:rgba(57,167,81,.08);color:#fff!important}.ns-mega-list a span{color:var(--ns-green2)}

/* Premium hero */
.ns-hero{min-height:760px;background:radial-gradient(circle at 79% 35%,rgba(57,167,81,.12),transparent 28%),linear-gradient(135deg,#06111d 0%,#081624 55%,#05101a 100%)}
.ns-hero:before{opacity:.55;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 92%)}
.ns-hero>.elementor-container{max-width:1600px!important;width:100%!important;padding:0!important;margin:0 auto!important}
.ns-hero-copy>.elementor-widget-wrap{padding:118px 36px 105px clamp(42px,6.2vw,104px)!important;align-content:center}
.ns-hero-visual>.elementor-widget-wrap{padding:76px clamp(34px,4vw,72px) 72px 10px!important;align-content:center}
.ns-h1 .elementor-heading-title,.ns-hero h1{font-size:clamp(46px,4.55vw,70px)!important;line-height:1.035!important;letter-spacing:-.048em!important;max-width:760px!important;margin:20px 0 25px!important;text-wrap:balance}
.ns-lead,.ns-lead p{max-width:720px;font-size:18px;line-height:1.72;color:#b9c7d5}
.ns-hero-actions{margin-top:31px;gap:12px}.ns-hero-actions .ns-button{min-height:54px;padding:0 25px}
.ns-hero-proof{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:28px;color:#8ea2b5;font-size:12px;font-weight:700;letter-spacing:.02em}.ns-hero-proof span{display:flex;align-items:center;gap:7px}.ns-hero-proof span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ns-green2);box-shadow:0 0 12px rgba(91,229,138,.5)}
.ns-hero-visual-shell{position:relative;width:100%;height:580px;border-radius:30px;overflow:hidden;background:#07121f;border:1px solid rgba(91,229,138,.18);box-shadow:0 38px 110px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.015);isolation:isolate}
.ns-hero-visual-shell:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(6,17,29,.48),transparent 23%,transparent 76%,rgba(6,17,29,.10)),linear-gradient(0deg,rgba(6,17,29,.22),transparent 30%);pointer-events:none}.ns-hero-visual-shell:after{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--ns-green2),transparent);opacity:.62}
.ns-hero-visual-shell img{width:100%;height:100%;object-fit:cover;object-position:55% 45%;display:block;transform:scale(1.01);transition:transform 7s cubic-bezier(.2,.8,.2,1)}.ns-hero-visual-shell:hover img{transform:scale(1.045)}
.ns-hero-image-label{position:absolute;z-index:4;left:24px;bottom:23px;display:flex;gap:8px;flex-wrap:wrap}.ns-hero-image-label span{padding:8px 11px;border:1px solid rgba(91,229,138,.22);border-radius:999px;background:rgba(5,16,28,.72);backdrop-filter:blur(12px);font-size:11px;font-weight:800;color:#dce8f2;letter-spacing:.04em}

/* Answer-first / AEO content */
.ns-answer-section{padding:72px 0;background:linear-gradient(180deg,#081421,#07111d);border-top:1px solid rgba(148,163,184,.10);border-bottom:1px solid rgba(148,163,184,.10)}
.ns-answer-wrap{max-width:1080px}.ns-answer-lead{font-size:20px!important;line-height:1.7!important;color:#d3dde7!important;max-width:920px!important;margin-top:12px!important}.ns-answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.ns-answer-card{padding:22px;border-radius:16px;border:1px solid rgba(148,163,184,.14);background:rgba(13,27,42,.74)}.ns-answer-card strong{display:block;font-size:15px;color:#fff;margin-bottom:7px}.ns-answer-card p{font-size:14px!important;line-height:1.58!important;margin:0!important;color:#aebdca!important}.ns-answer-card a{display:inline-flex;margin-top:13px;color:var(--ns-green2);font-size:12.5px;font-weight:800}
.ns-faq-list{max-width:980px;margin-top:28px;display:grid;gap:10px}.ns-faq-item{border:1px solid rgba(148,163,184,.14);border-radius:15px;background:rgba(13,27,42,.68);overflow:hidden}.ns-faq-item summary{list-style:none;cursor:pointer;padding:19px 54px 19px 20px;font-size:16px;font-weight:760;color:#eef5fb;position:relative}.ns-faq-item summary::-webkit-details-marker{display:none}.ns-faq-item summary:after{content:"+";position:absolute;right:20px;top:16px;color:var(--ns-green2);font-size:22px;font-weight:400;transition:transform .2s ease}.ns-faq-item[open] summary:after{transform:rotate(45deg)}.ns-faq-answer{padding:0 20px 20px;color:#aebdca;font-size:14.5px;line-height:1.68;max-width:900px}.ns-faq-answer p{margin:0;color:#aebdca!important}

/* Focus and motion */
.ns-mega-trigger:focus-visible,.ns-top-link:focus-visible,.ns-nav-cta:focus-visible,.ns-mega-link:focus-visible,.ns-mega-list a:focus-visible{outline:2px solid var(--ns-green2);outline-offset:3px}

@media(max-width:1200px){.ns-nav-shell{padding:0 24px;gap:22px}.ns-logo img{width:216px}.ns-menu{gap:2px;font-size:13px}.ns-mega-trigger,.ns-top-link{padding-left:9px;padding-right:9px}.ns-nav-cta{padding:11px 16px}.ns-hero-copy>.elementor-widget-wrap{padding-left:48px!important}.ns-hero-visual>.elementor-widget-wrap{padding-right:30px!important}.ns-hero-visual-shell{height:520px}}
@media(max-width:900px){.ns-nav-shell{min-height:76px;padding:0 18px}.ns-logo img{width:205px}.ns-menu-toggle{display:flex}.ns-menu{position:absolute;top:70px;left:14px;right:14px;max-height:calc(100vh - 92px);overflow:auto;padding:12px;display:none;flex-direction:column;align-items:stretch;gap:4px;background:rgba(7,18,30,.99);border:1px solid rgba(148,163,184,.16);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.48)}.ns-menu.is-open{display:flex}.ns-mega-item{display:block;width:100%}.ns-mega-trigger,.ns-top-link{width:100%;padding:13px 12px;justify-content:space-between;border-radius:11px}.ns-mega-trigger:after{display:none}.ns-top-link{display:block}.ns-mega-panel,.ns-mega-panel-wide,.ns-mega-panel-services,.ns-mega-panel-right{position:static;width:100%;padding:7px 5px 10px;margin:0;border:0;border-left:1px solid rgba(91,229,138,.22);border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none!important;display:none}.ns-mega-item.is-open>.ns-mega-panel{display:block}.ns-mega-grid,.ns-mega-grid-3{grid-template-columns:1fr}.ns-mega-feature{display:none}.ns-mega-link{padding:10px!important}.ns-nav-cta{margin:6px 0 2px;text-align:center}.ns-hero>.elementor-container{flex-wrap:wrap!important}.ns-hero-copy,.ns-hero-visual{width:100%!important}.ns-hero-copy>.elementor-widget-wrap{padding:84px 28px 34px!important}.ns-hero-visual>.elementor-widget-wrap{padding:0 28px 66px!important}.ns-hero-visual-shell{height:440px;max-width:760px;margin:auto}.ns-h1 .elementor-heading-title,.ns-hero h1{font-size:clamp(42px,8vw,58px)!important;max-width:780px!important}.ns-answer-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ns-hero-copy>.elementor-widget-wrap{padding:72px 20px 28px!important}.ns-hero-visual>.elementor-widget-wrap{padding:0 18px 52px!important}.ns-hero-visual-shell{height:340px;border-radius:22px}.ns-hero-visual-shell img{object-position:58% 50%}.ns-hero-image-label{left:14px;right:14px;bottom:14px}.ns-hero-image-label span{font-size:10px;padding:7px 9px}.ns-h1 .elementor-heading-title,.ns-hero h1{font-size:42px!important}.ns-lead,.ns-lead p{font-size:17px}.ns-hero-proof{font-size:11px}.ns-answer-section{padding:58px 0}.ns-faq-item summary{font-size:15px;padding-right:48px}}
@media(prefers-reduced-motion:reduce){.ns-hero-visual-shell img{transition:none!important;transform:none!important}.ns-mega-panel{transition:none!important}}

/* v1.1.1 hero spacing + service hero visual corrections */
.ns-hero .ns-hero-copy{box-sizing:border-box!important;padding-left:clamp(56px,5vw,92px)!important;padding-right:clamp(28px,3vw,48px)!important}
.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding:108px 0 92px!important;align-content:center!important}
.ns-hero .ns-hero-visual{box-sizing:border-box!important;padding-right:clamp(34px,4.5vw,78px)!important;padding-left:8px!important}
.ns-hero .ns-hero-visual>.elementor-widget-wrap,.ns-hero .ns-hero-visual>.elementor-element-populated{padding:72px 0 72px!important;align-content:center!important}
.ns-hero-visual-shell{height:auto!important;aspect-ratio:5/3!important;min-height:0!important;border-radius:28px!important}
.ns-hero-visual-shell img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
.ns-service-hero-visual{box-shadow:0 32px 95px rgba(0,0,0,.42),0 0 0 1px rgba(91,229,138,.06)!important}
.ns-service-hero-visual:before{background:linear-gradient(90deg,rgba(6,17,29,.32),transparent 24%,transparent 86%,rgba(6,17,29,.08)),linear-gradient(0deg,rgba(6,17,29,.18),transparent 34%)!important}
.ns-h1 .elementor-heading-title,.ns-hero h1{font-size:clamp(46px,4.25vw,66px)!important;max-width:740px!important}
.ns-lead,.ns-lead p{max-width:720px!important}
@media(max-width:1200px){.ns-hero .ns-hero-copy{padding-left:44px!important;padding-right:28px!important}.ns-hero .ns-hero-visual{padding-right:28px!important}.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding-top:96px!important;padding-bottom:76px!important}}
@media(max-width:900px){.ns-hero .ns-hero-copy{padding-left:30px!important;padding-right:30px!important}.ns-hero .ns-hero-visual{padding:0 30px!important}.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding:76px 0 30px!important}.ns-hero .ns-hero-visual>.elementor-widget-wrap,.ns-hero .ns-hero-visual>.elementor-element-populated{padding:0 0 58px!important}.ns-hero-visual-shell{max-width:760px!important;margin:0 auto!important}}
@media(max-width:620px){.ns-hero .ns-hero-copy{padding-left:20px!important;padding-right:20px!important}.ns-hero .ns-hero-visual{padding:0 18px!important}.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding:64px 0 24px!important}.ns-hero .ns-hero-visual>.elementor-widget-wrap,.ns-hero .ns-hero-visual>.elementor-element-populated{padding:0 0 46px!important}.ns-hero-visual-shell{border-radius:20px!important}.ns-h1 .elementor-heading-title,.ns-hero h1{font-size:40px!important}}


/* v1.1.2 premium rotating border animation
   Browser-tested implementation based on the supplied CSS.
   The utility class .ct-border-animation is available for future Elementor elements. */
:root {
    --border-animation-color: #52fe7d73;
    --border-animation-speed: 7s;
    --border-animation-width: 1px;
}

@property --border-animation-angle {
    syntax: "<angle>";
    initial-value: 0turn;
    inherits: false;
}

@keyframes borderRotate {
    to {
        --border-animation-angle: 1turn;
    }
}

/* Apply the rotating edge only to components that visually benefit from a border.
   Keeping it off plain text blocks prevents the interface from becoming noisy. */
.ct-border-animation,
.ns-card,
.ns-flow-step,
.ns-answer-card,
.ns-faq-item,
.ns-cta-box,
.ns-check-list li,
.ns-trust-layers > div,
.ns-mega-feature {
    position: relative;
}

.ct-border-animation:after,
.ns-card:after,
.ns-flow-step:after,
.ns-answer-card:after,
.ns-faq-item:after,
.ns-cta-box:after,
.ns-check-list li:after,
.ns-trust-layers > div:after,
.ns-mega-feature:after {
    pointer-events: none;
    content: "";
    position: absolute;
    inset: calc(var(--border-animation-width) * -1);
    border-radius: inherit;
    border: solid transparent;
    border-width: var(--border-animation-width);
    animation: borderRotate var(--border-animation-speed) linear infinite;
    background: conic-gradient(from var(--border-animation-angle), transparent 88%, var(--border-animation-color), var(--border-animation-color) 100%, transparent) border-box;
    background-clip: border-box;
    background-origin: border-box;
    mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(97% - var(--border-animation-width)), rgba(0, 0, 0, 0)) content-box,
          radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(2% - var(--border-animation-width)), #000) border-box;
    -webkit-mask-composite: destination-in;
    mask-composite: intersect;
}

/* The hero media container already uses ::before/::after overlays, so its animated
   border is implemented as a border-box gradient to avoid breaking those overlays. */
.ns-hero-visual-shell,
.ct-border-animation-media {
    border: var(--border-animation-width) solid transparent !important;
    background:
        linear-gradient(#07121f, #07121f) padding-box,
        conic-gradient(from var(--border-animation-angle), transparent 0 82%, var(--border-animation-color) 90%, rgba(82,254,125,.72) 96%, transparent 100%) border-box !important;
    animation: borderRotate var(--border-animation-speed) linear infinite;
}

/* Slight phase offsets stop a grid of cards from looking mechanically synchronized. */
.ns-card:nth-child(2n):after,
.ns-answer-card:nth-child(2n):after { animation-delay: -1.75s; }
.ns-card:nth-child(3n):after,
.ns-answer-card:nth-child(3n):after { animation-delay: -3.5s; }
.ns-card:nth-child(4n):after { animation-delay: -5.25s; }

@media (prefers-reduced-motion: reduce) {
    .ct-border-animation:after,
    .ns-card:after,
    .ns-flow-step:after,
    .ns-answer-card:after,
    .ns-faq-item:after,
    .ns-cta-box:after,
    .ns-check-list li:after,
    .ns-trust-layers > div:after,
    .ns-mega-feature:after,
    .ns-hero-visual-shell,
    .ct-border-animation-media {
        animation: none !important;
    }
}


/* v1.1.3 hero padding + broader border visibility */
.ns-hero .elementor-column.ns-hero-copy,
.ns-hero .ns-hero-copy{padding-left:clamp(68px,6vw,112px)!important;padding-right:clamp(30px,3.2vw,50px)!important;}
.ns-hero .elementor-column.ns-hero-copy > .elementor-widget-wrap,
.ns-hero .elementor-column.ns-hero-copy > .elementor-element-populated,
.ns-hero .ns-hero-copy>.elementor-widget-wrap,
.ns-hero .ns-hero-copy>.elementor-element-populated{padding:112px 0 96px!important;}
.ns-hero .ns-hero-visual{padding-right:clamp(36px,4.5vw,84px)!important;padding-left:12px!important;}
.ns-card,.ns-flow-step,.ns-answer-card,.ns-cta-box,.ns-mega-feature,.ns-trust-layers>div,.ns-hero-visual-shell,.ct-border-animation-media{overflow:visible!important;}
.ns-card:after,.ns-flow-step:after,.ns-answer-card:after,.ns-cta-box:after,.ns-mega-feature:after,.ns-trust-layers>div:after{z-index:2;}
.ns-card > *, .ns-flow-step > *, .ns-answer-card > *, .ns-cta-box > *, .ns-mega-feature > * { position: relative; z-index: 3; }
@media(max-width:1200px){.ns-hero .elementor-column.ns-hero-copy,.ns-hero .ns-hero-copy{padding-left:52px!important;padding-right:28px!important}.ns-hero .elementor-column.ns-hero-copy > .elementor-widget-wrap,.ns-hero .elementor-column.ns-hero-copy > .elementor-element-populated,.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding-top:98px!important;padding-bottom:76px!important}}
@media(max-width:900px){.ns-hero .elementor-column.ns-hero-copy,.ns-hero .ns-hero-copy{padding-left:32px!important;padding-right:32px!important}.ns-hero .elementor-column.ns-hero-copy > .elementor-widget-wrap,.ns-hero .elementor-column.ns-hero-copy > .elementor-element-populated,.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding:82px 0 30px!important}}
@media(max-width:620px){.ns-hero .elementor-column.ns-hero-copy,.ns-hero .ns-hero-copy{padding-left:22px!important;padding-right:22px!important}.ns-hero .elementor-column.ns-hero-copy > .elementor-widget-wrap,.ns-hero .elementor-column.ns-hero-copy > .elementor-element-populated,.ns-hero .ns-hero-copy>.elementor-widget-wrap,.ns-hero .ns-hero-copy>.elementor-element-populated{padding:68px 0 24px!important}}


/* v1.1.4 FINAL QA FIXES ---------------------------------------------------
   1) Remove the old static green top accent that looked like a broken border.
   2) Keep one subtle rotating highlight around eligible cards/media.
   3) Remove duplicated hero proof row and compact the governance strip.
   4) Normalize section spacing at large desktop widths.
-------------------------------------------------------------------------- */
.ns-card:before{display:none!important;content:none!important;}
.ns-hero-proof{display:none!important;}

/* Compact premium governance strip */
.ns-trustbar{padding:14px 0!important;background:linear-gradient(180deg,#081421,#07121e)!important;border-top:1px solid rgba(148,163,184,.10)!important;border-bottom:1px solid rgba(148,163,184,.10)!important;}
.ns-trustbar>.elementor-container{padding-top:0!important;padding-bottom:0!important;}
.ns-trust-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important;}
.ns-trust-strip span{min-height:44px!important;padding:10px 14px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;border:1px solid rgba(148,163,184,.13)!important;border-radius:12px!important;background:rgba(12,28,43,.72)!important;color:#c7d3df!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:.025em!important;text-transform:none!important;}
.ns-trust-strip span:before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--ns-green2);box-shadow:0 0 12px rgba(91,229,138,.42);}
.ns-answer-section{padding:64px 0!important;}

/* More robust moving border. The old static top line is intentionally gone. */
.ct-border-animation:after,
.ns-card:after,
.ns-flow-step:after,
.ns-answer-card:after,
.ns-faq-item:after,
.ns-cta-box:after,
.ns-check-list li:after,
.ns-trust-layers > div:after,
.ns-mega-feature:after{
    inset:-1px!important;
    padding:1px!important;
    border:0!important;
    border-radius:inherit!important;
    background:conic-gradient(from var(--border-animation-angle),transparent 0deg 300deg,rgba(82,254,125,.08) 318deg,rgba(82,254,125,.50) 344deg,rgba(82,254,125,.10) 359deg,transparent 360deg)!important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
    -webkit-mask-composite:xor!important;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
    mask-composite:exclude!important;
    opacity:.92!important;
}
.ns-card,.ns-flow-step,.ns-answer-card,.ns-faq-item,.ns-cta-box,.ns-check-list li,.ns-trust-layers>div,.ns-mega-feature{isolation:isolate;overflow:hidden!important;}
.ns-card:after,.ns-flow-step:after,.ns-answer-card:after,.ns-faq-item:after,.ns-cta-box:after,.ns-check-list li:after,.ns-trust-layers>div:after,.ns-mega-feature:after{z-index:1!important;}
.ns-card>*,.ns-flow-step>*,.ns-answer-card>*,.ns-faq-item>*,.ns-cta-box>*,.ns-check-list li>*,.ns-trust-layers>div>*,.ns-mega-feature>*{position:relative;z-index:2;}

/* hero media uses border-box animation because it already owns overlay pseudo-elements */
.ns-hero-visual-shell,.ct-border-animation-media{overflow:hidden!important;background:linear-gradient(#07121f,#07121f) padding-box,conic-gradient(from var(--border-animation-angle),transparent 0deg 300deg,rgba(82,254,125,.08) 318deg,rgba(82,254,125,.52) 344deg,rgba(82,254,125,.10) 359deg,transparent 360deg) border-box!important;}

@media(max-width:900px){
  .ns-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ns-trust-strip span{border:1px solid rgba(148,163,184,.13)!important;}
}
@media(max-width:620px){
  .ns-trustbar{padding:10px 0!important;}
  .ns-trust-strip{grid-template-columns:1fr!important;gap:8px!important;}
  .ns-trust-strip span{min-height:40px!important;padding:9px 12px!important;}
  .ns-answer-section{padding:52px 0!important;}
}


/* v1.1.5 CROSS-BROWSER BORDER ANIMATION FIX -------------------------------
   Uses transform rotation on real pseudo-elements instead of animating a
   registered custom property. This survives CSS minifiers/optimizers that
   strip @property and works without mask-composite support. */
@keyframes nsBorderSpin {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to   { transform: translate(-50%,-50%) rotate(360deg); }
}

/* Stop the older mask/custom-property implementation from painting. */
.ct-border-animation:before,
.ns-card:before,
.ns-flow-step:before,
.ns-answer-card:before,
.ns-faq-item:before,
.ns-cta-box:before,
.ns-trust-layers > div:before,
.ns-mega-feature:before {
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:190%!important;
  aspect-ratio:1/1!important;
  border:0!important;
  border-radius:50%!important;
  background:conic-gradient(
    from 0deg,
    transparent 0deg 286deg,
    rgba(82,254,125,.05) 305deg,
    rgba(82,254,125,.22) 326deg,
    rgba(82,254,125,.88) 347deg,
    rgba(82,254,125,.24) 357deg,
    transparent 360deg
  )!important;
  animation:nsBorderSpin var(--border-animation-speed,7s) linear infinite!important;
  pointer-events:none!important;
  z-index:0!important;
  opacity:1!important;
  -webkit-mask:none!important;
  mask:none!important;
}

.ct-border-animation:after,
.ns-card:after,
.ns-flow-step:after,
.ns-answer-card:after,
.ns-faq-item:after,
.ns-cta-box:after,
.ns-trust-layers > div:after,
.ns-mega-feature:after {
  content:""!important;
  position:absolute!important;
  inset:1px!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  z-index:1!important;
  animation:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  opacity:1!important;
}

.ct-border-animation { --ns-border-surface:#0d1b2a; }
.ns-card { --ns-border-surface:linear-gradient(145deg,rgba(16,40,58,.98),rgba(9,21,34,.99)); }
.ns-flow-step { --ns-border-surface:rgba(13,27,42,.98); }
.ns-answer-card { --ns-border-surface:rgba(13,27,42,.98); }
.ns-faq-item { --ns-border-surface:rgba(13,27,42,.985); }
.ns-cta-box { --ns-border-surface:radial-gradient(circle at 85% 0,rgba(57,167,81,.19),transparent 30%),linear-gradient(135deg,#10283a,#0b1826); }
.ns-trust-layers > div { --ns-border-surface:linear-gradient(90deg,rgba(30,66,58,.98),rgba(11,28,41,.99)); }
.ns-mega-feature { --ns-border-surface:radial-gradient(circle at 90% 10%,rgba(57,167,81,.16),transparent 35%),#0b1725; }

.ct-border-animation:after,
.ns-card:after,
.ns-flow-step:after,
.ns-answer-card:after,
.ns-faq-item:after,
.ns-cta-box:after,
.ns-trust-layers > div:after,
.ns-mega-feature:after { background:var(--ns-border-surface)!important; }

.ct-border-animation,
.ns-card,
.ns-flow-step,
.ns-answer-card,
.ns-faq-item,
.ns-cta-box,
.ns-trust-layers > div,
.ns-mega-feature {
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:0!important;
  box-shadow:0 0 0 1px rgba(148,163,184,.10),0 22px 50px rgba(0,0,0,.13);
}

.ct-border-animation > *,
.ns-card > *,
.ns-flow-step > *,
.ns-answer-card > *,
.ns-faq-item > *,
.ns-cta-box > *,
.ns-trust-layers > div > *,
.ns-mega-feature > * { position:relative; z-index:2; }

/* Hero media: the rotating layer sits behind the actual image. */
.ns-hero-visual-shell,
.ct-border-animation-media {
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:0!important;
  padding:1px!important;
  background:#07121f!important;
  animation:none!important;
}
.ns-hero-visual-shell:after,
.ct-border-animation-media:after {
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:190%!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  background:conic-gradient(
    transparent 0deg 286deg,
    rgba(82,254,125,.06) 306deg,
    rgba(82,254,125,.26) 328deg,
    rgba(82,254,125,.95) 348deg,
    rgba(82,254,125,.30) 358deg,
    transparent 360deg
  )!important;
  transform:translate(-50%,-50%) rotate(0deg);
  animation:nsBorderSpin var(--border-animation-speed,7s) linear infinite!important;
  pointer-events:none!important;
  z-index:0!important;
  opacity:1!important;
  height:auto!important;
  inset:auto!important;
  -webkit-mask:none!important;
  mask:none!important;
}
.ns-hero-visual-shell img,
.ct-border-animation-media img {
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  border-radius:calc(28px - 1px)!important;
}
.ns-service-hero-visual:before {
  z-index:2!important;
  inset:1px!important;
  border-radius:calc(28px - 1px)!important;
}
.ns-hero-image-label{z-index:4!important;}

/* Checklist items keep their checkmark pseudo-element, so animate the border
   with a background-size sweep that does not consume ::before. */
.ns-check-list li{
  border:1px solid transparent!important;
  background:
    linear-gradient(rgba(13,27,42,.98),rgba(13,27,42,.98)) padding-box,
    linear-gradient(110deg,rgba(148,163,184,.12) 0 35%,rgba(82,254,125,.70) 48%,rgba(148,163,184,.12) 61% 100%) border-box!important;
  background-size:100% 100%,300% 100%!important;
  animation:nsBorderSweep var(--border-animation-speed,7s) linear infinite!important;
}
@keyframes nsBorderSweep { to { background-position:0 0,-300% 0; } }

@media (prefers-reduced-motion: reduce) {
  .ct-border-animation:before,
  .ns-card:before,
  .ns-flow-step:before,
  .ns-answer-card:before,
  .ns-faq-item:before,
  .ns-cta-box:before,
  .ns-trust-layers > div:before,
  .ns-mega-feature:before,
  .ns-hero-visual-shell:after,
  .ct-border-animation-media:after,
  .ns-check-list li { animation:none!important; }
}

/* ========================================================================
   v1.1.6 FINAL DESIGN + QA PASS
   - Animated borders on every intentional interactive/visual bordered object
   - Professional spacing rhythm across headings, content, cards and CTAs
   - No animation on plain text or decorative brand logos
   ======================================================================== */

/* Layout rhythm --------------------------------------------------------- */
.ns-section{padding:112px 0!important;}
.ns-section>.elementor-container,
.ns-trustbar>.elementor-container{max-width:1320px!important;padding-left:40px!important;padding-right:40px!important;}
.ns-section .elementor-widget-heading{margin-bottom:18px!important;}
.ns-section .elementor-widget-text-editor{margin-bottom:22px!important;}
.ns-section .elementor-widget-html{margin-bottom:0!important;}
.ns-section .elementor-widget-heading + .elementor-widget-text-editor{margin-top:2px!important;}
.ns-section-lead{margin-top:0!important;margin-bottom:10px!important;}
.ns-card-grid{gap:24px!important;margin-top:42px!important;}
.ns-card{padding:30px 28px!important;}
.ns-card h3{margin-top:20px!important;margin-bottom:12px!important;}
.ns-flow{gap:16px!important;margin-top:42px!important;}
.ns-flow-step{padding:26px 22px!important;}
.ns-check-list{gap:16px!important;margin-top:34px!important;}
.ns-answer-grid{gap:20px!important;margin-top:30px!important;}
.ns-faq-list{gap:14px!important;margin-top:32px!important;}
.ns-faq-item summary{padding-top:20px!important;padding-bottom:20px!important;}
.ns-hero-actions{gap:16px!important;margin-top:38px!important;}
.ns-cta-box{padding:54px!important;gap:44px!important;}
.ns-cta-box p{margin-bottom:0!important;}
.ns-cta-actions{gap:14px!important;}
.ns-trust-layers{gap:14px!important;margin-top:44px!important;}
.ns-proof-note{margin-top:30px!important;}
.ns-contact-form{gap:20px!important;margin-top:34px!important;}
.ns-field{gap:9px!important;}
.ns-site-footer{padding-top:82px!important;}

/* More generous hero copy and media breathing room */
.ns-hero .elementor-column.ns-hero-copy,
.ns-hero .ns-hero-copy{padding-left:clamp(72px,6.5vw,120px)!important;padding-right:clamp(32px,3vw,52px)!important;}
.ns-hero .elementor-column.ns-hero-copy>.elementor-widget-wrap,
.ns-hero .elementor-column.ns-hero-copy>.elementor-element-populated,
.ns-hero .ns-hero-copy>.elementor-widget-wrap,
.ns-hero .ns-hero-copy>.elementor-element-populated{padding-top:116px!important;padding-bottom:100px!important;}
.ns-hero .ns-hero-visual{padding-left:18px!important;padding-right:clamp(42px,5vw,92px)!important;}
.ns-hero .ns-hero-visual>.elementor-widget-wrap,
.ns-hero .ns-hero-visual>.elementor-element-populated{padding-top:78px!important;padding-bottom:78px!important;}

/* One animation primitive for edge sweeps on elements whose pseudo-elements
   are already used for content/links. This is deliberately browser-simple. */
@keyframes nsEdgeSweep{to{background-position:0 0,-300% 0}}

/* BUTTONS: primary, ghost and header CTA ------------------------------- */
.ns-button,
.ns-nav-cta{
  border:1px solid transparent!important;
  background-origin:border-box!important;
  background-clip:padding-box,border-box!important;
  background-size:100% 100%,300% 100%!important;
  animation:nsEdgeSweep var(--border-animation-speed,7s) linear infinite!important;
  position:relative!important;
  isolation:isolate!important;
}
.ns-button-primary,
.ns-nav-cta{
  background-image:
    linear-gradient(135deg,#39A751,#25C96D),
    linear-gradient(110deg,rgba(255,255,255,.12) 0 34%,rgba(82,254,125,.88) 48%,rgba(255,255,255,.14) 61% 100%)!important;
}
.ns-button-ghost{
  background-image:
    linear-gradient(rgba(8,20,33,.98),rgba(8,20,33,.98)),
    linear-gradient(110deg,rgba(148,163,184,.18) 0 34%,rgba(82,254,125,.86) 48%,rgba(148,163,184,.18) 61% 100%)!important;
}
.ns-button-ghost:hover{
  background-image:
    linear-gradient(rgba(14,38,41,.98),rgba(14,38,41,.98)),
    linear-gradient(110deg,rgba(148,163,184,.16) 0 34%,rgba(82,254,125,1) 48%,rgba(148,163,184,.16) 61% 100%)!important;
}
.ns-button:focus-visible,.ns-nav-cta:focus-visible{outline:2px solid #5BE58A!important;outline-offset:3px!important;}

/* Compact trust/governance pills -------------------------------------- */
.ns-trust-strip span{
  border:1px solid transparent!important;
  background-origin:border-box!important;
  background-clip:padding-box,border-box!important;
  background-image:
    linear-gradient(rgba(12,28,43,.96),rgba(12,28,43,.96)),
    linear-gradient(110deg,rgba(148,163,184,.12) 0 35%,rgba(82,254,125,.72) 48%,rgba(148,163,184,.12) 61% 100%)!important;
  background-size:100% 100%,300% 100%!important;
  animation:nsEdgeSweep 8s linear infinite!important;
}

/* Delivery-control graphic nodes -------------------------------------- */
.ns-control-core,.ns-control-item{
  border:1px solid transparent!important;
  background-origin:border-box!important;
  background-clip:padding-box,border-box!important;
  background-image:
    linear-gradient(#0d1b2a,#0d1b2a),
    linear-gradient(110deg,rgba(148,163,184,.12) 0 35%,rgba(82,254,125,.78) 48%,rgba(148,163,184,.12) 61% 100%)!important;
  background-size:100% 100%,300% 100%!important;
  animation:nsEdgeSweep 9s linear infinite!important;
}

/* Notes are bordered information blocks; animate only the perimeter,
   preserving their calm content surface. */
.ns-proof-note{
  border:1px solid transparent!important;
  border-radius:12px!important;
  background-origin:border-box!important;
  background-clip:padding-box,border-box!important;
  background-image:
    linear-gradient(rgba(10,31,32,.98),rgba(10,31,32,.98)),
    linear-gradient(110deg,rgba(57,167,81,.20) 0 35%,rgba(82,254,125,.76) 48%,rgba(57,167,81,.20) 61% 100%)!important;
  background-size:100% 100%,300% 100%!important;
  animation:nsEdgeSweep 9s linear infinite!important;
}

/* Cards + FAQ + CTA + mega feature already use the rotating conic layer
   introduced in v1.1.5. Increase visual consistency without making it loud. */
.ns-card:before,.ns-flow-step:before,.ns-answer-card:before,.ns-faq-item:before,.ns-cta-box:before,.ns-trust-layers>div:before,.ns-mega-feature:before{
  opacity:.92!important;
}
.ns-card:hover,.ns-flow-step:hover,.ns-answer-card:hover,.ns-faq-item:hover{
  box-shadow:0 26px 70px rgba(0,0,0,.28),0 0 28px rgba(82,254,125,.07)!important;
}

/* Hero / page artwork frame ------------------------------------------- */
.ns-hero-visual-shell{
  box-shadow:0 30px 90px rgba(0,0,0,.38),0 0 36px rgba(82,254,125,.06)!important;
}

/* Form control QA: calm by default, clear animated focus state only. */
.ns-field input:focus,.ns-field select:focus,.ns-field textarea:focus{
  border-color:#5BE58A!important;
  box-shadow:0 0 0 3px rgba(82,254,125,.11),0 0 24px rgba(82,254,125,.07)!important;
}

/* Header/footer links: larger hit area and visible keyboard focus. */
.ns-mega-link,.ns-mega-list a,.ns-site-footer a{border-radius:8px;}
.ns-mega-link:focus-visible,.ns-mega-list a:focus-visible,.ns-site-footer a:focus-visible,.ns-top-link:focus-visible{outline:2px solid #5BE58A!important;outline-offset:3px!important;}

/* Tablet/mobile spacing ------------------------------------------------ */
@media(max-width:1200px){
  .ns-section>.elementor-container,.ns-trustbar>.elementor-container{padding-left:30px!important;padding-right:30px!important;}
  .ns-hero .elementor-column.ns-hero-copy,.ns-hero .ns-hero-copy{padding-left:52px!important;padding-right:30px!important;}
  .ns-hero .ns-hero-visual{padding-right:30px!important;}
  .ns-cta-box{padding:46px!important;}
}
@media(max-width:900px){
  .ns-section{padding:88px 0!important;}
  .ns-section>.elementor-container,.ns-trustbar>.elementor-container{padding-left:26px!important;padding-right:26px!important;}
  .ns-hero .elementor-column.ns-hero-copy,.ns-hero .ns-hero-copy{padding-left:30px!important;padding-right:30px!important;}
  .ns-hero .ns-hero-visual{padding-left:30px!important;padding-right:30px!important;}
  .ns-hero .elementor-column.ns-hero-copy>.elementor-widget-wrap,
  .ns-hero .elementor-column.ns-hero-copy>.elementor-element-populated,
  .ns-hero .ns-hero-copy>.elementor-widget-wrap,
  .ns-hero .ns-hero-copy>.elementor-element-populated{padding-top:82px!important;padding-bottom:34px!important;}
  .ns-hero .ns-hero-visual>.elementor-widget-wrap,.ns-hero .ns-hero-visual>.elementor-element-populated{padding-top:0!important;padding-bottom:64px!important;}
  .ns-card-grid{gap:18px!important;margin-top:34px!important;}
  .ns-cta-box{padding:38px!important;gap:30px!important;}
}
@media(max-width:620px){
  .ns-section{padding:70px 0!important;}
  .ns-section>.elementor-container,.ns-trustbar>.elementor-container{padding-left:20px!important;padding-right:20px!important;}
  .ns-hero .elementor-column.ns-hero-copy,.ns-hero .ns-hero-copy{padding-left:22px!important;padding-right:22px!important;}
  .ns-hero .ns-hero-visual{padding-left:18px!important;padding-right:18px!important;}
  .ns-card{padding:25px 22px!important;}
  .ns-flow-step{padding:23px 20px!important;}
  .ns-cta-box{padding:30px 24px!important;}
  .ns-button{min-height:52px!important;}
}

@media(prefers-reduced-motion:reduce){
  .ns-button,.ns-nav-cta,.ns-trust-strip span,.ns-control-core,.ns-control-item,.ns-proof-note{animation:none!important;}
}
