/* NetworkSTL SIGNAL-first presentation layer v1
   Add to a child theme stylesheet or one controlled Custom CSS location.
   Do not scatter duplicate page-specific styles. */

:root {
  --ns-bg: #111214;
  --ns-surface: #f6f3ec;
  --ns-surface-2: #ffffff;
  --ns-text: #17181a;
  --ns-muted: #5f6368;
  --ns-border: #d9d7d0;
  --ns-inverse: #f8f6ef;
  --ns-accent: #b97724;
  --ns-radius: 18px;
  --ns-shadow: 0 16px 40px rgba(0,0,0,.08);
  --ns-content: 1180px;
  --ns-reading: 760px;
}

.ns-shell { max-width: var(--ns-content); margin-inline: auto; padding-inline: clamp(20px,4vw,48px); }
.ns-reading { max-width: var(--ns-reading); }
.ns-section { padding-block: clamp(64px,8vw,120px); }
.ns-section--tight { padding-block: clamp(40px,5vw,72px); }
.ns-dark { background: var(--ns-bg); color: var(--ns-inverse); }
.ns-light { background: var(--ns-surface); color: var(--ns-text); }
.ns-white { background: var(--ns-surface-2); color: var(--ns-text); }

.ns-eyebrow { font: 600 .78rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .12em; text-transform: uppercase; opacity: .78; }
.ns-hero h1 { font-size: clamp(3rem,7vw,6.7rem); line-height: .95; letter-spacing: -.055em; max-width: 13ch; margin: .3em 0; }
.ns-hero p { font-size: clamp(1.08rem,1.7vw,1.35rem); line-height: 1.55; max-width: 68ch; }
.ns-section h2 { font-size: clamp(2.1rem,4vw,4rem); line-height: 1.02; letter-spacing: -.035em; max-width: 18ch; }
.ns-section h3 { font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.2; }
.ns-section p, .ns-section li { line-height: 1.7; }

.ns-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.ns-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border-radius:999px; border:1px solid currentColor; text-decoration:none; font-weight:650; }
.ns-button--primary { background:var(--ns-accent); border-color:var(--ns-accent); color:#fff; }
.ns-button--secondary { background:transparent; }
.ns-button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--ns-accent); outline-offset:3px; }

.ns-proof-strip { margin-top:28px; padding:14px 16px; border:1px solid rgba(255,255,255,.22); border-radius:12px; font: 500 .9rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }
.ns-light .ns-proof-strip, .ns-white .ns-proof-strip { border-color:var(--ns-border); }

.ns-signal-grid, .ns-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
.ns-signal-card, .ns-offer-card, .ns-evidence-card, .ns-case-card, .ns-prompt-card { border:1px solid var(--ns-border); border-radius:var(--ns-radius); padding:clamp(20px,3vw,32px); background:var(--ns-surface-2); color:var(--ns-text); }
.ns-dark .ns-signal-card, .ns-dark .ns-offer-card, .ns-dark .ns-evidence-card, .ns-dark .ns-case-card { background:#191b1f; color:var(--ns-inverse); border-color:#30343a; }
.ns-signal-card .ns-number { font: 600 .78rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; opacity:.65; }
.ns-offer-card .ns-price { font-size:clamp(2rem,4vw,3.2rem); line-height:1; letter-spacing:-.04em; margin:.45em 0; }

.ns-method-note { border-left:4px solid var(--ns-accent); padding:16px 18px; background:rgba(185,119,36,.08); margin-block:28px; }
.ns-method-note strong { display:block; margin-bottom:4px; }

.ns-metric { border:1px solid var(--ns-border); border-radius:14px; padding:18px; }
.ns-metric__value { font-size:2.2rem; font-weight:750; letter-spacing:-.04em; }
.ns-metric__meta { margin-top:10px; font:500 .78rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ns-muted); }

