/* NuroSparx free tools: hero (matches the two reference visuals: copy left, dashboard right). */
.nx-tool-hero{--nx-red:#ca1936;--nx-navy:#1a2238;--nx-ink:#12152a;--nx-muted:#5f6577;--nx-blue:#2f5bea;
  background:linear-gradient(135deg,#fafafa 0%,#f3f5fb 55%,#e9eefc 100%);padding:56px 16px 24px;overflow:hidden}
.nx-tool-hero__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center}
.nx-tool-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;background:#e6edff;color:var(--nx-blue);font-weight:600;font-size:15px;padding:8px 16px;border-radius:12px;margin-bottom:22px}
.nx-tool-hero h1{font-size:clamp(38px,5.6vw,72px);line-height:1.02;letter-spacing:-.02em;font-weight:800;color:var(--nx-ink);margin:0 0 20px}
.nx-tool-hero__intro{font-size:clamp(17px,1.6vw,22px);line-height:1.5;color:var(--nx-muted);margin:0 0 28px;max-width:560px}
.nx-tool-hero__cta{display:inline-flex;align-items:center;gap:10px;background:var(--nx-red);color:#fff !important;text-decoration:none;font-weight:700;font-size:clamp(17px,1.5vw,22px);padding:18px 34px;border-radius:14px;box-shadow:0 10px 24px rgba(202,25,54,.28);min-height:56px}
.nx-tool-hero__cta:hover{background:#a8142c}
.nx-tool-hero__features{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;gap:28px 32px}
.nx-tool-hero__features li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font-size:14px;color:#3b4052;max-width:120px;line-height:1.3}
.nx-tool-hero__icon{width:56px;height:56px;border-radius:50%;display:block;position:relative}
.nx-tool-hero__icon::after{content:"";position:absolute;inset:18px;border-radius:4px}
.nx-tool-hero__icon--0{background:#e6edff}.nx-tool-hero__icon--0::after{background:var(--nx-blue);border-radius:50%;inset:20px}
.nx-tool-hero__icon--1{background:#f1e8ff}.nx-tool-hero__icon--1::after{background:#7c3aed;clip-path:polygon(0 100%,0 40%,35% 40%,35% 0,65% 0,65% 40%,100% 40%,100% 100%)}
.nx-tool-hero__icon--2{background:#e4f7ec}.nx-tool-hero__icon--2::after{background:#16a34a;clip-path:polygon(0 100%,0 60%,30% 60%,30% 30%,60% 30%,60% 0,100% 0,100% 100%)}
.nx-tool-hero__icon--3{background:#fde7ea}.nx-tool-hero__icon--3::after{background:var(--nx-red);clip-path:polygon(0 100%,0 70%,30% 40%,55% 65%,100% 10%,100% 100%)}
.nx-tool-hero__visual img{width:100%;height:auto;display:block;border-radius:18px;filter:drop-shadow(0 24px 40px rgba(26,34,56,.14))}
.nx-tool-hero--hub{padding-bottom:8px}
.nx-tool-hero--hub .nx-tool-hero__inner{grid-template-columns:1fr}
.nx-tool-hero--hub .nx-tool-hero__copy{max-width:760px}
.nx-hub__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:8px}
.nx-hub__card{display:block;background:#fff;border:1px solid #dedad4;border-radius:14px;padding:0 0 22px;text-decoration:none;color:inherit;overflow:hidden}
.nx-hub__card:hover{border-color:#ca1936;box-shadow:0 10px 30px rgba(26,34,56,.08)}
.nx-hub__card img{width:100%;height:220px;object-fit:cover;object-position:top;display:block;margin-bottom:18px}
.nx-hub__card h2{font-size:22px;margin:0 22px 8px;color:#1a2238}
.nx-hub__card p{margin:0 22px 14px;color:#5f6577}
.nx-hub__more{display:block;margin:0 22px;color:#ca1936;font-weight:700}
@media (max-width:900px){.nx-tool-hero__inner{grid-template-columns:1fr;gap:28px}.nx-tool-hero{padding:36px 16px 16px}.nx-tool-hero__visual{order:2}.nx-tool-hero__features{gap:20px 18px}.nx-tool-hero__features li{max-width:96px;font-size:13px}.nx-tool-hero__icon{width:48px;height:48px}.nx-hub__grid{grid-template-columns:1fr}}

/* NuroSparx free tools: shared styles. Scoped under .nx-tool so the theme CSS stays untouched. */
.nx-tool{--nx-red:#ca1936;--nx-navy:#1a2238;--nx-yellow:#f5c518;--nx-canvas:#f7f6f4;--nx-surface:#fff;--nx-line:#dedad4;--nx-ink:#1a1917;--nx-muted:#6b665e;--nx-faint:#98928a;
  font-family:inherit;color:var(--nx-ink);max-width:1040px;margin:0 auto;padding:32px 16px 64px;box-sizing:border-box;line-height:1.5;background:var(--nx-canvas);box-shadow:0 0 0 100vmax var(--nx-canvas);clip-path:inset(0 -100vmax)}
/* The site runs a dark theme by default. The band above keeps the calculator on its own light canvas in both themes. */
.nx-tool h2,.nx-tool h3,.nx-tool p,.nx-tool li,.nx-tool td,.nx-tool th,.nx-tool summary{color:inherit}
.nx-tool h2,.nx-tool h3,.nx-tool summary,.nx-table th{color:var(--nx-navy)}
.nx-tool p,.nx-tool li,.nx-tool td{color:var(--nx-ink)}
.nx-tool .nx-hint,.nx-tool .nx-src,.nx-tool .nx-note{color:var(--nx-muted)}
.nx-tool .nx-result,.nx-tool .nx-result p,.nx-tool .nx-result li,.nx-tool .nx-result span,.nx-tool .nx-result strong,.nx-tool .nx-result h2{color:#fff}
.nx-tool *,.nx-tool *::before,.nx-tool *::after{box-sizing:border-box}
.nx-tool h1{font-size:clamp(28px,4.5vw,42px);line-height:1.15;margin:0 0 12px;color:var(--nx-navy);font-weight:700}
.nx-tool h2{font-size:clamp(22px,3vw,28px);margin:40px 0 12px;color:var(--nx-navy);font-weight:700}
.nx-tool h3{font-size:18px;margin:20px 0 6px;color:var(--nx-navy);font-weight:600}
.nx-tool p{margin:0 0 12px}
.nx-tool .nx-lede{font-size:18px;color:var(--nx-muted);max-width:720px;margin-bottom:28px}
.nx-tool a{color:var(--nx-red)}
.nx-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.nx-card{background:var(--nx-surface);border:1px solid var(--nx-line);border-radius:12px;padding:24px}
.nx-field{margin-bottom:18px}
.nx-field label{display:block;font-weight:600;margin-bottom:6px;font-size:15px}
.nx-field .nx-hint{display:block;font-size:13px;color:var(--nx-muted);margin-top:4px;font-weight:400}
.nx-field input[type=number],.nx-field input[type=text],.nx-field select{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1px solid var(--nx-line);border-radius:8px;background:#fff;color:var(--nx-ink);min-height:48px}
.nx-field input:focus,.nx-field select:focus{outline:3px solid rgba(202,25,54,.25);border-color:var(--nx-red)}
.nx-inline{display:flex;gap:12px}
.nx-inline .nx-field{flex:1}
.nx-prefix{position:relative}
.nx-prefix span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--nx-muted);font-size:16px}
.nx-field .nx-prefix input{padding-left:30px}
.nx-radio{display:flex;flex-wrap:wrap;gap:8px}
.nx-radio label{flex:1 1 140px;border:1px solid var(--nx-line);border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:600;font-size:15px;min-height:48px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;margin:0}
.nx-radio .nx-hint{grid-column:2;margin-top:2px;font-weight:400}
.nx-radio input{margin:0;accent-color:var(--nx-red)}
.nx-radio label:has(input:checked){border-color:var(--nx-red);background:#fff5f6}
.nx-result{background:var(--nx-navy);color:#fff;border-radius:12px;padding:24px;position:sticky;top:16px}
.nx-result h2{color:#fff;margin:0 0 4px;font-size:16px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;opacity:.8}
.nx-big{font-size:clamp(34px,5vw,48px);font-weight:700;line-height:1.1;margin:0 0 4px;font-variant-numeric:tabular-nums}
.nx-sub{opacity:.85;margin:0 0 20px;font-size:15px}
.nx-rows{list-style:none;padding:0;margin:0 0 20px;border-top:1px solid rgba(255,255,255,.18)}
.nx-rows li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:15px}
.nx-rows li strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.nx-cta{display:block;width:100%;text-align:center;background:var(--nx-red);color:#fff !important;text-decoration:none;font-weight:700;font-size:17px;padding:16px 20px;border-radius:10px;min-height:52px}
.nx-cta:hover{background:#a8142c}
.nx-cta-note{font-size:13px;opacity:.8;margin:10px 0 0;text-align:center}
.nx-note{font-size:14px;color:var(--nx-muted);border-left:3px solid var(--nx-yellow);padding:8px 12px;margin:16px 0;background:#fffbe8}
.nx-faq details{border-top:1px solid var(--nx-line);padding:14px 0}
.nx-faq details:last-child{border-bottom:1px solid var(--nx-line)}
.nx-faq summary{font-weight:600;cursor:pointer;font-size:17px;color:var(--nx-navy);list-style:none;display:flex;justify-content:space-between;gap:12px}
.nx-faq summary::after{content:"+";color:var(--nx-red);font-size:22px;line-height:1}
.nx-faq details[open] summary::after{content:"\2212"}
.nx-faq p{margin-top:10px}
.nx-table{width:100%;border-collapse:collapse;font-size:15px;margin:12px 0}
.nx-table th,.nx-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--nx-line);vertical-align:top}
.nx-table th{color:var(--nx-navy)}
.nx-src{font-size:13px;color:var(--nx-muted)}
.nx-src ol{padding-left:18px;margin:6px 0}
.nx-related{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.nx-related a{border:1px solid var(--nx-line);border-radius:10px;padding:12px 16px;text-decoration:none;color:var(--nx-navy);font-weight:600;background:#fff}
.nx-related a:hover{border-color:var(--nx-red)}
@media (max-width:760px){.nx-grid{grid-template-columns:1fr}.nx-result{position:static}.nx-inline{flex-direction:column;gap:0}.nx-tool{padding:20px 16px 48px}}
.nx-chart{margin:0 0 20px}
.nx-chart svg{width:100%;height:auto;display:block}
.nx-chart .nx-bar-label{font-size:12px;fill:#fff;opacity:.85}
.nx-chart .nx-bar-val{font-size:12px;fill:#fff;font-weight:700}
.nx-copy{background:none;border:1px solid var(--nx-line);color:var(--nx-navy);font:inherit;font-size:14px;font-weight:600;padding:10px 14px;border-radius:8px;cursor:pointer;min-height:44px}
.nx-copy:hover{border-color:var(--nx-navy)}
.nx-copy-done{font-size:13px;color:var(--nx-muted);margin-left:10px}
.nx-nudge{display:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:14px 16px;margin:0 0 16px;font-size:15px;line-height:1.45}
.nx-nudge strong{font-variant-numeric:tabular-nums}
.nx-result.is-engaged .nx-nudge{display:block;animation:nxfade .4s ease}
@keyframes nxfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
