/* Nelx Studio Services Hub components — approved light-gradient truth pass. */
.elementor-widget .nsc-sh,
.elementor-widget .nsc-sh * { box-sizing: border-box; }
.elementor-widget .nsc-sh {
  --nsc-sh-blue:#1E3A8A;
  --nsc-sh-blue-dark:#01224A;
  --nsc-sh-orange:#F4511E;
  --nsc-sh-orange-dark:#E03D0B;
  --nsc-sh-cyan:#00B7C2;
  --nsc-sh-charcoal:#272626;
  --nsc-sh-page:#FAFCFF;
  --nsc-sh-slate-50:#F8FAFC;
  --nsc-sh-slate-100:#F1F5F9;
  --nsc-sh-slate-200:#E2E8F0;
  --nsc-sh-slate-300:#CBD5E1;
  --nsc-sh-slate-400:#94A3B8;
  --nsc-sh-slate-500:#64748B;
  --nsc-sh-slate-600:#475569;
  --nsc-sh-slate-700:#334155;
  --nsc-sh-sticky-top:96px;
  --nsc-sh-stack-step:15px;
  --nsc-sh-stack-gap:9vh;
  color:var(--nsc-sh-charcoal);
  font-family:Inter, sans-serif;
}
.elementor-widget .nsc-sh a { color:inherit; text-decoration:none; }
.elementor-widget .nsc-sh svg { width:1em; height:1em; display:block; }
.elementor-widget .nsc-sh button,
.elementor-widget .nsc-sh input,
.elementor-widget .nsc-sh select,
.elementor-widget .nsc-sh textarea { font:inherit; }
.elementor-widget .nsc-sh-section { position:relative; isolation:isolate; }
.elementor-widget .nsc-sh-shell { width:min(calc(100% - 48px),1280px); margin-inline:auto; position:relative; z-index:2; }
.elementor-widget .nsc-sh-kicker {
  display:inline-flex; align-items:center; border-radius:999px; padding:6px 16px; background:rgba(0,183,194,.10);
  color:var(--nsc-sh-cyan); font-size:12px; line-height:1.4; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
}
.elementor-widget .nsc-sh-kicker.is-orange { color:var(--nsc-sh-orange); background:rgba(244,81,30,.10); }
.elementor-widget .nsc-sh-heading { margin:20px 0 0; color:var(--nsc-sh-blue); font-size:clamp(30px,4vw,48px); line-height:1.12; font-weight:800; letter-spacing:-.035em; }
.elementor-widget .nsc-sh-description { margin:20px 0 0; color:var(--nsc-sh-slate-600); font-size:18px; line-height:1.72; }
.elementor-widget .nsc-sh-gradient-text {
  background:linear-gradient(105deg,var(--nsc-sh-blue) 5%,#173078 43%,var(--nsc-sh-cyan) 67%,var(--nsc-sh-orange) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.elementor-widget .nsc-sh-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:14px 28px; border-radius:12px; font-weight:800; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease; }
.elementor-widget .nsc-sh-button:hover { transform:none; }
.elementor-widget .nsc-sh-button-arrow { transition:transform .2s ease; }
.elementor-widget .nsc-sh-button:hover .nsc-sh-button-arrow { transform:translateX(4px); }
.elementor-widget .nsc-sh-primary { color:#fff; background:linear-gradient(90deg,var(--nsc-sh-orange),var(--nsc-sh-orange-dark)); box-shadow:none; }
.elementor-widget .nsc-sh-primary:hover { color:#fff; box-shadow:0 16px 44px -18px rgba(244,81,30,.42); }
.elementor-widget .nsc-sh-secondary { color:var(--nsc-sh-blue); background:rgba(255,255,255,.80); border:1px solid var(--nsc-sh-slate-200); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.elementor-widget .nsc-sh-secondary:hover { color:var(--nsc-sh-blue); border-color:rgba(0,183,194,.4); background:#fff; }
.elementor-widget .nsc-sh-inline-icon { display:inline-flex; color:var(--nsc-sh-cyan); font-size:14px; }
.elementor-widget .nsc-sh-intro { max-width:768px; margin-bottom:64px; }
.elementor-widget .nsc-sh-intro.is-centered { margin-inline:auto; text-align:center; }

/* Services Hub hero */
.elementor-widget .nsc-sh-hero-section {
  overflow:hidden; padding:80px 0 112px; background-color:var(--nsc-sh-page);
  background-size:32px 32px;
  background-image:linear-gradient(to right,rgba(30,58,138,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,58,138,.045) 1px,transparent 1px);
}
.elementor-widget .nsc-sh-hero-aura,
.elementor-widget .nsc-sh-audit-aura { position:absolute; inset:0; pointer-events:none; z-index:0; background:radial-gradient(circle at 18% 18%,rgba(30,58,138,.18),transparent 32%),radial-gradient(circle at 74% 22%,rgba(0,183,194,.17),transparent 31%),radial-gradient(circle at 68% 82%,rgba(244,81,30,.14),transparent 30%); }
.elementor-widget .nsc-sh-hero-blur { position:absolute; z-index:0; top:96px; left:50%; width:720px; height:340px; transform:translateX(-50%); border-radius:999px; filter:blur(64px); background:linear-gradient(90deg,rgba(30,58,138,.10),rgba(0,183,194,.10),rgba(244,81,30,.10)); pointer-events:none; }
.elementor-widget .nsc-sh-hero-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; align-items:center; }
.elementor-widget .nsc-sh-hero-copy { min-width:0; }
.elementor-widget .nsc-sh-hero-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px; border:1px solid rgba(0,183,194,.20); background:rgba(255,255,255,.78); color:var(--nsc-sh-blue); box-shadow:0 1px 2px rgba(15,23,42,.05); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.elementor-widget .nsc-sh-hero-heading { max-width:900px; margin-top:28px; font-size:clamp(40px,5vw,64px); line-height:1.06; color:var(--nsc-sh-charcoal); }
.elementor-widget .nsc-sh-hero-description { max-width:672px; margin-top:28px; }
.elementor-widget .nsc-sh-hero-actions { display:flex; flex-wrap:wrap; gap:16px; padding-top:8px; margin-top:24px; }
.elementor-widget .nsc-sh-proof-list { display:flex; flex-wrap:wrap; gap:12px 28px; padding-top:16px; margin-top:16px; color:var(--nsc-sh-slate-500); font-size:14px; }
.elementor-widget .nsc-sh-proof { display:inline-flex; align-items:center; gap:8px; }
.elementor-widget .nsc-sh-proof-check { display:inline-flex; color:var(--nsc-sh-cyan); font-weight:900; }
.elementor-widget .nsc-sh-navigator-border,
.elementor-widget .nsc-sh-audit-border { padding:3px; border-radius:28px; background:linear-gradient(120deg,rgba(30,58,138,.28),rgba(0,183,194,.34),rgba(244,81,30,.28)); box-shadow:0 32px 80px -34px rgba(1,34,74,.24); }
.elementor-widget .nsc-sh-navigator-inner { padding:24px 28px 28px; border-radius:25px; background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.elementor-widget .nsc-sh-navigator-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:20px; margin-bottom:12px; border-bottom:1px solid rgba(226,232,240,.8); }
.elementor-widget .nsc-sh-navigator-label { display:block; color:var(--nsc-sh-cyan); font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.elementor-widget .nsc-sh-navigator-head p { margin:4px 0 0; color:var(--nsc-sh-slate-500); font-size:14px; }
.elementor-widget .nsc-sh-pulse { position:relative; width:12px; height:12px; flex:0 0 12px; border-radius:50%; background:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-pulse:before { content:''; position:absolute; inset:0; border-radius:inherit; background:var(--nsc-sh-cyan); opacity:.4; animation:nsc-sh-ping 1.5s cubic-bezier(0,0,.2,1) infinite; }
@keyframes nsc-sh-ping { 75%,100% { transform:scale(2); opacity:0; } }
.elementor-widget .nsc-sh-navigator-list { display:grid; gap:10px; }
.elementor-widget .nsc-sh-navigator-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px; border:1px solid rgba(226,232,240,.8); border-radius:12px; background:rgba(255,255,255,.70); transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.elementor-widget .nsc-sh-navigator-item:hover { box-shadow:0 1px 4px rgba(15,23,42,.06); }
.elementor-widget .nsc-sh-navigator-item.is-cyan:hover { border-color:rgba(0,183,194,.40); }
.elementor-widget .nsc-sh-navigator-item.is-orange:hover { border-color:rgba(244,81,30,.40); }
.elementor-widget .nsc-sh-nav-service { display:flex; align-items:center; gap:12px; color:var(--nsc-sh-blue); font-size:14px; font-weight:700; min-width:0; }
.elementor-widget .nsc-sh-nav-icon { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex:0 0 32px; border-radius:8px; font-size:14px; }
.elementor-widget .nsc-sh-navigator-item.is-cyan .nsc-sh-nav-icon { background:rgba(0,183,194,.10); color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-navigator-item.is-orange .nsc-sh-nav-icon { background:rgba(244,81,30,.10); color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-nav-arrow { color:var(--nsc-sh-slate-300); font-size:16px; transition:transform .2s ease,color .2s ease; }
.elementor-widget .nsc-sh-navigator-item:hover .nsc-sh-nav-arrow { transform:translateX(4px); }
.elementor-widget .nsc-sh-navigator-item.is-cyan:hover .nsc-sh-nav-arrow { color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-navigator-item.is-orange:hover .nsc-sh-nav-arrow { color:var(--nsc-sh-orange); }

/* Sticky services stack */
.elementor-widget .nsc-sh-stack-section { padding:80px 0 112px; overflow:visible; background:var(--nsc-sh-page); }
.elementor-widget .nsc-sh-stack-aura { position:absolute; z-index:0; inset:0 0 auto; height:560px; pointer-events:none; background:linear-gradient(to bottom,rgba(255,255,255,.60),rgba(0,183,194,.025),transparent); }
.elementor-widget .nsc-sh-service-stack { position:relative; }
.elementor-widget .nsc-sh-stack-item { position:sticky; top:calc(var(--nsc-sh-sticky-top) + (var(--stack-index) * var(--nsc-sh-stack-step))); z-index:calc(10 + var(--stack-index)); margin-bottom:var(--nsc-sh-stack-gap); }
.elementor-widget .nsc-sh-stack-item.is-last { margin-bottom:0; }
.elementor-widget .nsc-sh-service-card { position:relative; min-height:600px; overflow:hidden; padding:48px; border:1px solid rgba(226,232,240,.90); border-radius:30px; background:linear-gradient(135deg,#fff 0%,#fff 56%,rgba(236,254,255,.35) 100%); box-shadow:0 30px 80px -45px rgba(30,58,138,.30); transform-origin:center top; transition:box-shadow .35s ease,border-color .35s ease,transform .35s ease; }
.elementor-widget .nsc-sh-service-card:before { content:''; position:absolute; z-index:2; top:0; left:0; right:0; height:5px; background:var(--service-gradient); }
.elementor-widget .nsc-sh-service-card:after { content:''; position:absolute; width:320px; height:320px; right:-90px; top:-95px; border-radius:50%; background:var(--service-glow); filter:blur(8px); pointer-events:none; }
.elementor-widget .nsc-sh-service-card.is-service-1 { --service-gradient:linear-gradient(90deg,var(--nsc-sh-blue),var(--nsc-sh-cyan)); --service-glow:rgba(0,183,194,.12); background:linear-gradient(135deg,#fff 0%,#fff 60%,rgba(236,254,255,.35) 100%); }
.elementor-widget .nsc-sh-service-card.is-service-2 { --service-gradient:linear-gradient(90deg,var(--nsc-sh-orange),var(--nsc-sh-blue)); --service-glow:rgba(244,81,30,.11); background:linear-gradient(135deg,#fff 0%,#fff 60%,rgba(255,247,237,.35) 100%); }
.elementor-widget .nsc-sh-service-card.is-service-3 { --service-gradient:linear-gradient(90deg,var(--nsc-sh-cyan),var(--nsc-sh-blue)); --service-glow:rgba(30,58,138,.10); background:linear-gradient(135deg,#fff 0%,#fff 60%,rgba(239,246,255,.40) 100%); }
.elementor-widget .nsc-sh-service-card.is-service-4 { --service-gradient:linear-gradient(90deg,var(--nsc-sh-orange),var(--nsc-sh-cyan)); --service-glow:rgba(244,81,30,.10); background:linear-gradient(135deg,#fff 0%,#fff 60%,rgba(255,247,237,.30) 100%); }
.elementor-widget .nsc-sh-service-card.is-service-5 { --service-gradient:linear-gradient(90deg,var(--nsc-sh-blue),var(--nsc-sh-orange)); --service-glow:rgba(30,58,138,.11); background:linear-gradient(135deg,#fff 0%,#fff 60%,rgba(239,246,255,.30) 100%); }
.elementor-widget .nsc-sh-stack-item.is-stacked .nsc-sh-service-card { box-shadow:0 24px 68px -38px rgba(1,34,74,.33); }
.elementor-widget .nsc-sh-service-grid { position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:56px; align-items:center; min-height:500px; }
.elementor-widget .nsc-sh-service-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; font-family:'JetBrains Mono',monospace; font-size:11px; }
.elementor-widget .nsc-sh-service-meta > :first-child { font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.elementor-widget .nsc-sh-service-meta > :last-child { color:var(--nsc-sh-slate-400); }
.elementor-widget .nsc-sh-service-meta .is-cyan { color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-service-meta .is-orange { color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-service-icon { display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:28px; border-radius:16px; font-size:24px; }
.elementor-widget .nsc-sh-service-icon.is-cyan { color:var(--nsc-sh-cyan); background:rgba(0,183,194,.10); }
.elementor-widget .nsc-sh-service-icon.is-orange { color:var(--nsc-sh-orange); background:rgba(244,81,30,.10); }
.elementor-widget .nsc-sh-service-title { margin:0; color:var(--nsc-sh-blue); font-size:clamp(30px,3.4vw,40px); line-height:1.14; font-weight:800; letter-spacing:-.03em; }
.elementor-widget .nsc-sh-service-description { max-width:672px; margin:20px 0 0; color:var(--nsc-sh-slate-600); line-height:1.72; }
.elementor-widget .nsc-sh-capabilities { margin-top:32px; }
.elementor-widget .nsc-sh-capabilities > p { margin:0 0 16px; color:var(--nsc-sh-slate-400); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.elementor-widget .nsc-sh-capabilities > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.elementor-widget .nsc-sh-capability { display:flex; gap:12px; padding:14px; border:1px solid rgba(226,232,240,.80); border-radius:12px; background:rgba(255,255,255,.70); color:var(--nsc-sh-slate-700); font-size:14px; font-weight:600; line-height:1.45; }
.elementor-widget .nsc-sh-capability-check { flex:0 0 auto; margin-top:1px; font-weight:900; }
.elementor-widget .nsc-sh-capability-check.is-cyan { color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-capability-check.is-orange { color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-service-cta { display:inline-flex; align-items:center; gap:8px; margin-top:32px; color:var(--nsc-sh-blue); font-size:14px; font-weight:800; transition:color .2s ease; }
.elementor-widget .nsc-sh-service-cta span { transition:transform .2s ease; }
.elementor-widget .nsc-sh-service-cta:hover { color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-service-cta:hover span { transform:translateX(4px); }
.elementor-widget .nsc-sh-service-visual { padding:28px; border:1px solid rgba(226,232,240,.90); border-radius:24px; background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(248,250,252,.86)); box-shadow:0 24px 70px -34px rgba(30,58,138,.22); }
.elementor-widget .nsc-sh-visual-grid { background-color:rgba(255,255,255,.92); background-size:22px 22px; background-image:linear-gradient(to right,rgba(30,58,138,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,58,138,.045) 1px,transparent 1px); }
.elementor-widget .nsc-sh-visual-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; color:var(--nsc-sh-slate-400); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.elementor-widget .nsc-sh-visual-badge { padding:4px 10px; border-radius:999px; background:rgba(0,183,194,.10); color:var(--nsc-sh-cyan); letter-spacing:0; }
.elementor-widget .is-service-2 .nsc-sh-visual-badge { background:rgba(244,81,30,.10); color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-architecture-flow { display:grid; gap:12px; }
.elementor-widget .nsc-sh-flow-row { position:relative; display:flex; align-items:center; gap:12px; margin-left:calc(var(--flow-indent) * 20px); padding:16px; border-radius:12px; border:1px solid rgba(30,58,138,.10); background:#fff; }
.elementor-widget .nsc-sh-flow-row:not(:last-child):after { content:''; position:absolute; left:50%; top:100%; width:1px; height:26px; background:linear-gradient(to bottom,rgba(30,58,138,.24),rgba(0,183,194,.08)); }
.elementor-widget .nsc-sh-flow-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; flex:0 0 40px; border-radius:12px; }
.elementor-widget .nsc-sh-flow-row.is-navy .nsc-sh-flow-icon { color:var(--nsc-sh-blue); background:rgba(30,58,138,.10); }
.elementor-widget .nsc-sh-flow-row.is-cyan .nsc-sh-flow-icon { color:var(--nsc-sh-cyan); background:rgba(0,183,194,.10); }
.elementor-widget .nsc-sh-flow-row.is-orange .nsc-sh-flow-icon { color:var(--nsc-sh-orange); background:rgba(244,81,30,.10); }
.elementor-widget .nsc-sh-flow-row strong,
.elementor-widget .nsc-sh-migration-row strong { display:block; color:var(--nsc-sh-blue); font-size:14px; }
.elementor-widget .nsc-sh-flow-row span:not(.nsc-sh-flow-icon),
.elementor-widget .nsc-sh-migration-row div span { display:block; margin-top:2px; color:var(--nsc-sh-slate-500); font-size:12px; }
.elementor-widget .nsc-sh-chip-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.elementor-widget .nsc-sh-chip-list span { padding:6px 12px; border:1px solid var(--nsc-sh-slate-200); border-radius:8px; background:#fff; color:var(--nsc-sh-blue); font-size:11px; font-weight:700; }
.elementor-widget .nsc-sh-redesign-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.elementor-widget .nsc-sh-site-mock { padding:12px; border-radius:16px; border:1px solid var(--nsc-sh-slate-200); }
.elementor-widget .nsc-sh-site-mock.is-before { background:var(--nsc-sh-slate-100); opacity:.75; }
.elementor-widget .nsc-sh-site-mock.is-after { background:#fff; border-color:rgba(0,183,194,.20); box-shadow:0 1px 2px rgba(15,23,42,.06); }
.elementor-widget .nsc-sh-mock-logo { display:block; width:64px; height:12px; margin-bottom:12px; border-radius:999px; background:var(--nsc-sh-slate-300); }
.elementor-widget .nsc-sh-mock-hero { display:flex; align-items:center; justify-content:center; height:96px; margin-bottom:12px; border-radius:12px; background:var(--nsc-sh-slate-200); color:var(--nsc-sh-slate-400); }
.elementor-widget .nsc-sh-copy-line { display:block; height:8px; margin-top:8px; border-radius:999px; background:var(--nsc-sh-slate-300); }
.elementor-widget .nsc-sh-copy-line.is-short { width:80%; }
.elementor-widget .nsc-sh-copy-line.is-shorter { width:66%; }
.elementor-widget .nsc-sh-mock-button { display:block; height:32px; margin-top:16px; border-radius:8px; background:var(--nsc-sh-slate-300); }
.elementor-widget .nsc-sh-modern-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.elementor-widget .nsc-sh-modern-head span { display:block; width:56px; height:12px; border-radius:999px; background:var(--nsc-sh-blue); }
.elementor-widget .nsc-sh-modern-head i { display:block; width:32px; height:8px; border-radius:999px; background:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-modern-hero { display:flex; align-items:flex-end; height:96px; padding:12px; margin-bottom:12px; border-radius:12px; background:linear-gradient(135deg,rgba(30,58,138,.10),rgba(0,183,194,.10),rgba(244,81,30,.10)); }
.elementor-widget .nsc-sh-modern-hero b { display:block; width:64px; height:12px; border-radius:999px; background:rgba(30,58,138,.70); }
.elementor-widget .nsc-sh-modern-line { display:block; height:8px; margin-top:8px; border-radius:999px; }
.elementor-widget .nsc-sh-modern-line.is-navy { background:rgba(30,58,138,.15); }
.elementor-widget .nsc-sh-modern-line.is-cyan { width:80%; background:rgba(0,183,194,.20); }
.elementor-widget .nsc-sh-modern-line.is-orange { width:66%; background:rgba(244,81,30,.20); }
.elementor-widget .nsc-sh-modern-button { display:block; height:32px; margin-top:16px; border-radius:8px; background:linear-gradient(90deg,var(--nsc-sh-orange),var(--nsc-sh-orange-dark)); }
.elementor-widget .nsc-sh-deliverables { margin-top:20px; padding:16px; border:1px solid var(--nsc-sh-slate-200); border-radius:12px; background:#fff; }
.elementor-widget .nsc-sh-deliverables small { display:block; color:var(--nsc-sh-slate-400); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.elementor-widget .nsc-sh-deliverables div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:12px; color:var(--nsc-sh-slate-600); font-size:11px; font-weight:700; }
.elementor-widget .nsc-sh-performance-card { padding:24px; border:1px solid var(--nsc-sh-slate-200); border-radius:16px; background:#fff; text-align:center; }
.elementor-widget .nsc-sh-score-ring { display:flex; align-items:center; justify-content:center; width:144px; height:144px; margin-inline:auto; border-radius:50%; background:conic-gradient(var(--nsc-sh-cyan) 0 92%,var(--nsc-sh-slate-200) 92% 100%); position:relative; }
.elementor-widget .nsc-sh-score-ring:before { content:''; position:absolute; inset:11px; border-radius:50%; background:#fff; }
.elementor-widget .nsc-sh-score-ring div { position:relative; z-index:1; }
.elementor-widget .nsc-sh-score-ring strong { display:block; color:var(--nsc-sh-blue); font-size:36px; line-height:1; font-weight:900; }
.elementor-widget .nsc-sh-score-ring span { display:block; margin-top:5px; color:var(--nsc-sh-slate-400); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.elementor-widget .nsc-sh-vitals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:24px; }
.elementor-widget .nsc-sh-vitals div { padding:12px; border-radius:12px; }
.elementor-widget .nsc-sh-vitals .is-navy { background:#EFF6FF; color:var(--nsc-sh-blue); }
.elementor-widget .nsc-sh-vitals .is-cyan { background:#ECFEFF; color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-vitals .is-orange { background:#FFF7ED; color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-vitals strong { display:block; font-size:14px; }
.elementor-widget .nsc-sh-vitals span { display:block; margin-top:2px; color:var(--nsc-sh-slate-500); font-size:10px; }
.elementor-widget .nsc-sh-visual-note { margin:16px 0 0; color:var(--nsc-sh-slate-500); font-size:12px; line-height:1.6; }
.elementor-widget .nsc-sh-security-card { padding:20px; border:1px solid var(--nsc-sh-slate-200); border-radius:16px; background:#fff; }
.elementor-widget .nsc-sh-security-score { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:16px; border-bottom:1px solid var(--nsc-sh-slate-100); }
.elementor-widget .nsc-sh-security-score strong { display:block; color:var(--nsc-sh-blue); font-size:30px; line-height:1.1; font-weight:900; }
.elementor-widget .nsc-sh-security-score span { display:block; margin-top:2px; color:var(--nsc-sh-slate-500); font-size:12px; }
.elementor-widget .nsc-sh-security-icon { display:flex !important; align-items:center; justify-content:center; width:56px; height:56px; margin:0 !important; border-radius:16px; color:var(--nsc-sh-orange) !important; background:rgba(244,81,30,.10); font-size:24px !important; }
.elementor-widget .nsc-sh-security-rows { display:grid; gap:12px; margin-top:16px; }
.elementor-widget .nsc-sh-security-rows div { display:flex; justify-content:space-between; gap:16px; font-size:12px; }
.elementor-widget .nsc-sh-security-rows span { color:var(--nsc-sh-slate-500); }
.elementor-widget .nsc-sh-security-rows strong { color:var(--nsc-sh-blue); }
.elementor-widget .nsc-sh-security-rows div:nth-child(1) strong,
.elementor-widget .nsc-sh-security-rows div:nth-child(3) strong { color:#059669; }
.elementor-widget .nsc-sh-security-note { margin-top:16px; padding:16px; border:1px solid rgba(244,81,30,.10); border-radius:12px; background:rgba(244,81,30,.05); color:var(--nsc-sh-slate-600); font-size:12px; }
.elementor-widget .nsc-sh-security-note span { margin-right:8px; color:var(--nsc-sh-orange); }
.elementor-widget .nsc-sh-migration-flow { display:grid; gap:12px; }
.elementor-widget .nsc-sh-migration-row { display:flex; align-items:center; gap:12px; margin-left:calc(var(--migration-indent) * 16px); padding:16px; border:1px solid var(--nsc-sh-slate-200); border-radius:12px; background:#fff; }
.elementor-widget .nsc-sh-migration-num { display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex:0 0 36px; border-radius:8px; font-size:14px; font-weight:800; }
.elementor-widget .nsc-sh-migration-num.is-navy { color:var(--nsc-sh-blue); background:rgba(30,58,138,.10); }
.elementor-widget .nsc-sh-migration-num.is-cyan { color:var(--nsc-sh-cyan); background:rgba(0,183,194,.10); }
.elementor-widget .nsc-sh-migration-num.is-orange { color:var(--nsc-sh-orange); background:rgba(244,81,30,.10); }
.elementor-widget .nsc-sh-migration-num.is-green { color:#059669; background:#ECFDF5; }

/* Matrix */
.elementor-widget .nsc-sh-matrix-section { overflow:hidden; padding:96px 0; background:var(--nsc-sh-page); }
.elementor-widget .nsc-sh-matrix-aura { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to bottom,transparent,rgba(239,246,255,.45),transparent); }
.elementor-widget .nsc-sh-matrix-wrap { position:relative; overflow:hidden; border:1px solid var(--nsc-sh-slate-200); border-radius:24px; background:#fff; box-shadow:0 24px 70px -34px rgba(30,58,138,.22); }
.elementor-widget .nsc-sh-matrix-wrap:before { content:''; position:absolute; z-index:2; inset:0 0 auto; height:4px; background:linear-gradient(90deg,var(--nsc-sh-blue),var(--nsc-sh-cyan),var(--nsc-sh-orange)); }
.elementor-widget .nsc-sh-table-scroll { overflow-x:auto; }
.elementor-widget .nsc-sh-matrix-wrap table { width:100%; min-width:820px; border-collapse:collapse; text-align:left; }
.elementor-widget .nsc-sh-matrix-wrap thead { background:rgba(248,250,252,.80); border-bottom:1px solid var(--nsc-sh-slate-200); color:var(--nsc-sh-slate-500); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.elementor-widget .nsc-sh-matrix-wrap th,
.elementor-widget .nsc-sh-matrix-wrap td { padding:20px 24px; }
.elementor-widget .nsc-sh-matrix-wrap tbody { color:var(--nsc-sh-slate-600); font-size:14px; }
.elementor-widget .nsc-sh-matrix-wrap tbody tr { border-top:1px solid var(--nsc-sh-slate-100); transition:background .2s ease; }
.elementor-widget .nsc-sh-matrix-wrap tbody tr:first-child { border-top:0; }
.elementor-widget .nsc-sh-matrix-wrap tbody tr.is-cyan:hover { background:rgba(236,254,255,.30); }
.elementor-widget .nsc-sh-matrix-wrap tbody tr.is-orange:hover { background:rgba(255,247,237,.30); }
.elementor-widget .nsc-sh-matrix-wrap td > strong { color:var(--nsc-sh-blue); }
.elementor-widget .nsc-sh-timeline { display:inline-block; padding:6px 10px; border-radius:8px; background:var(--nsc-sh-slate-100); font-family:'JetBrains Mono',monospace; font-size:12px; }
.elementor-widget .nsc-sh-matrix-wrap b.is-cyan { color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-matrix-wrap b.is-orange { color:var(--nsc-sh-orange); }

/* Process */
.elementor-widget .nsc-sh-process-section { padding:96px 0; border-top:1px solid var(--nsc-sh-slate-100); border-bottom:1px solid var(--nsc-sh-slate-100); background:rgba(255,255,255,.55); }
.elementor-widget .nsc-sh-process-line { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.elementor-widget .nsc-sh-process-line:before { content:''; position:absolute; z-index:0; left:12.5%; right:12.5%; top:24px; height:2px; background:linear-gradient(90deg,rgba(30,58,138,.18),rgba(0,183,194,.28),rgba(244,81,30,.18)); }
.elementor-widget .nsc-sh-process-step { position:relative; z-index:1; }
.elementor-widget .nsc-sh-step-number { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid rgba(30,58,138,.15); border-radius:16px; background:#fff; box-shadow:0 1px 2px rgba(15,23,42,.05); color:var(--nsc-sh-blue); font-family:'JetBrains Mono',monospace; font-weight:800; }
.elementor-widget .nsc-sh-step-number.is-cyan { color:var(--nsc-sh-cyan); border-color:rgba(0,183,194,.20); }
.elementor-widget .nsc-sh-step-number.is-orange { color:var(--nsc-sh-orange); border-color:rgba(244,81,30,.20); }
.elementor-widget .nsc-sh-step-title { margin:20px 0 0; color:var(--nsc-sh-blue); font-size:18px; font-weight:800; }
.elementor-widget .nsc-sh-step-text { margin:8px 0 0; color:var(--nsc-sh-slate-600); font-size:14px; line-height:1.65; }

/* Audit CTA / JFB wrapper */
.elementor-widget .nsc-sh-audit-section { overflow:hidden; padding:96px 0; background-color:var(--nsc-sh-page); background-size:32px 32px; background-image:linear-gradient(to right,rgba(30,58,138,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(30,58,138,.045) 1px,transparent 1px); }
.elementor-widget .nsc-sh-audit-aura { opacity:.8; }
.elementor-widget .nsc-sh-audit-shell { width:min(calc(100% - 48px),1024px); margin-inline:auto; position:relative; z-index:2; }
.elementor-widget .nsc-sh-audit-border { border-radius:30px; padding:2px; }
.elementor-widget .nsc-sh-audit-inner { padding:48px; border-radius:28px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.elementor-widget .nsc-sh-audit-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:40px; align-items:start; }
.elementor-widget .nsc-sh-audit-copy .nsc-sh-kicker { padding:0; background:transparent; border-radius:0; }
.elementor-widget .nsc-sh-audit-copy .nsc-sh-heading { margin-top:16px; font-size:clamp(30px,3vw,40px); }
.elementor-widget .nsc-sh-audit-copy .nsc-sh-description { margin-top:16px; font-size:14px; line-height:1.7; }
.elementor-widget .nsc-sh-audit-benefits { display:grid; gap:12px; margin-top:28px; }
.elementor-widget .nsc-sh-audit-benefit { display:flex; align-items:center; gap:12px; color:var(--nsc-sh-slate-600); font-size:14px; }
.elementor-widget .nsc-sh-audit-benefit-icon { display:flex; align-items:center; justify-content:center; width:32px; height:32px; flex:0 0 32px; border-radius:8px; }
.elementor-widget .nsc-sh-audit-benefit-icon.is-cyan { color:var(--nsc-sh-cyan); background:rgba(0,183,194,.10); }
.elementor-widget .nsc-sh-audit-benefit-icon.is-navy { color:var(--nsc-sh-blue); background:rgba(30,58,138,.10); }
.elementor-widget .nsc-sh-audit-benefit-icon.is-orange { color:var(--nsc-sh-orange); background:rgba(244,81,30,.10); }
.elementor-widget .nsc-sh-form-wrap,
.elementor-widget .nsc-sh-form-wrap form { width:100%; }
.elementor-widget .nsc-sh-form-wrap .jet-form-builder { display:grid; gap:16px; }
.elementor-widget .nsc-sh-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.elementor-widget .nsc-sh-form-wrap input,
.elementor-widget .nsc-sh-form-wrap select,
.elementor-widget .nsc-sh-form-wrap textarea,
.elementor-widget .nsc-sh-form-wrap .jet-form-builder__field { width:100%; padding:14px 16px; border:1px solid var(--nsc-sh-slate-200); border-radius:12px; background:#fff; color:var(--nsc-sh-charcoal); outline:none; box-shadow:none; transition:border-color .2s ease,box-shadow .2s ease; }
.elementor-widget .nsc-sh-form-wrap input:focus,
.elementor-widget .nsc-sh-form-wrap select:focus,
.elementor-widget .nsc-sh-form-wrap textarea:focus,
.elementor-widget .nsc-sh-form-wrap .jet-form-builder__field:focus { border-color:var(--nsc-sh-cyan); box-shadow:0 0 0 3px rgba(0,183,194,.15); }
.elementor-widget .nsc-sh-form-wrap input::placeholder,
.elementor-widget .nsc-sh-form-wrap textarea::placeholder { color:var(--nsc-sh-slate-400); }
.elementor-widget .nsc-sh-form-wrap button[type="submit"],
.elementor-widget .nsc-sh-form-wrap .jet-form-builder__submit { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:56px; padding:16px; border:0; border-radius:12px; background:linear-gradient(90deg,var(--nsc-sh-orange),var(--nsc-sh-orange-dark)); color:#fff; font-weight:800; cursor:pointer; transition:box-shadow .2s ease,transform .2s ease; }
.elementor-widget .nsc-sh-form-wrap button[type="submit"]:hover,
.elementor-widget .nsc-sh-form-wrap .jet-form-builder__submit:hover { box-shadow:0 16px 44px -18px rgba(244,81,30,.42); transform:none; }


/* Exact approved HTML icon treatment + Elementor icon overrides */
.elementor-widget .nsc-sh-inline-icon svg,
.elementor-widget .nsc-sh-button-arrow svg,
.elementor-widget .nsc-sh-proof-check svg,
.elementor-widget .nsc-sh-nav-icon svg,
.elementor-widget .nsc-sh-nav-arrow svg,
.elementor-widget .nsc-sh-service-icon svg,
.elementor-widget .nsc-sh-capability-check svg,
.elementor-widget .nsc-sh-link-arrow svg,
.elementor-widget .nsc-sh-flow-icon svg,
.elementor-widget .nsc-sh-image-placeholder svg,
.elementor-widget .nsc-sh-security-icon svg,
.elementor-widget .nsc-sh-security-verified-icon svg,
.elementor-widget .nsc-sh-note-icon svg,
.elementor-widget .nsc-sh-migration-num svg,
.elementor-widget .nsc-sh-audit-benefit-icon svg { width:1em; height:1em; color:inherit; }
.elementor-widget .nsc-sh-inline-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-proof-check svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-nav-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-service-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-capability-check svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-flow-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-image-placeholder svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-security-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-security-verified-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-note-icon svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-migration-num svg:not(.nsc-sh-brand-arrow) path,
.elementor-widget .nsc-sh-audit-benefit-icon svg:not(.nsc-sh-brand-arrow) path { fill:currentColor; }
.elementor-widget .nsc-sh-brand-arrow path { fill:none !important; stroke:currentColor; }
.elementor-widget .nsc-sh-button-arrow,
.elementor-widget .nsc-sh-nav-arrow,
.elementor-widget .nsc-sh-link-arrow { display:inline-flex; align-items:center; justify-content:center; font-size:12px; line-height:1; }
.elementor-widget .nsc-sh-proof-check { font-size:14px; }
.elementor-widget .nsc-sh-capability-check { font-size:14px; }
.elementor-widget .nsc-sh-security-verified-icon { display:inline-flex; align-items:center; justify-content:center; margin-right:4px; font-size:10px; vertical-align:middle; }
.elementor-widget .nsc-sh-note-icon { display:inline-flex; align-items:center; justify-content:center; margin-right:8px; font-size:12px; }
.elementor-widget .nsc-sh-migration-num svg { width:12px; height:12px; }

@media (max-width:1023px) {
  .elementor-widget .nsc-sh-hero-grid,
  .elementor-widget .nsc-sh-service-grid,
  .elementor-widget .nsc-sh-audit-grid { grid-template-columns:1fr; }
  .elementor-widget .nsc-sh-service-grid { gap:40px; }
  .elementor-widget .nsc-sh-stack-item { position:relative; top:auto; z-index:auto; margin-bottom:28px; }
  .elementor-widget .nsc-sh-stack-item.is-last { margin-bottom:0; }
  .elementor-widget .nsc-sh-service-card { min-height:0; }
  .elementor-widget .nsc-sh-process-line { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .elementor-widget .nsc-sh-process-line:before { display:none; }
  .elementor-widget .nsc-sh-process-step { text-align:center; }
  .elementor-widget .nsc-sh-step-number { margin-inline:auto; }
}
@media (max-width:767px) {
  .elementor-widget .nsc-sh-shell,
  .elementor-widget .nsc-sh-audit-shell { width:min(calc(100% - 32px),1280px); }
  .elementor-widget .nsc-sh-hero-section { padding:64px 0 80px; }
  .elementor-widget .nsc-sh-stack-section,
  .elementor-widget .nsc-sh-matrix-section,
  .elementor-widget .nsc-sh-process-section,
  .elementor-widget .nsc-sh-audit-section { padding:72px 0; }
  .elementor-widget .nsc-sh-hero-heading { font-size:clamp(38px,11vw,52px); }
  .elementor-widget .nsc-sh-hero-actions .nsc-sh-button { width:100%; }
  .elementor-widget .nsc-sh-navigator-inner { padding:20px; }
  .elementor-widget .nsc-sh-service-card { padding:28px; border-radius:24px; }
  .elementor-widget .nsc-sh-capabilities > div,
  .elementor-widget .nsc-sh-redesign-preview,
  .elementor-widget .nsc-sh-process-line,
  .elementor-widget .nsc-sh-form-row { grid-template-columns:1fr; }
  .elementor-widget .nsc-sh-service-meta { align-items:flex-start; flex-direction:column; gap:6px; }
  .elementor-widget .nsc-sh-service-visual { padding:20px; }
  .elementor-widget .nsc-sh-flow-row,
  .elementor-widget .nsc-sh-migration-row { margin-left:0; }
  .elementor-widget .nsc-sh-deliverables div { grid-template-columns:1fr; }
  .elementor-widget .nsc-sh-audit-inner { padding:28px; }
}
@media (prefers-reduced-motion:reduce) {
  .elementor-widget .nsc-sh *,
  .elementor-widget .nsc-sh *:before,
  .elementor-widget .nsc-sh *:after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}

.elementor-widget .nsc-sh-image-placeholder { display:inline-flex; align-items:center; justify-content:center; color:var(--nsc-sh-slate-400); font-size:14px; line-height:1; }

/* Audit CTA form source: Elementor saved-template / shortcode / blank. */
.elementor-widget .nsc-sh-form-placeholder {
  min-height:240px; width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  border:1px dashed rgba(0,183,194,.42); border-radius:16px; background:rgba(248,250,252,.62); color:var(--nsc-sh-slate-500); text-align:center; padding:28px;
}
.elementor-widget .nsc-sh-form-placeholder > span { font-size:28px; color:var(--nsc-sh-cyan); }
.elementor-widget .nsc-sh-form-placeholder p { margin:0; max-width:360px; font-size:13px; line-height:1.6; }
.elementor-widget .nsc-sh-form-wrap > .elementor { width:100%; }

/* Saved Elementor template containment.
 * A Library template can carry its own top-level --width/--content-width values.
 * Rebase only the embedded template root to the CTA form column and leave all
 * inner Elementor flex/grid proportions intact. */
.elementor-widget .nsc-sh-audit-grid > * { min-width:0; }
.elementor-widget .nsc-sh-form-wrap { min-width:0; max-width:100%; }
.elementor-widget .nsc-sh-template-embed { width:100%; max-width:100%; min-width:0; container-type:inline-size; }
.elementor-widget .nsc-sh-template-embed > .elementor { width:100% !important; max-width:100% !important; min-width:0; }
.elementor-widget .nsc-sh-template-embed > .elementor > .elementor-element,
.elementor-widget .nsc-sh-template-embed > .elementor > .e-con {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  --width:100% !important;
  --content-width:100% !important;
}
.elementor-widget .nsc-sh-template-embed .e-con,
.elementor-widget .nsc-sh-template-embed .e-con-inner,
.elementor-widget .nsc-sh-template-embed .elementor-widget,
.elementor-widget .nsc-sh-template-embed .elementor-widget-container,
.elementor-widget .nsc-sh-template-embed form,
.elementor-widget .nsc-sh-template-embed .jet-form-builder,
.elementor-widget .nsc-sh-template-embed .jet-form-builder-row,
.elementor-widget .nsc-sh-template-embed .jet-form-builder__row {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.elementor-widget .nsc-sh-template-embed input,
.elementor-widget .nsc-sh-template-embed select,
.elementor-widget .nsc-sh-template-embed textarea,
.elementor-widget .nsc-sh-template-embed iframe,
.elementor-widget .nsc-sh-template-embed .wp-editor-wrap,
.elementor-widget .nsc-sh-template-embed .mce-tinymce,
.elementor-widget .nsc-sh-template-embed .mce-container,
.elementor-widget .nsc-sh-template-embed .tox-tinymce {
  max-width:100% !important;
  box-sizing:border-box;
}
.elementor-widget .nsc-sh-template-embed .wp-editor-wrap,
.elementor-widget .nsc-sh-template-embed .mce-tinymce,
.elementor-widget .nsc-sh-template-embed .tox-tinymce { width:100% !important; }
