:root {
  --nx-primary: #1268b3;
  --nx-primary-hover: #0b5597;
  --nx-secondary: #0b1f3a;
  --nx-accent: #0f91bd;
  --nx-success: #16794a;
  --nx-warning: #a35b00;
  --nx-error: #b42318;
  --nx-bg: #f4f7fb;
  --nx-surface: #ffffff;
  --nx-surface-raised: #eaf1f8;
  --nx-text: #10233e;
  --nx-muted: #52667f;
  --nx-border: #cfdae7;
  --nx-focus: #e2a900;
  --nx-space-section: clamp(4.5rem, 8vw, 7.5rem);
}

html { scroll-padding-top: 92px; }
body { font-family: "Inter", sans-serif; color: var(--nx-text); background: var(--nx-bg); }
h1, h2, h3, h4, h5, h6 { font-family: "Manrope", sans-serif; color: var(--nx-text); letter-spacing: -.025em; }
a, button, input, select, textarea { outline-color: var(--nx-focus); }
:focus-visible { outline: 3px solid var(--nx-focus) !important; outline-offset: 3px; }
.container { max-width: 1240px; }
.nx-section { padding: var(--nx-space-section) 0; }
.nx-eyebrow { margin: 0 0 1rem; color: var(--nx-accent); font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nx-section-heading { max-width: 760px; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.nx-section-heading h2, .nx-case h2, .nx-final-cta h2 { font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.12; }
.nx-section-heading > p:last-child { max-width: 65ch; color: var(--nx-muted); font-size: 1.06rem; line-height: 1.7; }

.nx-navbar { position: sticky; top: 0; z-index: 1030; min-height: 76px; border-bottom: 1px solid rgba(207,218,231,.8); background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.nx-navbar .container { display: flex; align-items: center; }
.nx-brand { flex: 0 0 auto; display: inline-flex; }
.nx-brand img { display: block; object-fit: contain; }
.nx-logo-dark { display: none !important; }
.nx-nav-links { align-items: center; gap: .1rem; margin: 0 auto; }
.nx-nav-links .nav-link { position: relative; padding: .75rem .58rem !important; color: #344963 !important; font-size: .84rem; font-weight: 650; white-space: nowrap; }
.nx-nav-links .nav-link::after { content:""; position:absolute; right:.58rem; bottom:.38rem; left:.58rem; height:2px; transform:scaleX(0); background:var(--nx-primary); transition:transform .2s ease; }
.nx-nav-links .nav-link:hover::after, .nx-nav-links .nav-link.active::after { transform:scaleX(1); }
.nx-nav-actions { display:flex; align-items:center; gap:.65rem; }
.nx-theme-button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; margin:0; padding:0; border:0; border-radius:6px; color:var(--nx-text); background:transparent; cursor:pointer; transition:background-color .2s ease; }
.nx-theme-button:hover { background:var(--nx-surface-raised); }
.nx-theme-button i, .nx-theme-button .svg-inline--fa { display:block; width:20px; height:20px; margin:0; font-size:20px; line-height:1; }
.nx-nav-actions .nx-nav-cta { margin:0; align-self:center; }
.nx-btn-primary, .nx-btn-light, .nx-btn-outline-light { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:.72rem 1.15rem; border-radius:10px; font-weight:750; text-transform:none; letter-spacing:0; }
.nx-btn-primary { color:#fff !important; border-color:var(--nx-primary); background:var(--nx-primary); box-shadow:none; }
.nx-btn-primary:hover { border-color:var(--nx-primary-hover); background:var(--nx-primary-hover); transform:translateY(-1px); }
.nx-btn-light { color:var(--nx-secondary) !important; background:#fff; }
.nx-btn-outline-light { color:#fff !important; border:1px solid rgba(255,255,255,.55); background:transparent; }
.nx-menu-toggle { width:46px; height:46px; padding:10px; border:1px solid var(--nx-border); border-radius:10px; }
.nx-menu-toggle span { display:block; width:22px; height:2px; margin:5px auto; background:var(--nx-text); }

.nx-hero { overflow:hidden; min-height:calc(100dvh - 76px); display:flex; align-items:center; padding:clamp(4rem,8vw,7rem) 0; color:#fff; background:radial-gradient(circle at 80% 25%,rgba(24,147,193,.22),transparent 28%),linear-gradient(135deg,#07182d 0%,#0c2949 58%,#104b74 100%); }
.nx-hero-grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
.nx-hero h1 { max-width:12ch; margin:0 0 1.5rem; color:#fff; font-size:clamp(2.7rem,5.5vw,5.15rem); line-height:1.02; letter-spacing:-.055em; }
.nx-hero-lead { max-width:62ch; color:#c7d7e9; font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.7; }
.nx-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; margin-top:2rem; }
.nx-link-arrow { display:inline-flex; align-items:center; gap:.6rem; color:var(--nx-primary); font-weight:750; text-decoration:none; }
.nx-hero .nx-link-arrow { color:#fff; }
.nx-link-arrow i { transition:transform .2s ease; }
.nx-link-arrow:hover i { transform:translateX(4px); }
.nx-risk-note { margin:1.25rem 0 0; color:#a9bed4; font-size:.88rem; }
.nx-trust { padding:2rem 0; border-bottom:1px solid var(--nx-border); background:var(--nx-surface); }
.nx-trust-grid { display:grid; grid-template-columns:.8fr 1.1fr 1fr; align-items:center; gap:2.5rem; }
.nx-trust h2 { margin:0; font-size:1.3rem; }.nx-trust p{margin:0;color:var(--nx-muted);line-height:1.65}
.nx-trust-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin:0; padding:0; list-style:none; }
.nx-trust-tags li { padding:.45rem .7rem; border:1px solid var(--nx-border); border-radius:8px; color:var(--nx-muted); background:var(--nx-bg); font-size:.78rem; font-weight:700; }

.nx-problems { background:var(--nx-surface); }
.nx-problem-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--nx-border); }
.nx-problem-list article { display:grid; grid-template-columns:52px 1fr; gap:1rem; padding:2rem 2rem 2rem 0; border-bottom:1px solid var(--nx-border); }
.nx-problem-list article:nth-child(odd){border-right:1px solid var(--nx-border)}.nx-problem-list article:nth-child(even){padding-left:2rem}
.nx-problem-list article>span { color:var(--nx-accent); font-weight:800; }.nx-problem-list h3{font-size:1.18rem}.nx-problem-list p{margin:0;color:var(--nx-muted);line-height:1.65}

.services-section { padding:var(--nx-space-section) 0; background:var(--nx-bg); }
.services-intro { min-height:100%; border-radius:14px; box-shadow:none; }
.services-intro-content { position:relative; top:auto; padding:clamp(2rem,4vw,3.25rem); }
.services-brand-mark { margin-bottom:1.5rem; }
.services-title { font-family:"Manrope",sans-serif; font-size:clamp(2rem,3.4vw,3.15rem); }
.service-item h3 { font-family:"Manrope",sans-serif; }.service-item p{color:var(--nx-muted)}

.nx-case { color:#fff; background:#0a203a; }
.nx-case-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); align-items:start; }
.nx-case h2{color:#fff}.nx-case-intro>p:not(.nx-eyebrow){color:#b9cade;line-height:1.75}
.nx-nda{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:#8fd6e9;font-size:.85rem;font-weight:700}
.nx-case-detail dl{margin:0}.nx-case-detail dl>div{display:grid;grid-template-columns:145px 1fr;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.nx-case-detail dt{color:#79cee8}.nx-case-detail dd{margin:0;color:#d3dfeb;line-height:1.6}.nx-case .nx-link-arrow{margin-top:2rem;color:#fff}

.nx-process { background:var(--nx-surface); }
.nx-process-list { display:grid; grid-template-columns:repeat(5,1fr); margin:0; padding:0; list-style:none; counter-reset:process; border-top:1px solid var(--nx-border); }
.nx-process-list li { padding:2rem 1.4rem; border-right:1px solid var(--nx-border); }.nx-process-list li:first-child{padding-left:0}.nx-process-list li:last-child{border:0}
.nx-process-list li>span{display:block;margin-bottom:2.5rem;color:var(--nx-accent);font-weight:800}.nx-process-list h3{font-size:1.05rem}.nx-process-list p{color:var(--nx-muted);font-size:.9rem;line-height:1.65}.nx-process-list strong{color:var(--nx-text)}

.nx-engineering { background:var(--nx-bg); }
.nx-capability-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.nx-capability-grid article { padding:1.6rem; border:1px solid var(--nx-border); border-radius:12px; background:var(--nx-surface); }
.nx-capability-grid h3{font-size:1.05rem}.nx-capability-grid p{margin:0;color:var(--nx-muted);font-size:.9rem;line-height:1.65}

.nx-final-cta{background:linear-gradient(135deg,#0d5f9f,#07345b);color:#fff}.nx-final-cta-inner{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:4rem}
.nx-final-cta h2{max-width:16ch;color:#fff}.nx-final-cta p:not(.nx-eyebrow){max-width:65ch;color:#d1e0ef;line-height:1.7}
.nx-final-cta .nx-actions{justify-content:flex-end}

:root[data-theme="dark"] { --nx-bg:#0d1728;--nx-surface:#111e31;--nx-surface-raised:#17263b;--nx-text:#edf4fb;--nx-muted:#aabbd0;--nx-border:#2b4059; }
:root[data-theme="dark"] .nx-navbar{background:rgba(13,23,40,.95)}:root[data-theme="dark"] .nx-logo-light{display:none!important}:root[data-theme="dark"] .nx-logo-dark{display:block!important}
:root[data-theme="dark"] .nx-nav-links .nav-link{color:#c4d2e2!important}:root[data-theme="dark"] .nx-menu-toggle span{background:#fff}
:root[data-theme="dark"] body,
:root[data-theme="dark"] .main-content,
:root[data-theme="dark"] .section,
:root[data-theme="dark"] .bg-white,
:root[data-theme="dark"] .bg-gray-100,
:root[data-theme="dark"] .footer { background-color:var(--nx-bg)!important; color:var(--nx-text); }
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .accordion-item,
:root[data-theme="dark"] .contact-card,
:root[data-theme="dark"] .nexum-card { border-color:var(--nx-border)!important; background:var(--nx-surface)!important; }
:root[data-theme="dark"] .text-dark,
:root[data-theme="dark"] .section-title,
:root[data-theme="dark"] .service-item h3,
:root[data-theme="dark"] .footer h5,
:root[data-theme="dark"] .footer h6 { color:var(--nx-text)!important; }
:root[data-theme="dark"] .text-muted,
:root[data-theme="dark"] .section-subtitle,
:root[data-theme="dark"] .footer .text-muted { color:var(--nx-muted)!important; }
:root[data-theme="dark"] .services-section { background:var(--nx-bg); }
:root[data-theme="dark"] .service-item,
:root[data-theme="dark"] .footer,
:root[data-theme="dark"] .contact-info { border-color:var(--nx-border); }
:root[data-theme="dark"] .faq-accordion .accordion-button,
:root[data-theme="dark"] .faq-accordion .accordion-body { color:var(--nx-text); background:var(--nx-surface); }
:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select { color:var(--nx-text); border-color:var(--nx-border); background:var(--nx-surface-raised); }
:root[data-theme="dark"] .form-label,
:root[data-theme="dark"] .form-check-label,
:root[data-theme="dark"] .contact-value { color:var(--nx-text)!important; }

@media(max-width:1199.98px){
  .nx-navbar .navbar-collapse{position:absolute;top:76px;right:1rem;left:1rem;max-height:calc(100dvh - 92px);overflow:auto;padding:1rem;border:1px solid var(--nx-border);border-radius:12px;background:var(--nx-surface);box-shadow:0 20px 50px rgba(6,22,40,.18)}
  .nx-nav-links{align-items:stretch}.nx-nav-links .nav-link{padding:.85rem!important}.nx-nav-actions{padding-top:1rem;border-top:1px solid var(--nx-border)}.nx-nav-cta{flex:1}
}
@media(max-width:991.98px){
  .nx-trust-grid,.nx-case-grid,.nx-final-cta-inner{grid-template-columns:1fr}.nx-process-list{grid-template-columns:1fr 1fr}.nx-process-list li{border-bottom:1px solid var(--nx-border)}.nx-capability-grid{grid-template-columns:1fr 1fr}.nx-final-cta .nx-actions{justify-content:flex-start}
}
@media(max-width:575.98px){
  .nx-trust-grid{gap:1.5rem}.nx-problem-list{grid-template-columns:1fr}.nx-problem-list article,.nx-problem-list article:nth-child(even){padding:1.5rem 0;border-right:0}.nx-case-detail dl>div{grid-template-columns:1fr;gap:.35rem}.nx-process-list,.nx-capability-grid{grid-template-columns:1fr}.nx-process-list li,.nx-process-list li:first-child{padding:1.5rem 0;border-right:0}.nx-process-list li>span{margin-bottom:.75rem}.nx-actions>.btn{width:100%}.nx-actions .nx-link-arrow{justify-content:center;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .nx-link-arrow i,.nx-btn-primary{transition:none!important}
}
