
/* Hybrid: keep site header/footer; use .nl- scoped internals */
/* -------- Typography (bigger, per request) -------- */
:root{
  --nl-primary:#0b63f6; --nl-dark:#0f172a; --nl-mid:#334155; --nl-light:#f8fafc;
  --nl-border:#e5e7eb; --nl-muted:#6b7280; --nl-bg-grad:linear-gradient(180deg,#ffffff 0%,#f6f8ff 100%);
}
.nl-page{
  color:var(--nl-dark);
  line-height:1.85;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:16px;
}
/* Larger on wide screens */
@media (min-width:1200px){
  .nl-page{ font-size:17px; }
}
/* Paragraphs & lists bigger */
.nl-card p, .nl-list li{ font-size:1em; } /* inherits from .nl-page */
.nl-lead{ font-size:1.125rem; color:#334155; } /* ~18px */
.nl-h1{ font-size:2.25rem; margin:0 0 12px; letter-spacing:.3px; } /* 36px */
.nl-h2{ font-size:1.7rem; margin:0 0 14px; } /* ~27px */
.nl-h3{ font-size:1.125rem; margin:0 0 8px; } /* ~18px */

.nl-container { max-width:1140px; margin:0 auto; padding:0 16px; }
.nl-grid { display:grid; gap:24px; }
.nl-card{ border:1px solid var(--nl-border); border-radius:16px; background:#fff; padding:20px; }
.nl-list{ margin:10px 0 0 0; padding-left:20px; }
.nl-list li{ margin:8px 0; }
.nl-badge{ display:inline-flex; gap:8px; align-items:center; padding:8px 12px; border-radius:12px; background:#fff; border:1px solid var(--nl-border); }
.nl-kpi{ font-weight:800; font-size:22px; }
.nl-kpi-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.nl-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.nl-tag{ font-size:12.5px; color:#0f172a; background:#f1f5f9; border:1px solid #e2e8f0; padding:6px 10px; border-radius:999px; }

/* Hero banner (replace site's ny-banner) */
.nl-hero { padding:72px 0 36px; background:var(--nl-bg-grad); border-bottom:1px solid #eef2ff; }
.nl-hero-grid { grid-template-columns:1.2fr .8fr; align-items:center; }
.nl-hero-avatar { width:100%; aspect-ratio:1/1; border-radius:20px; object-fit:cover; border:6px solid #fff; box-shadow:0 10px 30px rgba(2,6,23,.12); }
.nl-chip { display:inline-flex; gap:8px; align-items:center; padding:6px 10px; border-radius:999px; font-size:12px; background:#eef2ff; color:#3730a3; font-weight:700; }
.nl-btn{ display:inline-block; padding:12px 16px; border-radius:10px; font-weight:600; text-decoration:none; transition:.2s ease; border:1px solid transparent; }
.nl-btn--primary{ background:var(--nl-primary); color:#fff; }
.nl-btn--ghost{ background:#fff; border-color:#334155; color:#0f172a; }

/* Two-column main layout with right TOC */
.nl-section{ padding:56px 0; background:#fff; }
.nl-maingrid{ grid-template-columns: 1fr 300px; }

/* -------- Right TOC: bigger font & sticky -------- */
.nl-toc{
  position:sticky;
  top:100px; /* leave room for fixed header */
  background:#fff;
  border:1px solid var(--nl-border);
  border-radius:12px;
  padding:16px;
  box-shadow:0 4px 18px rgba(2,6,23,.06);
}
.nl-toc h3{
  font-size:18px;
  margin:2px 0 12px;
}
.nl-toc nav a{
  font-size:16.5px;
  line-height:1.5;
  display:block;
  padding:10px 10px 10px 12px;
  color:#334155;
  text-decoration:none;
  border-left:3px solid transparent;
  border-radius:8px;
  transition:background .15s ease, color .15s ease, border-color .15s ease, padding-left .15s ease;
}
.nl-toc nav a:hover{
  background:#f8fafc;
  padding-left:14px;
}
.nl-toc nav a.nl-active{
  font-weight:700;
  color:var(--nl-primary);
  border-left-color:var(--nl-primary);
  background:#f1f5ff;
  padding-left:14px;
}

.nl-section--alt{ background:#f8fafc; }

@media (max-width: 992px){
  .nl-hero-grid{ grid-template-columns:1fr; }
  .nl-maingrid{ grid-template-columns:1fr; }
  .nl-h1{ font-size:30px; }
  .nl-toc{ position:relative; top:auto; margin:18px 0; }
  .nl-toc nav a{ font-size:16px; }
}
