: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; width:44px; height:44px; border:1px solid var(--nx-border); border-radius:10px; color:var(--nx-text); background:transparent; }
.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-system-map {
  position: relative;
  min-height: 500px;
  contain: layout paint;
  isolation: isolate;
}
.nx-system-map::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 78%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(60, 183, 220, .1), transparent 68%);
  pointer-events: none;
}
.nx-map-orbit {
  --orbit-angle: 0deg;
  --orbit-duration: 24s;
  --orbit-radius: 205px;
  --orbit-scale-y: .58;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: calc(var(--orbit-radius) * 2);
  height: calc(var(--orbit-radius) * 2);
  margin: calc(var(--orbit-radius) * -1);
  border: 1px solid rgba(125, 207, 232, .2);
  border-radius: 50%;
  transform: rotate(-10deg) scaleY(var(--orbit-scale-y));
  pointer-events: none;
}
.nx-map-satellite {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 1px;
  transform: rotate(var(--orbit-angle));
  animation: nx-orbit var(--orbit-duration) linear infinite paused;
}
.nx-map-node {
  position: absolute;
  left: var(--orbit-radius);
  display: flex;
  min-width: 122px;
  align-items: center;
  gap: .65rem;
  padding: .8rem .95rem;
  transform: translate(-50%, -50%) rotate(calc(var(--orbit-angle) * -1)) scaleY(calc(1 / var(--orbit-scale-y)));
  border: 1px solid rgba(155, 211, 234, .3);
  border-radius: 10px;
  color: #fff;
  background: rgba(5, 27, 51, .92);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .24);
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
  animation: nx-counter-orbit var(--orbit-duration) linear infinite paused;
}
.nx-system-map.is-orbiting .nx-map-satellite,
.nx-system-map.is-orbiting .nx-map-node {
  animation-play-state: running;
}
.nx-map-node i { color: #72d5ee; }
.nx-map-orbit-api { --orbit-angle: 18deg; --orbit-duration: 19s; --orbit-radius: 160px; --orbit-scale-y: .68; }
.nx-map-orbit-data { --orbit-angle: 112deg; --orbit-duration: 23s; --orbit-radius: 190px; --orbit-scale-y: .61; }
.nx-map-orbit-ops { --orbit-angle: 205deg; --orbit-duration: 27s; --orbit-radius: 220px; --orbit-scale-y: .54; }
.nx-map-orbit-erp { --orbit-angle: 292deg; --orbit-duration: 25s; --orbit-radius: 245px; --orbit-scale-y: .48; }
.nx-map-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 158px;
  height: 158px;
  place-items: center;
  transform: translate(-50%, -50%);
}
.nx-map-atmosphere {
  position: absolute;
  inset: -12px;
  border: 1px solid rgba(113, 213, 241, .28);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(65, 185, 222, .13), transparent 66%);
  box-shadow: 0 0 42px rgba(37, 151, 192, .18);
}
.nx-map-planet {
  position: relative;
  display: flex;
  width: 138px;
  height: 138px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  overflow: hidden;
  border: 1px solid rgba(157, 224, 243, .36);
  border-radius: 50%;
  color: #fff;
  background:
    radial-gradient(circle at 32% 25%, rgba(128, 220, 243, .72), transparent 12%),
    radial-gradient(circle at 68% 72%, rgba(5, 28, 55, .44), transparent 42%),
    linear-gradient(145deg, #1e82ad 0%, #10537e 48%, #082c50 100%);
  box-shadow:
    inset -18px -20px 34px rgba(3, 17, 34, .4),
    inset 10px 10px 20px rgba(167, 230, 245, .12),
    0 20px 48px rgba(1, 12, 27, .45);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nx-map-planet::after {
  content: "";
  position: absolute;
  inset: 12% -28%;
  transform: rotate(-18deg);
  border: 1px solid rgba(177, 230, 245, .18);
  border-radius: 50%;
}
.nx-map-planet img {
  position: relative;
  z-index: 1;
  filter: brightness(0) invert(1);
}
.nx-map-planet > span {
  position: relative;
  z-index: 1;
}
@keyframes nx-orbit {
  from { transform: rotate(var(--orbit-angle)); }
  to { transform: rotate(calc(var(--orbit-angle) + 360deg)); }
}
@keyframes nx-counter-orbit {
  from { transform: translate(-50%, -50%) rotate(calc(var(--orbit-angle) * -1)) scaleY(calc(1 / var(--orbit-scale-y))); }
  to { transform: translate(-50%, -50%) rotate(calc((var(--orbit-angle) + 360deg) * -1)) scaleY(calc(1 / var(--orbit-scale-y))); }
}

.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-hero{min-height:auto}.nx-hero-grid{grid-template-columns:1fr}.nx-system-map{min-height:470px;max-width:620px;width:100%;margin:auto}
  .nx-map-orbit-api{--orbit-radius:145px}.nx-map-orbit-data{--orbit-radius:175px}.nx-map-orbit-ops{--orbit-radius:202px}.nx-map-orbit-erp{--orbit-radius:225px}
  .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-section{padding:4rem 0}.nx-hero{padding:4rem 0}.nx-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}.nx-system-map{min-height:350px}.nx-map-core{width:112px;height:112px}.nx-map-planet{width:98px;height:98px}.nx-map-planet img{width:40px;height:40px}.nx-map-node{min-width:auto;padding:.6rem .7rem;font-size:.7rem}.nx-map-node span{max-width:70px;white-space:normal}.nx-map-orbit{border-color:rgba(125,207,232,.12)}.nx-map-orbit-api{--orbit-radius:100px}.nx-map-orbit-data{--orbit-radius:122px}.nx-map-orbit-ops{--orbit-radius:144px}.nx-map-orbit-erp{--orbit-radius:164px}
  .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}
  .nx-map-satellite,.nx-map-node{animation:none!important}
  .nx-map-orbit-api .nx-map-satellite{transform:rotate(18deg)}
  .nx-map-orbit-data .nx-map-satellite{transform:rotate(112deg)}
  .nx-map-orbit-ops .nx-map-satellite{transform:rotate(205deg)}
  .nx-map-orbit-erp .nx-map-satellite{transform:rotate(292deg)}
}