.ns-pipeline { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:28px; }
.ns-pipeline span { border:1px solid currentColor; border-radius:999px; padding:8px 12px; }
.ns-pipeline b { opacity:.5; }

.ns-cta-band { border-radius:calc(var(--ns-radius) + 6px); padding:clamp(28px,5vw,64px); background:var(--ns-bg); color:var(--ns-inverse); }
.ns-faq details { border-top:1px solid var(--ns-border); padding:18px 0; }
.ns-faq details:last-child { border-bottom:1px solid var(--ns-border); }
.ns-faq summary { cursor:pointer; font-weight:700; }

.ns-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ns-field--full { grid-column:1/-1; }
.ns-field label, .ns-assessment legend { display:block; font-weight:650; margin-bottom:7px; }
.ns-field input, .ns-field select, .ns-field textarea { width:100%; min-height:48px; border:1px solid var(--ns-border); border-radius:10px; padding:12px 13px; font:inherit; background:#fff; color:var(--ns-text); }
.ns-field textarea { min-height:140px; }

.ns-assessment { border:1px solid var(--ns-border); border-radius:var(--ns-radius); padding:clamp(20px,4vw,40px); background:#fff; color:var(--ns-text); }
.ns-assessment fieldset { border:0; padding:0; margin:0 0 30px; }
.ns-scale { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.ns-scale label { display:flex; flex-direction:column; align-items:center; gap:5px; border:1px solid var(--ns-border); border-radius:10px; padding:10px 5px; cursor:pointer; }
.ns-assessment-result { margin-top:24px; padding:24px; border-radius:14px; background:var(--ns-surface); }
.ns-assessment-result[hidden] { display:none; }

@media (max-width: 900px) {
  .ns-signal-grid, .ns-card-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .ns-signal-grid, .ns-card-grid, .ns-form-grid { grid-template-columns:1fr; }
  .ns-field--full { grid-column:auto; }
  .ns-scale { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ns-hero h1 { max-width:11ch; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}


/* Standalone block-theme shell */
html{scroll-behavior:smooth} body{margin:0}.ns-main{min-height:60vh}.ns-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.ns-section{padding:clamp(56px,8vw,110px) 0}.ns-section h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.94;letter-spacing:-.055em;max-width:13ch;margin-top:0}.ns-section h2{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.04em;margin-top:0}.ns-section h3{font-size:clamp(1.25rem,2.3vw,1.8rem);margin-top:2.2rem}.ns-section p,.ns-section li{max-width:72ch;font-size:clamp(1rem,1.4vw,1.15rem)}.ns-section a{font-weight:650}.ns-section blockquote{border-left:4px solid #b97724;margin-left:0;padding-left:1.2rem}.ns-header{position:sticky;top:0;z-index:20;background:rgba(17,18,20,.96);color:#fff;border-bottom:1px solid #2c3035}.ns-nav{width:min(1240px,calc(100% - 32px));margin:auto;display:flex;align-items:center;gap:22px;min-height:72px}.ns-brand{font-weight:800;letter-spacing:-.03em;color:#fff;text-decoration:none;margin-right:auto}.ns-navlinks{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.ns-navlinks a{color:#f6f3ed;text-decoration:none;font-size:.92rem}.ns-navlinks .ns-apply{background:#b97724;padding:10px 16px;border-radius:999px}.ns-footer{background:#111214;color:#ddd;padding:42px 0}.ns-footer-inner{width:min(1180px,calc(100% - 40px));margin:auto;display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}.ns-footer a{color:#fff}.ns-shortcode-zone{margin-top:36px}.ns-page-generic{padding:70px 0}.ns-page-generic>.wp-block-post-title,.ns-page-generic>.wp-block-post-content{width:min(900px,calc(100% - 40px));margin-inline:auto}@media(max-width:900px){.ns-nav{align-items:flex-start;padding:14px 0;flex-wrap:wrap}.ns-navlinks{width:100%}}
