
    :root {
      --bg:#f8fafc;
      --surface:#ffffff;
      --ink:#0f172a;
      --muted:#475569;
      --line:#dbe4ee;
      --brand:#1d4ed8;
      --brand-dark:#1e3a8a;
      --brand-soft:#eff6ff;
      --warning-bg:#fff7ed;
      --max:1180px;
      --shadow:0 16px 50px rgba(15,23,42,.08);
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      font-family: Inter, Arial, Helvetica, sans-serif;
      color:var(--ink);
      background:linear-gradient(180deg,#eff6ff 0%, #f8fafc 160px, #f8fafc 100%);
      line-height:1.75;
    }
    a { color:var(--brand); text-decoration:none; }
    a:hover { text-decoration:underline; }
    .wrap { width:min(var(--max), calc(100% - 32px)); margin:0 auto; }
    .missing-inputs {
      margin:24px auto 0;
      width:min(var(--max), calc(100% - 32px));
      background:var(--warning-bg);
      border:1px solid #fed7aa;
      border-radius:16px;
      padding:18px 20px;
      color:#7c2d12;
      box-shadow:var(--shadow);
    }
    .missing-inputs h2 { margin:0 0 10px; font-size:1.05rem; color:#9a3412; }
    .missing-inputs ul { margin:0; padding-left:18px; }
    header.hero { padding:36px 0 24px; }
    .hero-card {
      background:linear-gradient(135deg,#0f172a 0%, #1e3a8a 58%, #2563eb 100%);
      color:#fff;
      border-radius:28px;
      padding:40px 40px 34px;
      box-shadow:0 24px 70px rgba(30,58,138,.28);
      position:relative;
      overflow:hidden;
    }
    .hero-card::after {
      content:'';
      position:absolute;
      inset:auto -140px -140px auto;
      width:360px;
      height:360px;
      background:radial-gradient(circle, rgba(255,255,255,.18), rgba(255,255,255,0));
      border-radius:50%;
    }
    .eyebrow {
      display:inline-block;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      font-size:.82rem;
      letter-spacing:.04em;
      text-transform:uppercase;
      font-weight:700;
      margin-bottom:14px;
    }
    h1 { font-size:clamp(2rem,4vw,3.35rem); line-height:1.14; margin:0 0 16px; }
    .subhead { font-size:1.08rem; max-width:860px; color:#dbeafe; margin:0 0 20px; }
    .hero-meta { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
    .hero-meta span {
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 14px;
      border-radius:999px;
      background:rgba(255,255,255,.12);
      font-size:.95rem;
    }
    main { padding-bottom:64px; }
    .card { background:var(--surface); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
    .intro.card { padding:28px; }
    .toc { padding:24px 28px; margin-top:20px; }
    .toc h2 { margin:0 0 14px; font-size:1.15rem; }
    .toc ol { margin:0; padding-left:20px; columns:2; column-gap:28px; }
    .toc li { margin:0 0 10px; break-inside:avoid; }
    article { margin-top:20px; }
    section.block { padding:32px; margin-bottom:20px; }
    h2 { font-size:1.72rem; line-height:1.22; margin:0 0 14px; color:var(--brand-dark); scroll-margin-top:24px; }
    h3 { font-size:1.18rem; line-height:1.35; margin:22px 0 10px; color:#0f172a; scroll-margin-top:24px; }
    p { margin:0 0 16px; }
    ul, ol { margin:0 0 18px; padding-left:22px; }
    li { margin-bottom:10px; }
    .lead { font-size:1.06rem; color:#1e293b; }
    .callout {
      border-left:4px solid var(--brand);
      background:var(--brand-soft);
      border-radius:14px;
      padding:16px 18px;
      margin:18px 0 22px;
      color:#1e3a8a;
    }
    .figure { margin:22px 0 26px; }
    .figure img { width:100%; height:auto; display:block; border-radius:18px; border:1px solid var(--line); box-shadow:var(--shadow); }
    .figure figcaption { font-size:.95rem; color:var(--muted); margin-top:10px; }
    .spec-table-wrap { overflow-x:auto; margin:18px 0 24px; }
    table.spec-table { width:100%; border-collapse:separate; border-spacing:0; min-width:760px; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
    .spec-table th, .spec-table td { padding:14px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
    .spec-table th { background:#eff6ff; color:#1e3a8a; font-weight:700; text-align:left; }
    .spec-table td:first-child { font-weight:700; width:26%; background:#fafcff; }
    .spec-table tr:last-child td { border-bottom:none; }
    .check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:18px 0 24px; }
    .check-item { background:#f8fafc; border:1px solid var(--line); border-radius:16px; padding:18px; }
    .check-item h3 { margin-top:0; }
    .cta-box {
      background:linear-gradient(135deg,#eff6ff 0%, #eef2ff 55%, #f5f3ff 100%);
      border:1px solid #c7d2fe;
      border-radius:22px;
      padding:24px;
      margin-top:18px;
    }
    .cta-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
    .btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:999px; font-weight:700; text-decoration:none; }
    .btn.primary { background:var(--brand); color:#fff; }
    .btn.secondary { background:#fff; color:var(--brand); border:1px solid #bfdbfe; }
    .faq-item + .faq-item { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
    .sources { font-size:.95rem; color:var(--muted); }
    .sources a[rel~="nofollow"]::after { content:' ↗'; font-size:.9em; }
    footer.page-footer { color:var(--muted); font-size:.92rem; padding:8px 0 40px; }
    @media (max-width:860px) {
      .toc ol { columns:1; }
      .check-grid { grid-template-columns:1fr; }
      .hero-card { padding:28px 22px; }
      section.block, .intro.card, .toc { padding:22px; }
    }
  